function search_go(drop_down_list) {
		var index = drop_down_list.selectedIndex;
		var value = drop_down_list[index].value;
		
		var subsubcategory_id = value;
		
		var subcategory_id = document.getElementById("subcategory_id").value;
		
		var category_id = document.getElementById("category_id").value;
		
		if (category_id != '') {
			window.location = "index.php?page_name=products&category_id=" + category_id + "&subcategory_id=" + subcategory_id + "&subsubcategory_id=" + subsubcategory_id + "&key=" + key(10000);
		}
	}

function remove(cart_id, name) {
	if (confirm("You are about to remove the product, " + name + ".")) {
		window.location = "remove.php?cart_id=" + cart_id + "&key=" + key(10000);
	}
}

function decrease(cart_id) {
	window.location = "decrease.php?cart_id=" + cart_id + "&key=" + key(10000);
}

function increase(cart_id) {
	window.location = "increase.php?cart_id=" + cart_id + "&key=" + key(10000);
}

function addtocart(product_id) {
	
	if (parseInt(document.getElementById("quantity").value, 10) < 1) {
		alert("Please enter a valid quantity.");
	} else {
		window.location = "addtocart.php?product_id=" + product_id + "&quantity=" + parseInt(document.getElementById("quantity").value, 10) + "&key=" + key(10000);
	}
	
}

function changecurrency(drop_down_list) {
	var index = drop_down_list.selectedIndex;
	var value = drop_down_list[index].value;
	
	var currency = value;
	
	window.location = "changecurrency.php?currency=" + currency + "&key=" + key(10000);
}

function dm(drop_down_list) {
	var index = drop_down_list.selectedIndex;
	var value = drop_down_list[index].value;
	
	var delivery_method = value;
	
	window.location = "deliverymethod.php?delivery_method=" + delivery_method + "&key=" + key(10000);
}

function pm(drop_down_list) {
	var index = drop_down_list.selectedIndex;
	var value = drop_down_list[index].value;
	
	var payment_method = value;
	
	window.location = "paymentmethod.php?payment_method=" + payment_method + "&key=" + key(10000);
}

function validate_cart() {
	
	// agree_terms
	if (!document.getElementById("agree_terms").checked) {
		alert("Please read our terms and conditions and make sure you agree with them.");
		return false;
	}

}

function renderNumbers(startNumber, endNumber, selectedNumber) {
	while (startNumber <= endNumber) {
		if (startNumber == selectedNumber) {
			document.write('<option value="' + startNumber + '" selected>' + startNumber + '</option>');
		} else {
			document.write('<option value="' + startNumber + '">' + startNumber + '</option>');
		}
		startNumber = startNumber + 1;
	}
}

function key(number) {
	return Math.floor(Math.random() * number);
}

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 + "&key=" + key(10000);
	
	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 + "&key=" + key(10000);
	
	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 + "&key=" + key(10000);
	
	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);
	
}

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 validateOrderDetails() {
		
		// title
		if (document.getElementById("title").value == 'select') {
			alert("Please select a title.");
			document.getElementById("title_label").style.color = "red";
			document.getElementById("title").focus();
			return false;
		} else {
			document.getElementById("title_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";
		}
		
		// email_1 (validate)
		if (echeck(document.getElementById("email_1").value) == false) {
			alert("Please enter a valid email address.");
			document.getElementById("email_1_label").style.color = "red";
			document.getElementById("email_1").focus();
			return false;
		} else {
			document.getElementById("email_1_label").style.color = "black";
		}
		
		// email_2
		if (document.getElementById("email_2").value != document.getElementById("email_1").value) {
			alert("Please make sure the email addresses are the same.");
			document.getElementById("email_2_label").style.color = "red";
			document.getElementById("email_2").focus();
			return false;
		} else {
			document.getElementById("email_2_label").style.color = "black";
		}
					
		// address_line_1
		if (document.getElementById("address_line_1").value.length < 5) {
			alert("Please enter a valid street 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";
		}
		
		// 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.length < 1) {
			alert("Please enter a valid province.");
			document.getElementById("province_label").style.color = "red";
			document.getElementById("province").focus();
			return false;
		} else {
			document.getElementById("province_label").style.color = "black";
		}
		
		// country
		if (document.getElementById("country").value.length < 1) {
			alert("Please enter a valid country.");
			document.getElementById("country_label").style.color = "red";
			document.getElementById("country").focus();
			return false;
		} else {
			document.getElementById("country_label").style.color = "black";
		}
		
		
}

function validateTell() {
		
		// from
		if (echeck(document.getElementById("from").value) == false) {
			alert("Please enter a valid email address.");
			document.getElementById("from_label").style.color = "red";
			document.getElementById("from").focus();
			return false;
		} else {
			document.getElementById("from_label").style.color = "black";
		}
		
		// to
		if (echeck(document.getElementById("to").value) == false) {
			alert("Please enter a valid email address.");
			document.getElementById("to_label").style.color = "red";
			document.getElementById("to").focus();
			return false;
		} else {
			document.getElementById("to_label").style.color = "black";
		}
		
		// subject
		if (document.getElementById("subject").value.length < 5) {
			alert("Please enter a valid subject.");
			document.getElementById("subject_label").style.color = "red";
			document.getElementById("subject").focus();
			return false;
		} else {
			document.getElementById("subject_label").style.color = "black";
		}
		
		// message
		if (document.getElementById("message").value.length < 5) {
			alert("Please enter a valid message.");
			document.getElementById("message_label").style.color = "red";
			document.getElementById("message").focus();
			return false;
		} else {
			document.getElementById("message_label").style.color = "black";
		}
		
		if (document.getElementById('result').innerHTML != 'PASS') {
			//getParam(document.getElementById('request'));
			alert("Please enter the exact code on the image into the text box and click the SECURITY CHECK link.");
			document.getElementById("txtCaptcha").focus();
			return false;
		}	
}
