$(function() {

	$('#inq_submitButton').click(function() {

		$('input:not(.sub), select').css ({'background-color':'#fff'});

		if ($('#inq_name').val()=='') {
			alert ('Don\'t forget this field -- N\'oubliez pas ce champ');
			colorbackground($('#inq_name'));
			return false;
		} else if ($('#inq_company').val()=='') {
			alert ('Don\'t forget this field -- N\'oubliez pas ce champ');
			colorbackground($('#inq_company'));
			return false;
		} else if ($('#inq_email').val()=='') {
			alert ('Don\'t forget this field -- N\'oubliez pas ce champ');
			colorbackground($('#inq_email'));
			return false;
		} else if (($('#inq_email').val()!='')&& (!validateEmail_inq ($('#inq_email').val()))) {
			colorbackground($('#inq_email'));
			return false;
		} else if ($('#inq_comments').val()=='') {
			alert ('Don\'t forget this field -- N\'oubliez pas ce champ');
			colorbackground($('#inq_comments'));
			return false;
		} else {
			var dataString = 'inq_name=' + $("#inq_name").val() + '&inq_email=' + $("#inq_email").val() + '&inq_comments=' + $("#inq_comments").val() + '&inq_company=' + $('#inq_company').val();
			$.ajax({
				type: "POST",
				url: "/GK_TEST_NEW/inquiry_contact.php",
				data: dataString,
				success: function() {
					alert ('Success! Je vous remercie de votre enquête -- Success thank you for your inquiry')
				}
			});
			$('input:not(.sub), textarea').val('');
		}	
		return false;
	});
	
	function colorbackground(field) {
		$(field).css ({'background-color':'#F3D200'});
		$(field).focus();
	}	
});

function validateEmail_inq (emailStr) {
	var checkTLD=1;
	var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
	var emailPat=/^(.+)@(.+)$/;
	var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
	var validChars="\[^\\s" + specialChars + "\]";
	var quotedUser="(\"[^\"]*\")";
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom=validChars + '+';
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
	var matchArray=emailStr.match(emailPat);
	
	if (matchArray==null) {
		alert("Email address seems incorrect - Adresse de courrier électronique semble incorrecte (check @ and .'s)");
		return false;
	}
	
	var user=matchArray[1];
	var domain=matchArray[2];
	
	for (i=0; i<user.length; i++) {
		if (user.charCodeAt(i)>127) {
			alert("The username contains invalid characters -- Le nom d'utilisateur contient des caractères incorrects");
			return false;
		}
	}
	
	for (i=0; i<domain.length; i++) {
		if (domain.charCodeAt(i)>127) {
			alert("The domain name contains invalid characters -- Le nom de domaine contient des caractères incorrects");
			return false;
		}
	}
	
	if (user.match(userPat)==null) {
		alert("The username doesn't seem to be valid -- Le nom d'utilisateur ne semble pas être valide");
		return false;
	}
	
	var IPArray=domain.match(ipDomainPat);
	
	if (IPArray!=null) {
		for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				alert("Destination IP address is invalid! -- Adresse IP de destination est incorrect");
				return false;
			}
		}
	
		return true;
	}
	
	var atomPat=new RegExp("^" + atom + "$");
	var domArr=domain.split(".");
	var len=domArr.length;
	
	for (i=0;i<len;i++) {
		if (domArr[i].search(atomPat)==-1) {
			alert("The domain name does not seem to be valid -- Le nom de domaine ne semble pas être valide");
			return false;
		}
	}
	
	if (checkTLD && domArr[domArr.length-1].length!=2 && 
		domArr[domArr.length-1].search(knownDomsPat)==-1) {
		alert("The address must end in a well-known domain or two letter country -- L'adresse doit fin dans un domaine bien connu ou pays en deux lettres");
		return false;
	}
	
	if (len<2) {
		alert("This address is missing a hostname! -- Cette adresse est manquant un nom d'hôte!");
		return false;
	}
	
	return true;
}



