	

function CheckNullValforTxt(objName, strField)
    {
       if(IsEmpty(objName))
	    {
		    errorMsg = "Please Enter "+strField;
		    objName.focus();
		    alert(errorMsg);
		    return false;
		    
	    }
	    else 
	    {
		    return CheckSpaces(objName, objName.value)
	    }   
        
        return true;
    }
    
    function IsEmpty(txtField)
	{
	   if ((txtField.value.length==0) || (txtField.value==null))
	   {
		  return true;
	   }
	   else 
	   {
		  return false;
	   }
	
	}
	
	function CheckNullValforTxtArea(objName, msg)
	{
		if(objName.innerText == "")
	    {
	        errorMsg = msg;
		    objName.focus();
		    alert(errorMsg);
		    return false;
	    }
	    else
	        return CheckSpaces(objName, objName.innerText)
	}
	
	function CheckSpaces(objName, objVal)
	{
        var strSrchVal = objVal;
	    var cnt=0;
	    for(i=0;i<strSrchVal.length;i++)
	    {
		    if(strSrchVal.charAt(i)==' ')
			    cnt=cnt+1

		    if(cnt == strSrchVal.length)
		    {
			    errorMsg = "Please enter proper value";
			    objName.focus();
			    alert(errorMsg);
			    return false;
		    }		
	    }
	    return true;
	}
	
	function ChangeDate(objDt, objDtToChange, intNoOfDays)
    {
        objDate = DateInJSFormat(objDt)
        objDate.setDate(objDate.getDate()+parseInt(intNoOfDays))
        objDtToChange.value = GetDateInDDMMYYY(objDate)
        //alert(objDtToChange.value)
    }
	
	
	function DateInJSFormat(objDt)
	{
	    arrDtValues =  objDt.value.split("/");
        DtMonth =  parseInt(arrDtValues[1]-1);
        DtDay = arrDtValues[0];
        DtYear = arrDtValues[2];
           
        var objDate=new Date(DtYear, DtMonth,  DtDay)
        return objDate
	}
	
	function GetDateInDDMMYYY(objDate)
	{
	    var strDate
	    if(objDate!=null)
	    {
	        DtMonth = parseInt(objDate.getMonth())+1
	        DtDay = objDate.getDate()
	        DtYear = objDate.getFullYear()
	        strDate = DtDay+"/"+DtMonth+"/"+DtYear
	    }
	    return strDate
	}
	
	function GetDateInMMDDYYY(objDate)
	{
	    var strDate
	    if(objDate!=null)
	    {
	        DtMonth = parseInt(objDate.getMonth())+1
	        DtDay = objDate.getDate()
	        DtYear = objDate.getFullYear()
	        strDate = DtMonth+"/"+DtDay+"/"+DtYear
	    }
	    return strDate
	}
	
	function CompareDateToSysDate(objDt)
    {
        if(objDt.value == "")
            return true
        var today = new Date()
        dtToday = GetDateInMMDDYYY(today)
        //if(Date.parse(dtToday) > Date.parse(objDt.value)) 
        //    return false;
        if(Date.parse(dtToday) > Date.parse(GetDateInMMDDYYY(DateInJSFormat(objDt))))
            return false;
        else
            return true;
    }
    
    function CompareDates(objDate1, objDate2, strDate1, strDate2)
    {
        if(objDate1.value == "" || objDate2.value =="")
            return true;
        
        //if(Date.parse(objDate1.value) > Date.parse(objDate2.value)) 
        //    return true
        
        if(Date.parse(GetDateInMMDDYYY(DateInJSFormat(objDate1))) > Date.parse(GetDateInMMDDYYY(DateInJSFormat(objDate2)))) 
            return true
        else
        {
            alert(strDate1+" should be greater than "+strDate2)
            return false
        }
    }
	
	function isValidDate(dateStr) 
    {
	    //alert("fn called")
	    // 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 (dateStr!='' && matchArray == null) {
	    alert("Date is not in a valid format.")
	    return false;
	    }
	    if(matchArray)
	    {
		    month = matchArray[3]; // parse date into variables
		    day = matchArray[1];
		    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
    }
    
    
    function isUrl(objtxtLink) 
    {
	    var regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
	    if(!regexp.test(objtxtLink.value))
        {
            alert("You must supply a valid URL.")
            objtxtLink.focus()
        }
	    return regexp.test(objtxtLink.value);
	}

// URL Validation
// URL starts with http, ftp and https
// It is then followed by ://
// next we have more letters, numbers and special chars : a-z, A-Z, 0-9, -, _ 
// there must be at least one "."
//	function isUrl(objtxtLink) 
//	{ 
//        var v = new RegExp(); 
//        v.compile("^(ftp|http|https)+://[A-Za-z0-9-_]+\\.[A-Za-z0-9-_%&\?\/.=]+$"); 
//        if(!v.test(objtxtLink.value))
//        {
//            alert("You must supply a valid URL.")
//            objtxtLink.focus()
//        }
//        return v.test(objtxtLink.value)
//    }
// 

var validationMessage = "";

function check_email_entry (in_email) {
	validationMessage = "";
	var emailStr = in_email;
	var email_len = emailStr.length;
	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 +")*$");
	
	if (email_len > 0) {
		var matchArray = emailStr.match(emailPat);
		if (matchArray == null) {
			//alert("The Email address seems incorrect (check @ and .'s)");
			validationMessage = "The Email address seems incorrect (check @ and .'s)";
			document.getElementById("tdEmailErr").innerHTML = "The Email address seems incorrect (check @ and .'s)";
			return(false);
		}
	
		var user = matchArray[1];
		var domain = matchArray[2];
		if (user.match(userPat) == null) {
			//alert("The Email username doesn't seem to be valid.");
			validationMessage = "The Email username doesn't seem to be valid.";
			document.getElementById("tdEmailErr").innerHTML = "The Email 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("Email Destination IP address is invalid!");
					validationMessage = "Email Destination IP address is invalid!";
					document.getElementById("tdEmailErr").innerHTML = "Email Destination IP address is invalid!";
					return(false);
				}
			}
			return(true);
		}
	
		var domainArray = domain.match(domainPat)
		if (domainArray == null) {
			//alert("The Email domain name doesn't seem to be valid.");
			validationMessage = "The Email domain name doesn't seem to be valid.";
			document.getElementById("tdEmailErr").innerHTML = "The Email domain name doesn't seem to be valid.";
			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 > 4) {
			//alert("The Email address must have a valid domain, or two letter country.");
			validationMessage = "The Email address must have a valid domain, or two letter country.";
			document.getElementById("tdEmailErr").innerHTML = "The Email address must have a valid domain, or two letter country.";
			return(false);
		}
	
		if (len < 2) {
			//alert("This Email address is missing a hostname!");
			validationMessage = "This Email address is missing a hostname!";
			document.getElementById("tdEmailErr").innerHTML = "This Email address is missing a hostname!";
			return(false);
		}
	} else {
		//alert("Please enter a registered email address.");
		validationMessage = "Please enter your email address.";
		document.getElementById("tdEmailErr").innerHTML = "Please enter your email address.";
		return(false);
	}
	document.getElementById("tdEmailErr").innerHTML = "";
	return(true);
}


function CheckNullValforCheckBox(obj, strField)
{
	objChk =  obj.getElementsByTagName("input");
	for(d=0;d<objChk.length; d++)
    {
        if(objChk[d].checked == true)
        {
            return true
        }
    }
    alert("Please select "+strField)
	return false;
}

function CheckNullValforHdn(objName, strMsg)
    {
       if(IsEmpty(objName))
	    {
		    errorMsg = strMsg;
		    alert(errorMsg);
		    return false;
	    }
    }

	/*  ------------ Validations for NSA -------------------  */
			
	var Alphabet =/^[A-Za-z]+$/;
	var Numbers =/^[0-9]+$/;
	var Numbers_Hyphen =/^[0-9-]+$/;
	
	function checkValidUserName(id){
		
		var namestr = document.getElementById(id).value;
		var tdUserNameErr="tdUserNameErr";
		
		if(namestr=="" || namestr==null)
		{
				document.getElementById(tdUserNameErr).innerHTML = usernameError;
				return false;
		}
		else if(namestr.search(/^[a-zA-Z0-9!\'+-.@_]+/)==-1 || namestr.length < 6){
				document.getElementById(tdUserNameErr).innerHTML = invalidUsernameError;
				return false;
		}
		else{
				document.getElementById(tdUserNameErr).innerHTML = "";
				return true;
		}
	}

	function checkValidFName(id){
		
		var namestr = document.getElementById(id).value;
		var tdFNameErr="tdFNameErr";
		
		if(namestr=="" || namestr==null)
			{	
				document.getElementById(tdFNameErr).innerHTML = fnameError;
				return false;
			}
		
		else{
				document.getElementById(tdFNameErr).innerHTML = "";
				return true;
		}
	}

	function checkValidLName(id){
		
		var namestr = document.getElementById(id).value;
		var tdLNameErr="tdLNameErr";
		
		if(namestr=="" || namestr==null)
			{
				document.getElementById(tdLNameErr).innerHTML = lnameError;
				return false;
			}
		
		else{
				document.getElementById(tdLNameErr).innerHTML = "";
				return true;
		}
	}

	function checkValidCmpName(id){
		
		var namestr = document.getElementById(id).value;
		var tdCompanynameErr="tdCompanynameErr";
		
		if(namestr=="" || namestr==null)
			{
				document.getElementById(tdCompanynameErr).innerHTML = cmpNameError;
				return false;
			}
		else{
				document.getElementById(tdCompanynameErr).innerHTML = "";
				return true;
		}
	}

	function checkValidJobTitle(id){
		
		var namestr = document.getElementById(id).value;
		var tdJobTitleErr="tdJobTitleErr";
		
		if(namestr=="" || namestr==null)
			{
				document.getElementById(tdJobTitleErr).innerHTML = jobTitleError;
				return false;
			}
		else{
				document.getElementById(tdJobTitleErr).innerHTML = "";
				return true;
		}
	}
	
	function checkValidAddress(id){
		
		var namestr = document.getElementById(id).value;
		var tdStreetAddress1Err="tdStreetAddress1Err";
		
		if(namestr=="" || namestr==null)
			{
				document.getElementById(tdStreetAddress1Err).innerHTML = addressError;
				return false;
			}
		else{
				document.getElementById(tdStreetAddress1Err).innerHTML = "";
				return true;
		}
	}

	function checkValidCity(id){
		
		var namestr = document.getElementById(id).value;
		var tdCityErr="tdCityErr";
		
		if(namestr=="" || namestr==null)
			{
				document.getElementById(tdCityErr).innerHTML = cityError;
				return false;
			}
		else{
				document.getElementById(tdCityErr).innerHTML = "";
				return true;
		}
	}

	function checkValidPostcode(id){
		
		var namestr = document.getElementById(id).value;
		var tdPostcodeErr="tdPostcodeErr";
		
		if(namestr=="" || namestr==null)
			{
				document.getElementById(tdPostcodeErr).innerHTML = postcodeError;
				return false;
			}
		else if(namestr.search(/^[a-zA-Z0-9 ]+$/)==-1){
				document.getElementById(tdPostcodeErr).innerHTML = postcodeAlphaNumericOnlyError;
				return false;
		}
		else{
				document.getElementById(tdPostcodeErr).innerHTML = "";
				return true;
		}
	}

	function checkValidPhone(id){
		
		var namestr = document.getElementById(id).value;
		var tdPhoneErr="tdPhoneErr";
		
		if(namestr=="" || namestr==null)
			{
				document.getElementById(tdPhoneErr).innerHTML = phoneNumberError;
				return false;
			}
		//else if(namestr.search(/^[a-zA-Z0-9 -]+$/)==-1){
		else if(namestr.search(/^[a-zA-Z0-9 -]+$/)==-1){
				document.getElementById(tdPhoneErr).innerHTML = phoneInvalidError;
				return false;
		}
		else{
				document.getElementById(tdPhoneErr).innerHTML = "";
				return true;
		}
	}
	

	function checkValidPhone(id, labelId, isMandatory){
		
		var namestr = document.getElementById(id).value;
		var tdPhoneErr=labelId;
		
		if(namestr=="" || namestr==null )
			{
				if(isMandatory)
				{
					document.getElementById(tdPhoneErr).innerHTML = phoneNumberError;
					return false;
				}
				else
					return true;
			}
		
		else if(namestr.search(/^[0-9 - -)(+]+$/)==-1){
				document.getElementById(tdPhoneErr).innerHTML = phoneInvalidError;
				return false;
		}
		else{
				document.getElementById(tdPhoneErr).innerHTML = "";
				return true;
		}
	}

	
	function checkValidCountry(id)
	{
		ddCountry = document.getElementById(id);
		var tdCountrycodeErr="tdCountrycodeErr";
		
		    if ( ddCountry.selectedIndex == 0)
		    {
		        document.getElementById(tdCountrycodeErr).innerHTML = countryErrorddl;
		        return false;
		    }
		    else{
		    	document.getElementById(tdCountrycodeErr).innerHTML = "";
				return true;
			}

	}
	
	function checkValidPass(id)
	{
		var pass = document.getElementById(id).value;
		var tdErr="tdPasswordErr";

		if (pass.length < 6)
		{
			document.getElementById(tdErr).innerHTML = passwordErr;
			return false;
		}
		else{
			document.getElementById(tdErr).innerHTML = "";
			return true;
		}
	}

	function checkConfirmPassword(id, id1)
	{
		var password = document.getElementById(id).value;
		var password1 = document.getElementById(id1).value;
		var tdErr="tdConfirmPasswordErr";

		if (password1 != password)
		{
			document.getElementById(tdErr).innerHTML = passwordConfirmErr;
			return false;

		}
		else{
				document.getElementById(tdErr).innerHTML = "";
				return true;
		}

	}
	
	function checkOldPass(id)
	{
		var pass = document.getElementById(id).value;
		var tdErr="tdOldPasswordErr";

		if (pass.length == 0)
		{
			document.getElementById(tdErr).innerHTML = oldPasswordErr;
			return false;
		}
		else{
				document.getElementById(tdErr).innerHTML = "";
				return true;
		}
	}


function checkValidOrganisationName(id){
		
		var namestr = document.getElementById(id).value;
		var tdOrganisationErr="tdOrganisationErr";
		
		if(namestr=="" || namestr==null)
			{
				document.getElementById(tdOrganisationErr).innerHTML = OrganisationErr;
				return false;
			}
		else{
				document.getElementById(tdOrganisationErr).innerHTML = "";
				return true;
		}
	}
	
	
	
	function checkValidContactName(id){
		
		var namestr = document.getElementById(id).value;
		var tdContactNameErr="tdContactNameErr";
		
		if(namestr=="" || namestr==null)
			{
				document.getElementById(tdContactNameErr).innerHTML = contactNameError;
				return false;
			}
		else if(namestr.search(/^[a-zA-Z' ]+$/)==-1){
				document.getElementById(tdContactNameErr).innerHTML = onlyAlphabetsError;
				return false;
		}
		else{
				document.getElementById(tdContactNameErr).innerHTML = "";
				return true;
		}
	}
	

        function checkFieldLength(fn,wn,rn,mc) {
	       		
        		  var len = document.getElementById(fn).value.length;
				  if (len > mc) {
				    document.getElementById(fn).value = document.getElementById(fn).value.substring(0,mc);
				    len = mc;
				  }
				 
				  document.getElementById(wn).innerHTML = len;
				  document.getElementById(rn).innerHTML = mc - len;
				  
		}
	 

		function isValidDateWithId(dateStr,id) 
    {
	    //alert("fn called")
	    // 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 (dateStr!='' && matchArray == null) {
	    alert("Date is not in a valid format.")
	    return false;
	    }
	    if(matchArray)
	    {
		    month = matchArray[3]; // parse date into variables
		    day = matchArray[1];
		    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
    }

function checkPhoneNumber(id)
{
	var namestr = document.getElementById(id).value;
	var tdPhoneErr="tdPhoneErr";
	var isMandatory = true;

	if(namestr=="" || namestr==null)
	{
		if(isMandatory)
		{
			document.getElementById(tdPhoneErr).innerHTML = phoneNumberError;
			return false;
		}
		else
			return true;
	}
	else if(namestr.search(/^[0-9 - -)(+]+$/)==-1)
	{
		document.getElementById(tdPhoneErr).innerHTML = phoneInvalidError;
		return false;
	}
	else
	{
		document.getElementById(tdPhoneErr).innerHTML = "";
		return true;
	}
}



	