/*
-------------------------------------------------------------------------------------------------------------	
	Description	:	This files contains general purpose library functions. 
-------------------------------------------------------------------------------------------------------------	
*/	 
 
	// Contact us form constants
	var Err_YourName = "Name can contain alphabets and spaces only. It can't be empty."
	var Err_Comments = "Invalid Comments."
	var Err_Email = "Invalid Email."
	var Err_Email_blank = "Email cannot be blank."
 
	
	// Global constants for the validation patterns
	var vld_ShortName =/^[0-9a-zA-Z_]*$/
	var vld_Email =  /^(([a-zA-Z0-9\_\-\.]*)@([a-zA-Z0-9\_\-\.]*)([a-zA-Z0-9]*))$/
	 
	
	var gStErrMsg = ""

	function isDigit (c)
	{
		return ((c >= "0") && (c <= "9"))
	}
	
    function trim(s) {
		try
		{
		    while (s.substring(0,1) == ' ') {
			    s = s.substring(1,s.length);
		    }
		    while (s.substring(s.length-1,s.length) == ' ') {
			    s = s.substring(0,s.length-1);
		    }
		}
		catch (e)
		{
		 //nothin
		}
		return s;
	}
	
	
	function isTitle(sTitle)
		{
			var reTitle=/^[a-zA-Z0-9_ ]*$/;	
			if(!reTitle.test(sTitle))
			{						
				return false;
			}
			return true;
		 }		


  

	function isEmail(aStr)
	{
		var reEmail=/^[0-9a-zA-Z_\.-]+\@[0-9a-zA-Z_\.-]+\.[0-9a-zA-Z_\.-]+$/;
		if(!reEmail.test(aStr))
		{
			return false;
		}
		return true;
	}

   	
 function LeapYear(intYear) 
 {
	if (intYear % 100 == 0) {
		if (intYear % 400 == 0) { return true; }
	}
	else { 
		if ((intYear % 4) == 0) { return true; }
	}
	return false;
}

function checkDate(dt)
{
	var reg = new RegExp("[0-9]{1,2}/[0-9]{1,2}/[0-9]{4}$");
	if(reg.test(dt))
	{
		var datepart = dt.split("/");
		for(i=0;i<datepart.length;i++)
			datepart[i] = parseInt(parseFloat(datepart[i]));
		if(datepart[1] > 31 || datepart[0] > 12)
			return false;
		else if((datepart[0] == 4 || datepart[0] == 6 || datepart[0] == 9 || datepart[0] == 11) && datepart[1] == 31)
			return false;	
		else if(datepart[0] == 2)
		{
			if(datepart[1] > 29)
				return false;
			if(!LeapYear(datepart[2]) && datepart[1] == 29)
				return false;
		}
		return true;						
	}
	return false;			
	
}

function isInteger(s){
    
	var i;
	s = trim(s+'');
	try{plen = s.length;}
    catch(e)
    {	 plen= 0;}
	 
    for (i = 0; i < s.plen; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}



function isFloat(s){
	var i;
	var reFloat = /^((\d+(\.\d*)?)|((\d*\.)?\d+))$/;
  
	if (reFloat.test(s) == false)
		return false;

    // All characters are numbers.
    return true;
}

function IsValidTime(timeStr) {
// Checks if time is in HH:MM:SS AM/PM format.
// The seconds and AM/PM are optional.

var timePat = /^(\d{1,2}):(\d{2})(:(\d{2}))?(\s?(AM|am|PM|pm))?$/;

var matchArray = timeStr.match(timePat);

	if (matchArray == null)
	{
		alert("Time is not in a valid format.");
		return false;
	}
	hour = matchArray[1];
	minute = matchArray[2];
	second = matchArray[4];
	ampm = matchArray[6];

	if (second=="") { second = null; }
	if (ampm=="") { ampm = null }

	if (hour < 0  || hour > 23) 
	{
		alert("Hour must be between 1 and 12. (or 0 and 23 for military time)");
		return false;
	}
	//if (hour <= 12 && ampm == null) 
	{
		//if (confirm("Please indicate which time format you are using.  OK = Standard Time, CANCEL = Military Time")) {
	//	alert("You must specify AM or PM.");
	//	return false;
	//}
}
if  (hour > 12 && ampm != null) {
//alert("You can't specify AM or PM for military time.");
alert("You can't specify AM or PM ");
return false;
}
if (minute<0 || minute > 59) {
alert ("Minute must be between 0 and 59.");
return false;
}
if (second != null && (second < 0 || second > 59)) {
alert ("Second must be between 0 and 59.");
return false;
}
return true;
}
//compare  dates
function doDateCheck(from, to) {
if (Date.parse(from.value) <= Date.parse(to.value)) {
return true;
}
else {
		
				alert("End date should be more than start date.");
				return false;
		
   }
}

function keyIsNumber()
{

var isNS4 = (navigator.appName=="Netscape")?1:0;
if(!isNS4)
	{
	
		if(event.keyCode < 45 || event.keyCode > 57) 
			event.returnValue = false;
	}
else
	{
	if(event.which < 45 || event.which > 57) 
		return false;
	}
}