//-------------------------------------------------------------------
// 共通javascript
//
// 01 chkZenka　全角が含まれているかチェック
// 02 chkZkana　全角ナカチェック
// 03 chkEmail　メールアドレスチェック
// 04 chkValue　任意1文字以上チェック
// 05 chkNumbe　半角数字とカンマ・ドットのみ
// 06 ColorfulInput　フォーカスがあるINPUTタグのカラーを変更する
// 07 DisableButton　一度送信ボタンを押したらdisableにする
// 08 chkIpJpg 指定のファイルが画像(*.jpg)かチェック
// 09 chkRadio ラジオボタンのチェック
//
//-------------------------------------------------------------------


//-------------------------------------------------------------------
// 01 全角が含まれているかチェック
//-------------------------------------------------------------------
function chkZenka(obj,msg){

	var str=obj.value;

    for(var i=0; i<str.length; i++){
        var len=escape(str.charAt(i)).length;
        if(len>=4){
            return true;
        }
    }

	alert(msg+'の項目は必須(全角日本語)入力です');
	obj.focus();
	return false;
}



//-------------------------------------------------------------------
// 02 全角ナカチェック
//-------------------------------------------------------------------
function chkZkana(obj,msg){

	var zen="アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォッャュョ　 ";
    var str=obj.value;
    var mes="";

    for (var i=0; i<str.length; i++) {
        var tmp1=str.substr(i,1);
        for (var j=0; j<zen.length; j++) {
            var tmp2=zen.substr(j,1);
            if (tmp1==tmp2) {
                mes+="「"+tmp1+"」";
            }
        }
    }

    if(mes==""){
		alert(msg+'の項目は必須(全角カタカナ)入力です');
		obj.focus();
		return false;
    }
	return true;
}


//-------------------------------------------------------------------
// 03 メールアドレスチェック
//-------------------------------------------------------------------

function chkEmail(obj,msg){
	var Seiki=/[!#-9A-~]+@+[a-z0-9]+.+[^.]$/i;

	// 未入力時はパス
	if(obj.value == "")	{
		return true;
	}

	// パターンマッチするか調べる
	if(!obj.value.match(Seiki)){
		alert(msg+'の項目に正しいメールアドレスをご入力ください');
		obj.focus();
		return false;
	}
	return true;
}


//-------------------------------------------------------------------
// 04 任意1文字以上チェック
//-------------------------------------------------------------------

function chkValue(obj,msg){

	if(obj.value == "")	{
		alert(msg+'の項目は必須入力です。');
		obj.focus();
		return false;
	}
	return true;
}


//-------------------------------------------------------------------
// 05 半角数字とカンマ・ハイフン・ドットのみ
//-------------------------------------------------------------------
function chkNumbe(obj,msg){

	if(obj.value != obj.value.match(/[0-9\,\.\-]+/g)){
	    alert(msg+'の項目は必須(半角数字)入力です');
	    obj.focus();
		return false;
	}
	return true;
}


//-------------------------------------------------------------------
// 06 フォーカスがあるINPUTタグのカラーを変更する
//-------------------------------------------------------------------
var colorful = new ColorfulInput;
window.onload = function() {
   colorful.set();
}

function ColorfulInput() {
  // 処理をスキップしたい属性
  this.skip = ['button','checkbox','radio','search','submit','option','select'];
  // 処理をスキップしたいid
  // コンサル(1)、求人(1)、人材(5)、物件売却(1)
  this.skip_id = ['hopetime','category','medicine','hygiene','assistant','reception','structural'];
  this.color = { 'blur': '', 'focus': '#fefcd8' };
  this.set = function() {
    var i;
    for (i = 0; i < document.forms.length; i++) {
      for (var f = 0; f < document.forms[i].length; f++) {
        var elm = document.forms[i][f];
        if(!this._checkSkip(elm)) continue;
        this._setColor(elm, 'focus');
        this._setColor(elm, 'blur');
      }
    }
  };

  this._checkSkip = function(elm) {
    var i;
    for(i in this.skip) {   
      if(elm.type == this.skip[i]) return false;
    }
    for(i in this.skip_id) {
      if(elm.id == this.skip_id[i]) return false;
    }
    return true;
  };

  this._setColor = function(elm, type) {
    var i;
    var color = this.color[type];
    var event = function() {
      elm.style.backgroundColor = color;
    };
    if(elm.addEventListener) {
      elm.addEventListener(type, event, false);
    } else if(elm.attachEvent) {
      elm.attachEvent('on'+type, event);
    } else {
      elm['on'+type] = event;
    }
  };
}



//-------------------------------------------------------------------
// 07 一度送信ボタンを押したらdisableにする
//-------------------------------------------------------------------
function DisableButton(pObj) {
　pObj.disabled = true;
　pObj.value = '送信中・・・';
//　pObj.form.submit();
}


//-------------------------------------------------------------------
// 08 指定のファイル名が画像(*.jpg)かチェック
//-------------------------------------------------------------------
function chkIpJpg(obj,msg) {

	var addr = obj.value;

	if(addr.match(/\.(jpg)$/i) || addr == "") {
		return true;
	} else {
		alert(msg+'で指定したファイルは画像ファイルではありません。再度、選択してください');
		obj.focus();
		return false;
	}
}


//-------------------------------------------------------------------
// 09 ラジオボタンのチェック
//-------------------------------------------------------------------

function chkRadio(obj,msg){
var flag = 0; 
	// 設定開始（チェックする項目を設定してください）
	if(obj.length) { // 選択肢が複数ある場合 
		flag = 1;
		var i;
		for(i = 0; i < obj.length; i ++){
			if(obj[i].checked){
				flag = 0; break;
			}
		}
	}else{

		// 選択肢が1つだけの場合
		if(!obj.checked){
			flag = 1;
		}
	}

	// 設定終了 
	if(flag){ 
		alert(msg+'の項目は、いずれかチェックを入れて下さい');
		return false; // チェック無し
		obj.focus();
	}else{
		return true; // チェック有り 
	}
}