function anyCheckbox(cb){
   try{
	   if (cb.length==null){  //single choice
		  return cb.checked;
	   } else {
		  for (var i=0;i<cb.length;i++){
			if (cb[i].checked){
			   return true;
			}
		  }
	   }
   }
   catch(e){}
   return false; 
}
function checkAllboxes(cb){
	try{
		if (cb.length==null) cb.checked=true;
		else {
			for (var i=0;i<cb.length;i++){
				cb[i].checked=true;
			}
		}   
	}
	catch(e){}
}
function overMaxCheckbox(cb,maxNo){
   var cnt=0;
   for (var i=0;i<cb.length;i++){
        if (cb[i].checked){ 
           if (++cnt>maxNo){
              return true;
           }
        }
   }
   return false;
} 
function countCheckbox(cb){
   var cnt=0;
   if (cb.length==null){
       if (cb.checked) return 1;
       else return 0;
   }
   for (var i=0;i<cb.length;i++){
        if (cb[i].checked) cnt++;
   }
   return cnt;
}    

function accvalid(f){
  if ((f.username.value.length==0) || (f.username.value.length>16)){
    alert("帳號名稱長度不合！");
    return false;
  }
  if (f.newpass1.value != f.newpass2.value){
    alert("密碼未符合！");
    return false;
  }  
  if (f.newpass1.value.length <= 1){
    alert("密碼至少要二個字元以上");
    return false;
  }
  tmp=f.username.value.match(/^[a-zA-Z]\w{0,15}$/);
  if (!tmp){
    alert("無效的帳號名稱！");
    return false;
  }
  return true;
}

function comvalid(f){
  atmp=f.username.value.match(/^[a|A]\d*/);
  if (atmp){
    return true;
   }
  if (f.username.value.length>15){
    alert("帳號不得超過16個字元");
    return false;
  }
  if ((f.username.value.length==0) || (f.username.value.length>8)){
    alert("帳號名稱長度不合！");
    return false;
  }                   
  tmp=f.username.value.match(/^\d{8}$/);
  if (!tmp){
    alert("無效的統一編號！");
    return false;
  }
  if (f.newpass1.value != f.newpass2.value){
    alert("密碼未符合！");
    return false;
  }
  if (f.newpass1.value.length <= 1){
    alert("密碼至少要二個字元以上");
    return false;
  }                  
  return true;
}

function checkSearch(f,type){
   if ((f.keyword.value.length==0) || (f.keyword.value=='請輸入關鍵字')){
     alert("是不是忘了打關鍵字？");
     return false;
   }
   if (((type=='pro') || (type=='all')) &&
       (f.target.options[f.target.selectedIndex].value=='')){
     alert("請選擇搜尋對象！");
     return false;
   }
   if (f.area.options[f.area.selectedIndex].value==''){
     alert("請選擇搜尋地點！");
     return false;
   }      
   return true;
}

function checkreg(f){
    if (f.alias.value.length ==0){
      alert("請務必輸入您在本站上的公開稱謂!");
      return false;
    }
     if (f.rname.value.length ==0){
      alert("請務必輸入您的姓名!");
      return false;
    } 

	if(f.addr.value.length == 0) {
		alert("請輸入聯略地址!");
		return false;
	}
	
	if(f.sex1.checked == false && f.sex2.checked == false) {
		alert("請選擇您的性別!");
		return false;
	}
   /* if (f.pass1.value!=f.pass2.value){
        alert("密碼未符合！");
        return false;
    }*/
    if (!f.byear.value.match(/^\d{2}$/)){
       alert("生日年份格式不合！");
       return false;
    }
	
    if (!dateCheck("19"+f.byear.value,
        f.bmon.options[f.bmon.selectedIndex].value,
        f.bday.options[f.bday.selectedIndex].value)){
      alert ("您的生日日期好像填錯了？");
      return false;
    }

	if(f.idno.value.length == 0) {
		alert("請輸入您的身分證號碼!");
		return false;
	}

    if (f.idno.value.length>0 && !idnum_check(f.idno.value)){
      alert("身分證號碼是不是寫錯了!");
      return false;
    }

	if(f.mm1.checked == false && f.mm2.checked == false && f.mm3.checked==false) {
		alert("請選擇會員屬性!");
		return false;
	}

    if (f.tel.value.length==0){
     alert("請填寫聯絡電話!");
     return false;
    }    
	if(f.mobile.value.length==0) {
		alert("請填寫行動電話!");
		return false;
	}
    
    if ((f.passemail.value.length>0) && (!mail_check(f.passemail.value))){
        //alert("備用E-Mail帳號好像填錯了?");
        //return false;
    }
    if (f.email.value.length==0){
     alert("請務必填入可供連絡的E-Mail帳號");
     return false;
    } 
    if (!mail_check(f.email.value)){
        alert("無效的E-Mail帳號");
        return false;
    }
    if (f.cities.options[f.cities.selectedIndex].value==''){
        alert("請選擇您的居住縣市");
        return false;
    }  

	var k = 0;
	for(i=0;i<f.adsource.length;i++)  
		if(f.adsource[i].checked)  {
			k = 1;
			break;
		} 
	if(k == 0) {
		alert("請選擇您从何处得知Jcase网站!");
		return false;
	}
    return true;
} 

function checknewreg(f){
    if (f.alias.value.length ==0){
      alert("請務必輸入您在本站上的公開稱謂!");
      return false;
    }  
	if(f.mobile.value.length==0) {
		alert("請務必填寫您的行動電話!");
		return false;
	}
     if (f.rname.value.length ==0){
      alert("請務必輸入您的姓名!");
      return false;
    } 
	if(f.cname.value.length == 0) {
		alert("請務必輸入您的公司名稱!");
		return false;
	}
    if (f.pass1.value!=f.pass2.value){
        alert("密碼未符合！");
        return false;
    }
    if (!f.byear.value.match(/^\d{2}$/)){
       alert("生日年份格式不合！");
       return false;
    }
    if (!dateCheck("19"+f.byear.value,
        f.bmon.options[f.bmon.selectedIndex].value,
        f.bday.options[f.bday.selectedIndex].value)){
      alert ("您的生日日期好像填錯了？");
      return false;
    }

	if(f.tel_link_man.value.length == 0) {
		alert("請務必填寫聯略人姓名!");
		return false;
	}

/*    if (f.idno.value.length==0){
       alert("請填寫身份證號碼（或外僑護照號碼）!");
       return false;
    }
    if (f.localp[0].checked && !idnum_check(f.idno.value)){
      alert("身分證號碼是不是寫錯了!");
      return false;
    }
*/
    if (f.cityid.options[f.cityid.selectedIndex].value==''){
        alert("請選擇您的居住縣市");
        return false;
    }
    if (f.tel.value.length==0){
     alert("請務必填寫您的聯絡電話!");
     return false;
    } 
    if (!mail_check(f.email.value)){
        alert("E-Mail帳號好像填錯了?");
        return false;
    }
 //   if ((f.mobile.value.length!=0) && (!f.mobile.value.match(/^[\d-]+$/))){
 //      alert("行動電話號碼怪怪的！﹖");
 //      return false;
 //   }

  //  if ((f.fax.value.length!=0) && (!f.fax.value.match(/^[\d-\(\)]+$/))){
  //     alert("傳真號碼怪怪的！﹖");
  //     return false;
  //  }
    return true;
} 

function checknewcomreg(f){
  if (f.cname.value.length==0){
     alert("務必填寫貴公司全名!");
     return false;
  }
  if (f.cate.options[f.cate.selectedIndex].value==''){
        alert("請選擇公司所屬產業");
        return false;
  }
  if (f.cityid.options[f.cityid.selectedIndex].value==''){
        alert("請選擇公司所在縣市");
        return false;
  }
  if (f.addr.value.length==0){
    alert ("請務必填寫貴公司住址!");
    return false;
  }
  if (f.cantake.checked==false && f.canpost.checked==false){
    alert("接案或發案請至少選擇其一！");
    return false;
  }
  if(f.cname.value.length == 0) {
		alert("請務必輸入您的公司名稱!");
		return false;
	}
  if (f.email.value.length==0){
     alert("請務必填入可供連絡的E-Mail帳號，否則帳號資料將無法寄達");
     return false;
  } 
  if (!mail_check(f.email.value)){
    alert("無效的E-Mail帳號！");
    return false;
  }
  if (f.appname.value.length==0){
     alert("務必填寫申請人姓名!");
     return false;
  }
  if(f.tel_link_man.value.length == 0) {
		alert("請務必填寫聯略人姓名!");
		return false;
	}
  if (f.tel.value.length==0){
    alert("請務必填寫聯絡電話!");
    return false;
  } 
  if (f.tel.value.length>20){
    alert("聯絡電話的字數過長!");
    return false;
  } 
  if ((f.fax.value.length!=0) && (!f.fax.value.match(/^[\d-\(\)]+$/))){
    alert("傳真號碼怪怪的！﹖");
    return false;
  }
  var k = 0;
	for(i=0;i<f.adsource.length;i++)  
		if(f.adsource[i].checked)  {
			k = 1;
			break;
		} 
	if(k == 0) {
		alert("請選擇您从何处得知Jcase网站!");
		return false;
	}
  return true;
}  


function checkcomreg(f){ 
  /*if (f.pass1.value!=f.pass2.value){
        alert("密碼未符合！");
        return false;
  }  */ 
  if ((f.capital.value.length>0) &&
   (isNaN(f.capital.value) || f.capital.value.length>=15)){ 
        alert("請填入正確的資本額(數字)");
        return false;
  }
  if ((f.empno.value.length>0) &&
   (isNaN(f.empno.value) || f.empno.value.length>=10)){
        alert("請填入正確的員工人數(數字)");
        return false;
  } 
  if (f.cate.options[f.cate.selectedIndex].value==''){
        alert("請選擇公司所屬產業");
        return false;
  }
  if (f.addr.value.length==0){
    alert ("請務必填寫貴公司住址!");
    return false;
  }
  if (f.email.value.length==0){
     alert("請務必填入可供連絡的E-Mail帳號");
     return false;
  } 
  if (!mail_check(f.email.value)){
    alert("無效的E-Mail帳號！");
    return false;
  }
  if(f.email2.value.length > 0 && !mail_check(f.email2.value)) {
	   alert("無效的備用電子郵件帳號！");
	   return false;
  }

  if (f.appname.value.length==0){
     alert("務必填寫申請人姓名!");
     return false;
  }
   if (f.tel_link_man.value.length==0){
     alert("務必填寫聯絡人姓名!");
     return false;
  }
  if (f.tel.value.length==0){
    alert("請務必填寫聯絡電話!");
    return false;
  } 
  
	if(f.mobile.value.length==0) {
		alert("請務必填寫您的行動電話!");
		return false;
	}

  if ((f.fax.value.length!=0) && (!f.fax.value.match(/^[\d-\(\)]+$/))){
    alert("傳真號碼怪怪的！");
    return false;
  }
  if (f.cities.options[f.cities.selectedIndex].value=='' || f.cities.options[f.cities.selectedIndex].value==-1){
        alert("請選擇貴公司所在縣市");
        return false;
  } 
   
  if(f.cname.value.length == 0) {
		alert("請務必輸入您的公司名稱!");
		return false;
	}
	
  if (f.cantake.checked==false && f.canpost.checked==false){
    alert("接案或發案請至少選擇其一！");
    return false;
  }
   var k = 0;
	for(i=0;i<f.adsource.length;i++)  
		if(f.adsource[i].checked)  {
			k = 1;
			break;
		} 
	if(k == 0) {
		alert("請選擇您从何处得知Jcase网站!");
		return false;
	}
  return true;
}  

function checkreview(f){
  if (f.username.value.length==0){
    alert("請留下您的署名");
    return false;
  }
  if (!mail_check(f.usermail.value)){
    alert("無效的E-Mail帳號！");
    return false;
  }
  return true;
}  
  
function checkpsite(f){
  if (f.title.value.length==0){
    alert("網站名稱是不是忘了寫？");
    return false;
  }
  if (f.url.value.length==0){
    alert("網址別忘了寫喔！");
    return false;
  }
  if (f.comment.value.length==0){
    alert("總要說說推薦理由吧！");
    return false;
  }
  if (f.spe.options[f.spe.selectedIndex].value==''){
        alert("請選擇網站的專業類別");
        return false;
  }
  if (f.username.value.length==0){
    alert("請留下您的署名");
    return false;
  }
  if (!mail_check(f.usermail.value)){
    alert("無效的E-Mail帳號！");
    return false;
  }
  return true;
}  
     
//function validDate(datestr){
//  found=datestr.match(/^\d\d\d\d[\/|-]\d+[\/|-]\d+$/);
//  return found;
//}                 

/*function mail_check (email){
  if ( (email.match(/(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/)) ||
(!email.match(/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/)))
       {
        return(false);
       }
     else
         {
          return(true);
         }
}*/
function mail_check (str){
   var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
   if (filter.test(str)) return (true);
   else return (true);
}

function idnum_check (idnum){
	if(idnum.length >= 10) return true;
	else return false;
  if (!idnum.match(/^[a-zA-Z]\d{9}$/)) return false;
  if ((idnum.charAt(1)!='1') && (idnum.charAt(1)!='2'))
      return false; 
  idn=idnum.toUpperCase();
  tmp=idn.charCodeAt(0)-55;  //first character
  if (tmp==18){
      tmp=34; //'I'
  } else if(tmp==24){
      tmp=35;  // 'O'
  } else if (tmp>24){  // 'P'--'Z'
    tmp-=2;
  } else if ((tmp>=19) && (tmp<=23)){ // 'J'--'N'
    tmp-=1;
  }
  //strange swap of w,y,x
  if (tmp==30){  //w->y
     tmp=32;
  } else if (tmp==31){ //x->w
     tmp=30;
  } else if (tmp==32){ //y->x
     tmp=31;
  }
  idn=tmp.toString()+idnum.substr(1);
  checksum=0;
  for (ind=0;ind<11;ind++){
    current=parseInt(idn.charAt(ind)); 
    if ((ind==0) || (ind==10)){ 
      checksum+=current;       
    } else {   
      checksum+=(current*(10-ind));
    }
  }
  //return checksum;
  return (checksum%10==0);
}

 function dateCheck(yy,mm,dd){
    fdate=new Date(yy,mm-1,dd);
    year=fdate.getYear();
    if (year<100) year+=1900; 
    if ((yy==year) && (mm==fdate.getMonth()+1) &&
      (dd==fdate.getDate())){
      return true;
    } else {
      return false;
    }
  }  
           