//---------------------------------------------------------------------------------------------------------

function allValidChars(email) {
	var validchars										= "abcdefghijklmnopqrstuvwxyz0123456789@.-_";
	for (var i=0; i < email.length; i++) {
		var letter										= email.charAt(i).toLowerCase();
		if (validchars.indexOf(letter) == -1) {
			return false;
		}
	}
	return true;
}

function validateOrder() {alert($("item_qty_1").value);}

function isValidEmail(email) {
	if (email == null) { return false; }
	if (email.length < 9) { return false; }          								// there must be at least 9 characters
	if (!allValidChars(email)) { return false; }									// all characters must be valid
	if (email.indexOf("@") < 1) { return false; }    							// must contain @, and it must not be the first character
			
	// There must not be more than one @		
	var atcount											= 0;
	for (var i=0; i < email.length; i++) {
		var letter										= email.charAt(i).toLowerCase();
		if (letter == "@") {atcount++;}
	}
	if (atcount > 1) { return false; }																	
																					
	if (email.lastIndexOf("@") == email.length-1) { return false; }				// @ must not be the last character
	if (email.indexOf("..") >= 0) { return false; }                              // two dots in a row is not valid
    if (email.lastIndexOf(".") <= email.indexOf("@")) { return false; }         	// last dot must be after the @
    if (email.lastIndexOf(".") == email.length-1) { return false; }              // dot must not be the last character
    return true;
}

//--------------------------------------------------------------------------------------------------------- Contact

function checkField(field,type,limit) {
	$err												= "";
	if ($(field).val() == ''){ $err = "Please complete this field"; }
	if (type == 2 && !isValidEmail($(field).val())) { $err = "Please provide a valid email address"; } // Type 1 is a generic field, 2 is an email address
	if (limit > 0 && $(field).val().length > limit) { $err = "Please make this <strong>"+limit+" characters or less</strong>"; } // limit 0 is a field with no limit
	if ($err != "") { $(field).addClass("err").after("<p class=\"err\"><em>"+$err+"</em></p>"); $errNo++; }
}

function validate() {
	
	$errNo												= 0;
	$("form").find("p.err").remove();
	$(".err").removeClass("err");
	
	checkField("#name_first",1,30);
	checkField("#name_last",1,30);

	if ($("#ccs_contact").is("form")) {
		
		if ($("#list_email").is(":checked") || $("#list_launch").is(":checked")) { // If the user has opted in to an email list...
			$("#email").addClass("required"); // ... make the email address field required
		} else {$("#email").removeClass("required");}
		
		
		if ($("#area").val() == 'Select'){$("#area").addClass("err").after("<p class=\"err\"><em>Please select your area</em></p>");$errNo++;}
		
		if (!$("#agree").is(":checked")) {
			$("#set_terms").find("label").after("<p class=\"err\"><em>You must agree to the above terms</em></p>");$errNo++;
		}
		
	} else {
		$("#email").addClass("required"); // ... make the email address field required
	}
	
	if ($("#email").is(".required")) {checkField("#email",2,50);}
	
	
	$("form").find("p.err").fadeIn("slow");
	
	if ($errNo > 0) { return false; }
	
}
