/***
 ** 文字数取得関数 
 ** 引数： str 文字数確認用文字列
 **/
function getLen(str){
	count=0;
	for(i=0;i<str.length;i++)(escape(str.charAt(i)).length< 4)?count++:count+=2;
	return count;
}

/***
 **	 機　能：	入力文字チェック 
 **	 引　数：	obj		チェック用オブジェクト
 **				len		制限バイト数
 **				chkStr	メッセージ表示用オブジェクト名
 **	 戻り値：	正：true　不正：false 
 **/
function chkByte(obj, len, chkStr){

	var nowLen = getLen(obj.value);
	
	if ( nowLen > len ){
		alert(chkStr+"には、"+len+"バイト以下で入力してください");
		obj.focus();
		return false;
	}

	return true;
}

/***
 **	 機　能：	入力文字チェック 
 **	 引　数：	obj		チェック用オブジェクト
 **				len		下限バイト数
 **				chkStr	メッセージ表示用オブジェクト名
 **	 戻り値：	正：true　不正：false 
 **/
function chkOverByte(obj, len, chkStr){

	var nowLen = getLen(obj.value);
	
	if ( nowLen < len ){
		alert(chkStr+"には、"+len+"バイト以上で入力してください");
		obj.focus();
		return false;
	}

	return true;
}

/***
 **	 機　能：	半角英数文字チェック 
 **	 引　数：	obj		チェック用オブジェクト
 **				chkStr	メッセージ表示用オブジェクト名
 **	 戻り値：	正：true　不正：false 
 **/
function chkAlphaNum(obj, chkStr){

	var str = obj.value;
	if( str.match( /[^A-Za-z0-9]+/ ) ) {
		alert(chkStr+"には、半角英数字のみ入力してください");
		obj.focus();
		return false;
	}

	return true;
}
/***
 **	 機　能：	半角英数文字チェック 
 **	 引　数：	obj		チェック用オブジェクト
 **				chkStr	メッセージ表示用オブジェクト名
 **	 戻り値：	正：true　不正：false 
 **/
function chkNum(obj, chkStr){

	var str = obj.value;
	if( str.match( /[^0-9]+/ ) ) {
		alert(chkStr+"には、半角数字のみ入力してください");
		obj.focus();
		return false;
	}

	return true;
}

/***
 **	 機　能：	電話番号チェック 
 **	 引　数：	obj		チェック用オブジェクト
 **				chkStr	メッセージ表示用オブジェクト名
 **	 戻り値：	正：true　不正：false 
 **/
function chkTel(obj, chkStr){

	var str = obj.value;
	if( str.match( /[^0-9\-]+/ ) ) {
		alert(chkStr+"には、半角数字、およびハイフン(-)のみ入力してください");
		obj.focus();
		return false;
	}

	return true;
}


/***
 **	 機　能：	メールアドレスチェック 
 **	 引　数：	obj		チェック用オブジェクト
 **				chkStr	メッセージ表示用オブジェクト名
 **	 戻り値：	正：true　不正：false 
 **/
function chkMail(obj, chkStr){

	var str = obj.value;
	if( str == "") { return true; }
	if( !str.match(/^\S+@\S+\.\S+$/) ) {
		alert(chkStr+"に、不正な文字が入力されています");
		obj.focus();
		return false;
	}

	return true;
}



/***
 **	機　能： 入力された値が未入力か調べる 
 **	引　数：	obj		チェック用オブジェクト
 **				chkStr	メッセージ表示用オブジェクト名
 **	戻り値： 正：true　不正：false 
 **/
function chkUnInput(obj, chkStr){
	if ( obj.value == ""){
	
		if ( obj.type == "select" ) {
			alert(chkStr+"を選択してください");
		} else {
			alert(chkStr+"を入力してください");
		}
		obj.focus();
		return false;
	}
	
	return true;

}

/***
 **	機　能： 入力された値が日付でYYYY/MM/DD形式になっているか調べる 
 **	引　数：	obj		チェック用オブジェクト
 **				chkStr	メッセージ表示用オブジェクト名
 **	戻り値： 正：true　不正：false 
 **/
function chkDate(obj, chkStr) { 

	datestr = obj.value;
	var flg = false;

	// 正規表現による書式チェック 
	if(!datestr.match(/^\d{4}\/\d{2}\/\d{2}$/)){ 
		flg = false; 
	} else {
		var vYear = datestr.substr(0, 4) - 0; 
		var vMonth = datestr.substr(5, 2) - 1; // Javascriptは、0-11で表現 
		var vDay = datestr.substr(8, 2) - 0; 
		// 月,日の妥当性チェック 
		if(vMonth >= 0 && vMonth <= 11 && vDay >= 1 && vDay <= 31){ 
			var vDt = new Date(vYear, vMonth, vDay); 
			if(isNaN(vDt)){ 
				flg = false; 
			}else if(vDt.getFullYear() == vYear && vDt.getMonth() == vMonth && vDt.getDate() == vDay){ 
				flg = true; 
			}else{ 
				flg = false; 
			} 
		}else{ 
			flg = false; 
		} 
	}
	
	if( !flg ){
		alert(chkStr+"には、yyyy/mm/dd 形式の日付を入力してください");
		obj.focus();
	}
	
	return flg;
} 

/***
 **	機　能： 指定された日付から、年齢を取得する 
 **	引　数：	obj		チェック用オブジェクト
 **				chkStr	メッセージ表示用オブジェクト名
 **	戻り値： 正：true　不正：false 
 **/

function getAge(y, m, d){

	var birthyear=y;
	var birthmonth=m;
	var birthday=d;
	var age=0;
	now = new Date();
	y=now.getYear();
	m=now.getMonth()+1;
	d=now.getDate();
	if(y<1900) {y=y+1900;}
	if(m < birthmonth){age=y-birthyear-1}
	if(m > birthmonth){age=y-birthyear}
	if(m == birthmonth){
	if(d < birthday){age=y-birthyear-1}
	else{age=y-birthyear}
	}
	return age;

}

function addComma(value){

	value = removeComma(value);

    var i;
    for(i = 0; i < value.length/3; i++){
        value = value.replace(/^([+-]?\d+)(\d\d\d)/,"$1,$2");
    }
    return value;
}

function removeComma(value) {
    return value.split(",").join("")
}


/***
 **	機　能： チェックしたかどうか。 
 **	引　数：	obj		チェック用オブジェクト
 **				chkStr	メッセージ表示用オブジェクト名
 **	戻り値： 正：true　不正：false 
 **/
function chkCount(y, chkStr){
var birthyear=y.value;
	alert(birthyear);
//	return true;

}


/***
 **	 機　能：	ログイン用メールアドレスチェック 
 **	 引　数：	obj		チェック用オブジェクト
 **				chkStr	メッセージ表示用オブジェクト名
 **	 戻り値：	正：true　不正：false 
 **/
function chkLoginMail(obj, chkStr){

	var str = obj.value;
	if( str == "") { return true; }
	if( !str.match(/^\S+@\S+\.\S+$/) ) {
//		alert(chkStr+"に、不正な文字が入力されています");
		alert("6月26日よりログイン方法が変わりました。ID(ご登録メールアドレス)とパスワードでログインしてください。");
		obj.focus();
		return false;
	}


	return true;
}




/***
 **	 機　能：	複数のチェックボックス(希望職種)
 **	 引　数：	obj		チェック用オブジェクト
 **	 戻り値：	正：true　不正：false 
 **/
function checkboxJob(obj){
	var flg=0;
	for(i=0;i<obj.elements['job[]'].length;i++){
		if(obj.elements['job[]'][i].checked==true) flg=1;
	}
	if(flg==0){
	 alert("希望職種をチェックしてください");
	 return false;
	 }
	 return true;
}

/***
 **	 機　能：	複数のチェックボックス(新着情報)
 **	 引　数：	obj		チェック用オブジェクト
 **	 戻り値：	正：true　不正：false 
 **/
function checkboxInfo(obj){
	var flg=0;
	for(i=0;i<obj.elements['info[]'].length;i++){
		if(obj.elements['info[]'][i].checked==true) flg=1;
	}
	if(flg==0){
	 alert("新着情報をチェックしてください");
	 return false;
	 }
	 return true;
}

/***
 **	 機　能：	複数のチェックボックス(経験職種)
 **	 引　数：	obj		チェック用オブジェクト
 **	 戻り値：	正：true　不正：false 
 **/
function checkboxOld(obj){
	var flg=0;
	for(i=0;i<obj.elements['old[]'].length;i++){
		if(obj.elements['old[]'][i].checked==true) flg=1;
	}
	if(flg==0){
	 alert("経験職種をチェックしてください");
	 return false;
	 }
	 return true;
}







