//function to check if the field is not left blank.
	function isInput(field){
		// True if val is whitespace only or empty.
		var re = /\S+/;
		return (re.test(field));
	}
	
//function to check if the entered value is numeric or not
function IsNumeric(sText) {
			var ValidChars = "0123456789.";
			var IsNumber=true;
			var Char;

			for (i = 0; i < sText.length && IsNumber == true; i++) { 
				Char = sText.charAt(i); 
					if (ValidChars.indexOf(Char) == -1) 
						IsNumber = false;
			}
			
			return IsNumber;
	   }

//function to Check the values of Checkboxes
function CheckboxCheck(qVal,whatName)
	{
		var numSelected = 0;
		var i;
				
		for (i = 0;  i < (qVal.length);  i++)
		{
			if (qVal[i].checked)
			numSelected++;
		}
		if (numSelected > 3)
		{
			alert("Please select at most 3 options for " + whatName + " .");
			return false;
		}
		if (numSelected < 1)
		{	
			alert("Please select at least 1 option for " + whatName + " .");
			return false;
		}
	  return true;
	 }

//function to check the values for Radio buttons
function RadioCheck(qVal,whatName)
	{
		var numSelected = 0;
		var i;
				
		for (i = 0;  i < (qVal.cells.length);  i++)
		{
			if (qVal+"_"+[i].checked)
			numSelected++;
		}
		if (numSelected < 1)
		{
			alert("Please select an option for " + whatName + " .");
			return false;
		}
	  return true;
	 }

//function to check valid email address
function emailCheck (emailStr) {
		var checkTLD=1;
		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) {
			alert("Email address seems incorrect (check @ and .'s)");
			return false;
		}
		var user=matchArray[1];
		var domain=matchArray[2];
		for (i=0; i<user.length; i++) {
			if (user.charCodeAt(i)>127) {
				alert("Ths username contains invalid characters.");
				return false;
			}
		}
		for (i=0; i<domain.length; i++) {
			if (domain.charCodeAt(i)>127) {
				alert("Ths domain name contains invalid characters.");
				return false;
		    }
		}

		if (user.match(userPat)==null) {
			alert("The username doesn't seem to be valid.");
			return false;
		}

		var IPArray=domain.match(ipDomainPat);
			if (IPArray!=null) {
				for (var i=1;i<=4;i++) {
					if (IPArray[i]>255) {
						alert("Destination IP address is invalid!");
						return false;
				    }
				}
				return true;
			}

		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) {
				alert("The domain name does not seem to be valid.");
				return false;
			}
		}

		if (checkTLD && domArr[domArr.length-1].length!=2 && 
			domArr[domArr.length-1].search(knownDomsPat)==-1) {
				alert("The address must end in a well-known domain or two letter " + "country.");
				return false;
			}
		if (len<2) {
			alert("This address is missing a hostname!");
			return false;
		}
	return true;
	}

function checkMobile(phoneStr) {
    var patrn=/^[9][0-9]{9}$/;
    if (!(patrn.exec(phoneStr)))
    {   
        return false;
    }
    else{
        return true;
    } 
}

function isValidDate(dateStr) {
    // Checks for the following valid date formats:
    // MM/DD/YY   MM/DD/YYYY   MM-DD-YY   MM-DD-YYYY
    // Also separates date into month, day, and year variables

    var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{2}|\d{4})$/;

    // To require a 4 digit year entry, use this line instead:
    // var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/;

    var matchArray = dateStr.match(datePat); // is the format ok?
    if (matchArray == null) {
        alert("Date is not in a valid format.")
        return false;
    }
    month = matchArray[1]; // parse date into variables
    day = matchArray[3];
    year = matchArray[4];
    if (month < 1 || month > 12) { // check month range
        alert("Month must be between 1 and 12.");
        return false;
    }
    if (day < 1 || day > 31) {
        alert("Day must be between 1 and 31.");
        return false;
    }
    if ((month==4 || month==6 || month==9 || month==11) && day==31) {
        alert("Month "+month+" doesn't have 31 days!");
        return false;
    }
    if (month == 2) { // check for february 29th
        var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
        if (day>29 || (day==29 && !isleap)) {
            alert("February " + year + " doesn't have " + day + " days!");
            return false;
       }
    }
    return true;  // date is valid
}
