function check_null ( column, name )
{
    if( column.length == 0 )
        return name + "不可以空白 !\n";
    return "";
}

function check_len(column, maxblt, name)
{
if(parseInt( column ) > parseInt( maxblt ))
return name + "不可超過 " + parseInt( maxblt ) + " 個字 !\n";
return "";
}


function check_select ( select, name )
{
if( select.options[0].selected == true )
return name + "必須選擇 !\n";
return "";
}


function check_num ( number, name )
{
    var error = false;

    for( idx = 0 ; idx < number.length ; idx++ ) {
        if( !( ( number.charAt(idx) >= '0' && number.charAt(idx) <= '9' )||(number.charAt(idx) ==".") ) ) {
            error = true;
            break;
        }
    }
    if( error == true )
        return  name + "只能是數字,其他的都不能使用 !\n";
    return "";
}

function check_radio ( radio, name )
{
var error = true;
for( i=0; i <radio.length; i++ )
if( radio[i].checked == true ) {
error = false;
break;
}
if( error == true )
return name + "必須選擇 !\n";
return "";
}

function check_vote ( vote, maxblt)
{
var total = 0;
for( i=0; i < vote.length; i++ )
if( vote[i].checked == true ) {
total++;
}
if( total == 0 )
return "投票選項必須選擇 !\n";
if( total > parseInt( maxblt ) )
return "每人最多只能投 " + maxblt + " 票 !\n"
return "";
}


function check_matchbox ( box)
{
var total = 0;
for( i=0; i < box.length; i++ )
if( box[i].checked == true ) {
total++;
}
if( total == 0 )
return "比對建案必須選擇 !\n";
if( total < 2 )
return "比對建案最少要選擇2筆 !\n"
if( total > 5 )
return "比對建案最多只能選5筆 !\n"
return "";
}


function check_box ( box, name)
{
var total = 0;
for( i=0; i < box.length; i++ )
if( box[i].checked == true ) {
total++;
}
if( total == 0 )
return name + "選項必須選擇 !\n";
return "";
}

function check_rrboxmax ( box, maxblt, name)
{
var total = 0;
for( i=0; i < box.length; i++ )
if( box[i].checked == true ) {
total++;
}
if( total > parseInt( maxblt ) )
return name + "最多只能選 " + maxblt + " 個 !\n"
return "";
}


function check_email ( email )
{
var len = email.length;
if(len==0)
return "電子信箱不可以空白 !\n";
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 "電子郵件地址只能是數字,英文字母及'-','_'等符號,其他的符號都不能使用 !\n";
}
if((email.indexOf("@")==-1)||(email.indexOf("@")==0)||(email.indexOf("@")==(len-1)))
return "電子郵件地址不合法 !\n";
if((email.indexOf("@")!=-1)&&(email.substring(email.indexOf("@")+1,len).indexOf("@")!=-1))
return "電子郵件地址不合法 !\n";
if((email.indexOf(".")==-1)||(email.indexOf(".")==0)||(email.lastIndexOf(".")==(len-1)))
return "電子郵件地址不完全 !\n";
return "";
}

function check_emaila ( email, name )
{
var len = email.length;
if(len==0)
return name + "電子信箱不可以空白 !\n";
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 name + "電子郵件地址只能是數字,英文字母及'-','_'等符號,其他的符號都不能使用 !\n";
}
if((email.indexOf("@")==-1)||(email.indexOf("@")==0)||(email.indexOf("@")==(len-1)))
return name + "電子郵件地址不合法 !\n";
if((email.indexOf("@")!=-1)&&(email.substring(email.indexOf("@")+1,len).indexOf("@")!=-1))
return name + "電子郵件地址不合法 !\n";
if((email.indexOf(".")==-1)||(email.indexOf(".")==0)||(email.lastIndexOf(".")==(len-1)))
return name + "電子郵件地址不完全 !\n";
return "";
}

function check_uid ( uid )
{
if( uid.length <= 0 )
return( "帳號還沒填呢 !\n" );
if( uid.length < 4 || uid.length > 12 )
return( "帳號長度只能 4 至 12 個字元 !\n" );
if ( !(uid.charAt(0)>= 'a' && uid.charAt(0) <= 'z') ) {
return( "帳號第一字元只能為小寫字母 !\n" );
}
for( idx = 0 ; idx <uid.length ; idx++ )
{
if( uid.charAt(idx)>= 'A' && uid.charAt(idx) <= 'Z' )
return( "帳號不可以含有大寫字元 !\n" );
if( !( ( uid.charAt(idx)>= 'a' && uid.charAt(idx) <= 'z' ) || ( uid.charAt(idx)>= '0' && uid.charAt(idx) <= '9' ) || ( uid.charAt(idx) == '_' ) ) )
return( "帳號只能是數字,英文字母及「_」等符號,其他的符號都不能使用 !\n" );
if( uid.charAt(idx) == '_' && uid.charAt(idx-1) == '_' )
return( "「_」符號不可相連 !\n" );
}
if( !( ( uid.charAt(uid.length - 1 )>= 'a' && uid.charAt(uid.length - 1 ) <= 'z' ) || ( uid.charAt(uid.length - 1 )>= '0' && uid.charAt(uid.length - 1 ) <= '9' ) ) )
return( "帳號的最後只能是數字及英文字母 !\n" );
return "";
}


function check_passwd ( pw1, pw2, uid )

{
if( pw1 == '' )
return ("密碼不可以空白 !\n");
if( pw1.length < 4 || pw1.length > 12 )
return( "密碼長度只能 4 至 12 個字元 !\n" );
if( !( ( pw1.charAt(0)>= 'a' && pw1.charAt(0) <= 'z' ) || ( pw1.charAt(0)>= '0' && pw1.charAt(0) <= '9' ) ) ){
return( "密碼第一字元只能為小寫字母及數字 !\n" );
}

for( var idx = 0 ; idx < pw1.length ; idx++ )
if( pw1.charAt(idx) == ' ' || pw1.charAt(idx) == '\"' )
return ("密碼不可以含有空白或雙引號 !\n");
if( !( ( pw1.charAt(pw1.length - 1 )>= 'a' && pw1.charAt(pw1.length - 1 ) <= 'z' ) || ( pw1.charAt(pw1.length - 1 )>= '0' && pw1.charAt(pw1.length - 1 ) <= '9' ) ) )
return( "密碼的最後只能是數字及英文字母 !\n" );
if( pw1 == uid )
return("密碼不可和帳號相同,請重新輸入 !\n");
if( pw1 != pw2 )
return("密碼二次輸入不一樣,請重新輸入 !\n");
return "";
}



function check_editpasswd ( pw0, pw1, pw2, uid )

{
if(pw0 == '')
return ("舊密碼不可以空白 !\n");
if( pw1 == '' )
return ("新密碼不可以空白 !\n");
if( pw1.length < 4 || pw1.length > 12 )
return( "新密碼長度只能 4 至 12 個字元 !\n" );
if( !( ( pw1.charAt(0)>= 'a' && pw1.charAt(0) <= 'z' ) || ( pw1.charAt(0)>= '0' && pw1.charAt(0) <= '9' ) ) ){
return( "新密碼第一字元只能為小寫字母及數字 !\n" );
}

for( var idx = 0 ; idx < pw1.length ; idx++ )
if( pw1.charAt(idx) == ' ' || pw1.charAt(idx) == '\"' )
return ("新密碼不可以含有空白或雙引號 !\n");
if( !( ( pw1.charAt(pw1.length - 1 )>= 'a' && pw1.charAt(pw1.length - 1 ) <= 'z' ) || ( pw1.charAt(pw1.length - 1 )>= '0' && pw1.charAt(pw1.length - 1 ) <= '9' ) ) )
return( "新密碼的最後只能是數字及英文字母 !\n" );
if( pw1 == uid )
return("新密碼不可和帳號相同,請重新輸入 !\n");
if( pw1 != pw2 )
return("新密碼二次輸入不一樣,請重新輸入 !\n");
return "";
}


function check_year( year, name )
{
var error = false;
if( year.length != 4 )
return name + "年份必須是四個數字, 例如 1980 年 !\n";
for( idx = 0 ; idx <year.length ; idx++ ) {
if( !( year.charAt(idx)>= '0' && year.charAt(idx) <= '9' ) ) {
error = true;
break;
}
}
if( error == true )
return name + "年份必須是四個數字, 例如 1980 年 !\n";
return "";
}



function check_identity ( id )
{
   if ( id.length <= 0 ) 
   return '身分證字號還沒填呢 !\n';
   
      var myid = id;
      myid = myid.toUpperCase();
      id = myid;
   if(myid.length>10)
      return "身分證字號超過10個字 !\n";
   if(myid.length<10)
      return "身分證字號不滿10個字 !\n";
   var c = myid.charAt(0);
   if(c<"A" || c> "Z")
      return "身分證字號第一碼必須是大寫的英文字母 !\n";
   c = myid.charAt(1);
   if(c!="1" && c!="2")
      return "身分證字號第二碼有問題 !\n";
  for(i=1;i<10;i++)
   if(isNaN(parseFloat(myid.charAt(i))))
      return "身分證字號第二到十碼有問題 !\n";
   var alph = new Array("A","B","C","D","E","F","G","H","J","K","L","M","N","P","Q","R","S","T","U","V","X","Y","W","Z","I","O");
   var num = new Array("10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35");
   var n=0;
   for(i=0;i<alph.length;i++)
   if(myid.charAt(0)==alph[i])
   n=i;
   var tot1 = parseFloat(num[n].charAt(0)) + (parseFloat(num[n].charAt(1)) * 9);
   var tot2 = 0;
  for(i=1;i<myid.length-1;i++)
    tot2 = tot2 + parseFloat(myid.charAt(i))*(9-i);
   var tot3 = parseFloat(myid.charAt(9));
   var tot4 = tot1 + tot2 + tot3;
   if((tot4 % 10)!=0)
      return "身分證字號有問題 !\n";
     return "";
}

function check_telephonenumber ( number, name )
{
var error = false;
if( number.length <= 0 )
return name + "還沒填呢 !\n";
for( idx = 0 ; idx <number.length ; idx++ ) {
if( !( ( number.charAt(idx)>= '0' && number.charAt(idx) <= '9' ) || ( number.charAt(idx) == '-' ) ) ) {
error = true;
break;
}
}
if( error == true )
return name + "只能是數字及'-'等符號, 其他的符號都不能使用 !\n";
return "";
}

function check_mobilephone ( number )
{
var error = false;
if( number.length <= 0 )
return "行動電話還沒填呢 !\n";
if( number.length != 10 )
return "行動電話有問題 !\n";
if( number.substring( 0, 2 ) != "09" )
return "行動電話有問題 !\n";
for( idx = 0 ; idx <number.length ; idx++ ) {
if( !( number.charAt(idx)>= '0' && number.charAt(idx) <= '9' ) ) {  
error = true;
break;
}
}
if( error == true )
return "行動電話只能是數字, 其他的符號都不能使用 !\n";
return "";
}

var cx = new Array;
cx[0] = 1;
cx[1] = 2;
cx[2] = 1;
cx[3] = 2;
cx[4] = 1;
cx[5] = 2;
cx[6] = 4;
cx[7] = 1;

function cc(n){
  if (n > 9) {
    var s = n + "";
    n1 = s.substring(0,1) * 1;
    n2 = s.substring(1,2) * 1;
    n = n1 + n2;
  }
  return n;
}

function check_csn ( csn )
{
   var len = csn.length;
   if(len==0)
      return "";
	     
	if( len != 8 )
        return  "統一編號只能是 8 個數字 !\n";	   
    var error = false;
    var sum = 0;
    var cnum = csn.split("");	
    if( csn.length > 0 )
    for( idx = 0 ; idx < csn.length ; idx++ ) {
        if( !( ( csn.charAt(idx) >= '0' && csn.charAt(idx) <= '9' ) ) ) {
            error = true;
            break;
        }
    sum += cc(cnum[idx] * cx[idx]);						
    }
    if( error == true )
        return  "統一編號只能是數字,其他的都不能使用 !\n";	
    if (sum % 10 == 0);
    else 
	  if (cnum[6] == 7 && (sum + 1) % 10 == 0) ;
      else return  "統一編號錯誤 !\n";		
    return "";
}



function check_sendemail ( column1, column2, column3, column4, column5 )
{
    if( column1.length == 0 && column2.length == 0 && column3.length == 0 && column4.length == 0 && column5.length == 0 )
        return "朋友的 Email 最少要有一項有資料 !\n";
    return "";
}

function check_useremail ( email, name )
{
var len = email.length;
if(len==0)
return "";
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 name + "電子郵件地址只能是數字,英文字母及'-','_'等符號,其他的符號都不能使用 !\n";
}
if((email.indexOf("@")==-1)||(email.indexOf("@")==0)||(email.indexOf("@")==(len-1)))
return name + "電子郵件地址不合法 !\n";
if((email.indexOf("@")!=-1)&&(email.substring(email.indexOf("@")+1,len).indexOf("@")!=-1))
return name + "電子郵件地址不合法 !\n";
if((email.indexOf(".")==-1)||(email.indexOf(".")==0)||(email.lastIndexOf(".")==(len-1)))
return name + "電子郵件地址不完全 !\n";
return "";
}
