function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

//****** check Blank *****
function ChkBlank(obj,Str,lang)
{ 
	var checkOK = " 　";
	var checkStr = obj.value;
	var NullStr = ""; 
	var InpStr= "";  

	switch (lang) {
		case "B":
			tit1 = "請輸入 ";
			break;
		case "u":
			tit1 = "Please input ";
			break;	
	}
	if (checkStr==null)
	{
		if (obj.selectedIndex==0)
		{
			alert(tit1+Str);
			obj.focus();	
			return (false);
		}
		else
		{
			return (true);
		}
	}

	if (checkStr=='') {
		alert(tit1+Str);
		obj.focus();	
		return (false);
	}
	else
	{
		for (i = 0;  i < checkStr.length;  i++)
		{
			ch = checkStr.charAt(i);
			for (j = 0;  j < checkOK.length;  j++)
				if (ch == checkOK.charAt(j))
				{
					NullStr+=ch;
				break;}
				if (j == checkOK.length)
				{
					InpStr+=ch;
					break;
				}
		}
  
	if (NullStr.length!=0 && InpStr.length==0) {
		alert(tit1+Str);
		obj.focus();	
		return (false);
	} 
	return (true);
	}  
}

//********** check Email **********
function ChkEmail(obj,Str,lang)
{ 
	obj.value=obj.value.toLowerCase()
	var chkNumber = obj.value; 
	var checkOK = "0123456789abcdefghijklmnopqrstuvwxyz@._- ";  
	var checkStr = obj.value;
	var allValid = true;
	var decPoints = 0;
	var allNum = 0; 
	var mousce = 0;
	var mouscel = 0;
  
  	switch (lang) {
		case "B":
			tit1 = " 所輸入的格式不符合標準";
			tit2 = " 所輸入的格式不符合標準";
			tit3 = " 所輸入的格式不符合標準";
			tit4 = " 所輸入的格式不符合標準";
			tit5 = " 所輸入的格式不符合標準";  
			tit6 = " 所輸入的格式不符合標準";  
			tit7 = " 所輸入的格式不符合標準";  
			tit8 = " 所輸入的格式不符合標準";
			break;
		case "u":
			tit1 = " Error! Please try again your Email!!";
			tit2 = " Error! Please try again your Email!!";
			tit3 = " Error! Please try again your Email!!";
			tit4 = " Error! Please try again your Email!!";
			tit5 = " Error! Please try again your Email!!";
			tit6 = " Error! Please try again your Email!!";
			tit7 = " Error! Please try again your Email!!";  
			tit8 = " Error! Please try again your Email!!";  
			break;
	}
  
  if (chkNumber == "")
  {
    flag='T';
    return (true);
  } 
  else
  {  
  
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
    allNum += ch;
  }
  
  if (!allValid)
  {
    alert(Str + tit1);
    obj.focus();
    flag='F';	
    return (false);
  }   
  allValid = false;
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    
    if (ch == "@")
    {  
       mousce=mousce+1;
       mouscel=i    
       //allNum = 1 + i       
       //break;
    }  
     
  }    
  allNum=0;
  if (mousce > 1)
  {
    alert(Str + tit2);
    obj.focus();	
    flag='F';
    return (false);
     
  }

  if (mousce == 1){
     
     allNum = 1 + mouscel;}
  
  if (allNum == 0)
  {
    alert(Str + tit3);
    obj.focus();	
    flag='F';
    return (false);
  }
  if (allNum < 3)
  {
    alert(Str + tit4);
    obj.focus();	
    flag='F';
    return (false);
  }
   
    
  if ((chkNumber.length - allNum) < 6 )
  {
    alert(Str + tit5);
    obj.focus();
    flag='F';
	return (false); 
  }
  
  for (i = allNum ;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    
    if (ch == ".")
    {
       allValid=true
       break;
    }   
  }  
  
  if (allValid==false)
  {
     alert(Str + tit6);
     obj.focus();
     flag='F';
	 return (false);
  }
  
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    
    if (ch == "@")
    {  
       if (checkStr.charAt(i+1)=='.')
       {
         alert(Str + tit7);
         obj.focus();
         flag='F';
	     return (false); 
       }
       if (checkStr.charAt(i+1)==' ' || checkStr.charAt(i+1)=='　' || checkStr.charAt(i-1)==' ' || checkStr.charAt(i+1)=='　')
       {
         alert(Str + tit8);
         obj.focus();
         flag='F';
	     return (false); 
       }
    }       
  }    

    flag='T';
   return (true);
  }
}

//***** check telphone format*****
function ChkTel(obj,lang)
{ 
	var chkNumber = obj.value; 
  
	var checkOK = "-()#*＃＊0123456789 ";
	var checkStr = obj.value;
	var allValid = true;
	var decPoints = 0;
	var allNum = "";   
  	switch (lang) {
		case "B":
			tit1 = "請輸入()#*＃＊0123456789";
			tit2 = "請輸入至少6個字元!";
			break;
		case "u":
			tit1 = "Please input ()#*0123456789";
			tit2 = "Please input more than 6 bytes!";
			break;	
	}
  if (chkNumber == "")
  {
    flag='T';
    return (true);
  } 
  else
  {
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
    allNum += ch;
  }
  
  if (!allValid)
  {
    
    alert(tit1);
    obj.focus();	
    flag='F';
    return (false);
  }   
  
  if (checkStr.length < 6)
     {
       alert(tit2);
       obj.focus();	
       flag='F';
       return (false);
     }
 
  
    flag='T';
    return (true);
  }
}

//check Password
function ChkPWD(obj,len,lang)
{ 
  var chkNumber = obj.value; 
  
  var checkOK = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
  var checkStr = obj.value;
  var allValid = true;
  var decPoints = 0;
  var allNum = "";   
  	switch (lang) {
		case "B":
			tit1 = "請輸入至少 ";
			tit2 = " 個字元!";
			tit3 = "所輸入的格式不符合標準"
			break;
		case "u":
			tit1 = "Password Field must more than ";
			tit2 = " bytes!";
			tit3 = "Error~ It's not be allow ! Please try it again!!"
			break;	
	}

  if (chkNumber == "")
  {
    flag='T';
    return (true)
  } 
  else{
    for (i = 0;  i < checkStr.length;  i++)
    {
      ch = checkStr.charAt(i);
      for (j = 0;  j < checkOK.length;  j++)
        if (ch == checkOK.charAt(j))
          break;
      if (j == checkOK.length)
      {
        allValid = false;
        break;
      }
      allNum += ch;
    }

  if (!allValid)
  {
    
    alert(tit3);
    obj.focus();	
    flag='F';
    return (false);
  }   
    if (len != 0)
    {
       if (checkStr.length< len)
       {
         alert(tit1 + len + tit2);
         obj.focus();
         flag='F';	
         return (false);
       }
    }
  
   flag='T';
   return (true);
   }
}

//**** check NUmber
function ChkNumber(obj,len,str,lang)
{ 
  var chkNumber = obj.value;   
  var checkOK = "0123456789";
  var checkStr = obj.value;
  var allValid = true;
  var decPoints = 0;
  var allNum = "";   
	switch (lang) {
		case "B":
			tit1 = "必須為數字!!";
			tit2 = "請輸入至少"
			tit3 = "字元!"
			break;
		case "u":
			tit1 = " Field must be Number!!";
			tit2 = " Field's length must more then ";
			tit3 = " bytes!!";
			break;	
	}
  if (chkNumber == "")
  {
    flag='T';
    return (true)
  } 
  else{
    for (i = 0;  i < checkStr.length;  i++)
    {
      ch = checkStr.charAt(i);
      for (j = 0;  j < checkOK.length;  j++)
        if (ch == checkOK.charAt(j))
          break;
      if (j == checkOK.length)
      {
        allValid = false;
        break;
      }
      allNum += ch;
    }
  
    if (!allValid)
    {
      len1 = len - 1
      alert(str + tit1);
      obj.focus();	
      flag='F';
      return (false);
    }    
  
    if (len != 0)
    {
       if (checkStr.length <= len)
       {
         alert(str + tit2 + len + tit3);
         obj.focus();
         flag='F';	
         return (false);
       }
    }
  
   flag='T';
   return (true);
   }
}
//**** check 英文字
function ChkWord(obj,len,str,lang)
{ 
  var chkNumber = obj.value; 
  
  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
  var checkStr = obj.value;
  var allValid = true;
  var decPoints = 0;
  var allNum = "";   
  	switch (lang) {
		case "B":
			tit1 = "必須為英文字元";
			tit2 = "請輸入至少"
			tit3 = "字元!"
			break;
		case "u":
			tit1 = " Field must be characters";
			tit2 = " Field's length must more then ";
			tit3 = " bytes!!";
			break;	
	}
  if (chkNumber == "")
  {
    flag='T';
    return (true)
  } 
  else{
    for (i = 0;  i < checkStr.length;  i++)
    {
      ch = checkStr.charAt(i);
      for (j = 0;  j < checkOK.length;  j++)
        if (ch == checkOK.charAt(j))
          break;
      if (j == checkOK.length)
      {
        allValid = false;
        break;
      }
      allNum += ch;
    }
  
    if (!allValid)
    {
      len1 = len - 1
      alert(str + tit1);
      obj.focus();	
      flag='F';
      return (false);
    }    
  
    if (len != 0)
    {
       if (checkStr.length != len)
       {
         alert(str + tit2 + len + tit3);
         obj.focus();
         flag='F';	
         return (false);
       }
    }
  
   flag='T';
   return (true);
   }
}
function addEvent( obj, type, fn )
{
	if (obj.addEventListener)
		obj.addEventListener( type, fn, false );
	else if (obj.attachEvent)
	{
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
	}
}
	
function chkSID(obj,str,lang){
	 var chkNumber = obj.value;   

	//身分證字號檢查
	if (chkNumber == '')
	{
		alert ("請輸入身分證字號！");
		obj.focus();
		return false;
	}else{
		
		var ID = chkNumber
		
		if (ID.length != 10) 
		{
			alert ("您輸入的身份證字號長度不足十位數!\n");
			obj.value=""
			obj.focus();
			return false;
		}

		if (ID.toUpperCase() == 'A123456789') {
			alert ("您輸入的身份證字號已存在，請勿亂輸入!\n");
			obj.value=""
			obj.focus();
			return false;
		}
	
		var x=ID.charAt(0).toUpperCase();     //轉為大寫
		var digit0=0;
		if (x=="A") { digit0=1;}
		if (x=="B") {digit0=10;}
		if (x=="C") {digit0=19;}
		if (x=="D") {digit0=28;}
		if (x=="E") {digit0=37;}
		if (x=="F") {digit0=46;}
		if (x=="G") {digit0=55;}
		if (x=="H") {digit0=64;}
		if (x=="I") {digit0=39;}
		if (x=="J") {digit0=73;}
		if (x=="K") {digit0=82;}
		if (x=="L") {digit0=2; }
		if (x=="M") {digit0=11;}
		if (x=="N") {digit0=20;}
		if (x=="O") {digit0=48;}
		if (x=="P") {digit0=29;}
		if (x=="Q") {digit0=38;}
		if (x=="R") {digit0=47;}
		if (x=="S") {digit0=56;}
		if (x=="T") {digit0=65;}
		if (x=="U") {digit0=74;}
		if (x=="V") {digit0=83;}
		if (x=="W") {digit0=21;}
		if (x=="X") {digit0=3;}
		if (x=="Y") {digit0=12;}
		if (x=="Z") {digit0=30;}
	
		var digit1 = ID.charAt(1) ;
		var digit2 = ID.charAt(2) ;
		var digit3 = ID.charAt(3) ;
		var digit4 = ID.charAt(4) ;
		var digit5 = ID.charAt(5) ;
		var digit6 = ID.charAt(6) ;
		var digit7 = ID.charAt(7) ;
		var digit8 = ID.charAt(8) ;
		var digit9 = ID.charAt(9) ;
		var sum=1;
		var sum=(1*digit0)+(8*digit1)+(7*digit2)+(6*digit3)+(5*digit4)+(4*digit5)+(3*digit6)+(2*digit7)+(1*digit8)+(1*digit9);
		var sum = sum % 10 ;
			
		if ( sum != 0 ) 
		{
			alert ("您輸入的身份證字號錯誤!\n");
			obj.value=""
			obj.focus();
			return false;
		}
   	} 
}
