//-------判斷是否為數字(含小數)-----------------是：true，否：false ---
function isNum(num,message){
	var str=num.value;
	var i,j;
	var strTemp="0123456789";
	
	str=str.split(".");
	//---如果小數點超過二項時，代表數值錯誤---
	
	if(str.length >2 || str.length <=0)
	{
		num.focus();
		alert(message);
		return false;
	}
	else
	{
		//-----判斷小數點前後的數是否為數字 ----
		for(k=0;k<str.length;k++){
			if(str[k].length>0)
			{
				for(i=0;i<str[k].length;i++)
				{
					j=strTemp.indexOf(str[k].charAt(i));
					if(j==-1)
					{
						num.focus();
						alert(message);
						return false;
					}
				}
			}
			else
			{
				num.focus();
				alert(message);
				return false;
			}
		}
	}
	return true;
	/*
	var str=num.value;
	var i,j,strTemp;
	strTemp="0123456789.";
	if(str.length==0)
	{	num.focus();alert(message);
		return false;
	}
	for (i=0;i<str.length;i++)
	{	j=strTemp.indexOf(str.charAt(i)); 
		if (j==-1)
		{	num.focus();alert(message);return false;}
	}
	return true;	*/
}
//-------判斷是否為數字(整數)-----------------是：true，否：false ---
function isInt(num,message){
 var str=num.value;
 var i;
 var count=0;
 for (var i=0;i<str.length;i++){
	if((str.charAt(i)>="0" && str.charAt(i)<="9") || (str.charAt(i)=='-')){
		//return true;
	}else{
		/*alert(message);
		num.focus();
		return false; */
		count++;
	}
 }
 
 if(count>0){
	alert(message);
	num.focus(); 
	return false;
 }else {
	return true;
 }
}

//-----判斷是否為正整數-------------是: true ，否:false ---
function isPositiveInteger(num, message)
{
	var str=num.value;
	var i;
	var count=0;
	
	for(var i=0;i<str.length;i++)
	{
		if(str.charAt(i)<"0" || str.charAt(i)>"9")
		{	count++;}
	}
	
	if(count>0)
	{
		alert(message);
		num.focus();
		return false;
	}
	else
	{
		return true;
	}
}


//-------判斷是否為空白-----------------是：true，否：false --- */
function isBlank(blank,message){
 if (blank.value=='')  { 
	alert(message);
	blank.focus();
	return true;
   }else {return false; }
}



//-----判斷file，1.是否填寫，2.檔名是否含空白 --- */
function isFile(file_name,message)
{
	var filename=file_name;
	if(filename.value=="" )
	{
		alert(message); 
		filename.focus(); 
		return false;
	}
	//else if(filename.value.indexOf(" ") != -1)
	//{	alert("上傳的檔案名稱不可有空白"); 
	  //      filename.value='';
	    //    filename.focus();
	      //  return false;
	//}
	else
		return true;
		 	
}


//-----判斷 2 個 miltiple select中，a 與 b 是否有交集，有回傳true 沒有回傳false ---
function ArrayMix(fields_name1,fields_name2,message)
{	var i,j;
   	var arr1 = document.all(fields_name1);  
   	var arr2 = document.all(fields_name2);

   	if(arr1){  //---如果它是有選項內容的 ---
		if (arr1.length){ 	//---如果它可被建成array---
			for(var  i=0;i<arr1.length;i++){
				if(arr2){ 	//---如果array2有選項內容 ---
					if(arr2.length){
						for(var j=0;j<arr2.length;j++)
						{
							if(arr1[i].value==arr2[j].value)
							{	alert (message);return true;}
						}
					}
					else
					{	return false;}
				}
				else	//---若array2沒有值，則不用比較，它就不會有交集---
				{	return false;}
			}
		}
		else{	return false;}
	}
	else
	{	return false;}
}
//-----判斷radio group是否有其中一個被checked ----
function isRadioCheck(fields_name,message)
{	var i;
	var flag=0;
	
	if(fields_name.length > 1)//if(fields_name instanceof Array)	//判斷是不是array
	{//如果是array，表示radio的選項大於1
		for(i=0;i<fields_name.length;i++)
		{
			if(fields_name[i].checked)
			{	flag=1;}
		}
	}
	else
	{//如果不是array，表示radio的選項只有一個
		if(fields_name.checked)
		{	flag=1;}
	}
	
	if(flag==0) 
	{
		alert (message);
		return false;
	}
	else
		return true;
}

//-----判斷checkbox 是否有其中一個被checked ---
function isCheckboxCheck(fields_name,message)
{	var i;
	var flag=0;
   	var  arr  =  document.all(fields_name);  
   	if(arr){ 
		if  (arr.length){	//---有多少個checkbox---
			for(var  i  =0;i<arr.length;i++){
				if(arr[i].checked && !arr[i].disabled)		//---如果有被勾選，且不是被disable掉的---
				{	flag=1;}
			}
		}
		else
			if(arr.checked)
				flag=1;
	}
	if(flag==0)
	{
		alert(message);
		return false;
	}
	else
		return true;
}

//-----判斷checkbox 是否有其中一個被checked---
function LimitCheckboxCheck(fields_name,message,CheckNum)
{	var i;
	var flag=0;
   	var  arr  =  document.all(fields_name)  ;  
   	if(arr){ 
		if  (arr.length){	//---有多少個checkbox----
			for(var  i  =0;i<arr.length;i++){
				if(arr[i].checked)
				{	flag++;}
			}
		}
		else
			if(arr.checked)
				flag=1;
	}
	if(flag>CheckNum)
	{
		alert(message);
		return false;
	}
	else
		return true;
}
//-----checkbox全選/全不選，傳入值為 True則為全選，傳入值為False則為全不選 ---
function selectAllorCancel(fields_name,TorF)
{
   	var  arr  =  document.all(fields_name);  
   	//---全選：True		全不選：false --*/
   	if(TorF.toUpperCase() =="TRUE" || TorF.toUpperCase()=="T") TorF=1;
	else TorF=0;
		
   	if(arr){ 
   		
		if  (arr.length){	//---有多少個checkbox --*/
			for(var  i  =0;i<arr.length;i++){
				arr[i].checked=TorF;
			}
		}
		else
		{
			arr.checked=TorF;	
		}
	}
}

//-----反向選取 ---
function selectReverse(fields_name)
{	var i;
	var arr = document.all(fields_name);
	if(arr)
	{
		if(arr.length)
		{
			for(var i=0; i < arr.length ; i++)
			{
				if(arr[i].checked)
					arr[i].checked=false;
				else
					arr[i].checked=true;
			}
		
		}
		else
			if(arr.checked)
				arr.checked=false;
			else
				arr.checked=true;
	}
}

//-------判斷是否為email-----------------是：true，否：false ---

function isEmail(email,message){
	var i,j,k,kk,jj,len;
	if(email.value.length>0){
		i=email.value.indexOf("@");
		j=email.value.indexOf(".",i);
		k=email.value.indexOf(",");
		kk=email.value.indexOf(" ");
		jj=email.value.lastIndexOf(".") + 1;
		len=email.value.length;
	
		if ((i <= 0) || (j <= (1+1)) || (k != -1) || (kk != -1) || (len-jj < 2) || (len-jj > 3)) {
			alert(message);
			email.focus();
			return false;
		}else {
			return true;
		}
	}else{
		return true;
	}
}

//-------判斷是否為字元長度-----------------是：true，否：false ---
function isLength(account,message,min,mix){
	if((account.value.length < min) || (account.value.length > mix))
	{
		alert(message);
		return false;
	}else {
		return true;
	}
}

//-------判斷起始日是否大於結束日--------------------是：true，否：false  ----
function DateSort(startdate,enddate,message){
	if(startdate.value > enddate.value)
	{	alert(message); return true;}
	Else
	{	return false;}
}


//-------判斷後值是否大於前值(用於前值不可大於後值)-----------------------是：true，否：false ---
function ValueCompare(first,second,message,focus_flag,focus_field){
	if(first>second)
	{	alert(message);
   		if(focus_flag==1)
   		{
   			focus_field.focus();
   		}
		return false;
	}
	else
	{	return true;}
}

//-------判斷前值是否大於後值(用於後值不可大於前值)-----------------------是：true，否：false ---
function ValueCompareBack(first,second,message,focus_flag,focus_field){
	if(first<second)
	{
		alert(message);
		if(focus_flag==1)
   		{
   			focus_field.focus();
   		}
   		return false;
   	}
	else
	{return true;}
}
//-------判斷是否介於範圍值之間-----------------------是：true，否：false ---
function ValueRange(first1,second2,third3,message){
	if(!((first1<=second2) && (second2<=third3)))
	{	alert(message);return true;}
	Else
	{	return false;}
}



//-------判斷是否為字串中是否有空白-----------------是：true，否：false ---
function isEmpty(account,message){
	var cus_number=account.value;
	if(cus_number.indexOf(" ") != -1){
		alert(message);
		account.focus();
		return (false);
	}else {
		return true;
	}
}

//----判斷是否為字串中是否有分號、大小括號、等號、逗號、雙引號、斜線、問號、冒號-----------------是：true，否：false ---
function isWrong(account,message){
	var account1=account.value;
	if( (account1.indexOf(";") != -1) || (account1.indexOf("{") !=-1)
		|| (account1.indexOf("}") !=-1)  || (account1.indexOf("[") !=-1)
		|| (account1.indexOf("]") !=-1)  || (account1.indexOf("=") !=-1)
		|| (account1.indexOf(",") !=-1)  || (account1.indexOf("\"") !=-1)
		|| (account1.indexOf("\\") !=-1)  || (account1.indexOf("/") !=-1)
		|| (account1.indexOf("?") !=-1)  || (account1.indexOf(":") !=-1) ) {
		alert(message);
		account.value = ''
		account.focus();
  		return (false);
 	}else {
		return true;
	}
}

//-------判斷兩個字串是否相同(密碼)-----------------是：true，否：false ---
function isSame(pwd,pwd1,message){
	if (pwd.value != pwd1.value)
	{
		alert(message)
		pwd.value = ''
		pwd1.value = ''
		pwd.focus()

		return false

	}else {
		return true;
	}
}

//-------判斷是否為身份證字號-----------------是：true，否：false ---
function isId(id,message){
	var ID_Load=id.value.toUpperCase();
	if (ID_Load.length != 10) {
		alert(message+"\r\n字數必須為十碼！");
		id.focus();
		return false;
	}

	var ID_Input  = new Array(10)
	for (var i=0; i<10; i++) { ID_Input[i] = ID_Load.charAt(i) }
	var EngString = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
	ID_Input[0] = EngString.indexOf(ID_Input[0])

	if (ID_Input[0] == -1) {
		alert(message+"\r\n".js_msg_mustBeEnglishCharater);
		id.focus();
		return false;
	}

	if (ID_Input[1] !=1 && ID_Input[1] !=2) {
		alert(message+"\r\n".js_msg_SexTypeError);
		id.focus();
		return false;
	}

	var NumArray = new Array(26)
	NumArray[0] = 1 ; NumArray[1] = 10; NumArray[2] = 19;
	NumArray[3] = 28; NumArray[4] = 37; NumArray[5] = 46;
	NumArray[6] = 55; NumArray[7] = 64; NumArray[8] = 39;
	NumArray[9] = 73; NumArray[10] = 82; NumArray[11] = 2 ;
	NumArray[12] = 11; NumArray[13] = 20; NumArray[14] = 48;
	NumArray[15] = 29; NumArray[16] = 38; NumArray[17] = 47;
	NumArray[18] = 56; NumArray[19] = 65; NumArray[20] = 74;
	NumArray[21] = 83; NumArray[22] = 21; NumArray[23] = 3 ;
	NumArray[24] = 12; NumArray[25] = 30;
	var result = NumArray[ID_Input[0]]
	for (var i=1; i<10; i++) {
		var NumString = '0123456789';
		ID_Input[i] = NumString.indexOf(ID_Input[i]);
		if (ID_Input[i] == -1) {
			alert(message+"\r\n".js_msg_MustBeNum);
			id.focus();
			return false;
		} else {
			result += ID_Input[i] * (9-i);
		}
	}

	result += 1 * ID_Input[9]
	if (result % 10 != 0) {
		alert(message);
		id.focus();
		return false;
	}else{
		return true;
	}

}

//-----判斷是否有選擇-------單選----------是：true，否：false(不能選擇第一個，因為預設為第一個) ---
function isSelect(select,message){ 
	if (select.selectedIndex == 0) {
		alert(message);
		select.focus();
		return false;
	}else{
		return true;
	}
}

//-------判斷是否有選擇----------多重選擇--------------------- 是: return true，否：return false;
function isSelectMultiple(select,message,alert_flag) 
{
	
	for(var i = 0; i < select.options.length; i++) 
	{
		if(select.options[i].selected) {
			return true;
		}
	}  
	if(alert_flag==1)
	{
		alert(message);
		select.focus();
	}
	return false;
}  

//----萬年曆---- */
var sMon = new Array(12);
	sMon[0] = "Jan"
	sMon[1] = "Feb"
	sMon[2] = "Mar"
	sMon[3] = "Apr"
	sMon[4] = "May"
	sMon[5] = "Jun"
	sMon[6] = "Jul"
	sMon[7] = "Aug"
	sMon[8] = "Sep"
	sMon[9] = "Oct"
	sMon[10] = "Nov"
	sMon[11] = "Dec"

function calendar(t) {
	var sPath = "js/calendar1.htm";
	strFeatures = "dialogWidth=206px;dialogHeight=228px;center=yes;help=no";
	st = t.value;
	sDate = showModalDialog(sPath,st,strFeatures);
	t.value = formatDate(sDate, 0);

}

function checkDate(t) {
	var dDate = new Date(t.value);
	if (dDate == "NaN") {t.value = ""; return;}

	iYear = dDate.getFullYear()

	if ((iYear > 1899)&&(iYear < 1950)) {

		sYear = "" + iYear + ""
		if (t.value.indexOf(sYear,1) == -1) {
			iYear += 100
			iDay=iDay.substring(iDay.length-2,iDay.length+1);
			sDate = (dDate.getMonth() + 1) + "-" + dDate.getDate() + "-" + iYear
			dDate = new Date(sDate)
		}
	}



	t.value = formatDate(dDate);
}

function formatDate(sDate) {
	var sScrap = "";
	var dScrap = new Date(sDate);
	
	if (dScrap == "NaN") return sScrap;
	iiDay="0"+dScrap.getDate();
	iDay =iiDay.substring(iiDay.length-2,iiDay.length+1);
		//iDay = dScrap.getDate();
	//iMon =iiMon.substring(iiMon.length-2,iiMon.length+1);
	iMon = dScrap.getMonth();
	iYea = dScrap.getFullYear();
	sScrap = iYea + "-" + (iMon + 1) + "-" + iDay ;
	return sScrap;
}


//-----回傳目前字數 ---
function CountText(get_textarea,set_textarea)
{	
	if(parseInt(navigator.appVersion.charAt(0)) >= 4) {
	    isNS = (navigator.appName == "Netscape") ? true : false;  		
	    isIE = (navigator.appName.indexOf("Microsoft") != -1) ? true : false;  
	}

	set_textarea.value=get_textarea.value.length;
}

//---check字數是否超過 ---
function LimitTextCnt(textarea_name,message,limitcnt)
{	
	if(textarea_name.value.length>limitcnt)
	{
		alert(message);
		textarea_name.focus();
		return false;
	}			
	else
		return true;
}




//-----使用String物件之prototype屬性延伸String物件之方法---
String.prototype.rTrim=rTrim;
String.prototype.lTrim=lTrim;
String.prototype.trim=trim;

//---去除右邊之空白字元 ---
function rTrim()
{
	var orgStr= this.toString();
	var str=orgStr;
	while( str.length >0) 
	{
		if (str.charAt(str.length-1) != ' ')
		{	break;}
		str=str.substring(0, str.length-1) ;
	}
	return str ;
}
		
//-----去除左邊之空白字元 ---
function lTrim()
{
	var orgStr= this.toString();
	var str=orgStr;
	while (str.length>0)
	{
		if (str.charAt(0) != ' ')
		{	break;}
		str=str.substring(1, str.length) ;
	}
	return str;
}
		
//-----去除左右兩邊之空白字元 ---
function trim()
{
	var orgStr= this.toString();
	var str=orgStr;
	return str=(str.lTrim()).rTrim();
}

function trimAllElements() 
{	var i,ii;
	var formLength = document.forms.length;
	for (var i = 0; i < formLength; i++) 
	{
		var eleLength = document.forms[i].elements.length;
		for(var ii = 0; ii < eleLength; ii++) 
		{
			document.forms[i].elements[ii].value = document.forms[i].elements[ii].value.trim();
		}
	}
}

//---傳入天數，取得加減天數後的日期---
function DateCount(Mdate,daycnt)
{
	if(daycnt=="")
		daycnt=0;
		
	//---如果date的日期是沒有的話---
	if(Mdate=="")
	{	
		var Cdate=new Date();
		var Mdate=Cdate.getFullYear()+"-"+(((Cdate.getMonth())<10)? "0"+(Cdate.getMonth()):(Cdate.getMonth()))+ "-"+Cdate.getDate();
	}	
			
	var Mdate_tmp=Mdate.split("-");
	var newdate = new Date(Mdate_tmp[0],(Mdate_tmp[1]-1),Mdate_tmp[2]);			//--將傳入的日期轉換為正確的日期格式--
			
			
	var newdate_tmp = newdate.getTime() + ((daycnt) * 24 * 60 * 60 * 1000);		//---以傳入的日期為基準加減傳入指定的天數---
	newdate.setTime(newdate_tmp);
	limitdate=(newdate.getFullYear() + "-" + (((newdate.getMonth()+1)<10)? "0"+((newdate.getMonth()+1)):((newdate.getMonth()+1))) + "-" + ((newdate.getDate()<10)? "0"+newdate.getDate():newdate.getDate()));  //---取得正確的日期為哪一天---
	
	return limitdate;
}



//--傳入名稱，將底下chile的部份隱藏/顯示..
function ListChild(Obj,ImgObj)
{
	//..取得所有child..
	var arr  =  document.all(Obj);  
	var DisplayStatus = "";
	
	if(arr)
	{ 
		if  (arr.length)
		{	
			//..判斷第一個是隱藏的還是顯示，如果是顯示，那就代表這次的click是隱藏，反之則顯示..
			if(arr[0].style.display=="")
			{	DisplayStatus="none";			}
			else
			{	DisplayStatus="";			}
			
			for(var  i  =0;i<arr.length;i++)
			{
				arr[i].style.display=DisplayStatus;
			}
		}
		else
		{
			//..判斷原來的是隱藏還是顯示，如果是顯示，那就代表這次的click是隱藏，反之則顯示..
			if(arr.style.display=="")	DisplayStatus="none";
			else				DisplayStatus="";
			
			arr.style.display=DisplayStatus;
		}
		
		
		//..改變圖案..
		var ImgSrc=document.getElementById(ImgObj).src;
		var pos=strrpos(ImgSrc,"/")+1;
		
		var ImgName=ImgSrc.substr(pos,ImgSrc.length);
		
		
		if(ImgName=="ftv2pnode.gif")			//..非最後一筆的+號圖案..
		{	document.getElementById(ImgObj).src="images/ftv2mnode.gif";}		//..非最後一筆的-號圖案..
		else if(ImgName=="ftv2plastnode.gif")	//..最後一筆的+號圖案..
		{	document.getElementById(ImgObj).src="images/ftv2mlastnode.gif";}	//..最後一筆的-號圖案..
		else if(ImgName=="ftv2mnode.gif")		//..非最後一筆的-號圖案..
		{	document.getElementById(ImgObj).src="images/ftv2pnode.gif";}		//..非最後一筆的+號圖案..
		else if(ImgName=="ftv2mlastnode.gif")	//..最後一筆的-號圖案..
		{	document.getElementById(ImgObj).src="images/ftv2plastnode.gif";}	//..最後一筆的+號圖案..
		
	}
	
}



function strrpos( haystack, needle, offset){
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   bugfixed by: Onno Marsman
    // *     example 1: strrpos('Kevin van Zonneveld', 'e');
    // *     returns 1: 16

    var i = (haystack+'').lastIndexOf( needle, offset ); // returns -1
    return i >= 0 ? i : false;
}
