/**************************************************

  メールフォームシステム ver 1.0.1
  Auther : COCON System's  Hashimoto
  Date   : 2011/03/31
  Files  :
     class.php      実行クラス
     import.php     表示用PHP
     setting.php    設定ファイル
     form_class.js  JSファイル（jQuery使用）
     
     form.php       サンプルフォーム
     sample.css     サンプルCSS

     
  更新履歴：
  
***************************************************/


$(function(){

	var CalenderMinDate = "";//選択範囲を指定するときの最初の日、過去なら何日前、未来なら何日後からで + - つける
	var CalenderMaxDate = "";//min max ともに直接日付指定も可能この場合は期間固定になる 書式は "2011,3,20" 等、日付と認識されるなら大体おｋ
	var standard_day    = "";//基準日の設定0なら当日になる +2 -5 とかで何日後、何日前を指定できる

	var commentCountColor     = "#3366cc";//残り文字数の文字色
	var commentCountColorOver = "#FC3C3C";//残り文字数をオーバーしたときの文字色


	if($(".error_list").find("li").size() < 1 ){
		$(".error_list").css("display","none");
	} else {
		$(".error_list").css("display","block");
	}
	
	/***********************************************
	//戻るボタンの配置			   //
	************************************************/

	$(".form_box_historyBack").append('<input type="images" value="&nbsp;戻 る&nbsp;" onClick="history.back()">');
	$(".form_box_historyBack :input").hover(function(){
		$(this).css({opacity:"0.8",cursor:"pointer"});
		},function(){
		$(this).css("opacity","1.0");
	}).click(function(){
		$(this).css("opacity","1.0");
	});
	
	/***********************************************
	//ロケーション			   //
	************************************************/
	
		if($("#sendMailFlag").hasClass('sendMailComplete')){
			location.href = "./contact_complete.php";
		}
	
	/***********************************************
	//必須テキストエリアの背景色			   //
	************************************************/
/*
	var bgColor = "#ffdede";//ここに必須テキストエリアのデフォルトカラーを入れてください
	var nbColor = "#33ccff";//ここに必須テキストエリアに値が入ったときの色を入れてください
	
	var require_count = $(".require_flag + input:text").get();
	
	$(".require_flag + input:text").css("background" , bgColor);
		for(i=0; i<require_count.length ; i++){
			if($(".require_flag + input:text").eq(i).val()==""){
				$(".require_flag + input:text").eq(i).css("background" , bgColor);
			}else{
				$(".require_flag + input:text").eq(i).css("background" , nbColor);
			}
		}

	$(".require_flag + input:text").keyup(function(){
	var index = $(".require_flag + input:text").index(this);
		if(($(".require_flag + input:text").eq(index).val())==""){
			$(".require_flag + input:text").eq(index).css("background" , bgColor);
		}else {
			$(".require_flag + input:text").eq(index).css("background" , nbColor);
		}
	});
*/

	/***********************************************
	//残り文字数 						   //
	************************************************/

	var RemaindeCount = $(".commentCount").get();
	var Remainder = Array();
	for(j=0 ; j<RemaindeCount.length ; j++){
		Remainder[j] = $(".commentRemainder").eq(j).text();
	}

	$(".commentCount").bind("keyup change click",function(){
		var index = $(".commentCount").index(this);
		var	num = Remainder[index]-$(".commentCount").eq(index).val().length;
		$(".commentRemainder").eq(index).text(num);
		
		$(".commentNokori").eq(index).css("visibility","visible");

		if(num<0){
			$(".commentRemainder").eq(index).css({color:commentCountColorOver,fontWeight:"bold"});
		}else{
			$(".commentRemainder").eq(index).css({color:commentCountColor,fontWeight:"bold"});
		}

	});

	/***********************************************
	//遷移後のボックス消し					   //
	************************************************/
/*
	消さずにページ内リンクの場合
	if($("#form_box_anchor").size()>0){
		location.href="#form_box_anchor";
	}
*/
	if($("#from_submit_flag").size()>0){
		var hidden_name = $("#from_submit_flag").text();
		$("."+hidden_name).css("display","none");
	}




	/***********************************************
	//自動半角変換					   //
	************************************************/
	$(".hanchange").bind("keyup change click focus",function(){
		var hankaku = "0123456789abcdefghijklmnopqrstuvwxyz";
		var zenkaku = "０１２３４５６７８９ａｂｃｄｅｆｇｈｉｊｋｌｍｎｏｐｑｒｓｔｕｖｗｘｙｚ";
		var str = $(this).val();
		var result="";
		if(str!=""){
			for(i=0 ; i<str.length ; i++){
				char = str.charAt(i);
				num = zenkaku.indexOf(char,0);
				if(num>=0){
					char = hankaku.charAt(num);
				}
				result+=char; 
			}
			$(this).val(result);
		}
	});


	/***********************************************
	//自動全角変換					   //
	************************************************/
	$(".zenchange").bind("keyup change click focus",function(){
		var hankaku = "0123456789abcdefghijklmnopqrstuvwxyz";
		var zenkaku = "０１２３４５６７８９ａｂｃｄｅｆｇｈｉｊｋｌｍｎｏｐｑｒｓｔｕｖｗｘｙｚ";
		var str = $(this).val();
		var result="";
		if(str!=""){
			for(i=0 ; i<str.length ; i++){
				char = str.charAt(i);
				num = hankaku.indexOf(char,0);
				if(num>=0){
					char = zenkaku.charAt(num);
				}
				result+=char; 
			}
			$(this).val(result);
		}
	});



	/***********************************************
	//半角チェック					   //
	************************************************/
	$(".hancheck").bind("keyup change click focus",function(){
		var str = $(this).val();
		if(str!=""){
			var tmp=str.match(/[0-9a-zA-Z\@\+\-\/\*\,\. ]+/g);
			if (tmp!=str){
				$(".js_errorMessageBox").remove();
				dispErrorAlert($(this),"半角文字で入力してください");
			}else{
				$(".js_errorMessageBox").remove();
			}
		}else{
			$(".js_errorMessageBox").remove();
		}
	});
	
	$(".hancheck").blur(function(){
		$(".js_errorMessageBox").remove();
	});


	/***********************************************
	//数字チェック					   //
	************************************************/

	$(".numcheck").bind("keyup change click focus",function(){
		var str = $(this).val();
		if(str!=""){
			var tmp=str.match(/[0-9０-９]+/g);
			if (tmp!=str){
				$(".js_errorMessageBox").remove();
				dispErrorAlert($(this),"数字で入力してください");
			}else{
				$(".js_errorMessageBox").remove();
			}
		}else{
			$(".js_errorMessageBox").remove();
		}

	});











	function dispErrorAlert(selecter , str){
		var error_box_str = '<p class="js_errorMessageBox">'+str+'<span class="js_errorMessageBoxArrow"></span></p>';
		if(selecter.parent().hasClass("hoge")==false){
			selecter.parent()
			.css({position:"relative"})
			.append(error_box_str);
		}
	}



});
