
function chk(form)
{
	  //檢查是否為空白   
      if(isEmpty("names","Name?", 1, 1)) return false; 
      if(isEmpty("b_year","Date of Birth!", 1, 1)) return false; 
      if(isEmpty("b_month","Date of Birth!", 1, 1)) return false; 
      if(isEmpty("b_day","Date of Birth!", 1, 1)) return false; 
      if(isEmpty("Nationality","Nationality?", 1, 1)) return false; 

      if(isEmpty("email","email?",1,1)) return false; 
      if( check_mail(document.form1.email.value) == false )
          {  
           document.form1.email.focus();
           return false;
          }

	if (document.getElementById("phone1").value=='' && document.getElementById("phone2").value=='' && document.getElementById("cellphone").value=='')
	{  
		alert("Tel?");
		document.form1.phone1.focus();
		return false;
	}
	if (document.getElementById("address1").value=='' && document.getElementById("address2").value=='')
	{  
		alert("Correspondence Address?");
		document.form1.address1.focus();
		return false;
	}

	if(isEmpty("Reasons","Reasons for attending this Beginner Meditation class?", 1, 1)) return false; 
	return true;
}//chk


//-------------------------------------------------
// 函數名稱：isEmpty(obj:string, cap:string, sta:integer):boolean
// 函數目的：檢查物件內含值是否為空白，若顯示錯誤訊息
// 程式設計：Jason Chuang
// 完成日期：2002/07/16
// 修改人員：Jason Chuang
// 修改日期：2002/07/17
// 參數說明：
//           cap:顯示的錯誤訊息
//           sta=1:需顯示錯誤訊息 
//           sta=0:不顯示錯誤訊息
//-------------------------------------------------
function isEmpty(obj, cap, sta)
{
   //取得該物件的值
   chkValue=document.getElementById(obj).value;   
   
   //判斷該內容值是否為空白
   if(chkValue.length==0)
   {
     if(sta==1)
     {  
     	alert(cap);
     	document.getElementById(obj).focus();
     }	
     return true; //is empty
   }    
   else
      return false; // is not empty
}//isEmpty
//-------------------------------------------------
// 函數名稱：clearText(obj:string)
// 函數目的：將傳入物件內含值清除
// 程式設計：Jason Chuang
// 完成日期：2002/07/16
// 修改人員：
// 修改日期：
// 參數說明：
//-------------------------------------------------
function clearText(obj)
{
  obj.value="";
}
//-------------------------------------------------
// 函數名稱：sameadd()
// 函數目的：將通訊地址設定為戶籍地址
// 程式設計：Jason Chuang
// 完成日期：2002/07/16
// 修改人員：
// 修改日期：
// 參數說明：
//-------------------------------------------------
//-------------------------------------------------
// Created by : Jason Chuang
// Created on : 2002/10/9
// 檢查傳入值是否為身分證字號
//-------------------------------------------------
function isID(strObjname, strMessage, intShowMessage, intFocus)
{
  idnumber=document.getElementById(strObjname).value;
  var letterArr="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  var numberArr="0123456789";
  
  //檢查是否為空白 
  if(isEmpty(strObjname,"請輸入身分證字號", 1, 1)) return false;
  
  //檢查身分證字號是否少於10碼
  if((idnumber.length <10) || (idnumber.length >10))
  {
    alert("請輸入10碼身分證字號");
    document.getElementById(strObjname).focus();
    return false;
  }

  //將身分證字號拆成陣列方便作檢查
  var id=new Array(9);
  for(i=0;i<=9;i++)  id[i]=idnumber.substr(i,1);
  
  //將第一位英文字母轉換成大寫
  id[0]=id[0].toUpperCase(); 
  
  // 檢查第一位是否為字母         
  if(letterArr.indexOf(id[0], 0) < 0)
  {
    alert("身分證字號第一位請使用英文字母A-Z");
    document.getElementById(strObjname).focus();
    return false;
  }
  
  // 檢查第二位以後是否為數字  
  for(i=1;i<=9;i++)
  {
    if(numberArr.indexOf(id[i], 0) <0)
    {
      alert("身分證字號第二位以後請使用數字0-9");
      document.all[strObjname].focus();
      return false;
    }
  }
  
  //檢查身分證規則是否正確
  //計算第一位英文字母的值
  switch(id[0]) 
  {
    case "A"  : acc=1;break;
    case "B"  : acc=10;break;
    case "C"  : acc=19;break;
    case "D" : acc=28;break;
    case "E" : acc=37;break;
    case "F" : acc=46;break;
    case "G" : acc=55;break;
    case "H" : acc=64;break;
    case "I"  : acc=34;break;
    case "J"  : acc=73;break;
    case "K" : acc=82;break;
    case "L" : acc=2;break;
    case "M" : acc=11;break;
    case "N" : acc=20;break;
    case "O" : acc=35;break;
    case "P" : acc=29;break;
    case "Q" : acc=38;break;
    case "R" : acc=47;break;
    case "S" : acc=56;break;
    case "T" : acc=65;break;
    case "U" : acc=74;break;
    case "V" : acc=83;break;
    case "W" : acc=21;break;
    case "X" : acc=3;break;
    case "Y" : acc=12;break;
    case "Z" : acc=30;break;
  }

  checksum=acc + parseInt(id[1])*8 + parseInt(id[2])*7 + parseInt(id[3])*6 + parseInt(id[4])*5 + parseInt(id[5])*4 + parseInt(id[6])*3 + parseInt(id[7])*2 + parseInt(id[8])*1 + parseInt(id[9])*1;
  check1=(checksum / 10)        //商數
  check2=checksum % 10          //餘數

  if(check2 != 0 && (parseInt(id[9]) != (10-check2)))
  {
    if(intShowMessage==1)  alert(strMessage);
    if(intFocus==1)        document.all[strObjname].focus();
    return false;
  } 
  return true;
}

//-------------------------------------------------
// Created by : Jason Chuang
// Created on : 2002/10/9
// 檢查傳入值Email是否為正確mail寫法
//-------------------------------------------------
function checkEmailFormat ( email )
		{
		   var len = email.length;
		   var ck =0;
		   if(len==0)
		      return(-1);
		   for(var i=0;i<len;i++)
		   {  var c= email.charAt(i);
		      if(!((c>="A"&&c<="Z")||(c>="a"&&c<="z")||(c>="0"&&c<="9")||(c=="-")||(c=="_")||(c==".")||(c=="@")))
		         return (-3);
		   }
		   if((email.indexOf("@")==-1)||(email.indexOf("@")==0)||(email.indexOf("@")==(len-1)))
		      return(-4);
		   if((email.indexOf("@")!=-1)&&(email.substring(email.indexOf("@")+1,len).indexOf("@")!=-1))
		      return(-4);
		   if((email.indexOf(".")==-1)||(email.indexOf(".")==0)||(email.lastIndexOf(".")==(len-1)))
		      return(-5);
		   return (0);
		}

		function check_mail( email )
		{
		   var ck= checkEmailFormat(email);

//		   if(ck==-1)
//		   {
//		      alert("您的電子郵件地址還沒填呢 !");
//		      return false;
//		   }
		   if(ck==-3)
		   {
		      alert("您的電子郵件地址只能是數字,英文字母及'-','_'等符號,其他的符號都不能使用 !");
		      return false;
		   }
		   else if (ck==-4)
		   {
		      alert("您的電子郵件地址不合法 !");
		      return false;
		   }
		   else if (ck==-5)
		   {
		      alert("您的電子郵件地址不完全 !");
		      return false;
		   }
		   return true;
		}

//-------------------------------------------------
// Created by : Jason Chuang
// Created on : 2002/10/9
// 檢查傳入值電話是否為正確寫法
//-------------------------------------------------
           function check_telephonenumber(number)
		    {
		        var error = false;
	        
		        for( idx = 0 ; idx < number.length ; idx++ )
		        {
		            if( !( ( number.charAt(idx) >= "0" && number.charAt(idx) <= "9" ) || ( number.charAt(idx) == "-" )  || ( number.charAt(idx) == "#" )  ) )
		            {
		                error = true;
		                break;
		            }
		        }
		        
		        if( error == true )
		        {
		            alert("電話格式只能是數字及'-' '#'符號,其他的符號都不能使用 !");
		            return false;
		        }
		        
		        return true;
		    }    

function openRadio(checkedObj)
// checkedObj        物件名稱
{
  if(checkedObj != '')
    document.all[checkedObj].checked=true;
}
//--------------------------------------------------------
function closeRadio(uncheckedObj)
// uncheckedObj      物件名稱
{
  if(uncheckedObj != '')
    document.all[uncheckedObj].checked=false;
}
//-----------------------------------------------------------------------------------
function getmonthday(yyyy, mm)
{
   var leap_year = false;

   if((yyyy%4)==0 && (yyyy%100)!=0)   // 年份為4的倍數但不為100的倍數時為閏年
      leap_year = true;
   else if((yyyy%4)==0 && (yyyy%100)==0 && (yyyy%400)==0)    // 年份為4及100的倍數,且為400的倍數時,為閏年
            leap_year = true;

   if(mm==1 || mm==3 || mm==5 || mm==7 || mm==8 || mm==10 || mm==12)
            return 31;
   else if(mm==4 || mm==6 || mm==9 || mm==11)
            return 30;
   else if (mm == 2) 
        {
            if (leap_year) 
                return 29;
            else 
                return 28;
         }
}
//-------------------------------------------------
// Created by : Jason Chuang
// Created on : 2002/10/9
// 檢查傳入值是否為身分證字號
//-------------------------------------------------
function isID(strObjname, strMessage, intShowMessage, intFocus)
{
  idnumber=document.all[strObjname].value;
  var letterArr="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  var numberArr="0123456789";
  
  //檢查是否為空白 
  if(isEmpty(strObjname,"請輸入身分證字號", 1, 1)) return false;
  
  //檢查身分證字號是否少於10碼
  if((idnumber.length <10) || (idnumber.length >10))
  {
    alert("請輸入10碼身分證字號");
    document.all[strObjname].focus();
    return false;
  }

  //將身分證字號拆成陣列方便作檢查
  var id=new Array(9);
  for(i=0;i<=9;i++)  id[i]=idnumber.substr(i,1);
  
  //將第一位英文字母轉換成大寫
  id[0]=id[0].toUpperCase(); 
  
  // 檢查第一位是否為字母         
  if(letterArr.indexOf(id[0], 0) < 0)
  {
    alert("身分證字號第一位請使用英文字母A-Z");
    document.all[strObjname].focus();
    return false;
  }
  
  // 檢查第二位以後是否為數字  
  for(i=1;i<=9;i++)
  {
    if(numberArr.indexOf(id[i], 0) <0)
    {
      alert("身分證字號第二位以後請使用數字0-9");
      document.all[strObjname].focus();
      return false;
    }
  }
  
  //檢查身分證規則是否正確
  //計算第一位英文字母的值
  switch(id[0]) 
  {
    case "A"  : acc=1;break;
    case "B"  : acc=10;break;
    case "C"  : acc=19;break;
    case "D" : acc=28;break;
    case "E" : acc=37;break;
    case "F" : acc=46;break;
    case "G" : acc=55;break;
    case "H" : acc=64;break;
    case "I"  : acc=34;break;
    case "J"  : acc=73;break;
    case "K" : acc=82;break;
    case "L" : acc=2;break;
    case "M" : acc=11;break;
    case "N" : acc=20;break;
    case "O" : acc=35;break;
    case "P" : acc=29;break;
    case "Q" : acc=38;break;
    case "R" : acc=47;break;
    case "S" : acc=56;break;
    case "T" : acc=65;break;
    case "U" : acc=74;break;
    case "V" : acc=83;break;
    case "W" : acc=21;break;
    case "X" : acc=3;break;
    case "Y" : acc=12;break;
    case "Z" : acc=30;break;
  }

  checksum=acc + parseInt(id[1])*8 + parseInt(id[2])*7 + parseInt(id[3])*6 + parseInt(id[4])*5 + parseInt(id[5])*4 + parseInt(id[6])*3 + parseInt(id[7])*2 + parseInt(id[8])*1 + parseInt(id[9])*1;
  check1=(checksum / 10)        //商數
  check2=checksum % 10          //餘數

  if(check2 != 0 && (parseInt(id[9]) != (10-check2)))
  {
    if(intShowMessage==1)  alert(strMessage);
    if(intFocus==1)        document.all[strObjname].focus();
    return false;
  } 
  return true;
}