
//VALIDATION MSG CONSTANTS
//--START
var MAIL_ERROR = 'The email address you have entered appears invalid. \nPlease re-enter carefully.';
var NUM_ERROR = 'Please type in a numerical value.\n-----------------------------------------------------------------------------------\nNon-supported characters: <  >  =  \\  /  ,  %  +  |  and no spaces';
var NULL_TYPE_ERROR = 'Please type in your #######.';
var SELECT_TYPE_ERROR = 'Please select the #######.';
var submitted
submitted = false
//--END



function validateEmail(emailToValidate) {
	if (emailToValidate=='') return false
	//var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	var filter = /^[a-zA-Z0-9_\-]+(\.[a-zA-Z0-9_\-]+)*@[a-zA-Z0-9_\-]+(\.[a-zA-Z0-9_\-]+)*\.[a-zA-Z0-9_\-]{2,4}$/;
	filtercheck=filter.test(emailToValidate)
	dbldotcheck=(emailToValidate.indexOf('..')==-1)
	return (!(filtercheck && dbldotcheck))

}

function validateComments(commentsToValidate) {
    if (commentsToValidate == '') return false
    var filter = /((http:)|(www.))*([\w-]+)\.(com)/;
	filtercheck=filter.test(commentsToValidate.toString().toLowerCase())
	return (filtercheck)

}

function validateNum(numToValidate) {

	if (isNaN(numToValidate) || numToValidate=='' 
		|| numToValidate.indexOf(' ') != -1 
		|| numToValidate.indexOf(',') != -1)
		
		return true;
	else
		return false; // correct
		
}
function valpopuprequest(elem) {
	if (submitted) {
		alert('You may not submit this page more than once')
	}
	
	else if (document.forms[0].firstname.value == '') {
		alert('Please type in your first name');
		document.forms[0].firstname.focus();
		return false;
	}

	else if (document.forms[0].surname.value == '') {
		alert('Please type in your surname');
		document.forms[0].surname.focus();
		return false;
	}

	else if (validateNum(document.forms[0].cell.value) || document.forms[0].cell.value == '' || document.forms[0].cell.value.length < 10) {
		alert('Please provide a valid contact number');
		document.forms[0].cell.focus();
		return false;
	}
	else if (validateEmail(document.forms[0].email.value) || document.forms[0].email.value == '') {
		alert(MAIL_ERROR);
		document.forms[0].email.focus();
		return false;
	}
	else if (doc('price').value == '0') {
		alert('Please select your price range');
		doc('price').focus();
		return false;
	}
	else if (doc('locationid').value == '0') {
		alert('Please select your region');
		doc('locationid').focus();
		return false;
	}

	else if (validateComments(doc('request').value)) {
		alert('You may not include a URL or email address in the vehicle request');
		doc('request').focus();
		return false;
	}
	else if (!document.getElementsByName('trade')[0].checked && !document.getElementsByName('trade')[1].checked) {
		alert('Please select  Trade In');
		return false;
	}
	else if (!document.forms[0].terms.checked) {
		alert('Please check the Terms and conditions and then tick the checkbox to confirm')
		return false;
	}
	
	else {
		elem.disabled = 'disabled';
		if (doc('request').value == 'Please include 2nd and 3rd options, if required, in your request') {
			doc('request').value = '';
		}
		submitted = true
		return true;
	}
}
