// Disable Enter Key On Form
function handleEnter(field, event) {
	var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
	if (keyCode == 13) {
		var i;
		for (i = 0; i < field.form.elements.length; i++)
			if (field == field.form.elements[i])
				break;
		i = (i + 1) % field.form.elements.length;
		field.form.elements[i].focus();
		return false;
	} 
	else
	return true;
}


// Only Allow Numeric and . To Be Entered
function onlyNumsAllowed() {
  var iKeyCode;
  iKeyCode = event.keyCode;
	//  If key pressed is not 0 - 9, don't allow it through.
	if( iKeyCode < 48 || iKeyCode > 57 )
			event.keyCode = null;
}

// Validate Form Fields On Enquiry Form
function validateFields_Enquiry(suburbCheck) {
	var forminvalid = false;
	var formtext = "";
	var requireSuburb = suburbCheck;
	formtext = '';
	formtext = formtext + 'Please review the following errors and re-submit the form:\n\n';
	if (document.enquiryForm.name.value == "") {
		formtext = formtext + '  - Name (Missing)\n';
		forminvalid = true;
	}
	if (document.enquiryForm.email.value == "") {
		formtext = formtext + '  - Email (Missing)\n';
		forminvalid = true;
	}
	
	// Check Email
	var str=document.enquiryForm.email.value
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	if (filter.test(str)) {
	} else {
		formtext = formtext + '  - Email (Invalid)\n';
		forminvalid = true;
	}
	
	if (document.enquiryForm.phone.value == "") {
		formtext = formtext + '  - Phone (Missing)\n';
		forminvalid = true;
	}
	
	// Check Suburb, If Required
	if (requireSuburb !== undefined) {
		if (document.enquiryForm.suburb.value == "") {
			formtext = formtext + '  - Suburb (Missing)\n';
			forminvalid = true;
		}
	}
	
	// href check for comments
	var comments =document.enquiryForm.comments.value;
	if (comments.indexOf("href=")!=-1){
	formtext = formtext + '  - Enquiry (HTML Links Are Not Permitted)\n';
	forminvalid = true;
	}

	
	if (forminvalid == true)
	{
		alert(formtext);
		return false;
	}
	else
	{
		return true;
	}
}


// Validate Form Fields On Enquiry Form
function validateFields_Enquiry_JohnHughes() {
	var forminvalid = false;
	var formtext = "";
	formtext = '';
	var minLength = 8; // Minimum length
	
	formtext = formtext + 'Please review the following errors and re-submit the form:\n\n';
	if (document.enquiryForm.name.value == "") {
		formtext = formtext + '  - Name (Missing)\n';
		forminvalid = true;
	}
	if (document.enquiryForm.email.value == "") {
		formtext = formtext + '  - Email (Missing)\n';
		forminvalid = true;
	}
	
	// Check Email
	var str=document.enquiryForm.email.value
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	if (filter.test(str)) {
	} else {
		formtext = formtext + '  - Email (Invalid)\n';
		forminvalid = true;
	}
	
	if (document.enquiryForm.phone.value == "") {
		formtext = formtext + '  - Phone (Missing)\n';
		forminvalid = true;
	} else if (document.enquiryForm.phone.value.length < minLength) { // Minimum length with space
		formtext = formtext + '  - Phone (At Least ' + minLength + ' Numbers Long)\n';
		forminvalid = true;
	}
	
	if (forminvalid == true)
	{
		alert(formtext);
		return false;
	}
	else
	{
		return true;
	}
}
// Check Numeric Value on Phone field - John Hughes
function isNum(char) {
	if (char == 8) return true;
	if (char == 9) return true;
	if (char == 32) return true;
	if (char == 35) return true;
	if (char == 36) return true;
	if (char == 46) return true;
	if (char >= 48 && char <= 57) return true;
	if (char >= 96 && char <= 105) return true;
}

function checkNumber(evt, phone) {
	var charCode = (evt.which) ? evt.which : evt.keyCode
	if (!isNum(charCode)) {
		return false;
	}
	return true;
}



// Validate Form Fields On Trade My Vehicle Form
function validateFields_Trade() {
	var forminvalid = false;
	var formtext = "";
	formtext = '\n\n';
	formtext = formtext + 'Please review the following errors and re-submit the form:\n\n';
	if (document.tradeForm.name.value == "") {
		formtext = formtext + '  - Name (Missing)\n';
		forminvalid = true;
	}
	if (document.tradeForm.email.value == "") {
		formtext = formtext + '  - Email (Missing)\n';
		forminvalid = true;
	}
	
	// Check Email
	var str=document.tradeForm.email.value
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	if (filter.test(str)) {
	} else {
		formtext = formtext + '  - Email (Invalid)\n';
		forminvalid = true;
	}
	
	if (document.tradeForm.phone.value == "") {
		formtext = formtext + '  - Phone (Missing)\n';
		forminvalid = true;
	}
	if (document.tradeForm.make.value == "") {
		formtext = formtext + '  - Make (Missing)\n';
		forminvalid = true;
	}
	if (document.tradeForm.model.value == "") {
		formtext = formtext + '  - Model (Missing)\n';
		forminvalid = true;
	}
	if (document.tradeForm.comments.value == "") {
		formtext = formtext + '  - Comments (Missing)\n';
		forminvalid = true;
	}
	if (forminvalid == true)
	{
		alert(formtext);
		return false;
	}
	else
	{
		return true;
	}
}


// Validate Form Fields On Finance Form
function validateFields_Finance() {
	var forminvalid = false;
	var formtext = "";
	formtext = '\n\n';
	formtext = formtext + 'Please review the following errors and re-submit the form:\n\n';
	if (document.calc.fin_loan.value == "") {
		formtext = formtext + '  - Loan Amount (Missing)\n';
		forminvalid = true;
	}
	if (document.calc.fin_months.value == "") {
		formtext = formtext + '  - Term of Loan (Missing)\n';
		forminvalid = true;
	}
	if (document.calc.fin_rate.value == "") {
		formtext = formtext + '  - Interest Rate (Missing)\n';
		forminvalid = true;
	}
	if (forminvalid == true)
	{
		alert(formtext);
		return false;
	}
	else
	{
		calculate(document.getElementById('fin_calc'));
		document.getElementById('finance_input').style.display='none';
		document.getElementById('finance_results').style.display='block';
		return true;
	}
}


// Validate Form Fields On Send To A Friend Form
function validateFields_Friend() {
	var forminvalid = false;
	var formtext = "";
	formtext = '\n\n';
	formtext = formtext + 'Please review the following errors and re-submit the form:\n\n';
	if (document.friendForm.name.value == "") {
		formtext = formtext + '  - Your Name (Missing)\n';
		forminvalid = true;
	}
	if (document.friendForm.email.value == "") {
		formtext = formtext + '  - Your Email (Missing)\n';
		forminvalid = true;
	}
	
	// Check Email
	var str=document.friendForm.email.value
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	if (filter.test(str)) {
	} else {
		formtext = formtext + '  - Email (Invalid)\n';
		forminvalid = true;
	}
	
	if (document.friendForm.friends_name.value == "") {
		formtext = formtext + '  - Friend\'s Name (Missing)\n';
		forminvalid = true;
	}
	if (document.friendForm.friends_email.value == "") {
		formtext = formtext + '  - Friend\'s Email (Missing)\n';
		forminvalid = true;
	}
	
	// Check Email
	var str=document.friendForm.friends_email.value
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	if (filter.test(str)) {
	} else {
		formtext = formtext + '  - Email (Invalid)\n';
		forminvalid = true;
	}
	
	if (document.friendForm.comments.value == "") {
		formtext = formtext + '  - Comments (Missing)\n';
		forminvalid = true;
	}
	if (forminvalid == true)
	{
		alert(formtext);
		return false;
	}
	else
	{
		return true;
	}
}


// Validate Form Fields On Enquiry Form Popup
function validateFields_Enquiry_Popup() {
	var forminvalid = false;
	var formtext = "";
	formtext = '\n\n';
	formtext = formtext + 'Please review the following errors and re-submit the form:\n\n';
	if (document.enquiry.name.value == "") {
		formtext = formtext + '  - Name (Missing)\n';
		forminvalid = true;
	}
	if (document.enquiry.email.value == "") {
		formtext = formtext + '  - Email (Missing)\n';
		forminvalid = true;
	}
	
	// Check Email
	var str=document.enquiry.email.value
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	if (filter.test(str)) {
	} else {
		formtext = formtext + '  - Email (Invalid)\n';
		forminvalid = true;
	}
	
	if (document.enquiry.phone.value == "") {
		formtext = formtext + '  - Phone (Missing)\n';
		forminvalid = true;
	}
	if (document.enquiry.comments.value == "") {
		formtext = formtext + '  - Enquiry (Missing)\n';
		forminvalid = true;
	}
	if (forminvalid == true)
	{
		alert(formtext);
		return false;
	}
	else
	{
		return true;
	}
}



// Validate Form Field On Map / Directions
function validateFields_Directions() {
	var forminvalid = false;
	var formtext = "";
	formtext = '\n\n';
	formtext = formtext + 'Please review the following errors and re-submit the form:\n\n';
	if (document.directionsForm.address.value == "") {
		formtext = formtext + '  - Your Street Number & Name (Missing)\n';
		forminvalid = true;
	}
	if (document.directionsForm.suburb.value == "") {
		formtext = formtext + '  - Your Suburb Name (Missing)\n';
		forminvalid = true;
	}
	if (forminvalid == true)
	{
		alert(formtext);
		return false;
	}
	else
	{
		//alert(document.directionsForm.address.value + ',' + document.directionsForm.suburb.value + ',' + document.directionsForm.to.value + ',' + document.directionsForm.locale.value);
		setDirections2(document.directionsForm.address.value,document.directionsForm.suburb.value,document.directionsForm.to.value,document.directionsForm.locale.value);
		//alert("1");
		document.getElementById('addressArea').style.display='none';
		document.getElementById('map').style.height='250px';
		document.getElementById('directionsArea').style.display='block';
		return true;
	}
}

// Validate Form Fields On New Enquiry Form
function validateFields_New_Enquiry(suburbCheck) {
	var forminvalid = false;
	var formtext = "";
	var requireSuburb = suburbCheck;
	formtext = '\n\n';
	formtext = formtext + 'Please review the following errors and re-submit the form:\n\n';
	if (document.enquiryForm.name.value == "") {
		formtext = formtext + '  - Name (Missing)\n';
		forminvalid = true;
	}
	if (document.enquiryForm.email.value == "") {
		formtext = formtext + '  - Email (Missing)\n';
		forminvalid = true;
	}
	
	// Check Email
	var str=document.enquiryForm.email.value
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	if (filter.test(str)) {
	} else {
		formtext = formtext + '  - Email (Invalid)\n';
		forminvalid = true;
	}
	
	if (document.enquiryForm.phone.value == "") {
		formtext = formtext + '  - Phone (Missing)\n';
		forminvalid = true;
	}
	
	// Check Suburb, If Required
	if (requireSuburb !== undefined) {
		if (document.enquiryForm.suburb.value == "") {
			formtext = formtext + '  - Suburb (Missing)\n';
			forminvalid = true;
		}
	}

	if (document.enquiryForm.enquiry.value == "") {
		formtext = formtext + '  - Enquiry (Missing)\n';
		forminvalid = true;
	}
	if (forminvalid == true)
	{
		alert(formtext);
		return false;
	}
	else
	{
		return true;
	}
}

// Validate Form Fields On New Test Drive Form
function validateFields_New_TestDrive() {
	var forminvalid = false;
	var formtext = "";
	formtext = '\n\n';
	formtext = formtext + 'Please review the following errors and re-submit the form:\n\n';
	if (document.testdriveForm.name.value == "") {
		formtext = formtext + '  - Name (Missing)\n';
		forminvalid = true;
	}
	if (document.testdriveForm.email.value == "") {
		formtext = formtext + '  - Email (Missing)\n';
		forminvalid = true;
	}
	
	// Check Email
	var str=document.testdriveForm.email.value
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	if (filter.test(str)) {
	} else {
		formtext = formtext + '  - Email (Invalid)\n';
		forminvalid = true;
	}
	
	if (document.testdriveForm.phone.value == "") {
		formtext = formtext + '  - Phone (Missing)\n';
		forminvalid = true;
	}
	if (document.testdriveForm.make.value == "") {
		formtext = formtext + '  - Make (Missing)\n';
		forminvalid = true;
	}
	if (document.testdriveForm.model.value == "") {
		formtext = formtext + '  - Model (Missing)\n';
		forminvalid = true;
	}
	if (forminvalid == true)
	{
		alert(formtext);
		return false;
	}
	else
	{
		return true;
	}
}


// Validate Form Fields On Video Enquiry Form
function validateFields_VideoEnquiry() {
	var forminvalid = false;
	var formtext = "";
	formtext = '\n\n';
	formtext = formtext + 'Please review the following errors and re-submit the form:\n\n';
	if (document.videoEnquiryForm.name.value == "") {
		formtext = formtext + '  - Name (Missing)\n';
		forminvalid = true;
	}
	if (document.videoEnquiryForm.email.value == "") {
		formtext = formtext + '  - Email (Missing)\n';
		forminvalid = true;
	}
	
	// Check Email
	var str=document.videoEnquiryForm.email.value
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	if (filter.test(str)) {
	} else {
		formtext = formtext + '  - Email (Invalid)\n';
		forminvalid = true;
	}
	
	if (document.videoEnquiryForm.phone.value == "") {
		formtext = formtext + '  - Phone (Missing)\n';
		forminvalid = true;
	}
	if (document.videoEnquiryForm.comments.value == "") {
		formtext = formtext + '  - Enquiry (Missing)\n';
		forminvalid = true;
	}
	if (forminvalid == true)
	{
		alert(formtext);
		return false;
	}
	else
	{
		return true;
	}
}
