
//フォーム初期化
function re_load() {
	all_form_check();
}


//エラー時のスタイル設定
function err_style( ope , check_str_handle , err_area_handle , err_message ){
	if(ope == "set"){
		err_area_handle.style.visibility = 'visible';
		err_area_handle.innerHTML = "<span class='err_popup'><span class='inner'>"+err_message+"</span></span>";
		err_area_handle.style.color = "#FF0000";
		check_str_handle.style.backgroundColor="#FFD2D2"
	}else if(ope == "clear"){
		err_area_handle.style.visibility = 'hidden';
		err_area_handle.innerHTML = "";
		check_str_handle.style.backgroundColor="#FFFFFF";
		check_str_handle.style.border="1px solid #7F9DB9";
	}else if(ope == "set_groups"){
		
		if(err_area_handle != "none"){
			err_area_handle.style.visibility = 'visible';
			err_area_handle.innerHTML = "<span class='err_popup'><span class='inner'>"+err_message+"</span></span>";
			err_area_handle.style.color = "#FF0000";
		}
		check_str_handle.style.backgroundColor="#FFD2D2"
		
	}else{

		if(err_area_handle != "none"){
			err_area_handle.style.visibility = 'hidden';
			err_area_handle.innerHTML = "";
		}
		check_str_handle.style.backgroundColor="#FFFFFF";
		check_str_handle.style.border="1px solid #7F9DB9";
	}
}


//テキスト系
function check_input_text( this_name , err_message_handle , necessarily_flg , limit_type , limit_err_msg) {

	var this_handle = document.getElementById(this_name);
	var err_str = document.getElementById(err_message_handle);
	var check_ret = false;
	var err_message_str = "";
	var limit;
	
	limit = "";
	
	switch(limit_type){
		case DEF_HIRAGANA:
			limit = /[^ぁ-ん　\s]+/;					//ひらがな
			limit = this_handle.value.match( limit ) != null;
		break;
		
		case DEF_KATAKANA:
			limit = /[^ァ-ン　\s]+/;					//カタカナ
			limit = this_handle.value.match( limit ) != null;
		break;
		
		case "eisuji":
			limit = /[^a-zA-Z0-9!#$%&=-~|\+*/?　\s]+/;	//半角英数字
			limit = this_handle.value.match( limit ) != null;
		break;
		
		case DEF_TELNO:
			limit = /^\d{2,5}-\d{1,4}-\d{4}$/;			//電話番号
			limit = this_handle.value.match( limit ) == null;
		break;
		
		case DEF_MAILADDR:
			limit = /^([*+!.&#$|'\\%\/0-9a-z^_`{}=?:-]+)@([0-9a-z-]+\.)+[0-9a-z]{2,}$/i;	//'メールアドレス
			limit = this_handle.value.match( limit ) == null;
		break;
		
		case DEF_TEXTAREA:
			limit = false;
		break;
		
		default:
			limit = null;					//default
		break;
	}
	

	if(this_handle.value == "" && (necessarily_flg == true || necessarily_flg == "true")) {
		//必須チェック
		check_ret = true;
		err_message_str = DEF_ERR_NECESSARILY;	//入力必須エラー
	}else if(limit){
		//禁止文字
		check_ret = true;
		err_message_str = limit_err_msg;	//禁止文字エラー
	}

	if (check_ret) {
		err_style( "set" , this_handle , err_str , err_message_str);
	}else{
		err_style( "clear" , this_handle , err_str );
	}
}




//【郵便番号】
function check_input_zip( zip1 , zip2 , err_message_handle , necessarily_flg , limit_err_msg) {
	var zip1_handle = document.getElementById(zip1);
	var zip2_handle = document.getElementById(zip2);
	var err_str = document.getElementById(err_message_handle);
	var check_ret = false;
	var err_message_str = "";
	var limit1;
	var limit2;
	var null_check = false;
	
	
	//郵便番号のエラーチェック
	limit1 = "";

	limit1 = /^\d{3,5}$/;	//数字
	limit1 = zip1_handle.value.match( limit1 ) == null;
	
	limit2 = "";
	limit2 = /^\d{2,5}$/;	//数字
	limit2 = zip2_handle.value.match( limit2 ) == null;
	
	
	if( (zip1_handle.value == "" && (necessarily_flg == true || necessarily_flg == "true")) && (zip2_handle.value == "" && (necessarily_flg == true || necessarily_flg == "true")) ){
		//必須チェック
		check_ret = true;
		err_message_str = DEF_ERR_NECESSARILY;	//入力必須エラー
		
		err_style( "set_groups" , zip1_handle , err_str , err_message_str);
		err_style( "set_groups" , zip2_handle , "none" , err_message_str);
		return;
	}
	
	
	if( (zip1_handle.value == "" && (necessarily_flg == true || necessarily_flg == "true")) || (zip2_handle.value == "" && (necessarily_flg == true || necessarily_flg == "true")) ){
		null_check = true;//どれかがまだnullなら禁止文字チェックしない
	}
	
	
	if( (limit1 == true) || (limit2 == true) ){
		if(null_check == false){
			check_ret = true;
			err_message_str = limit_err_msg;	//禁止文字エラー
		}
	}
	
	
	if (check_ret) {
		err_style( "set_groups" , zip1_handle , err_str , err_message_str);
		err_style( "set_groups" , zip2_handle , "none" , err_message_str);
	}else{
		err_style( "clear_groups" , zip1_handle , err_str );
		err_style( "clear_groups" , zip2_handle , "none" );
	}
}




//【電話番号】
function check_input_tel( tel1 , tel2 , tel3 , err_message_handle , necessarily_flg , limit_err_msg) {
	var tel1_handle = document.getElementById(tel1);
	var tel2_handle = document.getElementById(tel2);
	var tel3_handle = document.getElementById(tel3);
	var err_str = document.getElementById(err_message_handle);
	var check_ret = false;
	var err_message_str = "";
	var limit1;
	var limit2;
	var null_check = false;
	
	
	//電話番号のエラーチェック
	limit1 = "";

	limit1 = /^\d{2,5}$/;	//数字
	limit1 = tel1_handle.value.match( limit1 ) == null;
	
	limit2 = "";
	limit2 = /^\d{1,4}$/;	//数字
	limit2 = tel2_handle.value.match( limit2 ) == null;
	
	limit3 = "";
	limit3 = /^\d{4}$/;	//数字
	limit3 = tel3_handle.value.match( limit3 ) == null;
	

	if( (tel1_handle.value == "" && (necessarily_flg == true || necessarily_flg == "true")) && (tel2_handle.value == "" && (necessarily_flg == true || necessarily_flg == "true")) && (tel3_handle.value == "" && (necessarily_flg == true || necessarily_flg == "true")) ) {
		//必須チェック
		check_ret = true;
		err_message_str = DEF_ERR_NECESSARILY;	//入力必須エラー
		err_style( "set_groups" , tel1_handle , err_str , err_message_str);
		err_style( "set_groups" , tel2_handle , "none" , err_message_str);
		err_style( "set_groups" , tel3_handle , "none" , err_message_str);
		return;
	}
	
	if( (tel1_handle.value == "" && (necessarily_flg == true || necessarily_flg == "true")) || (tel2_handle.value == "" && (necessarily_flg == true || necessarily_flg == "true")) || (tel3_handle.value == "" && (necessarily_flg == true || necessarily_flg == "true")) ) {
		null_check = true;//どれかがまだnullなら禁止文字チェックしない
	}
	
	
	
	if( (limit1 == true) || (limit2 == true) || (limit3 == true) ){
		if(null_check == false){
			check_ret = true;
			err_message_str = limit_err_msg;	//禁止文字エラー
		}
	}
	
	
	if (check_ret) {
		err_style( "set_groups" , tel1_handle , err_str , err_message_str);
		err_style( "set_groups" , tel2_handle , "none" , err_message_str);
		err_style( "set_groups" , tel3_handle , "none" , err_message_str);
	}else{
		err_style( "clear_groups" , tel1_handle , err_str );
		err_style( "clear_groups" , tel2_handle , "none" );
		err_style( "clear_groups" , tel3_handle , "none" );
	}
}



//【プルダウン】
function check_select_pull( this_name , err_message_handle , necessarily_flg , limit_err_msg) {

	var this_handle = document.getElementById(this_name);
	var err_str = document.getElementById(err_message_handle);
	var check_ret = false;
	var err_message_str = "";
	

	if(this_handle.value == "0" && necessarily_flg){
		//必須チェック
		check_ret = true;
		err_message_str = "選択してください";	//入力必須エラー
	}
	
	if (check_ret) {
		err_style( "set" , this_handle , err_str , err_message_str);
	}else{
		err_style( "clear" , this_handle , err_str );
	}
}




/*javascriptでXMLのパース処理
//jkl-parsexml.js
    var url = "zip.xml";
    var http = new JKL.ParseXML( url );
    var data = http.parse();
//    document.write( data["items"]["item"]["jpref"] );   // ["～"] で連想配列にアクセス
//    alert( data.items.item.jpref );            // あるいは . 区切りでもOK【最も簡単】
*/
