//Contract Form Validation
function processForm() {
	if (document.forms[0].date.value == "") {
		alert('You must enter a contract date.');
		document.forms[0].date.focus();
		return false;
	}
	else if (document.forms[0].eventdate.value == "") {
		alert('You must enter a date for the event.');
		document.forms[0].eventdate.focus();
		return false;
	}
	else if (document.forms[0].totalcomp.value == "") {
		alert('You must enter an amount for compensation.');
		document.forms[0].totalcomp.focus();
		return false;
	}
	else if (document.forms[0].deposit.value == "") {
		alert('You must enter an amount for deposit.');
		document.forms[0].deposit.focus();
		return false;
	}
	else if (document.forms[0].balance.value == "") {
		alert('You must enter an amount for balance.');
		document.forms[0].balance.focus();
		return false;
	}
	else {
		document.forms[0].printform.value = "yes";
	}
}

//No Date Validation
function validateNoDates(submitButton) {
	if (submitButton.value == "Submit") {
		if (document.forms[0].date.value == "") {
			alert('A date must be entered.');
			return false;
		} 
		else {
			document.forms[0].newdate.value = 1;
		}
	}
	else if (submitButton.value == "Change") {
		//alert('Change button was pressed.');
		var numBoxes = document.forms[0].check.length;
		//alert('numBoxes is: ' + numBoxes);
		
		var numChecked = 0;
		for (var i = 0; i < numBoxes; i++) {
			if (document.forms[0].check[i].checked) {
				numChecked++;
				break;
			}
		}
				
		if (numChecked > 0) { 
			//alert('numChecked is '+ numChecked);
			if (confirm('You are about to change the status of the items you selected to ' + document.forms[0].newstatus.value + '. Are you sure you want to do this?')) {
			//if (confirm('Are you sure?')) {
				document.forms[0].newdate.value = 2;
			}
			else {
				return false;
			}
		}
		else {
			alert('You have not selected any dates to change!');
			return false;
		}
	}
}

//Function for pop-up window
function openWindow(name) {
	var h, w, name;
	var options;
	if (name == "testimonials") {
		//alert("I'm calling the wedding page.");
		//options = "height=400,"+"width=400,"+"status";
		options = "height=700,"+"width=650,"+"scrollbars";
		//alert(options);
		var aWindow = window.open("DameTestimonials.htm","DameTestimonials",options);
	}
	else if (name == "venues") {
		//alert("I'm calling the events page.");
		options = "height=400,"+"width=500";
		//alert(options);
		var aWindow = window.open("Venues.asp","Venues",options);
	}
	else if (name == "events") {
		//alert("I'm calling the events page.");
		options = "height=530,"+"width=525";
		//alert(options);
		var aWindow = window.open("DameCharityEvent2.htm","DameEventsWindow",options);
	}
	else if (name == "clubs") {
		//alert("I'm calling the info page.");
		options = "height=250,"+"width=300,"+"scrollbars";
		//alert(options);
		var aWindow = window.open("ClubInfo.htm","DameClubInfo",options);
	}
	else if (name == "SunFest") {
		//alert("I'm calling the info page.");
		options = "height=250,"+"width=300,"+"scrollbars";
		//alert(options);
		var aWindow = window.open("SunFestInfo.htm","SunFestInfo",options);
	}
	else {
		return;
	}
}

//Validate the mail list form and make sure values exist --MQ
function validateBookingForm() {
    re = /^\d{1,2}\/\d{1,2}\/\d{4}$/;

    if (document.forms[0].name.value == "") {
		alert("You must enter a name.");
		document.forms[0].name.focus(); 
		return false;
	}
	if ((document.forms[0].email.value == "") && (document.forms[0].phone.value == "")) {
		alert("You must enter an email address or phone number.");
		document.forms[0].phone.focus(); 
		return false;
    }
    if (document.forms[0].date.value != '' && !document.forms[0].date.value.match(re)) {
        alert("Invalid date format: " + document.forms[0].date.value);
        document.forms[0].date.focus();
        return false;
    }
	else {
	    document.forms[0].newlead.value = 1;
	    document.getElementById("form-main").submit();
	}
}

//Validate the values entered on the Event Manager page
function validateEventPage() {
	//alert("Validate function was called.");
	if (document.forms[0].eventid.value == "") {
		alert("The Event ID is not valid!/nReturn to the Event List page and reload record.");
		return false;
	} 
	if (document.forms[0].name.value == "") {
		alert("Event record must have a name.");
		document.forms[0].name.focus(); 
		return false;
	}
	if (document.forms[0].edate.value == "") {
		alert("Lead record must have an Event Date.");
		document.forms[0].edate.focus(); 
		return false;
	}
	else {
		document.forms[0].newevent.value = 2;
		return true;
	}
}

function validateExpensePage() {
	if (document.forms[0].amount.value == "") {
		alert("Expense record must have an amount.");
		document.forms[0].amount.focus(); 
		return false;
	}
	if (document.forms[0].expdate.value == "") {
		alert("Expense record must have an expense date.");
		document.forms[0].expdate.focus(); 
		return false;
	}
	if (document.forms[0].expenseid.value == "") {
		document.forms[0].newexpense.value = 1;
	}
	else {
		document.forms[0].newexpense.value = 2;
	}
	//alert("newexpense value is: " + document.forms[0].newexpense.value);
	return true;
}

function validateNewEvent() {
	//alert("Validate function was called.");
	if (document.forms[0].edate.value == "") {
		alert("Lead record must have an Event Date.");
		document.forms[0].edate.focus(); 
		return false;
	}
	else {
		document.forms[0].newevent.value = 1;
		return true;
	}
}

//Validation for Mail List form --MQ
function validateMailForm() {
	if (document.forms[0].Email.value == "") {
		alert("You must enter an email address.");
		document.forms[0].Email.focus(); 
		return false;
	}
}

//Set the picture index values and submit the form (used on: photos.asp) --MQ
function setPicVals(button) {
			
	if (button.value == "Next") {
		document.forms[0].PicStart.value = document.forms[0].PicEnd.value;
		document.forms[0].submit();
	}
	else if (button.value == "Prev") {
		document.forms[0].PicStart.value = document.forms[0].PicStart.value-20;
		document.forms[0].submit();
	}
	else {
		return;
	}
}

//Select box initialization functions for Lead feature
function setStatusValue(statusVal) {
    for (i = 0; i < document.forms[0].status.length; i++) {
        if (document.forms[0].status.options[i].value == statusVal) {
            document.forms[0].status.options[i].selected = true;
            break;
        }
    }
}

function setYearValue(yearVal) {
    for (i = 0; i < document.forms[0].year.length; i++) {
        if (document.forms[0].year.options[i].value == yearVal) {
            document.forms[0].year.options[i].selected = true;
            break;
        }
    }
}

function setExpenseType(expenseVal) {
	for (i = 0; i < document.forms[0].type.length; i++) {
		if (document.forms[0].type.options[i].value == expenseVal) {
			document.forms[0].type.options[i].selected = true;
			break;
		}
	}
}

function setEventType(eventVal) {
	for (i = 0; i < document.forms[0].etype.length; i++) {
		if (document.forms[0].etype.options[i].value == eventVal) {
			document.forms[0].etype.options[i].selected = true;
			break;
		}
	}
}

function setFNameValue(fnameVal) {
	for (i = 0; i < document.forms[0].fname.length; i++) {
		if (document.forms[0].fname.options[i].value == fnameVal) {
			document.forms[0].fname.options[i].selected = true;
			break;
		}
	}
}

function setYearValue(yearVal) {
	for (i = 0; i < document.forms[0].year.length; i++) {
		if (document.forms[0].year.options[i].value == yearVal) {
			document.forms[0].year.options[i].selected = true;
			break;
		}
	}
}

function setFilterValues(ftype, fvalue) {
	for (i = 0; i < document.forms[0].filter.length; i++) {
		if (document.forms[0].filter.options[i].value == ftype) {
			document.forms[0].filter.options[i].selected = true;
			break;
		}
	}
	document.forms[0].filtervalue.value = fvalue;
}

function getExpenseTypes() {
	for (i = 0; i < typeArray.length; i++) {
		document.writeln(typeArray[i]);
	}
}

function convertMiles() {
	if (document.forms[0].type.options[document.forms[0].type.selectedIndex].text=='Mileage') {
		var rate = getMileageRate(document.forms[0].expdate.value);
		var miles = prompt("How many miles were driven?","");
		if (miles != "") {
			document.forms[0].amount.value = (rate/100) * miles;
			document.forms[0].description.value = "Mileage: " + rate + " cents x " + miles;
		}
		return true;
	}
	else {
		return false;
	}
}

function getMileageRate(date) {
	//alert(date);
	//var rate = 44.5; //2006
	//var rate = 48.5; //2007
	//var rate = 50.5; //Rates 1/1 through 6/30/08
    //var rate = 58.5; //Rates 7/1 through 12/31/08
    //var rate = 55;   //Rates 1/1/2009
    //var rate = 50;   //Rates 1/1/2010
    var rate = 51;     //Rates 1/1/2011
	/*
	if (date >= new Date("January 01, 2005") && date <= new Date("August 31, 2005")) {
		rate = 40.5;
	}
	else if (date >= new Date("September 1, 2005") && date <= new Date("December 31, 2005")) {
		rate = 48.5;
	}
	else if (date > new Date("January 1, 2006") && date <= new Date("December 31, 2006")) {
		rate = 44.5;
	}
	else {
		rate = 0;
	}
	*/
	return rate; 
} 

function calculateCommission() {
	var commission, rate;
	rate = prompt("Enter the commission rate.", ".15");
	commission = (document.event.price.value * rate);
	document.event.commission.value = commission;
	return;
}

//Return the selected venue (used in: Venues.asp)
function getSelectedVenue() {
	var venueId;
	venueId = document.forms[0].Venues.options[document.forms[0].Venues.selectedIndex].value;
	//alert("The venueId is: " + venueId);
	window.location.href = "Venues.asp?VenueID=" + venueId;
}

//Sends popup window form data back to the appropriate parent form fields
function sendToForm(vForm) {
	var fullAddress;
	fullAddress = vForm.VenueStreet.value + "\n" + vForm.VenueCity.value + ", " + vForm.VenueState.value + " " + vForm.VenueZip.value;
	self.opener.document.forms[0].elocation.value = vForm.VenueName.value;
	self.opener.document.forms[0].eaddress.value = fullAddress;
	self.opener.document.forms[0].lphone.value = vForm.VenuePhone.value;
	self.opener.document.forms[0].url.value = vForm.VenueURL.value;
	window.close();
}

function processVenue(vForm, processFlag) {
	if (processFlag == 1) {
	    if (vForm.VenueName.value == "") {
	        alert("Venue must have a name.");
	        vForm.VenueName.focus();
	        return false;
	    }
	    vForm.ProcessVenue.value = 1; //add
	    //alert("vForm ProcessVenue value is: " + vForm.ProcessVenue.value);
	    vForm.submit();
	    return true;
	}
	else if (processFlag == 2) {
		vForm.ProcessVenue.value = 2; //update
		//alert("vForm ProcessVenue value is: " + vForm.ProcessVenue.value);
		vForm.submit();
		return true;
    }
    else if (processFlag == 3) {
        vForm.ProcessVenue.value = 3; //update
        //alert("vForm ProcessVenue value is: " + vForm.ProcessVenue.value);
        vForm.submit();
        return true;
    }
}

//Used for anywhere a date chooser is necessary
function createCalendar(fieldName) {
    var cal = new calendar2(fieldName);
    cal.year_scroll = true;
    cal.time_comp = true;
    cal.popup();
}
