function ltrim ( s )
{
	return s.replace( /^\s*/, "" )
}

function rtrim ( s )
{
	return s.replace( /\s*$/, "" );
}

function trim ( s )
{
	return rtrim(ltrim(s));
}

function checkdate(dateField, fmt)
{
// ------------- Checking for date in MM/DD/YYYY format ---------------------

	var expirydate="";
	var date="";
	var month="";
	var year="";
	expirydate = dateField;
	if (fmt == "us")
	{
		month=expirydate.substring(0,expirydate.indexOf("/"));
		date=expirydate.substring((expirydate.indexOf("/")+1),expirydate.indexOf("/",(expirydate.indexOf("/")+2)));
		year=expirydate.substring((expirydate.lastIndexOf("/")+1));
	}
	else
	{
		date=expirydate.substring(0,expirydate.indexOf("/"));
		month=expirydate.substring((expirydate.indexOf("/")+1),expirydate.indexOf("/",(expirydate.indexOf("/")+2)));
		year=expirydate.substring((expirydate.lastIndexOf("/")+1));
	}

	if(expirydate.indexOf("/")==-1)
	{
		alert("Invalid Date Format");
		return false;
	}

	if(isNaN(date) || isNaN(month) || isNaN(year))
	{
		alert("Enter Date In Numerics Only");
		return false;
	}

	if(date > 31 || date < 1)
	{
		alert("Invalid Day Of Month");
		return false;
	}

	if(month > 12 || month < 1)
	{
		alert("Invalid Month");
		return false;
	}

	if(year < 1850 || year > 5002)
	{
		alert("Invalid Year");
		return false;
	}

	if(month == 4 || month == 6 || month == 9 || month == 11)
	{
		if(date > 30)
		{
			alert("Invalid Date Of Month")
			return false;
		}
	}

	if(month == 2)
	{
//----------- checking for leap year-------------
		var lyear=year-1848
		if((lyear%4==0) && (date<30))
		{
			if(date > 29)
			{
				alert("Invalid Date Of Month")
				return false;
			}
			//alert("leap year")
		}
		else if(date > 28)
		{
			alert("Invalid Date Of Month")
			return false;
		}
	}
	
	return true;

}

	var today = new Date();
	var cYear = today.getYear();
	var cMonth = today.getMonth() + 1;
	var cDate = today.getDate();
	var strTodaysDate = cMonth + "/" + cDate + "/" + cYear;

function DaysDiff(D1, D2) 
{ // Date Objects, with similar times
	return Math.round((D1-D2)/864e5) 
}

function DiffDays(S1, S2) 
{ // ISO date strings
	var X = ReadISO8601date(S1) ; if (X<0) return 'Date 1 bad'
	var Y = ReadISO8601date(S2) ; if (Y<0) return 'Date 2 bad'
	var Dx = Date.UTC(X[0], X[1]-1, X[2])
	var Dy = Date.UTC(Y[0], Y[1]-1, Y[2])
	return (Dx-Dy)/864e5 
}

function validateEmail(str) {
  var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; // not valid
  var reg2 = /^.+\@(\[?)[a-zA-Z0-9\_\-\.]+\.([a-zA-Z]{2,5}|[0-9]{1,5})(\]?)$/; // valid
  if (!reg1.test(str) && reg2.test(str)) { // if syntax is valid
    return true;
  }
  return false;
}


function textCounter(field, countfield, maxlimit) {
if (field.value.length > maxlimit) // if too long...trim it!
field.value = field.value.substring(0, maxlimit);
// otherwise, update 'characters left' counter
else 
countfield.value = maxlimit - field.value.length;
}
