 
  days= [0,31,28,31,30,31,30,31,31,30,31,30,31];
  function isEmpty(s)
  {
    return ((s == null) || (s.length == 0));
  }
  function hasOnlyWhitespace(s)
  {
    return (/^\s+$/.test(s));
  }
  function isPositiveInteger(s)
  {
    return (/^\d*$/.test(s));
  }
  function isPositiveNumber(s)
  {
    return (/^(\d*\.?\d*|\.\d+)$/.test(s));
  }
  function isNumber(s)
  {
    return (/^-?(\d*\.?\d*|\.\d+)$/.test(s));
  }
  function isAlphanumeric(s)
  {
    return (/^\w*$/.test(s));
  }
  function isAlphabet(s)
  {
    return (/^[a-zA-Z]*$/.test(s));
  }
  function isAlphanumericSpc(s)
  {
    return (/^[\w\s]*$/.test(s));
  }
  function isEmailAddress(s)
  {
    return (/^[^\s\,\;\'\"]+@[^\s\,\;\'\"]+\.[^\s\,\;\'\"]+$|^$/.test(s));
  }
  function isPersent(s)
  {
    return (/^-?(\d*\.?\d*|\.\d+)%?$/.test(s));
  }
  
  function Check24HHMMFormat(HH_24, MM_60)
  {
    var err=0;
    var hr;
    var min;
  
    hr = HH_24.value
    min = MM_60.value
  
    if (hr<0 || hr>24) err=1
    if (min<0 || min>59) err=1
    if (err==1)
    {
      alert("Invalid 24 Hour Time Format!");
      HH_24.focus();
      return false;
    }
    else
    {
      return true;
    }
  }

  //----------------------------------------------------------------------
  function isShortDate(s)
  {
    return (/^\d{1,2}\/\d{1,2}\/\d{4}$|^$/.test(s));
  }

  function isValidShortDate(s)
  {
    if ((s == null) || (s.length == 0)) return true;

    validday= new Boolean( false );
    validmonth= new Boolean( false );
    validyear=new Boolean(false);
    
    validformat= new Boolean(isShortDate(s));

    if (validformat)
    {
      paralist = s.split(/\//);
      d = new Number(parseInt(paralist[0]));
      m = new Number(parseInt(paralist[1]));
      y = new Number(parseInt(paralist[2]));

      validyear = (y>0);
      if (validyear)
      {
        leap= new Boolean( false );
        leap=( (y%400==0)||( (y%4==0)&&(y%100!=0) ) );
        validmonth= ((m<=12)&&(m>=1));
  
        if (validmonth)
        {
          validday = false;
          if ( (d>=1)&&(d<=days[m]) )
            validday = true;
          if ( (leap)&&(m==2)&&(d==29) )
            validday = true;
        }
      }
    }
    return ((validyear)&&(validmonth)&&(validday));
  }
  function isLoginID(s)
  {
    return (/^\w{6,8}$|^$/.test(s));
  }
      

  function checkInteger(inInt)
  {
    if ((isPositiveInteger(inInt.value)==false) || (inInt.value=="") || (0+inInt.value==0))
    {
      alert("Please input positive integer");
      inInt.focus();
      return false;
    }
    return true;
  }


  function checkInteger2(inInt, errMsg)
  {
    if ((isPositiveInteger(inInt.value)==false) || (inInt.value=="") || (0+inInt.value==0))
    {
      alert(errMsg);
      inInt.focus();
      return false;
    }
    return true;
  }

  function checkInteger3(inInt, errMsg)
  {
    if ((isPositiveInteger(inInt.value)==false) || (inInt.value==""))
    {
      alert(errMsg);
      inInt.focus();
      return false;
    }
    return true;
  }


  function checkEmpty(inString)
  {
      if (inString.value=="")
      {
        alert("This field cannot be empty");
        inString.focus();
        return false
      }
      else 
        return true;
  }
  
  function trim( inString )
  {
    /*if ( inString !=  null )
    {
      // Left Trim
      lenstr = inString.length;
      
    }*/
  }

function checkEmpty2(inString, errMsg)
{
  if (inString.value=="")
  {
    alert(errMsg);
    inString.focus();
    return false
  }
  else
  {
    return true;
  }
}

function checkNum(inNum)
{
  if ((isNumber(inNum.value)==false) || (inNum.value=="") || (0+inNum.value==0))
  {
    alert("Please input number");
    inNum.focus();
    return false;
  }
  return true;
}

function checkNum2(inNum, errMsg)
{
  if ((isNumber(inNum.value)==false) || (inNum.value=="") || (0+inNum.value==0))
  {
    alert(errMsg);
    inNum.focus();
    return false;
  }
  return true;
}

function CheckToday(Day, Mon, Year){
  
  //var inMon = parseInt(Mon.value) - 1;
  var inMon = Mon.value - 1;
  var inDate = new Date(Year.value, inMon, Day.value);

  var curDate = new Date();
  curDate.setHours("0");
  curDate.setMinutes("0");
  curDate.setSeconds("0");

  if ((inDate > curDate) || (inDate.toString()==curDate.toString()))
  {
    return true;
  }
  else
  {
    alert("Date in the past is not allowed");
    Day.focus();
    return false;
  }
}

function CheckToday2(Day, Mon, Year, msg){
  
  //var inMon = parseInt(Mon.value) - 1;
  var inMon = Mon.value - 1;
  var inDate = new Date(Year.value, inMon, Day.value);

  var curDate = new Date();
  curDate.setHours("0");
  curDate.setMinutes("0");
  curDate.setSeconds("0");

  if ((inDate > curDate) || (inDate.toString()==curDate.toString()))
  {
    return true;
  }
  else
  {
    alert(msg);
    Day.focus();
    return false;
  }
}

function CheckDateRange(Day1, Mon1, Year1, Day2, Mon2, Year2){
  if (CheckDDMMYYYYFormat(Day1, Mon1 ,Year1) && CheckDDMMYYYYFormat(Day2, Mon2 ,Year2))
  {
    //var fromMon = parseInt(Mon1.value) - 1;
    var fromMon = Mon1.value - 1;
    var fromDate = new Date(Year1.value, fromMon, Day1.value);
    
    //var toMon = parseInt(Mon2.value) - 1;
    var toMon = Mon2.value - 1;
    var toDate = new Date(Year2.value, toMon, Day2.value);
    
    if (toDate<fromDate)
    {
      alert("Date range error");
      Day1.focus();
      return false;
    }
    return true;
  }
  return false;
} 

function CheckDateRange2(Day1, Mon1, Year1, Day2, Mon2, Year2, prefixmsg){
  if (CheckDDMMYYYYFormat2(Day1, Mon1 ,Year1, prefixmsg) && CheckDDMMYYYYFormat2(Day2, Mon2 ,Year2, prefixmsg))
  {
    //var fromMon = parseInt(Mon1.value) - 1;
    var fromMon = Mon1.value - 1;
    var fromDate = new Date(Year1.value, fromMon, Day1.value);
  
    //var toMon = parseInt(Mon2.value) - 1;
    var toMon = Mon2.value - 1;
    var toDate = new Date(Year2.value, toMon, Day2.value);
    
    if (toDate<fromDate)
    {
      alert("Date range error in " + prefixmsg + " Field");
      Day1.focus();
      return false;
    }
    return true;
  }
  return false;
} 

function CheckDDMMYYYYFormat(lDay, lMon, lYear){
    var err=0
    var mon;
    var day;
    var year;

    if ((isPositiveInteger(lDay.value)) && (isPositiveInteger(lMon.value)) && (isPositiveInteger(lYear.value))  && (lYear.value!=""))
    {
      day = lDay.value
      mon = lMon.value
      year = lYear.value

      if (mon<1 || mon>12) err = 1
      if (day<1 || day>31) err = 1
      if (year<0 ) err = 1

      if (mon<1 || mon>12) err = 1
      if (day<1 || day>31) err = 1
      if (year<0 ) err = 1

      // months with 30 days
      if (mon==4 || mon==6 || mon==9 || mon==11){
            if (day==31) err=1
      }

      // february, leap year
      if (mon==2)
      { // feb
        var g=year/4
                    if (isNaN(g)) {
                      err=1
                    }
                    
                    if (day>29) 
                      err=1
                    
                    if (day==29 && !( ( ((year/4) == parseInt(year/4)) && ((year/100) != parseInt(year/100)) ) || ((year/400) == parseInt(year/400)) ) ) 
                      err=1
      }

            if (err==1){
              alert("Invalid Date Format!");
        lYear.focus();
        return false;
      }
      else{
        return true;
      }
    }
    else
    {
      alert("The date field should be positive integer!!");
      lYear.focus();
      return false;
    }
}

function CheckDDMMYYYYFormat2(lDay, lMon, lYear, prefixmsg){
    var err=0
    var mon;
    var day;
    var year;

    if ((isPositiveInteger(lDay.value)) && (isPositiveInteger(lMon.value)) && (isPositiveInteger(lYear.value))  && (lYear.value!=""))
    {
      day = lDay.value
      mon = lMon.value
      year = lYear.value

      if (mon<1 || mon>12) err = 1
      if (day<1 || day>31) err = 1
      if (year<0 ) err = 1

      if (mon<1 || mon>12) err = 1
      if (day<1 || day>31) err = 1
      if (year<0 ) err = 1

      // months with 30 days
      if (mon==4 || mon==6 || mon==9 || mon==11){
            if (day==31) err=1
      }

      // february, leap year
      if (mon==2)
      { // feb
        var g=year/4
                    if (isNaN(g)) {
                      err=1
                    }
                    
                    if (day>29) 
                      err=1
                    
                    if (day==29 && !( ( ((year/4) == parseInt(year/4)) && ((year/100) != parseInt(year/100)) ) || ((year/400) == parseInt(year/400)) ) ) 
                      err=1
      }

            if (err==1){
              alert("Date Format is inValid in " + prefixmsg + " Field");
        lYear.focus();
        return false;
      }
      else{
        return true;
      }
    }
    else
    {
      alert("Date contains InValid positive integer in " + prefixmsg + " Field");
      lYear.focus();
      return false;
    }
}

//check "--"
function CheckDDMMYYYYFormat3(lDay, lMon, lYear, prefixmsg){
    var err=0
    var mon;
    var day;
    var year;

    if ((lDay.value=="--") && (lMon.value=="--") && (lYear.value=="--")){
	return true;}
	


    if ((isPositiveInteger(lDay.value)) && (isPositiveInteger(lMon.value)) && (isPositiveInteger(lYear.value))  && (lYear.value!=""))
    {
      day = lDay.value
      mon = lMon.value
      year = lYear.value

      if (mon<1 || mon>12) err = 1
      if (day<1 || day>31) err = 1
      if (year<0 ) err = 1

      if (mon<1 || mon>12) err = 1
      if (day<1 || day>31) err = 1
      if (year<0 ) err = 1

      // months with 30 days
      if (mon==4 || mon==6 || mon==9 || mon==11){
            if (day==31) err=1
      }

      // february, leap year
      if (mon==2)
      { // feb
        var g=year/4
                    if (isNaN(g)) {
                      err=1
                    }
                    
                    if (day>29) 
                      err=1
                    
                    if (day==29 && !( ( ((year/4) == parseInt(year/4)) && ((year/100) != parseInt(year/100)) ) || ((year/400) == parseInt(year/400)) ) ) 
                      err=1
      }

            if (err==1){
              alert("Date Format is inValid in " + prefixmsg + " Field");
        lYear.focus();
        return false;
      }
      else{
        return true;
      }
    }
    else
    {
      alert("Date contains InValid positive integer in " + prefixmsg + " Field");
      lYear.focus();
      return false;
    }
}


  // String Controls
  function checkEmpty3( instr, err_msg )
  {
    if ( eval("isEmpty(" + instr + ".value)"))
    {
      alert(err_msg);
      eval("" + instr + ".focus()");
      return false;
    }
    else 
      return true;
  }
  
  function checkInteger3( instr, err_msg )
  {
    inc_int = eval( instr + ".value" );
    if ((isPositiveInteger(inc_int)==false) || (inc_int=="") || (0+inc_int==0))
    {
      alert(err_msg);
      eval("" + instr + ".focus()");
      return false;
    }
    else 
      return true;
  }

  function checkPositiveInteger3(instr, err_msg)
  {
    inc_num = eval( instr + ".value" );
    tmp_num = parseInt( inc_num );
    if ( isNaN(tmp_num) )
    {
      if ( !hasOnlyWhitespace(inc_num) && !isEmpty(inc_num) )
      {
        alert(err_msg);
        eval( instr + ".focus()" );
        return false;
      }
    }
    else
    {
      if ( tmp_num < 0 )
      {
        alert(err_msg);
        eval( instr + ".focus()" );
        return false;
      }
    }
    return true;
  }

  function checkNumber3(instr, err_msg)
  {
    inc_num = eval( instr + ".value" );
    tmp_num = parseInt( inc_num );
    if ( isNaN(tmp_num) )
    {
      if ( !hasOnlyWhitespace(inc_num) )
      {
        alert(err_msg);
        eval( instr + ".focus()" );
        return false;
      }
    }
    else
    {
      if ( tmp_num < 0 )
      {
        alert(err_msg);
        eval( instr + ".focus()" );
        return false;
      }
    }
    return true;
  }

