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_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_findObj(n, d) { //v4.0
  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 && document.getElementById) x=document.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 Email **********

//****** 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);
   }
}