// David Trewern Design JAVASCRIPT - Copyright © 2002 David Trewern Design

// ************* MENU MOUSE OVER SCRIPT ***********
function BturnOn(imageName,swapImg) {
  if (document.images) { document [imageName + swapImg].src = eval("b" + imageName + "1.src"); }
}

function BturnOff(imageName,swapImg) {
  if (document.images) { document [imageName + swapImg].src = eval("b" + imageName + "0.src"); }
}

if (document.images) {
  NAVarr = new Array("introduction","transport","financial","insurance","contact", "FSG", "Policy", "Credit", "Submit", "Reset", "Close", "Motor", "Business");
  for (var NAVitem in NAVarr) {
    for (var NAVicount=0; NAVicount < 2; NAVicount++) {
      eval("b" + NAVarr[NAVitem] + NAVicount + " = new Image()");
      eval("b" + NAVarr[NAVitem] +  NAVicount + ".src = 'images/swap_" + NAVarr[NAVitem] + NAVicount + ".gif'");
    }
  }
}

function ValidForm(Form) {
	if (document.getElementById("txtName").value == "") {
		alert("Please enter name");
		return false;
	}
	if (document.getElementById("txtPhone").value == "") {
		alert("Please enter phone number");
		return false;
	}
	if (document.getElementById("txtTimeToCall").value == "") {
		alert("Please enter the best time to call");
		return false;
	}
	if (document.getElementById("txtEmail").value == "") {
		alert("Please enter an E-mail address");
		return false;
	}
	if (CheckEmail(document.getElementById("txtEmail"))) {
		alert("Please enter a valid E-mail address");
		return false;
	}			
	if (isNaN(document.getElementById("txtNoYears").value)) {
		alert("Years in business must be a number");
		return false;
	}	
	if (ComboBoxSelected(document.getElementById("cmbDay")) && ComboBoxSelected(document.getElementById("cmbMonth")) && ComboBoxSelected(document.getElementById("cmbYear"))) {
		var pDate = document.getElementById("cmbDay").value+"-"+document.getElementById("cmbMonth").value+"-"+document.getElementById("cmbYear").value;
		if (!(CheckDate(pDate))) {
			alert("Insurance required from date is invalid\n\nInsurance required date cannot be before today's date.");
			return false;
		}
	}
	switch(Form) {
		case "Credit":
			if (isNaN(document.getElementById("txtNoEmployee").value)) {
				alert("Number of employees must be a number");
				return false;
			}
			var pSales = document.getElementById("txtAnnualSales").value.replace("$", "");
			pSales = pSales.replace(/,/gi, "");			
			if (isNaN(pSales)) {
				alert("Annual Sales must be a number");
				return false;
			}
			break;
		case "Business":
			if (isNaN(document.getElementById("txtNoEmployee").value)) {
				alert("Number of employees must be a number");
				return false;
			}
			var pSales = document.getElementById("txtAnnualSales").value.replace("$", "");
			pSales = pSales.replace(/,/gi, "");			
			if (isNaN(pSales)) {
				alert("Sum insured must be a number");
				return false;
			}
			break;
		case "Motor":
			if (isNaN(document.getElementById("txtRadius").value)) {
				alert("Radius must be a number");
				return false;
			}
			if (isNaN(document.getElementById("txtYear1").value)) {
				alert("Vehicle year must be a number");
				return false;
			}
			if (isNaN(document.getElementById("txtSum1").value)) {
				alert("Vehicle sum insured must be a number");
				return false;
			}
			if (isNaN(document.getElementById("txtYear2").value)) {
				alert("Vehicle year must be a number");
				return false;
			}
			if (isNaN(document.getElementById("txtSum2").value)) {
				alert("Vehicle sum insured must be a number");
				return false;
			}
			if (isNaN(document.getElementById("txtYear3").value)) {
				alert("Vehicle year must be a number");
				return false;
			}
			if (isNaN(document.getElementById("txtSum3").value)) {
				alert("Vehicle sum insured must be a number");
				return false;
			}			
			break;
	}
	switch(Form) {
		case "Credit":
			document.frmCreditQuote.submit();
			break;
		case "Business":
			document.frmBusinessQuote.submit();
			break;
		case "Motor":
			document.frmMotorQuote.submit();
			break;
	}
}

function CheckEmail(object) {
	if (object.length == 0) {
		return true;
	}
	if (((object.value.indexOf("@") > -1) && (object.value.indexOf(".") > -1))) {
		return false;    
	}
	return true;
}

function ComboBoxSelected(object) {
	if (object.selectedIndex == 0) {
		return false;
	}
	return true;
}

function CheckDate(object) {
	if (object.length == 0) {
		return true;
	}
	
	pYearSeparator = object.indexOf("-", 3); // Get location of Year separator
	
	if (pYearSeparator == -1 || (pYearSeparator + 1 ) == object.length) {
		return false;
	}
	pYear = object.substring(pYearSeparator + 1);
	
	pDaySeparator = object.indexOf("-"); // Get location of Day separator

	if (pDaySeparator == -1 || (pDaySeparator + 1 ) == object.length) {
		return false;
	}
	pMonth = object.substring(pDaySeparator + 1, pYearSeparator);
	
	if (pMonth.length == 0) {
		return false;
	}
	
	pDay = object.substring(0,pDaySeparator);
	if (pDay.length == 0) {
		return false;
	}
	
	if (!CheckInteger(pMonth)) {		
		return false;
	}
	else if (!CheckRange(pMonth, 1, 12)) {
		return false;
	}
	else if (!CheckInteger(pYear)) {
		return false;
	}
	else if (!CheckRange(pYear, 0, 9999)) {
		return false;
	}
	else if (!CheckInteger(pDay)) {
		return false;
	}
	else if (!CheckDay(pYear, pMonth, pDay)) {
		return false;
	}
	else if (BeforeCurrentDate(pYear, pMonth, pDay)) {
		return false;
	}
	else {
		return true;
	}
}

function CheckInteger(object) {
	if (object.length == 0) {
		return true;
	}
	var decimal_format = ".";
	var check_char;
	
	check_char = object.indexOf(decimal_format);
	
	if (check_char < 1) {				
		return CheckNumber(object);
	}
	else {
		return false;
	}
}

function CheckRange(object, min_value, max_value) {	
	if (object.length == 0) {
		return true;
	}
	if (!CheckNumber(object)) {
		return false;
	}
	else {
		return (NumberRange((eval(object)), min_value, max_value));
	}
	return true;
}

function CheckDay(checkYear, checkMonth, checkDay) {
	maxDay = 31;
	
	if (checkMonth == 4 || checkMonth == 6 ||	checkMonth == 9 || checkMonth == 11) {
		maxDay = 30;
	} else if (checkMonth == 2)	{
		if (checkYear % 4 > 0)
			maxDay =28;
		else if (checkYear % 100 == 0 && checkYear % 400 > 0)
			maxDay = 28;
		else
			maxDay = 29;
	}
	
	return CheckRange(checkDay, 1, maxDay);
}

function BeforeCurrentDate(checkYear, checkMonth, checkDay) {
	var CurrentDate = new Date();
	CurrentDate.setDate(CurrentDate.getDate() -1);
	var EnteredDate = new Date(checkYear, checkMonth - 1, checkDay);
	
	if (EnteredDate > CurrentDate) {
		return false;
	}
	return true;
}

function CheckNumber(object) {	
	if (object.length == 0) {
		return true;
	}
	var start_format = " .+-0123456789";
	var number_format = " .0123456789";
	var check_char;
	var decimal = false;
	var trailing_blank = false;
	var digits = false;
	
	check_char = start_format.indexOf(object.charAt(0));
	
	if (check_char == 1) {
		decimal = true;
	}
	else if (check_char < 1) {
		return false;
	}
	
	for (var i = 0; i < object.length; i++)	{
		check_char = number_format.indexOf(object.charAt(i));
		
		if (check_char < 0) {
			return false;
		} else if (check_char == 1)	{
			if (decimal)
				return false;
			else
				decimal = true;
		} else if (check_char == 0) {
			if (decimal || digits)	
			trailing_blank = true;
		}	else if (trailing_blank) { 
			return false;
		} else {
			digits = true;
		}
	}	
	
	return true;
}

function NumberRange(object, min_value, max_value) {
	if (min_value != null) {
		if (object < min_value)
			return false;
	}

	if (max_value != null) {
		if (object > max_value)
			return false;
	}
	
	return true;
}
