//validation currency
function validateCurrency(elementIdName, desc)
 {
    if (! validateBlank(elementIdName, desc)) 
      return false;
      
    if (! isValidCurrency(document.getElementById(elementIdName))) {
      alert("Please enter "+desc+" in currency format!");
      document.getElementById(elementIdName).focus();
      return false;
    }	
    return true;
 }

function testAlphanumeric(alphane)
{
	var numaric = alphane;
	for(var j=0; j<numaric.length; j++)
		{
		  var alphaa = numaric.charAt(j);
		  var hh = alphaa.charCodeAt(0);
		  if((hh > 47 && hh<58) || (hh > 64 && hh<91) || (hh > 96 && hh<123))
		  {
		  }
		else	{
                         alert("Your Alpha Numeric Test Failed");
			 return false;
		  }
 		}
 alert("Your Alpha Numeric Test Passed");
 return true;
}

//validation alphanumeric
function validateAlphanumeric(elementIdName, desc)
 {
	var charpos = document.getElementById(elementIdName).value.search("[^A-Za-z0-9]"); 
      if(document.getElementById(elementIdName).value.length > 0 &&  charpos >= 0) 
      { 
          alert("Please enter "+desc+" in alpha numeric format!");
      	  document.getElementById(elementIdName).focus();
          return false; 
      }
    
     return true;
 }
  
//validation alphanumeric
function validateNumeric(elementIdName, desc)
 {
      var charpos = document.getElementById(elementIdName).value.search("[^0-9]"); 
      if(document.getElementById(elementIdName).value.length > 0 &&  charpos >= 0) 
      { 
          alert("Please enter "+desc+" in numeric format!");
      	  document.getElementById(elementIdName).focus();
          return false; 
      }
     return true;
 }
//validation alphanumeric
function validateAlpha(elementIdName, desc)
 {
      var charpos = document.getElementById(elementIdName).value.search("[^A-Za-z]"); 
      if(document.getElementById(elementIdName).value.length > 0 &&  charpos >= 0) 
      { 
          alert("Please enter "+desc+" in alpha format!");
      	  document.getElementById(elementIdName).focus();
          return false; 
      }
     return true;
 }
//validation at least
function validateAtLeast(elementIdName, atleastValue, desc)
 {
     if(isNaN(document.getElementById(elementIdName).value)) 
     { 
         alert("Please enter "+desc+" in number format!");
      	  document.getElementById(elementIdName).focus();
         return false; 
     }
     if(eval(objValue.value) >  eval(atleastValue)) 
     { 
         alert(desc+" must be greater than or equal to "+atleastValue);
      	  document.getElementById(elementIdName).focus();
         return false;               
      }
     return true;
 }
function validateAtMost(elementIdName, atMostValue, desc)
 {
     if(isNaN(document.getElementById(elementIdName).value)) 
     { 
         alert("Please enter "+desc+" in number format!");
      	  document.getElementById(elementIdName).focus();
         return false; 
     }
     if(eval(objValue.value) <  eval(atMostValue)) 
     { 
         alert(desc+" must be greater than or equal to "+atMostValue);
      	  document.getElementById(elementIdName).focus();
         return false;               
      }
     return true;
 }
function validateCurrency(elementIdName, desc)
 {
     if(! isValidCurrency(document.getElementById(elementIdName))) 
     { 
         alert(desc+' must be currency format');
      	  document.getElementById(elementIdName).focus();
         return false;               
      }
     return true;
 }
//validate email 
function validateEmail(elementIdName, desc)
{
    if (! validateBlank(elementIdName, desc)) 
      return false;
      
	var email = document.getElementById(elementIdName).value;
    if(email.length <= 0)
	{
	  return true;
	}
    var splitted = email.match("^(.+)@(.+)$");
    if(splitted == null) 
    {
      	 alert("Please enter "+desc+" in email format e.g. ???@???.com !");
      	  document.getElementById(elementIdName).focus();
    	return false;
    }
    if(splitted[1] != null )
    {
      var regexp_user=/^\"?[\w-_\.]*\"?$/;
      if(splitted[1].match(regexp_user) == null)
      {
      	 alert("Please enter "+desc+" in email format e.g. ???@???.com !");
      	  document.getElementById(elementIdName).focus();
         return false;
      }
    }
    if(splitted[2] != null)
    {
      var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
      if(splitted[2].match(regexp_domain) == null) 
      {
	    var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
	    if(splitted[2].match(regexp_ip) == null) 
        {
      	 alert("Please enter "+desc+" in email format e.g. ???@???.com !");
      	  document.getElementById(elementIdName).focus();
         return false;
        }
      }
      return true;
    }
      	 alert("Please enter "+desc+" in email format e.g. ???@???.com !");
      	  document.getElementById(elementIdName).focus();
return false;
}
 //validate blank value
 function validateBlank(elementIdName, desc)
 {
   // if (document.getElementById(elementIdName).value == "") {
   if(eval(document.getElementById(elementIdName).value.length) == 0)
   {
      alert("Please enter "+desc+"!");
      document.getElementById(elementIdName).focus();
      return false;
    } 
    return true;
 }
function isValidCurrency(obj){

	 val = obj.value;
	 cur  = /^\d+(\.\d\d)?$/;
	// anum=/(^-?\d+$)|(^-?\d+\.\d+$)/;
	 ret = false;

	// if(val.indexOf(",")>-1)
	 	ret = cur.test(val);
	 //else
	 //	ret = anum.test(val);

	 if(!ret){
	 	//alert("Invalid number format");
	 	return false;
	 }
	 else
	 	return true;
 }
 
 function validateICNo(elementIdName, desc)
 {  
	var obj = document.getElementById(elementIdName);
	
	if(!validateBlank(elementIdName, desc) ){
		return false;
	}else{	
		if(obj.value.length == 12 ){
    		if (! validateNumeric(elementIdName, desc)){
    		  obj.focus();
    		  return false;    		    
    		}else{
	    		return true;
    		}	
		}else{
			alert("IC Number must be in 12 digits.");	
	    	obj.focus();
	    	return false;
		}	
	}
 }
 
  //validation alphanumeric
function validateAlphanumericNoAlert(value)
 {
	
      //var charpos = document.getElementById(elementIdName).value.search("[^A-Za-z0-9]"); 
      //if(document.getElementById(elementIdName).value.length > 0 &&  charpos >= 0) 
      //{ 
      //    document.getElementById(elementIdName).focus();
      //    return false; 
      //}
	  
	   var iChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?";
	   
	   for (var i = 0; i < value.length; i++) {
		  
		   if (iChars.indexOf(value.charAt(i)) != -1) {
		      return false;
		
		   }
	   }

	
      
     return true;
 }
  
//validation alphanumeric
function validateNumericNoAlert(value)
 {
      var charpos = value.search("[^0-9]");
      if(value.length > 0 &&  charpos >= 0) 
      { 
          //document.getElementById(elementIdName).focus();
          return false; 
      }
     return true;
 }		
 
  //validate email 
function validateEmailNoAlert(elementIdName)
{
	
    if(eval(document.getElementById(elementIdName).value.length) == 0)
    {
      document.getElementById(elementIdName).focus();
      return false;
    }
      
	var email = document.getElementById(elementIdName).value;
    if(email.length <= 0)
	{
	  return true;
	}
    var splitted = email.match("^(.+)@(.+)$");
    if(splitted == null) 
    {
      	 
      	document.getElementById(elementIdName).focus();
    	return false;
    }
    if(splitted[1] != null )
    {
      var regexp_user=/^\"?[\w-_\.]*\"?$/;
      if(splitted[1].match(regexp_user) == null)
      {
      	 document.getElementById(elementIdName).focus();
         return false;
      }
    }
    if(splitted[2] != null)
    {
      var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
      if(splitted[2].match(regexp_domain) == null) 
      {
	    var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
	    if(splitted[2].match(regexp_ip) == null) 
        {
      	 document.getElementById(elementIdName).focus();
         return false;
        }
      }
      return true;
    }
      	 document.getElementById(elementIdName).focus();
return false;
}		