
/*phone number validation*/
var digits = "0123456789";
var phoneNumberDelimiters = "()- ";
var validWorldPhoneChars = phoneNumberDelimiters + "+";
var minDigitsInIPhoneNumber = 5;

function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    return true;
}
function trim(s)
{   var i;
    var returnString = "";
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if (c != " ") returnString += c;
    }
    return returnString;
}
function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function checkInternationalPhone(strPhone){
	var bracket=3
	strPhone=trim(strPhone)
	if(strPhone.indexOf("+")>1) return false
	if(strPhone.indexOf("-")!=-1)bracket=bracket+1
	//if(strPhone.indexOf("(")!=-1 && strPhone.indexOf("(")>bracket)return false
	var brchr=strPhone.indexOf("(")
	//if(strPhone.indexOf("(")!=-1 && strPhone.charAt(brchr+2)!=")")return false
	//if(strPhone.indexOf("(")==-1 && strPhone.indexOf(")")!=-1)return false
	s=stripCharsInBag(strPhone,validWorldPhoneChars);
	return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}

/*end of phone number validation*/

function validateRequired(text) 
{
	if(eval(text.length) == 0) 
    { 
		return false; 
    }
    return true;
}

function validateMaxLength(text,len)
{
	if(eval(text.length) >  eval(len)) 
    { 
		return false;
	}	
	return true;
}

function validateMinLength(text,len)
{
	if(eval(text.length) <  eval(len)) 
    { 
		return false;
	}	
	return true;
}

function validateEmail(text)
{
	var email = text;
    var splitted = email.match("^(.+)@(.+)$");
    if(splitted == null) return false;
    if(splitted[1] != null )
    {
      var regexp_user=/^\"?[\w-_\.]*\"?$/;
      if(splitted[1].match(regexp_user) == null) 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) return false;
      }// if
      return true;
    }
	return false;
}

function validateGT(text,value) 
{
	if(isNaN(text)) 
    { 
         return false; 
    }
    
    if(eval(text) <=  eval(value)) 
    { 
		return false;
	}
	return true;
}

function validateLT(text,value) 
{
	if(isNaN(text)) 
    { 
         return false; 
    }
    
    if(eval(text) >=  eval(value)) 
    { 
		return false;
	}
	return true;
}

function validateInteger(text)
{
	var charpos = text.search("[^0-9]"); 
	if( eval(text.length) > 0 &&  charpos >= 0 ) 
	{
		//if((!charpos.match("+")) || (!charpos.match("-")))
		//{
			return false; 
		//}
	}
	return true;
}
/*function validateInteger(text)
{
	if(!text.match("^([0-9]*)([-]*)(+)"))
	{
		return false;
	}
	return true;
}*/

function validateDecimal(text) 
{
	if(!text.match("^([0-9]*)(.[0-9]+)?$")) 
	{
		return false;
	}    
	return true;
}

function validateAlpha(text)
{
	var charpos = text.search("[^A-Za-z]"); 
	if( eval(text.length) > 0 &&  charpos >= 0 ) 
	{ 
		return false; 
	}
	return true;
}

function validateAlphaNumeric(text)
{
	var charpos = text.search("[^A-Za-z0-9]"); 
	if( eval(text.length) > 0 &&  charpos >= 0 ) 
	{ 
		return false; 
	}
	return true;
}

/*

case "alnumhyphen":

 search("[^A-Za-z0-9\-_]") 
*/

   function isEmpty(s)
   {
     for(var i=0;i<s.length;i++)
        if(s.charAt(i)!=' ')break;
     
     if(i==s.length)
         return true;
     else
         return false;      
   }

   function isNum(s)
   {
     for(var i=0;i<s.length;i++)
     {  
         if(s.charAt(i)=='1'||s.charAt(i)=='2'||
		s.charAt(i)=='3'||s.charAt(i)=='4'|| 
		s.charAt(i)=='5'||s.charAt(i)=='6'||
		s.charAt(i)=='7'||s.charAt(i)=='8'||
		s.charAt(i)=='9'||s.charAt(i)=='0'||
		s.charAt(i)=='.')
           continue;
         else 
           break;   
     }
     if(i==s.length)
         return true;
     else
         return false;      
   }

  function checkFromToDateForValidation(yy,mm,dd,hh,min,sec,
	                         yyTo,mmTo,ddTo,hhTo,minTo,secTo)
  {

	var yy = 23; //;,mm,dd,hh,min,sec,
	//yyTo,mmTo,ddTo,hhTo,minTo,secTo	
	alert(yy);
	var flag = false;
    if(!isYearMonthDateValid(yy, mm, dd)
       ||    !isYearMonthDateValid(yyTo, mmTo,ddTo)) {
       //alert("month check ");
       return false;
    }

   if( yy < yyTo )
      return true;
    else if( yy == yyTo )
    {
	  //alert("year equel");
      
      if( mm < mmTo )
        return true;
     else if( mm == mmTo)
      {
	    // alert("month equel");

        if( dd < ddTo )
          return true;
        else if( dd == ddTo )
       {
	     //alert("day equal");

          if( hh < hhTo)
            return true;
          else if(hh== hhTo)
          {
            if(min < minTo)
              return true;
            else if(min == minTo)
           {
              if( sec <= secTo)
                return true;
            }
          }
        }
      }
    }
    return false;
  }

function isYearMonthDateValid(year,month,date)
  {
    var endOfMonth = -1;
    //alert("M="+month);
	
    switch(month)
    {
      case "0"://January
      case "2"://March
      case "4"://May
      case "6"://July
      case "7"://August
      case "9"://October
      case "11"://December
        endOfMonth = 31;
        break;

      case "1"://February
        endOfMonth = isLeapYear(year) ? 29 : 28;
        break;

      case "3"://April
      case "5"://June
      case "8"://September
      case "10"://November
        endOfMonth = 30;
        break;
    }
    //alert("EOM ="+endOfMonth);
    return !( date < 1 || date > endOfMonth);
  }
  
  function isLeapYear(year)
  {
    return (year % 4 == 0 && year % 100 != 0 ) || year % 400 ==0;
  }