﻿	$(document).ready(function(){
		arMessage=$(".message").css("background","#FFCCCC");
		arMessage=$(".message:empty").css("background","#FFFFFF");

		if($("#jbcounty").val() == ""){
			initCounty("#jbcity","#jbcounty");
		}
		
		if($("#ccounty").val() == ""){
			initCounty("#ccity","#ccounty");
		}
		
		$("#jbcity").change(function(){
			initCounty("#jbcity","#jbcounty");
		});
		
		$("#ccity").change(function(){
			initCounty("#ccity","#ccounty");
		});

		$("textarea,input:text,input:checkbox,input:radio,select").focus(function(){
			objElement=GetMessageArea(this);
			DisplayMessage(objElement,GetMessage(this.name));
		});
		
		$("textarea,input:text,input:checkbox,input:radio,select").blur(function(){
			objElement=GetMessageArea(this);
			DisplayMessage(objElement,"");
		});
		
		$("form").submit(function(){
			$("#send").attr("disabled","disabled");
			if(valid()){
				$("#send").removeAttr("disabled");
				return true;
			}
			$("#send").removeAttr("disabled");
			return false;
		});
	});

	function valid(){
		validflag=true;
		arrObjs=new Array("#cname","#cproperty","#jbTil","#jbTime","#jbSal","#jbDesc","#jbnote","#jbcont","#jbtel");
		for(lop=0;lop < arrObjs.length;lop++){
			validflag = validflag & CheckEmpty(arrObjs[lop]);
		}
		
		validflag=validflag & checkAddress("#jbcity","#jbcounty","#jbaddress");
		
		if(!$("#samejb").attr("checked")){
			validflag = validflag & checkAddress("#ccity","#ccounty","#caddress");
		}
		validflag=validflag & CheckDate();
		validflag=validflag & validPwd("#PW");
		return validflag;
	}
	
	function checkAddress(obj1,obj2,obj3){
		if($(obj1).val() == "" || $(obj3).val() == ""){
			DisplayMessage(GetMessageArea(obj1),"此欄未填寫完整","Warning");
			return false
		}else if($(obj1).val() != "嘉義市" && $(obj1).val() != "新竹市" && $(obj2).val()==""){
			DisplayMessage(GetMessageArea(obj1),"此欄未填寫完整","Warning");
			return false
		}
		return true;
	}
	
	function initCounty(obj1,obj2){
		$(obj2).show();
		$(obj2+" > option").remove();
		$(obj2).append("<option value=\"\"> </option>");
		if( $(obj1).val() == "新竹市" || $(obj1).val() == "嘉義市" ){
			$(obj2).hide();
		}else if( $(obj1).val() == "" ){
		}else{
			$.ajax({
				type: "POST",
				url: "/public/get_city.asp",
				data: "city="+$(obj1).val(),
				async: false,
				error: function(){alert("鄉鎮市區資料載入錯誤！");},
				success: function(CountyData){
					arrConuties=CountyData.split(",");
					for(lop=0;lop < arrConuties.length;lop++){
						$(obj2).append("<option value=\""+arrConuties[lop]+"\">"+arrConuties[lop]+"</option>");
					}
				}
			});
		}
	}

	function CheckEmpty(objName){
		obj=$(objName);	
		if(obj.val()==""){
			switch(obj.attr("type")){
				case "select-one":
					DisplayMessage(GetMessageArea(obj),"此欄尚未選擇","Warning");
					break;
				default:
					DisplayMessage(GetMessageArea(obj),"此欄不可空白","Warning");
			}
			return false;
		}
		return true;
	}
	
	function DisplayMessage(objE,DisplayMsg,level){
		objE.html(DisplayMsg);
		if(DisplayMsg != ""){
			switch(level){
				case "Warning":
					objE.css("background","#FFCCCC");
					break;
				default:
					objE.css("background","#DFFFDF");
			}
		}else{
			objE.css("background","#FFFFFF");
		}
	}
	
	function GetMessageArea(obj){
		return $(obj).parent().parent().children(".message");
	}
	
	function GetMessage(objname){
		str_="";
		switch(objname){
			case "subject":
				str_="";
				break;
			default:
		}
		return str_;
	}
	
	function CheckDate(){
		if($("#YY").val() == "" || $("#MM").val() == "" || $("#DD").val() == ""){
			DisplayMessage(GetMessageArea($("#YY")),"此欄未填完整","Warning");
			return false;
		}
		YearCheck=/^(19|20)\d{2}$/;
		if(!YearCheck.test($("#YY").val())){
			DisplayMessage(GetMessageArea($("#YY")),"此欄日期格式錯誤","Warning");
			return false;			
		}
		if(!validDate($("#DD").val(),$("#MM").val(),$("#YY").val())){
			DisplayMessage(GetMessageArea($("#YY")),"此欄日期格式錯誤","Warning");
			return false;
		}
		return true;
	}
	
	function validDate(day,month,year){
		if (isNaN(Date.parse(month+"/"+day+"/"+year))){
			return false; 
		}
		var dd = parseInt(day,10);
		var mm = parseInt(month,10)-1;
		var yy = parseInt(year,10);
		var date = new Date(yy,mm,dd);
		if (dd!=date.getDate() || mm!=date.getMonth() || yy!=date.getFullYear()){
			return false;
		}
		return true;
	}
	
	function validPwd(oname){
		if( ! CheckEmpty(oname)){
			return false;
		}
		PW_Format=/^[\w]{6,32}$/;
		
		if( ! PW_Format.test($(oname).val())){
			DisplayMessage(GetMessageArea($(oname)),"此欄格式錯誤","Warning");
			return false;
		}
		
		return true;
	}