
function echeck(str) {

	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	if (str.indexOf(at)==-1){
	   //alert("Invalid E-mail ID")
	   return false
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	   //alert("Invalid E-mail ID")
	   return false
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		//alert("Invalid E-mail ID")
		return false
	}

	 if (str.indexOf(at,(lat+1))!=-1){
		//alert("Invalid E-mail ID")
		return false
	 }

	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		//alert("Invalid E-mail ID")
		return false
	 }

	 if (str.indexOf(dot,(lat+2))==-1){
		//alert("Invalid E-mail ID")
		return false
	 }
	
	 if (str.indexOf(" ")!=-1){
		//alert("Invalid E-mail ID")
		return false
	 }

	 return true					
}

function validate_graduation() {
	
	// category_id
	if (document.getElementById("category_id").value == 0) {
		alert("Please select an institution.");
		document.getElementById("category_id_label").style.color = "red";
		document.getElementById("category_id").focus();
		return false;
	} else {
		document.getElementById("category_id_label").style.color = "black";
	}
	// subcategory_id
	if (document.getElementById("subcategory_id").value == 0) {
		alert("Please select a faculty.");
		document.getElementById("subcategory_id_label").style.color = "red";
		document.getElementById("subcategory_id").focus();
		return false;
	} else {
		document.getElementById("subcategory_id_label").style.color = "black";
	}
	// subsubcategory_id
	if (document.getElementById("subsubcategory_id").value == 0) {
		alert("Please select a qualification.");
		document.getElementById("subsubcategory_id_label").style.color = "red";
		document.getElementById("subsubcategory_id").focus();
		return false;
	} else {
		document.getElementById("subsubcategory_id_label").style.color = "black";
	}
	// height_metric
	if (document.getElementById("height_metric").value == 'please_select') {
		alert("Please select a height measurement.");
		document.getElementById("height_metric_label").style.color = "red";
		document.getElementById("height_metric").focus();
		return false;
	} else {
		document.getElementById("height_metric_label").style.color = "black";
	}
	// chest_metric
	if (document.getElementById("chest_metric").value == 'please_select') {
		alert("Please select a chest measurement.");
		document.getElementById("chest_metric_label").style.color = "red";
		document.getElementById("chest_metric").focus();
		return false;
	} else {
		document.getElementById("chest_metric_label").style.color = "black";
	}
	// head_metric
	if (document.getElementById("head_metric").value == 'please_select') {
		alert("Please select a head measurement.");
		document.getElementById("head_metric_label").style.color = "red";
		document.getElementById("head_metric").focus();
		return false;
	} else {
		document.getElementById("head_metric_label").style.color = "black";
	}
	
}

function validate_cart() {

	// delivery_method
	if (document.getElementById("delivery_method").value == 'select_delivery') {
		alert("Please select a delivery method.");
		//document.getElementById("delivery_method_label").style.color = "red";
		document.getElementById("delivery_method").focus();
		return false;
	} else {
		//document.getElementById("delivery_method_label").style.color = "black";
	}
	
}

function validate_checkout() {
		
		// payment_method
		if (document.getElementById("payment_method").value == 'select_method') {
			alert("Please select a payment method.");
			document.getElementById("payment_method_label").style.color = "red";
			document.getElementById("payment_method").focus();
			return false;
		} else {
			document.getElementById("payment_method_label").style.color = "black";
		}
		
		// first_name
		if (document.getElementById("first_name").value.length < 1) {
			alert("Please enter a valid first name.");
			document.getElementById("first_name_label").style.color = "red";
			document.getElementById("first_name").focus();
			return false;
		} else {
			document.getElementById("first_name_label").style.color = "black";
		}
		
		// last_name
		if (document.getElementById("last_name").value.length < 1) {
			alert("Please enter a valid last name.");
			document.getElementById("last_name_label").style.color = "red";
			document.getElementById("last_name").focus();
			return false;
		} else {
			document.getElementById("last_name_label").style.color = "black";
		}
		
		// student_number
		if (document.getElementById("student_number").value.length < 5) {
			alert("Please enter a valid student number.");
			document.getElementById("student_number_label").style.color = "red";
			document.getElementById("student_number").focus();
			return false;
		} else {
			document.getElementById("student_number_label").style.color = "black";
		}
		
		// id_number
		if (document.getElementById("id_number").value.length != 13) {
			alert("Please enter a valid id number.");
			document.getElementById("id_number_label").style.color = "red";
			document.getElementById("id_number").focus();
			return false;
		} else {
			document.getElementById("id_number_label").style.color = "black";
		}
		
		// address_line_1
		if (document.getElementById("address_line_1").value.length < 5) {
			alert("Please enter a valid address.");
			document.getElementById("address_line_1_label").style.color = "red";
			document.getElementById("address_line_1").focus();
			return false;
		} else {
			document.getElementById("address_line_1_label").style.color = "black";
		}
		
		// suburb
		if (document.getElementById("suburb").value.length < 1) {
			alert("Please enter a valid suburb.");
			document.getElementById("suburb_label").style.color = "red";
			document.getElementById("suburb").focus();
			return false;
		} else {
			document.getElementById("suburb_label").style.color = "black";
		}
		
		// postal_code
		if (document.getElementById("postal_code").value.length < 4) {
			alert("Please enter a valid postal code.");
			document.getElementById("postal_code_label").style.color = "red";
			document.getElementById("postal_code").focus();
			return false;
		} else {
			document.getElementById("postal_code_label").style.color = "black";
		}
		
		// city
		if (document.getElementById("city").value.length < 1) {
			alert("Please enter a valid city.");
			document.getElementById("city_label").style.color = "red";
			document.getElementById("city").focus();
			return false;
		} else {
			document.getElementById("city_label").style.color = "black";
		}
		
		// province
		if (document.getElementById("province").value == 'select_province') {
			alert("Please select a province.");
			document.getElementById("province_label").style.color = "red";
			document.getElementById("province").focus();
			return false;
		} else {
			document.getElementById("province_label").style.color = "black";
		}
		
		// cellphone_number
		if (document.getElementById("cellphone_number").value.length < 10) {
			alert("Please enter a valid cellphone number.");
			document.getElementById("cellphone_number_label").style.color = "red";
			document.getElementById("cellphone_number").focus();
			return false;
		} else {
			document.getElementById("cellphone_number_label").style.color = "black";
		}
		
		// landline_number
		if (document.getElementById("landline_number").value.length < 10) {
			alert("Please enter a valid landline number.");
			document.getElementById("landline_number_label").style.color = "red";
			document.getElementById("landline_number").focus();
			return false;
		} else {
			document.getElementById("landline_number_label").style.color = "black";
		}
		
		// email_address (validate)
		if (echeck(document.getElementById("email_address").value) == false) {
			alert("Please enter a valid email address.");
			document.getElementById("email_address_label").style.color = "red";
			document.getElementById("email_address").focus();
			return false;
		} else {
			document.getElementById("email_address_label").style.color = "black";
		}
		
		// agree
		if (!document.getElementById("agree").checked) {
			alert("Please read our terms and conditions and check that you agree with them.");
			return false;
		}
		
}

function remove_record(id, table, delete_record, sort_table, record_start) {
	if (confirm("You are about to delete the record - ID: " + id + ". Continue?")) {
		window.location = "panel_view.php?table=" + table + "&id=" + id + "&delete_record=" + delete_record + "&sort=" + sort_table + "&record_start=" + record_start;
	}
}

function remove_image(id, table, img_url, delete_image) {
	if (confirm("You are about to delete the image " + img_url + " - ID: " + id + ". Continue?")) {
		window.location = table + ".php?table=" + table + "&id=" + id + "&img_url=" + img_url + "&delete_image=" + delete_image;
	}
}

function remove(cart_id, name) {
	if (confirm("You are about to remove the product, " + name + ".")) {
		window.location = "remove.php?cart_id=" + cart_id;
	}
}

function addtocart(product_id, quantity, for_purchase, for_hire) {
	window.location = "addtocart.php?product_id=" + product_id + "&quantity=" + quantity + "&for_purchase=" + for_purchase + "&for_hire=" + for_hire;
}

function populateSubcategory(drop_down_list) {
	
	document.getElementById("status").value = "processing...";
	
	var index = drop_down_list.selectedIndex;
	var value = drop_down_list[index].value;
	var text = drop_down_list[index].text;
	
	var category_id = value;
	
	url = "xml_maker.php?menu=subcategory&category_id=" + category_id;
	
	ajaxCallback = displaySubcategory;
	
	ajaxRequest(url);
	
}

function displaySubcategory() {
	
	names = ajaxreq.responseXML.getElementsByTagName("name");
	ids = ajaxreq.responseXML.getElementsByTagName("id");
	document.getElementById("subcategory_id").length = 1;
	document.getElementById("subsubcategory_id").length = 1;
	
	for (i = 0; i < names.length; i++) {
		name = names[i].firstChild.nodeValue;
		id = ids[i].firstChild.nodeValue;
		text = document.createTextNode(name);
		addOption(document.getElementById("subcategory_id"), name, id);
	}
	
	document.getElementById("status").value = "";
}

function populateSubcategoryControl(drop_down_list) {
	
	document.getElementById("status").value = "processing...";
	
	var index = drop_down_list.selectedIndex;
	var value = drop_down_list[index].value;
	var text = drop_down_list[index].text;
	
	var category_id = value;
	
	url = "xml_maker.php?menu=subcategory&category_id=" + category_id;
	
	ajaxCallback = displaySubcategoryControl;
	
	ajaxRequest(url);
	
}

function displaySubcategoryControl() {
	
	names = ajaxreq.responseXML.getElementsByTagName("name");
	ids = ajaxreq.responseXML.getElementsByTagName("id");
	document.getElementById("subcategory_id").length = 1;
	//document.getElementById("subsubcategory_id").length = 1;
	
	for (i = 0; i < names.length; i++) {
		name = names[i].firstChild.nodeValue;
		id = ids[i].firstChild.nodeValue;
		text = document.createTextNode(name);
		addOption(document.getElementById("subcategory_id"), name, id);
	}
	
	document.getElementById("status").value = "";
}

function populateSubsubcategory(drop_down_list) {
	
	document.getElementById("status").value = "processing...";
	
	var index = drop_down_list.selectedIndex;
	var value = drop_down_list[index].value;
	var text = drop_down_list[index].text;
	
	var subcategory_id = value;
	
	var category_index = document.getElementById("category_id").selectedIndex;
	var category_id = document.getElementById("category_id")[category_index].value;
	
	url = "xml_maker.php?menu=subsubcategory&category_id=" + category_id + "&subcategory_id=" + subcategory_id;
	
	ajaxCallback = displaySubsubcategory;
	
	ajaxRequest(url);
	
}

function displaySubsubcategory() {
	
	names = ajaxreq.responseXML.getElementsByTagName("name");
	ids = ajaxreq.responseXML.getElementsByTagName("id");
	document.getElementById("subsubcategory_id").length = 1;
	
	for (i = 0; i < names.length; i++) {
		name = names[i].firstChild.nodeValue;
		id = ids[i].firstChild.nodeValue;
		text = document.createTextNode(name);
		addOption(document.getElementById("subsubcategory_id"), name, id);
	}
	
	document.getElementById("status").value = "";
}

function addOption(selectbox, text, value) {

	var option = document.createElement("OPTION");
	option.text = text;
	option.value = value;
	selectbox.options.add(option);
	
}
