
//開新視窗，如果已經開啟，focus//////////////////////////////////////////////////////////////////////////
function gf_openwin(_link,_name,_style)
{
	if(_style!="" && _style!=null) _style = ",'"+_style+"'";
	else _style = "";


	eval("if("+_name+" != null && "+_name+".closed){delete "+_name+";"+_name+" = null;}");
	eval("if("+_name+"==null) "+_name+" = window.open(_link,"+_name+",_style);else "+_name+".location.href = _link;");
	eval(_name+".focus();");

/*
	if(_style!="" && _style!=null)
		_style = ",'"+_style+"'";
	else
		_style = "";
	eval("if("+_name+" != null && "+_name+".open) "+_name+".focus();else "+_name+" = window.open('"+_link+"','"+_name+"'"+_style+");") 
*/
}

//當使用開新視窗處理的時候，必須對要開啟的視窗做設定=><BODY onunload="gf_setopener();">
function gf_setopener()
{
	//eval("opener."+self.name+" = null;");
	//eval("alert(opener."+self.name+");");
}

//增加欄位//////////////////////////////////////////////////////////////////////////
function gf_additem(object,item,formname) 
{ 
	//為處理該form中有名叫name的input所做的處理
	if(formname=="" || formname == null)  formname = object.form.name;

	var ce=document.createElement("B"); 
	eval("document."+formname+"."+object.name+".insertAdjacentElement('BeforeBegin',ce);");
	ce.innerHTML='<br>'+item; 
}
//限定輸入型態//////////////////////////////////////////////////////////////////////
function gf_inputonly(type1,type2)
{
	//48 - 57  :0-9  ,  65 - 90  :A-Z  ,  97 - 122 :a-z , 13 :enter
	var strTemp = "event.keyCode==13 || (event.keyCode >= 48 && event.keyCode <= 57)";
	if(type1==1 || type1==true) strTemp+=" || (event.keyCode >= 65 && event.keyCode <= 90)";
	if(type2==1 || type2==true) strTemp+=" || (event.keyCode >= 97 && event.keyCode <= 122)";

	if (eval(strTemp)) return true;
	else return false;
}

//檢查password///////////////////////////////////////////////////////////////////////
function check_pwd(temp,pwd1,pwd2)
{
	if(pwd1.value==pwd2.value) return true;
	else
	{
		if(temp!="") alert(temp);
		return false;
	}
}

//SMS 相關檢查/////////////////////////////////////////////////////////////////////////
//temp:錯誤訊息,jojo:待檢查物件,sw:檢查類型
function check_sms(temp,jojo,sw)
{
	switch(sw)
	{
		case "checkchinese":	//檢查是否為中文字
			var strlen=str.length;
			if(strlen>0){
			var oldstrlen=str.length
			for(var i=0;i<strlen;i++) {
			  c='';  c = escape(str.charAt(i));
			  if( c.charAt(0) == '%') {
				cc = c.charAt(1);//IE~u,NS~A
				if(cc =='A' ||cc =='u'){ return true; }
			  }
			}
			return false; } else { return false; }
			break;

		case "mobile":	//檢查手機號碼是否正確（國內）
			var mobi_txt = jojo.value;
			var string = "0123456789";
			num_array = mobi_txt.split(";");
			for(i=0;i<num_array.length;i++)
			{
				num = num_array[i];
				if(num.length != 10)	//檢查長度
				{
					return -1;
				}
				else
				{
					if (num.substring(0,1) != '0')	//第一碼為0
					{
						return -2;
						break;
					}
					if (num.substring(1,2) != '9')	//第二碼為9
					{
						return -3;
						break;
					}
					//檢查是否全為數字
					for(j = 0;j < num.length ;j++) 
					{
						if(string.indexOf(num.substring(j,j + 1)) == -1) 
						{
							return -4;
							break;
						}
					}
				}	
			}
			return true;	
			break;
	}
}

//檢查數字性資料-空白////////////////////////////////////////////////////////////
//temp:錯誤訊息,jojo:待檢查物件,sw:檢查類型
function check_space(temp,jojo,sw,other)
{
	var formname = "";
	var name = "";
	var _type = "";
	var zero = false;

	if(jojo.type!=undefined)
	{
		formname = jojo.form.name;
		name = jojo.name;
	}
	else if(jojo.type==undefined && jojo[0].type!=undefined)
	{
		formname = jojo[0].form.name;
		name = jojo[0].name;
	}

	switch(sw)
	{
		case "checkbox":
			return check_checkbox(formname,temp,name);
			break;


		case "select":
			var _obj = eval("document."+formname+".elements['"+name+"']");
			var len = eval("document."+formname+".elements['"+name+"'].length");
			var focu = "";
			var _v = "";
			var point = false;

			if(jojo.type!=undefined)
			{
				focu = _obj;
				_v = _obj.value;
				if(!(_v==null || _v=="" || _v==false)) return true;
			}
			else if(jojo.type==undefined && jojo[0].type!=undefined)
			{
				for(var i=0; i<len; i++)
				{	
					focu = _obj[i];
					_v = _obj[i].value;

					if(!(_v==null || _v=="" || _v==false)) point = true;
					else {point = false; break;}
				}

				if(point == true) return true;
			}

			if(temp!="") alert(temp);
			focu.focus();
			return false;

			/*
			var v = jojo.value;
			if(v==null || v=="" || v==false)
			{
				if(temp!="") alert(temp);
				jojo.focus();
				return false;
			}
			else return true;
			*/
			break;

		case "radio":
			var _obj = eval("document."+formname+".elements['"+name+"']");
			var len = eval("document."+formname+".elements['"+name+"'].length");
			var focu = "";

			if(jojo.type!=undefined)
			{
				focu = _obj;
				if(_obj.checked==true) return true;
			}
			else if(jojo.type==undefined && jojo[0].type!=undefined)
			{
				focu = _obj[0];
				for(var i=0; i<len; i++)
				{	
					if(eval("document."+formname+".elements['"+name+"']["+i+"].checked") == true)
					{
						return true;
					}
				}
			}
			if(temp!="") alert(temp);
			focu.focus();
			return false;
			break;

		case "text":
		case "value":
			if(jojo.type!=undefined)
			{
				focu = jojo;
				if(jojo.value!=null && jojo.value!="") return true;
			}
			else if(jojo.type==undefined && jojo[0].type!=undefined)
			{
				var len = jojo.length;
				for(var i=0; i<len; i++)
				{
					if(jojo[i].value!=null && jojo[i].value!="") return true;
				}
				focu = jojo[0];
			}

			if(temp!="") alert(temp);
			focu.focus();
			focu.select();
			return false;
			break;

		case "zero":
			sw = "num";
			zero = true;
		case "zerof":
			sw="numf";
			zero = true;
		case "":
		case "num":
		case "numf":
		default:
			//check " " and "　"
			//alert(jojo.name);
			var _obj = eval("document."+formname+".elements['"+name+"']");
			var len = eval("document."+formname+".elements['"+name+"'].length");
			var point = false;

			if(jojo.type!=undefined)
			{
				var str = _obj.value;
				var strlen = str.length;
				var strtemp = "";

				focu = _obj;
				for(var i=0; i<strlen; i++)
				if(!(str.charAt(i)==" " || str.charAt(i)=="　")) break;
	
				for(var j=strlen-1; j>0; j--)
				if(!(str.charAt(j)==" " || str.charAt(j)=="　")) break;
	
				if(i <= j)	strtemp = str.substring(i,j+1);
				else strtemp = "";
	
				jojo.value = strtemp;
	
				if(strtemp==null || strtemp=="")
				{
					if(temp!="") alert(temp);
					_obj.focus();
					_obj.select();
					return false;
				}
				else
				{
					if(sw=="num") return check_num(temp,_obj,other,zero);
					if(sw=="numf") return check_numf(temp,_obj,other,zero);
					return true;
				}
				return true;
			}
			else if(jojo.type==undefined && jojo[0].type!=undefined)
			{
				focu = _obj[0];
				for(var k=0; k<len; k++)
				{	
					var str = _obj[k].value;
					var strlen = str.length;
					var strtemp = "";
	
					for(var i=0; i<strlen; i++)
					if(!(str.charAt(i)==" " || str.charAt(i)=="　")) break;
		
					for(var j=strlen-1; j>0; j--)
					if(!(str.charAt(j)==" " || str.charAt(j)=="　")) break;
		
					if(i <= j)	strtemp = str.substring(i,j+1);
					else strtemp = "";
		
					_obj[k].value = strtemp;
					focu = _obj[k];
		
					if(strtemp==null || strtemp=="")
					{
						if(temp!="") alert(temp);
						_obj[k].focus();
						_obj[k].select();
						return false;
					}
					else
					{
						if(sw=="num") if(check_num(temp,_obj[k],other,zero)) point = true; else {point = false; break;}
						if(sw=="numf") if(check_numf(temp,_obj[k],other,zero)) point = true; else {point = false; break;};
					}
				}
				if(point == true) return true;
			}

			if(temp!="") alert(temp);
			focu.focus();
			focu.select();
			return false;

			/*
			var str = jojo.value;
			var len = str.length;
			var strtemp = "";

			for(var i=0; i<len; i++)
			if(!(str.charAt(i)==" " || str.charAt(i)=="　")) break;

			for(var j=len-1; j>0; j--)
			if(!(str.charAt(j)==" " || str.charAt(j)=="　")) break;

			if(i <= j)	strtemp = str.substring(i,j+1);
			else strtemp = "";

			jojo.value = strtemp;

			if(strtemp==null || strtemp=="")
			{
				if(temp!="") alert(temp);
				jojo.focus();
				jojo.select();
				return false;
			}
			else
			{
				if(sw=="num") return check_num(temp,jojo,other,zero);
				if(sw=="numf") return check_numf(temp,jojo,other,zero);
				return true;
			}
			*/
			break;

		case "len":
		case "length":
			// 檢查長度
			var _objitem = eval("document."+formname+"."+name+"");
			var setlen = other.split("-");
			var _len = _objitem.value.length;	// 物件內容長度

			if (_len < setlen[0] || _len > setlen[1])
			{
				alert("請輸入"+temp+" 長度介於："+setlen[0]+" 至 "+setlen[1]+" 個字之間。");
				_objitem.focus();
				return false;
			}
			return true;
			break;

		case "mail":
		case "email":
			return check_space(temp,jojo,"out","!　#$%^&*() +|\\={}[]\":?><,/;'`");
			break;

		case "tel":
		case "fax":
			return check_space(temp,jojo,"in","1234567890-()#");
			break;

		case "charout":
		case "out":
			// 檢查輸入數值在
			var _objitem = eval("document."+formname+"."+name+"");
			var _val = _objitem.value;
			var _len = _val.length;	// 物件內容長度
			for ( var i = 0; i < _len ; i++ )
			{
				if(other.indexOf(_val.substring(i,i+1)) >= 0)
				{
					alert("欄位內不能有其它符號。例如："+_val.substring(i,i+1));
					_objitem.focus();
					return false;
				}
			}
			return true;
			break;

		case "charin":
		case "in":
			// 檢查輸入數值在
			var _objitem = eval("document."+formname+"."+name+"");
			var _val = _objitem.value;
			var _len = _val.length;	// 物件內容長度
			for ( var i = 0; i < _len ; i++ )
			{
				if (other.indexOf(_val.substring(i,i+1)) == -1)
				{
					alert("欄位內不能有此字元。例如："+_val.substring(i,i+1));
					_objitem.focus();
					return false;
				}
			}
			return true;
			break;
	}

}

//檢查數字性資料-是數字///////////////////////////////////////////////////////////
function check_num(temp,jojo,language,zero)
{
	if(language==null || language=="")  language="c";
	if(zero==null)  zero=true;
	var option="1";
	var str=jojo.value;
	var i=0;
	for(i=0; i<str.length; i++)
		{
			if((str.charAt(i) >= "0") && (str.charAt(i) <= "9"))
			{
				continue;
			}
			else
			{
				if(language=='c')
				   alert(temp+"欄位只允許填入整數型態之資料");
				else if(language=='e')
				   alert(temp+"Must be numberic !");
				jojo.focus();
				jojo.select();
				option="0";
				break;
			}
		}

		if(option=="0")
		{
			return false;
		}
		else
		{
			var check_number = false;
			var show_string = "";
			var show_engstr = "";

			if(zero==true)
			{
				if(jojo.value < 0)
				{
					check_number = true;
					show_string = "欄位不可為負值！";
					show_engstr = "must be plus.";
				}
			}
			else if(zero==false)
			{
				if(jojo.value <= 0)
				{
					check_number = true;
					show_string = "欄位必須為大於0的整數資料！";
					show_engstr = "must be greater than zero.";
				}
			}

			if(check_number==true)
			{
				if(language=='c')
					alert(temp+show_string);
				else if(language=='e')
					alert(temp+show_engstr);

				jojo.focus();
				jojo.select();

				return false;
			}
			else return true;
		}
}

//檢查數字性資料-是數字且含小數點////////////////////////////////////////////////
function check_numf(temp,jojo,language,zero)
{
	if(language==null || language=="")  language="c";
	if(zero==null)  zero=true;
	var j=0; 
	var option="1";
	var str=jojo.value;
	var i=0;
	for(i=0; i<str.length; i++)
	{
	  if (str.charAt(i) == "." ) 
		{
		  if (j==0) 
			{
			  j=1;
			}
		  else
			{
			  j=2;
			}
		  continue;
	    }


		if((str.charAt(i) >= "0") && (str.charAt(i) <= "9"))
		{
			continue;
		}
		else
		{
			if(language=='c')
			   alert(temp+"欄位只允許填入數字型態之資料(含小數點)");
			else if(language=='e')
               alert(temp+"Must be floating decimal !");
			jojo.focus();
			jojo.select();
			option="0";
			break;
		}
	}

	if(option=="0")
	{
		return false;
	}
	else
	{
		if (j >= 2) //判斷會不會有多的小數點
		{
			alert ('Invalid numeric expression.');
			return false;
		}
	
		var check_number = false;
		var show_string = "";
		var show_engstr = "";

		if(zero==true)
		{
			if(jojo.value < 0)
			{
				check_number = true;
				show_string = "欄位不可為負值！";
				show_engstr = "must be plus.";
			}
		}
		else if(zero==false)
		{
			if(jojo.value <= 0)
			{
				check_number = true;
				show_string = "欄位必須為大於 0！";
				show_engstr = "must be greater than zero.";
			}
		}


		if(check_number == true)
		{
			if(language=='c')
				alert(temp+show_string);
			else if(language=='e')
				alert(temp+show_engstr);

			jojo.focus();
			jojo.select();

			return false;
		}
		else return true;
	}
}

//判斷checkbox是否有勾選/////////////////////////////////////////////////////////
function check_checkbox(form_name,temp,name) 
{
	/*****************************************************************
		form_name	=> form name
		temp		=> 要秀的文字
		name		=> 欄位名稱不包含[]
	*****************************************************************/
	var str_chk1="";
	var a=0,b=0;
	var ary_name=new Array();

	//處理多組checkbox中，任意一組有被勾選，就算成功
	for(var i=0 ; i < name.length ; i++)
	{
		if(name.substring(i,i+1)=="," || i==(name.length-1))
		{
			if(i==(name.length-1)) i+=1;
			ary_name[b++]=name.substring(a,i);
			a=i+1;
		}
	}
	//alert(ary_name);

	for(var i=0 ; i < b ; i++)
	{
		//alert(ary_name[i]);
		var jojo=eval("document."+form_name+".elements['"+ary_name[i]+"']");
		//alert(typeof jojo+"--"+typeof jojo1);
		if(!(typeof jojo=='undefined'))
		{
			if(jojo.type=="checkbox")
			{
				if(jojo.checked==true) str_chk1=true;
				jojo.focus();
			}
			else
			{
				var len=jojo.length;
				for(var j=0;j<len;j++)
				{
					if(jojo[j].checked==true)
					{
						str_chk1=true;
						break;
					}
					//alert(jojo[j].name);
				}

				jojo[0].focus();
			}
		}
		if(str_chk1==true) return true;
	}

	alert(temp);
	return false;
}

//勾選全部checkbox////////////////////////////////////////////////////////////
function check_allbox(form_name,name,str_type) 
{
	//check_checkbox(欄位名稱不包含[])<==目前要包含

	//name=name+"[]";
	var ok=0;
	var num=-1;
	var j=0;
	var jojo=eval("document."+form_name+".elements['"+name+"']");

	if(jojo.type=="checkbox")
	{
		jojo.checked=str_type;
	}
	else
	{
		len=jojo.length;

		for(var j=0;j<len;j++)
		{
			if(jojo[j].name==name)
			{
				jojo[j].checked=str_type;
			}
		}

		jojo[0].focus();
		jojo[0].select();
	}
}

//全部選取////////////////////////////////////////////////////////////////////
function allselect(_obj,str_type) 
{
	//check_checkbox(欄位名稱不包含[])<==目前要包含

	//name=name+"[]";
	var formname = "";
	var name = "";
	var _type = "";

	if(_obj.type!=undefined)
	{
		formname = _obj.form.name;
		name = _obj.name;
		_type = _obj.type;
	}
	else if(_obj.type==undefined && _obj[0].type!=undefined)
	{
		formname = _obj[0].form.name;
		name = _obj[0].name;
		_type = _obj[0].type;
	}

	var jojo = eval("document."+formname+".elements['"+name+"']");

	switch(_type)
	{
		case "select-one":
		case "select":
			if(jojo.type!=undefined)	//單個的時候
			{
				jojo.options[str_type].selected = true;
			}
			else
			{
				len = jojo.length;

				for(var i=0; i<len; i++)
				{
					jojo[i].options[str_type].selected = true;
				}
			}
			break;

		case "checkbox":
		default:
			if(jojo.type!=undefined)
			{
				jojo.checked=str_type;
			}
			else
			{
				len=jojo.length;

				for(var j=0;j<len;j++)
				{
					if(jojo[j].name==name)
					{
						jojo[j].checked=str_type;
					}
				}
			}
			break;
	}

}


//取出下層select list////////////////////////////////////////////////////////////
/********************************************************************************
其中，必須以
aryname=new Array(); aryvalu=new Array();
aryname[0]=new Array(); aryvalu[0]=new Array();
來新增相關資料，且『aryname』：list的名字；『aryvalu』：list的value
【參數】：
	theObj：自己，用this
	theActSelet：要變換的select，用this.form.nextselect
	temp：option 0的文字
	setNull：設定主分類有無『請選擇』，有的話：不填 OR true ； 無的話：false

	//theSelectedIndex：自己的值，用this.options[this.selectedIndex].value
********************************************************************************/
function gf_changeSelect(theObj,theActSelet,temp,setNull)
{
	//設定主分類有無『請選擇』，有的話：不填 OR true ； 無的話：false
	setNull = (setNull==null || setNull==true) ? true : setNull;
	var num = (setNull==true) ? theObj.selectedIndex-1 : theObj.selectedIndex;
	var theSelectedIndex = theObj.options[theObj.selectedIndex].value;

	//如果沒有值，就disabled
	if(theSelectedIndex == '')
	{
		theActSelet.disabled = true;
		temp = (temp==null || temp=="") ? "---請選定上層選項---" : temp;
		theActSelet.options[0] = new Option(temp, '');
	}
	else
	{
		theActSelet.disabled=false;

		j=0;//新陣列key
		for(i=0;i < aryname[num].length; i++)
		{
			if(aryname[num][i])
			{
				theActSelet.options[j] = new Option(aryname[num][i], aryvalu[num][i]);
				j++;
			}
		}
		theActSelet.length = j;
	}

	//預設子分類直接selected到最上方的那一個
	theActSelet.selectedIndex = 0;

}


//取出下層select list＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊2004/10/13（新）
/********************************************************************************
其中，必須以
aryname=new Array(); aryvalu=new Array();
aryname[0]=new Array(); aryvalu[0]=new Array();
來新增相關資料，且『aryname』：list的名字；『aryvalu』：list的value
【參數】：
	theObj：自己，用this
	theActSelet：要變換的select，用this.form.nextselect
	temp：option 0的文字
	setNull：設定主分類有無『請選擇』，有的話：不填 OR true ； 無的話：false
	nextnextitem：如果超過3層以上，要把自己不能影響到的下層select的名字寫進來

	//theSelectedIndex：自己的值，用this.options[this.selectedIndex].value
********************************************************************************/
function gf_chSelect(theObj,theActSelet,strtemp,temp,setNull,nextnextitem)
{
	//設定主分類有無『請選擇』，有的話：不填 OR true ； 無的話：false
	setNull = (setNull==null || setNull==true) ? true : setNull;
	var num = (setNull==true) ? theObj.selectedIndex-1 : theObj.selectedIndex;
	var theSelectedIndex = theObj.options[theObj.selectedIndex].value;
	var	temp = (temp==null || temp=="") ? "---請選定上層選項---" : temp;
	var j=0;

	//如果沒有值，就disabled
	if(theSelectedIndex == '')
	{
		theActSelet.disabled = true;
		theActSelet.options[0] = new Option(temp, '');
		theActSelet.disabled = true;
	}
	else
	{
		theActSelet.disabled=false;

		j=0;//新陣列key
		eval("var aryname = Ary"+strtemp+theSelectedIndex+"name;");
		eval("var aryvalu = Ary"+strtemp+theSelectedIndex+"value;");
		
		if(setNull==true)
		{
			var _i=1;
			theActSelet.options[0] = new Option(temp, '');
			j = 1;
		}

		for(var i=0;i < aryname.length; i++)
		{
			if(aryname[i])
			{
				theActSelet.options[j] = new Option(aryname[i], aryvalu[i]);
				j++;
			}
		}
		theActSelet.length = j;
	}

	//預設子分類直接selected到最上方的那一個
	//theActSelet.selectedIndex = 0;
	theActSelet.options[0].selected = true;

	if(nextnextitem!="" && nextnextitem!=undefined && nextnextitem!=null)
	{
		var arynext = nextnextitem.split(",");
		for(i=0;i<arynext.length;i++)
		{
			eval("theObj.form.elements['"+arynext[i]+"'].disabled=true;");
			eval("theObj.form.elements['"+arynext[i]+"'].options[0].selected = true;");
		}
	}

}


//開日曆視窗////////////////////////////////////////////////////////////
function CreateWindow(level,frmname,fldname)
{
window.status = "";
strfeatures = "dialogwidth=160px;dialogheight=212px;scrollbars=no;"+"center=yes;border=thin;help=no;status=no"
input = window.showModalDialog(level + "inc_clie/ShowCalendar.php","pickday",strfeatures);

if (input != null && input != "")
{
eval("document."+frmname+ "." + fldname + ".value = input;");
 }
window.event.returnvalue = false;
}

//////////////////////////////////////////////////////////////////////////////////
// 日期時間 相關function /////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////

//日期判斷(傳回剩餘的時間戳記)/////////////////////////////////////////////////
function check_date(inputa,inputb,sw)	//在javascript中，其日期函示中的月份會比實際月份少1 =>  (0-11)
{
	switch(sw)
	{
		//檢查該日期是否存在(元件版)
		//inputa:this.form  inputb:"年,月,日,時,分,秒"=>相關欄位的名稱
		case "checkdate":
			var theform = inputa;
			var D = inputb.split(",");

			_y = D[0] ? eval("theform."+D[0]+".value") : theform.year.value;
			_m = D[1] ? eval("theform."+D[1]+".value-1") : theform.month.value-1;
			_d = D[2] ? eval("theform."+D[2]+".value") : theform.day.value;
			_h = D[3] ? eval("theform."+D[3]+".value") : theform.hour.value;
			_i = D[4] ? eval("theform."+D[4]+".value") : theform.minute.value;
			var td = new Date (_y,_m,_d,_h,_i);

			return (td.getFullYear()==_y && td.getMonth()==_m && td.getDate()==_d && td.getHours()==_h && td.getMinutes()==_i? true : false);
			break;

		//檢查該日期是否存在(字串版)
		//inputa:this.form  inputb:"年,月,日,時,分,秒"=>相關欄位的名稱
		case "checkdate_string":
			var Db = inputb.split(/\D/);
			var td = new Date (Db[0],Db[1]-1,Db[2],Db[3],Db[4]);
			return (td.getFullYear()==Db[0] && td.getMonth()==Db[1]-1 && td.getDate()==Db[2] && td.getHours()==Db[3] && td.getMinutes()==Db[4]? td : false);
			break;

		//inputa:第一組時間  inputb:第二組時間  為空或是=now的話，以現在時間替入
		//範例：alert(check_date("2004.08.17.24.05.01","now","diff"));
		case "diff":
		default:
			var Da = inputa!="" && inputa!="now" ? inputa.split(/\D/) : null;
			var Db = inputb!="" && inputb!="now" ? inputb.split(/\D/) : null;

			date1temp = Da==null ? new Date() : new Date(Da[0],Da[1]-1,Da[2],Da[3],Da[4],Da[5])
			date2temp = Db==null ? new Date() : new Date(Db[0],Db[1]-1,Db[2],Db[3],Db[4],Db[5])

			//alert(date1temp.toGMTString()+" "+date2temp.toGMTString());	//測試用
			return (date1temp.getTime()-date2temp.getTime());
			break;
	}
}
//////////////////////////////////////////////////////////////////////////////////
// 日期時間 相關function end /////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////


//////////////////////////////////////////////////////////////////////////////////
// SMS 相關function //////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////
// 檢查是否是中文
function checkchinese(str) {
  var strlen=str.length;
  if(strlen>0){
    var oldstrlen=str.length
    for(var i=0;i<strlen;i++) {
      c='';  c = escape(str.charAt(i));
      if( c.charAt(0) == '%') {
        cc = c.charAt(1);//IE~u,NS~A
        if(cc =='A' ||cc =='u'){ return true; }
      }
    }
  return false; } else { return false; }
}

/***************************************************************************
功能：判斷輸入字數
絕對需要：theForm
相對需要：Message,MsgLength,MsgCount,Isbig5
說明：Message,MsgLength,MsgCount,Isbig5等input，若有需要變動者，再行設定即可
範例：niya(this.form,aa,lin);
****************************************************************************/
function niya(theForm,Message,MsgLength,MsgCount,Isbig5)
{
	//預設相關資訊取得來源
	var Message = Message ? Message : theForm.msg;
	var MsgLength = MsgLength ? MsgLength :theForm.Lindberg;
	var MsgCount = MsgCount ? MsgCount : theForm.MsgCnt;
	var Isbig5 = Isbig5 ? Isbig5 : theForm.ischinese;

	var data=Message.value;
	var isChinese=checkchinese(data);
	if(isChinese){
		var limit=69;
		if(Isbig5) Isbig5.value =1;
  	}else{
		var limit=130;
		if(Isbig5) Isbig5.value =0;		 
	}
	MsgLength.value = Message.value.length;	//把msg的長度放到『已輸入X個字』的X中
	if(MsgCount) MsgCount.value = Math.ceil(Message.value.length / limit);	//計算一共幾則簡訊
}


/***************************************************************************
功能：計算發送筆數（計算手機號碼有個）
絕對需要：theForm
相對需要：send_number,sum_number
說明：send_number,sum_number等input，若有需要變動者，再行設定即可
範例：set_num(this);
****************************************************************************/
function set_num(theForm,send_number,sum_number){
	var send_number = send_number ? send_number : theForm.send_num;
	var sum_number = sum_number ? sum_number :theForm.in_num;

	if (send_number.value.length > 0)	{
		temp_array = send_number.value.split(";");
		sum_number.value = temp_array.length;
	}
	else{
		sum_number.value = 0;
	}
}


/***************************************************************************
功能：檢查電話是否正確
絕對需要：mobi_txt
相對需要：sw：設定檢查方式為國內或國外
說明：
範例：
****************************************************************************/
function check_mobi(mobi_txt,sw){
	string = "0123456789";
	num_array = mobi_txt.split(";");
	for(i=0;i<num_array.length;i++){
		num = num_array[i];
		switch(sw)
		{
			//國際手機
			case "outward":
				if(num.length <= 15){//檢查長度
					return -1;
				}else{
					//檢查是否全為數字
					for(j = 0;j < num.length ;j++) {
						if(string.indexOf(num.substring(j,j + 1)) == -1) {
							return -4;
							break;
						}
					}
				}	
				break;

			//國內手機
			case "inward":
			default:
				if(num.length != 10){//檢查長度
					return -1;
				}else{
					if (num.substring(0,1) != '0'){//第一碼為0
						return -2;
						break;
					}
					if (num.substring(1,2) != '9'){//第二碼為9
						return -3;
						break;
					}
					//檢查是否全為數字
					for(j = 0;j < num.length ;j++) {
						if(string.indexOf(num.substring(j,j + 1)) == -1) {
							return -4;
							break;
						}
					}
				}	
				break;
		}
	}
	return true;	
}
//////////////////////////////////////////////////////////////////////////////////
// SMS 相關function end //////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////

//***********************************************
// 滑鼠移出／移入 換色
// <tr onmouseover=sbar(this,document.bgColor) onmouseout=cbar(this,'')>
//***********************************************
function sbar(st,color){st.style.backgroundColor=color;}
