function checkNumberString(checkString) {
   var valid = 1;

   for( var i = 0; (i < checkString.length) && (valid == 1); i++ ) {
      var checkChar = checkString.charAt(i);

      if( (checkChar < '0') || (checkChar > '9') )
         valid = 0;
   }
   return valid;
}

function checkInjection(checkString) {
   var sqlPattern = new Array("--",";","@@","/*","*/","\'", "\"","sysobjects","syscolumns", "<script", "</script");
   var valid = 1;
   checkString = checkString.toLowerCase();
   for(i=0; i<sqlPattern.length; i++) {
      if(checkString.indexOf(sqlPattern[i]) >= 0 ) {
         valid = 0;
         return valid;
      }
   }
   return valid;
}

function checkPassword(checkString) {
   var valid = 1;
   var invalids = "!@#$%^&*()-~,;'<.>/?;: \|";
   for(i=0; i<invalids.length; i++) {
      if(checkString.indexOf(invalids.charAt(i)) >= 0 ) {
         valid = 0;
         return valid;
      }
   }      
   return valid;
}

function checkPhoneString(str) {
  var valid = 1;
  if( str.charAt(0) != '0' )
    return 0;
  if( str.length == 10 ) {
    if( str.charAt(1) != '8' )
      return 0;
    for( var i = 2; (i < str.length) && (valid == 1); i++ ) {
      var char = str.charAt(i);
      if( (char < '0') || (char > '9') )
        valid = 0;
    }
  }else if( str.length == 9 ) {
      for( var j = 1; j < 9; j++ ){
         var char = str.charAt(i);
         if( (char < '0') || (char > '9') )
           valid = 0;         
      }
  }else{
    return 0;
  }
  return valid;
}

function checkTelephoneString(str) {
   var valid = 1;
   if( str.charAt(0) != '0' )
      return 0;
   if( str.length == 9 ) {
      for( var j = 1; j < 9; j++ ){
         var char = str.charAt(j);
         if( (char < '0') || (char > '9') )
           valid = 0;
      }
   }
   else
      return 0;
  return valid;
}
   function checkEmailString(emailStr, language, divId) { 
      var valid = 1 ;
      var checkTLD=0; 
      var knownDomsPat=/ ^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/; 
      var emailPat=/^(.+)@(.+)$/; 
      var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]"; 
      var validChars="\[^\\s" + specialChars + "\]"; 
      var quotedUser="(\"[^\"]*\")"; 
      var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/; 
      var atom=validChars + '+'; 
      var word="(" + atom + "|" + quotedUser + ")"; 
      var userPat=new RegExp("^" + word + "(\\." + word + ")*$"); 
      var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$"); 
      var matchArray=emailStr.match(emailPat); 
      if (matchArray==null) { 
         if(language == "en"){
            divId.update("The Email Addressess is invalid");
         }else{
            divId.update("กรุณากรอกอีเมล์ให้ถูกต้อง");
         }
         return false; 
      } 
      
      var user=matchArray[1]; 
      var domain=matchArray[2];       
      for (i=0; i<user.length; i++) { 
         if (user.charCodeAt(i)>127) {
            if(language == "en"){
               divId.update("The username contains invalid characters."); 

            }else{
               divId.update("กรุณากรอก username ให้ถูกต้อง #1");
            }
            valid = 0;
            return valid;            
         } 
      } 
      
      for (i=0; i<domain.length; i++) { 
         if (domain.charCodeAt(i)>127) { 
            if(language == "en"){
               divId.update("The domain name contains invalid characters."); 
            }else{            
               divId.update("กรุณากรอก domain name ให้ถูกต้อง");
            }
            valid = 0;
            return valid;            
         } 
      }
      
      if (user.match(userPat)==null) { 
         if(language == "en"){
            divId.update("The Username is invalid."); 
         }else{
            divId.update("กรุณากรอก username");
         }
         valid = 0;
         return valid;            
      }
      
      var IPArray=domain.match(ipDomainPat); 
      if (IPArray!=null) { 
         for (var i=1;i<=4;i++) { 
            if (IPArray>255) { 
               if(language == "en"){
                  divId.update("The destination IP address is invalid."); 
               }else{
                  divId.update("IP address ไม่ถูกต้อง");
               }
               valid = 0;
               return valid;            
            } 
         } 
         valid = 1;
         return valid;            
      } 
      
      var atomPat=new RegExp("^" + atom + "$"); 
      var domArr=domain.split("."); 
      var len=domArr.length; 
      for (i=0;i<len;i++) { 
         if (domArr[i].search(atomPat)==-1) { 
            if(language == "en"){
               divId.update("The domain name is invalid, it contains invalid characters."); 
            }else{
               divId.update("กรุณากรอก domain name ให้ถูกต้อง");
            }
            valid = 0;
            return valid;            
         }      
      }   
      
      if (checkTLD && domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1) { 
         if(language == "en"){
            divId.update("The domain name extension is invalid."); 
         }else{
            divId.update("กรุณากรอก domain name");
         }
         valid = 0;
         return valid;            
      }     
      if (len<2) { 
         if(language == "en"){
            divId.update("Please correct your domain name."); 
         }else{
            divId.update("กรุณากรอก domain name ให้ถูกต้อง");
         }
         valid = 0;
         return valid;            
      }
      valid = 1;
      return valid;
   } 
function onloading(divId){
   divId.innerHTML = '<br /><table border="0" cellpadding="2" cellspacing="0"><tr><td><img src="images/ajax-loading2.gif" alt="Loading" /></td><td>Loading...</td></tr></table>';
}

function getParameter(theForm, actionUri){
   var uri = actionUri;

   for ( i = 0; i <= theForm.elements.length-1; i++) {
      if( theForm.elements[i].name != undefined ){
         if (uri.indexOf("?") > -1){
            uri += "&";
         }else{
            uri += "?";
         }
         uri += theForm.elements[i].name + "=" + theForm.elements[i].value;
      }
   }

   return uri;
}

function makeArray(n) {
  this.length=n;
  for( var i = 0; i < n ; i++ )
    this[i] = 0;
  return this;
}
function getByteLen(str) {
  var len = 0;
  if( str == null )
    return 0;
  for( var i = 0; i < str.length; i++ ) {
    var c = escape(str.charAt(i));
    if( c.length == 1 )
      len++;
    else if( c.indexOf("%u") != -1 )
      len += 2;
    else if( c.indexOf("%") != -1 )
      len += c.length/3;
  }
  return len;
}

function checkPassport(str) {
  var valid = 1;
  if( getByteLen(str) != 7 )
    return 0;
  var char = str.charAt(0);
  if( (char < "A") || (char > "Z") )
    return 0;
  for( var i = 1; (i < str.length) && (valid == 1); i++ ) {
    char = str.charAt(i);
    if( (char < "0") || (char > "9") )
      valid = 0;
  }
  return valid;
}

function checkTSSN(str) {
  var xCheck = 0;
  var g = 0;
  var c = 0;
  var totalX = 0;
  var sumX = 0;
  var x = new makeArray(17);

  if( getByteLen(str) != 13 ) {
//    document.getElementById("idcardError").innerHTML = "<?php echo _("เลขประจำตัวประชาชนไม่ถูกต้อง"); ?>";
    return 0;
  }

  for( var i = 0; i < str.length; i++ ) {
    var code = str.charCodeAt(i);

    if( (code >= 48) && (code <= 57) ) {
      if( code == 48 ) {
        x[i] = 0;
      }
      else if( code == 49 ) {
        x[i] = 1;
      }
      else if( code == 50 ) {
        x[i] = 2;
      }
      else if( code == 51 ) {
        x[i] = 3;
      }
      else if( code == 52 ) {
        x[i] = 4;
      }
      else if( code == 53 ) {
        x[i] = 5;
      }
      else if( code == 54 ) {
        x[i] = 6;
      }
      else if( code == 55 ) {
        x[i] = 7;
      }
      else if( code == 56 ) {
        x[i] = 8;
      }
      else if( code == 57 ) {
        x[i] = 9;
      }

      if( (x[0] == 0) || (x[0] == 9) ) { 
//        document.getElementById("idcardError").innerHTML = "<?php echo _("เลขประจำตัวประชาชนไม่ถูกต้อง"); ?>";
        return 0;
      }
      xCheck = x[i];
     if( i != 12 ) {
        totalX = x[i]*(13-i);
        sumX = sumX + totalX;
      }
    }
    else {
//      document.getElementById("idcardError").innerHTML = "<?php echo _("เลขประจำตัวประชาชนไม่ถูกต้อง"); ?>";
      return 0;
    }
  }

  c = sumX % 11;
  if( c == 0 )
    g = 1;
  else if( c == 1 )
    g = 0;
  else
    g = 11 - c;

  if( xCheck != g ) {
//    document.getElementById("idcardError").innerHTML = "<?php echo _("เลขประจำตัวประชาชนไม่ถูกต้อง"); ?>";
    return 0;
  }
  return 1;
}

