﻿
	function hanSuCheck(val)  {
		txt = val;
		for (i=0; i<txt.length; i++) {
			c = txt.charAt(i);
			if ("0123456789".indexOf(c,0)<0) 	return false;
		}
		return true ;
	}

	
	
	/**
 * 邮件地址的判断
 * 
 * @param   判断的值
 * @return ture : 正确 / flase : 不正确
 */
function checkMailAddress(value)
{   /*
	var objReg = new RegExp()("[A-Za-z0-9\._\-]+@([A-Za-z\.])");
	if (!objReg.test(value)) {
		alert("邮件地址不正确,请重新入力。");
		return false;
	}
	*/
    check = /.+@.+\..+/;
	if (!value.match(check)){
		//alert("邮件地址不正确,请重新填写。");
		return false;
	}else{
		return true;
	}
}

/**
 * 全角字符判断
 * 
 * @param   判断的值
 * @return ture : 全角 / flase : 全角以外

 */
function checkIsZenkaku(value) {
	for (var i = 0; i < value.length; ++i) {
		var c = value.charCodeAt(i);
		if (c < 256 || (c >= 0xff61 && c <= 0xff9f)) {
			return false;
		}
	}
	return true;
}
    
/**
 * 取得字符串的字节数
 *  全角2个字节、半角1个字节
 * 
 * @param 测定值
 * @return 取得字符串的字节数
 */
function getByteCount(value) {
	
	var count = 0;
	for ( var i = 0; i < value.length; ++i ) {
		var sub = value.substring(i, i + 1);
		if( checkIsZenkaku(sub) ){
			count += 2;
		} else {
			count += 1;
		}
	}
	return count;
}    

function  checkField(){
	str="";
	bool = 0;
	mes= "スクリプト生成文字（< > ' % ; ) ( & ）は、禁止文字です。";
	
	//枠線初期化
	var nameValue = document.getElementById("name").value;
	var emailValue = document.getElementById("email").value;
	var emailConfirmValue = document.getElementById("emailConfirm").value;
	var telephoneValue = document.getElementById("telephone").value;
	var postalCodeValue = document.getElementById("postalCode").value;
	var addressValue = document.getElementById("address").value;
	var remarkValue = document.getElementById("remark").value;
	var nameValue = document.getElementById("name").value;

	if(!isData(nameValue)){
		str=str+"お名前を入力して下さい\n";
		bool = 1;
	}
	if(!isScriptData(nameValue)){
		str=str+ mes+"\n";
		bool = 1;
	}
	
	if(!isData(emailValue)){
		str=str+"メールアドレスを入力して下さい\n";
		bool = 1;
	}else if(!checkMailAddress(emailValue)){
		str=str+"メールアドレスは正しくありません\n";
		bool = 1;
	}else if(!isScriptData(emailValue)){
		str=str+ mes+"\n";
		bool = 1;
	}
	
	if(!isData(emailConfirmValue)){
		str=str+"確認メールアドレスを入力してください\n";
		bool = 1;
	}else if(emailValue!=emailConfirmValue){
		str=str+"メールアドレスと確認メールアドレスは異なっています\n";
		bool = 1;
	}else if(!isScriptData(emailConfirmValue)){
		str=str+ mes+"\n";
		bool = 1;
	}
	
	if(!isData(telephoneValue)){
		str=str+"電話番号を入力して下さい\n";
		bool = 1;
	}else if(!isScriptData(telephoneValue)){
		str=str+ mes+"\n";
		bool = 1;
	}else if(!checkIsTelNumber(telephoneValue)){
		str=str+"電話番号形式ではありません。\n";
		bool = 1;
	}
	
	if(!isData(postalCodeValue)){
		str=str+"郵便番号を入力して下さい\n";
		bool = 1;
	}else if(!isScriptData(postalCodeValue)){
		str=str+ mes+"\n";
		bool = 1;
	}else{
		var msg = postNumberCheck(postalCodeValue);
		if(msg != ""){
			str=str+ msg+"\n";
			bool = 1;
		}
	}
	
	if(!isData(addressValue)){
		str=str+"ご住所を入力して下さい\n";
		bool = 1;
	}else if(addressValue.length > 80) {
		str=str+"ご住所は、80字以内で入力して下さい。\n";
		bool = 1;
	}else if(!isScriptData(addressValue)){
		str=str+ mes+"\n";
		bool = 1;
	}

	if(remarkValue.length > 200) {
		str=str+"備考等は、200字以内で入力して下さい。\n";
		bool = 1;
	}else if(!isScriptData(remarkValue)){
		str=str+ mes+"\n";
		bool = 1;
	}

	isSlectedGoods = false;//商品選択状態フラグ

	if( bool == 1){
		alert(str);
		return false;
	}else{
		return true;
	}
}

// emailアドレスチェック
function compare_emailAddress(str1,str2){
	objstr1=new String(str1);
	objstr2=new String(str2);

	isError =false;
	if(!isMailAddr(str1)){
		document.getElementById("mail").className="inum_left-err";
		window.alert("メールアドレスを正しく入力してください。");
		isError =true;
	}
	if(!isMailAddr(str2)){
		document.getElementById("url").className="inum_left-err";   
		window.alert("確認メールアドレスを正しく入力してください。");
		isError =true;
	}
	if(isError){
		return 0;
	}

	index=objstr1.indexOf("@");
	tempstrfront1=objstr1.substring(0,index);
	tempstrback1=objstr1.substring(index+1,objstr1.length);
	index=objstr2.indexOf("@");
	tempstrfront2=objstr2.substring(0,index);
	tempstrback2=objstr2.substring(index+1,objstr2.length);
	if(tempstrfront1==tempstrfront2 && tempstrback1==tempstrback2){
		return 1;
	}else{
		window.alert("メールアドレスと確認Eメールアドレスを一致してください。");

		document.getElementById("mail").className="inum_left-err";
		document.getElementById("url").className="inum_left-err";
		
		return 0;
	}
}

// str1数字判断
function isNum(str1){
	//少数点以下は、認めない。
	if(str1.indexOf(".") != -1 ){
		return 0;
	}
	if(str1 == "") return 1;

	if(!isNaN(str1)){
		return 1;
	}
	return 0;	
}

//必須チェック
//true:正常 false:エラー
function isData(strVal){
	for(i=0;i<strVal.length;i++ ){
		chkData = strVal.substring(i, i+1);
		if(chkData != "" && chkData != " " && chkData !="　"){
			//半角・全角スペース以外なら入力値があると見なす。
			return true;
		}
	}

	//入力値の全てが半角OR全角スペースなので、エラーとする。
	return false;
}

//クロスサイト スクリプティング防止チェック
//true:正常 false:エラー
function isScriptData(strVal){
	for(i=0;i<strVal.length;i++ ){
		chkData = strVal.substring(i, i+1);
		//スクリプト生成文字は、禁止文字とする。< >  ' % ; ) ( & 
		if(chkData == "<" || chkData == ">" 
			|| chkData == "&" || chkData == "'" 
			|| chkData == "%" || chkData == ";"
			|| chkData == ")" || chkData == "("){
			//スクリプト生成文字は、禁止文字なので、エラーとする。
			return false;
		}
	}
	return true;
}

//メールアドレス入力チェック
//true:正常 false:エラー
function isMailAddr(str){
	return (str!=""&&str.match(/^[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9_\-]+(\.[a-zA-Z0-9_\-]+)+$/)!=null)
}

//電話番号かチェックします。
//true : 電話番号形式  false : 電話番号形式でない
function checkIsTelNumber(value) {
	if (value.match(/^[0-9]+\-[0-9]+\-[0-9]+$/) == null) {
		return false;
	}
	return true;
}

//郵便番号チェックを追加
//true:"" false:エラーメッセージ
function postNumberCheck(str){
	var border = new Array("-", "－", "ー", "―", "ｰ", "‐");	//棒線を全て配列に設定
	var number = str;//変数を設定する

	var reMsg = "";
	for(var i = 0; i < border.length; i++){			//棒線全て取り除く
		number = number.replace(border[i], "");
	}

	if(number.match(/[^0-9]+/)){					//数字以外の文字である場合
		reMsg ="郵便番号に数字以外の文字が入力されています。もう一度確認して下さい。";
		return reMsg;
	}else if(!number.match(/^[0-9]{7}$/)){			//数字以外の文字である場合
		reMsg ="郵便番号は、数字を7桁で入力して下さい。";
		return reMsg;
	}else{											//正常に入力された場合
		return reMsg;
	}
}
