function Validate()
{
	if(TrimString(document.frmOrders.txtfName.value)=="")
	{
		alert("Please enter the First Name");
		document.frmOrders.txtfName.focus();
		return;
	}
	if (!isSpecialChar(document.frmOrders.txtfName.value))
	{
		alert("Please enter a valid First Name");
		document.frmOrders.txtfName.focus();
		document.frmOrders.txtfName.value = "";
		return;
	}
	if (TrimString(document.frmOrders.txtlName.value)!="")
	{
		if (!isSpecialChar(document.frmOrders.txtlName.value))
		{
			alert("Please enter a valid Last Name");
			document.frmOrders.txtlName.focus();
			document.frmOrders.txtlName.value = "";
			return;
		}
	}
	
	if(TrimString(document.frmOrders.txtAddress.value)=="")
	{
		alert("Please enter the Address");
		document.frmOrders.txtAddress.focus();
		return;
	}
	
	if(TrimString(document.frmOrders.txtCity.value)=="")
	{
		alert("Please enter the City");
		document.frmOrders.txtCity.focus();
		return;
	}
	var cmbStateObj=document.frmOrders.cmbState;
	if(cmbStateObj.options[cmbStateObj.selectedIndex].value=="")
	{
		alert("Please select a State");
		cmbStateObj.focus();
		return;
	}
	if(document.frmOrders.txtZip.value=="")
	{
		alert("Please enter the Zip Code");
		document.frmOrders.txtZip.focus();
		return;
	}
	if (!isSpecialChar(document.frmOrders.txtZip.value))
	{
		alert("Please enter a valid Zip code ");
		document.frmOrders.txtZip.focus();
		document.frmOrders.txtZip.value = "";
		return;
	}
	if(TrimString(document.frmOrders.txtPhone.value)!="")
	{
		if(!ValidatePhone(document.frmOrders.txtPhone))
		{
			document.frmOrders.txtPhone.focus();
			document.frmOrders.txtPhone.value = "";
			return;
		}
	}
	else
	{
		alert("Please enter a Phone number");
		document.frmOrders.txtPhone.focus();
		return;
	}
	if(TrimString(document.frmOrders.txtFax.value)!="")
	{
		if(!ValidatePhone(document.frmOrders.txtFax))
		{
			document.frmOrders.txtFax.focus();
			document.frmOrders.txtFax.value = "";
			return;
		}
	}
	if(TrimString(document.frmOrders.txtEmail.value)=="")
	{
		alert("Please enter the Email Address.");
		document.frmOrders.txtEmail.focus();
		return;
	}
	if(!isEmail(TrimString(document.frmOrders.txtEmail.value)))
	{
		document.frmOrders.txtEmail.focus();
		document.frmOrders.txtEmail.value = "";
		return;
	}
	if(document.frmOrders.txtEvtDate.value=="")
	{
		alert("Please select the Date of Event.");
		document.frmOrders.txtEvtDate.focus();
		return;
	}
	else
	{
		if(!CheckDate(document.frmOrders.txtEvtDate.value))
		{
			return;
		}
	}
	var cmbTimObj=document.frmOrders.cmbTime;
	if(cmbTimObj.options[cmbTimObj.selectedIndex].value=="")
	{
		alert("Please select the Time of Event.");
		cmbTimObj.focus();
		return;
	}
	if(TrimString(document.frmOrders.txtPersons.value)=="")
	{
		alert("Please enter the No. of People.");
		document.frmOrders.txtPersons.focus();
		return;
	}
	else
	{
		if(isNaN(document.frmOrders.txtPersons.value))
		{
			alert("Please enter the valid No. of People.");
			document.frmOrders.txtPersons.focus();
			document.frmOrders.txtPersons.value ="";
			return;
		}
		if(document.frmOrders.txtPersons.value<=0)
		{
			alert("No. of people must be greater than zero.");
			document.frmOrders.txtPersons.focus();
			return;
		}
			
	}
	document.frmOrders.submit();
}

if(document.layers)
{
	document.captureEvents(Event.KEYDOWN | Event.KEYUP)
}
function CheckKeyCode(objEvent,objval,obj,isMask)
{
	var Obj, keyvalue;
	if(document.all)
		keyvalue=window.event.keyCode
	if(document.layers)
		keyvalue=objEvent.which;
	
	if((keyvalue<48 || keyvalue>57) && keyvalue!=8)
	{
		if(document.all)
		window.event.keyCode=0;
		return false;
	}
	if((isMask)&& (document.all))
	maskIt(objval,obj)
	return true;
}

//Function to submit form on "Enter" when focus is in the last required field.
function OnEnterKey()
{
	if(window.event.keyCode==13)
	{
		Validate();
	}
}

/*=====================
	Calender functions
=====================*/
// initialize variables 
var ppcIE=((navigator.appName == "Microsoft Internet Explorer") || ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion)==5)));
var ppcNN6=((navigator.appName == "Netscape") && (parseInt(navigator.appVersion)==5));
//var ppcIE=(navigator.appName == "Microsoft Internet Explorer");
var ppcNN=((navigator.appName == "Netscape")&&(document.layers));
var objCalendar;
var objWin;

function getOffsetLeft (el)
{
    var ol = el.offsetLeft;
    while ((el = el.offsetParent) != null)
        ol += el.offsetLeft;
    return ol;
}

function getOffsetTop (el) {
    var ot = el.offsetTop;
    while((el = el.offsetParent) != null)
        ot += el.offsetTop;
    return ot;
}

function SelectFromCalendar(frmName,dteBox,btnImg,obj,prevYrs,nxtYrs,calTop,calLeft)
{
	if(obj.value!="")
	{
	objCal=obj.value
	}
   else
    {	
	objCal=new Date();
	}
	
	objprevYrs = prevYrs;
	objnxtYrs = nxtYrs;
	objfrmName = frmName;
	objdateCtrl = dteBox;
	if ( ppcIE ) {
        ppcX = getOffsetLeft(document.images[btnImg]);    
        ppcY = getOffsetTop(document.images[btnImg]) + document.images[btnImg].height;
    }
    else if (ppcNN){
        ppcX = document.images[btnImg].x; 
        ppcY = document.images[btnImg].y + document.images[btnImg].height;
    }
	if ((calLeft) && (calTop) && calTop != "" && calLeft != "")
       {
	   	ppcX = calTop ;    
        ppcY = calLeft;
       }
	dateSelected=eval("obj");
	objCalendar=window.open("Calendar.htm","Calendar", "width=" + 195 + ",height=" + 170 +",left=" + ppcX +",top=" + ppcY +",screenX=" +ppcX +",screenY=" +ppcY);
	objCalendar.focus();
	return false;
}

function CheckDate(iEvtDate)
{
	var EventDate= new Date(iEvtDate)
	var EvtDate = (EventDate.getMonth()+1) + "/" + EventDate.getDate() + "/" + EventDate.getYear()
	var ToDate=new Date()
	var CurDate = (ToDate.getMonth()+1) + "/" + ToDate.getDate() + "/" + ToDate.getYear()
	if(EvtDate!=CurDate)
	{
		if(EventDate < ToDate)
		{
			alert("Event Date must be greater than or equal to today's date");
			document.frmOrders.txtEvtDate.value="";
			document.frmOrders.txtEvtDate.focus();
			return false;
		}
	}
	return true;
}
