 function checkEmail(emailStr) {
       if (emailStr.length == 0) {
           return true;
       }
       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) {
           return false;
       }
       var user=matchArray[1];
       var domain=matchArray[2];
       if (user.match(userPat) == null) {
           return false;
       }
       var IPArray = domain.match(ipDomainPat);
       if (IPArray != null) {
           for (var i = 1; i <= 4; i++) {
              if (IPArray[i] > 255) {
                 return false;
              }
           }
           return true;
       }
       var domainArray=domain.match(domainPat);
       if (domainArray == null) {
           return false;
       }
       var atomPat=new RegExp(atom,"g");
       var domArr=domain.match(atomPat);
       var len=domArr.length;
       if ((domArr[domArr.length-1].length < 2) ||
           (domArr[domArr.length-1].length > 3)) {
           return false;
       }
       if (len < 2) {
           return false;
       }
       return true;
}


  function isAllDigits(argvalue) {
        argvalue = argvalue.toString();
        var validChars = "0123456789";
        var startFrom = 0;
        if (argvalue.substring(0, 2) == "0x") {
           validChars = "0123456789abcdefABCDEF";
           startFrom = 2;
        } else if (argvalue.charAt(0) == "0") {
           validChars = "01234567";
           startFrom = 1;
        } else if (argvalue.charAt(0) == "-") {
            startFrom = 1;
        }

        for (var n = startFrom; n < argvalue.length; n++) {
            if (validChars.indexOf(argvalue.substring(n, n+1)) == -1) return false;
        }
        return true;
    }

function isInteger(value){
	var bValid = true;
                    if (!isAllDigits(value)) {
                        bValid = false;
        	  } else {
                        var iValue = parseInt(value);
                        if (isNaN(iValue) || !(iValue >= -2147483648 && iValue <= 2147483647)) {                  
                            bValid = false;
                       }
                   }
	return bValid;
}               


   function isValidDate(day, month, year) {
            if (month < 1 || month > 12) {
            return false;
        }
        if (day < 1 || day > 31) {
            return false;
        }
        if ((month == 4 || month == 6 || month == 9 || month == 11) &&
            (day == 31)) {
            return false;
        }
        if (month == 2) {
            var leap = (year % 4 == 0 &&
               (year % 100 != 0 || year % 400 == 0));
            if (day>29 || (day == 29 && !leap)) {
                return false;
            }
        }
        return true;
    }

// Date Time format is :: "MM/dd/yyyy HH:mm:ss"
function checkDateTime(inString)
{
   // Regular expression used to check if date is in correct format
   var pattern = /^[01]?[0-9]\/[0-3]?[0-9]\/\d{4} [0-2]?[0-9]:[0-5]?[0-9]:[0-5]?[0-9]$/;
   if(inString.value.match(pattern))
   {
      var dt_array = inString.value.split(' ');
		var date_array = dt_array[0].split('/');
		var time_array = dt_array[1].split(':');

      // Attention! Javascript consider months in the range 0 - 11
      var month = date_array[0] - 1;
      var day = date_array[1];
      var year = date_array[2];

	  var hour = time_array[0];
	  var minute = time_array[1];
	  var second = time_array[2];
	  var millisecond = 0;

      // This instruction will create a date object
      source_date = new Date(year,month,day,hour,minute,second,millisecond);

      if(year != source_date.getFullYear())
      {
         alert('Collection Date: Year is not valid!');
         return false;
      }

      if(month != source_date.getMonth())
      {
         alert('Collection Date: Month is not valid!');
         return false;
      }

      if(day != source_date.getDate())
      {
         alert('Collection Date: Day is not valid!');
         return false;
      }

      if(hour != source_date.getHours())
      {
         alert('Collection Date: Hour is not valid!');
         return false;
      }
	  
      if(minute != source_date.getMinutes())
      {
         alert('Collection Date: Minute is not valid!');
         return false;
      }
	  
      if(second != source_date.getSeconds())
      {
         alert('Collection Date: Second is not valid!');
         return false;
      }
	  
   }
   else
   {
      alert('Collection Date format is not valid!');
      return false;
   }

   return true;
}
	

