//****************************************************************************
// FORMAT DATE INTO DD/MM/YYYY
//****************************************************************************
function FormateDate(date1)
{
	if(date1.length <6) 
	{
		return date1;
	}
	var Pos = date1.indexOf("/",0);
	var Mon = date1.substring(0, Pos);
	Pos +=1;
	var newPos = date1.indexOf("/", Pos);
	var mDay = date1.substring(Pos, newPos);
	Pos = newPos +1
	var mYear = date1.substring(Pos, date1.length);
	if(mDay.length != 2) mDay = "0" + mDay;
	if(Mon.length != 2) Mon = "0" + Mon;
	if(mYear.length == 2) mYear = "20" + mYear;
	return (Mon + "/" + mDay + "/" + mYear);
}
//****************************************************************************
//	ADD DAYS IN VALID DATE
//****************************************************************************
function AddDays(mDate, Days)
	{
	return (new Date(mDate.getTime() + (Days * 24 * 60 * 60 *1000)));
}
//****************************************************************************
// CHECK FOR VALID DATE INPUT
//****************************************************************************
function ValidDate(Val1)
{
	if(Val1.indexOf(" ") != -1 || Val1.indexOf("/") == -1 || Val1.indexOf("/") == Val1.lastIndexOf("/"))
	{
		return false;
	}
	if(Val1.length != 10) return false;
	var mMonth, mDay, mYear;
	mMonth = Val1.substring(0,2);
	mDay = Val1.substring(3,5);
	if(Val1.length == 8)
		mYear = Val1.substring(6,8);
	else if(Val1.length == 10)
		mYear = Val1.substring(6,10);
	var IsLeapYear;
	var IsValid = true;
	if(mYear%4 == 0)
		IsLeapYear = true;
	else
		IsLeapYear = false;

	if((mMonth <= 0 || mMonth > 12) || (mDay <= 0 || mDay > 31)) IsValid = false;
	if ((mMonth == '04' | mMonth == '06' || mMonth == '09' || mMonth == '11') && (mDay > 30)) IsValid = false
	if(!IsLeapYear)
	{
		if(mMonth == '02' && mDay > 28)IsValid = false;
	}
	else
	{
		if(mMonth == '02' && mDay > 29) IsValid = false;
	}
	if(mMonth.indexOf("/") != -1 || mDay.indexOf("/") != -1 || mYear.indexOf("/") != -1) IsValid = false;
	return IsValid;
}
function AddOne()
{
	var Field1= document.forms[0].txtPickupDate;
	var Field2 = document.forms[0].txtDropoffDate;
	
	var D = new Date(Field1.value);
	D = AddDays(D,1)
	Field2.value = FormateDate(D.getMonth()+1 + "/" + D.getDate() + "/" + D.getFullYear());
}
//-----------------------------------------------------------------------------
//	CHECKS IF EMAIL STARTING CHARACTER IS VALID	
//-----------------------------------------------------------------------------
function IfValidStartingChr(Ch)
{
	var Chrs = "@!#$%^&*()~`';:|\[]{}><,?/-_+01234567890.";
	if(Ch.length > 1) return false;
	if(Chrs.indexOf(Ch) != -1 ) return false;
	return true;
}
//-----------------------------------------------------------------------------
//	CHECK FOR INVALID CHARACTERS IN AN EMAIL ADDRESS
//-----------------------------------------------------------------------------
function IfInvalidChrs(Val)
{
	var Chrs = "!#$%^&*()~`';:|\[]{}><,?/+";
	var I;
	for(I = 0; I < Val.length; I++)
	{
		var Ch = Val.substring(I,I + 1);
		
		if(Chrs.indexOf(Ch) != -1)
		{
			return false;
			break;
		}
	}
	return true;
}
//-----------------------------------------------------------------------------
//	CHECK FOR "@" SIGN OCCURRENCE
//-----------------------------------------------------------------------------
function IfMultiple_AT_Sign(Val)
{
	var I;
	var Once = false;
	var LastOccurrence = Val.indexOf("@");
	if(LastOccurrence == -1) return true;
	try
	{
		if(LastOccurrence == Val.length -1) return true;
		LastOccurrence = Val.indexOf("@", LastOccurrence + 1);
		if(LastOccurrence != -1) return true;
	}
	catch(e)
	{
		return true;
	}
	return false;
}
//-----------------------------------------------------------------------------
//	CALLS SUPPORTING FUNCTIONS AND VALIDATES EMAIL ADDRESS
//-----------------------------------------------------------------------------	
function ValidEmail(Fld, Msgs)
{
	if(Fld.value != '' && Fld.value.length > 1) 
	{
		if(!IfValidStartingChr(Fld.value.substring(0,1)))
		{
			if(Msgs) alert("Invalid email. Starting with an invalid charcter.");
			return false;
		}
		else if(!IfInvalidChrs(Fld.value))
		{
			if(Msgs) alert("Invalid email. Invalid character is part of email address.");
			return false;
		}
		else if(IfMultiple_AT_Sign(Fld.value))
		{
			if(Msgs) alert("Invalid email. Invalid positioning of character \"@\" or it doesn't exisit.");
			return false;
		}
		else if(Fld.value.indexOf(".") == -1 ||
				Fld.value.lastIndexOf(".") == Fld.value.length-1 ||
				Fld.value.indexOf("@")+1 == Fld.value.indexOf(".") ||
				Fld.value.indexOf(".")+1 == Fld.value.indexOf("@") ||
				Fld.value.indexOf("@") > Fld.value.lastIndexOf(".") )
		{
			if(Msgs) alert("Invalid email. Invalid positioning of character \".\" or it doesn't exisit.");
			return false;
		}
		else if(Fld.value.indexOf(" ") != -1)
		{
			if(Msgs) alert("Invalid email. Spaces are not allowed in email addresses.");
			return false;
		}
	}
	else
	{
		alert("Invalid Email.");
		return false;
	}
	return true;
}
//-----------------------------------------------------------------------------
// CHECK IF INPUT IS JUST NUMBERS
//-----------------------------------------------------------------------------
function ValidNumbers(IncludePoint, Val)
{
	var Arr;
	Arr = "0123456789";
	if(IncludePoint) Arr += ".";
	try{
		if(Val.length <= 0) return false;
	}catch(e){
		return false;
	}
	if(Val.indexOf(" ") == 0)return false;
	var I;
	var CH;
	for (I = 0; I < Val.length; I++)
	{
		CH = Val.substring(I, I+1);
		if(Arr.indexOf(CH) == -1) return false;
	}
	return true;
}
//-----------------------------------------------------------------------------
//	VALIDATE PHONE NUMBER
//-----------------------------------------------------------------------------
function ValidPhone(Val)
{
	var Arr = "0123456789-";
	try{
		if(Val.length <= 0) return false;
	}catch(e){
		return false;
	}
	if(Val.indexOf(" ") == 0)return false;
	var I;
	var CH;
	for (I = 0; I < Val.length; I++)
	{
		CH = Val.substring(I, I+1);
		if(Arr.indexOf(CH) == -1) return false;
	}
	return true;
}