function cart_search_page(page_num) {
	var form = $("frm_cart_search");
	
	if (form != null) {
		var cart_page = form.elements['cart_page'];
		cart_page.value = page_num;
		form.submit();
	}
	
	return false;
}

function cart_add_item(xmldoc, response, item_id) {
	/*adds a single item to the cart, or increases its quantity*/
	if (xmldoc != null) {
		//fill cart data
		remove_class($("cart_plugin_totals"), "hidden");
		remove_class($("cart_plugin_links"), "hidden");
		add_class($("cart_noitems_message"), "hidden");
			
		cart_update_totals(xmldoc);
	} else {
		//find out if the plugin exists, if so, use AJAX
		if ($("cart_plugin_panel") != null) {
			//send add request
			var post_data = "a=add&id=" + item_id;
			
			ajax_send(cart_add_item, arguments, PATH_MODULES + "/cart/actions.php", post_data);
			return false;
		}
	}
}

function cart_remove_item(xmldoc, response, item_id) {
	/*removes a single item from the cart*/
	if (xmldoc != null) {
		var cart_plugin_items = $("cart_plugin_items");
		
		if (cart_plugin_items.childNodes.length == 0) {
			add_class($("cart_plugin_totals"), "hidden");
			add_class($("cart_plugin_links"), "hidden");
			remove_class($("cart_noitems_message"), "hidden");
		} else {
			cart_update_totals(xmldoc);
		}
	} else {
		//find out if the plugin exists, if so, use AJAX
		if ($("cart_plugin_panel") != null) {
			//send remove request
			var post_data = "a=remove&id=" + item_id;
			
			ajax_send(cart_remove_item, arguments, PATH_MODULES + "/cart/actions.php", post_data);
			return false;
		}
	}
}

function cart_update_totals(xmldoc, notify) {
	//update totals
	var totals = xmldoc.getElementsByTagName("cart_totals")[0];
	
	if (totals != null) {
		var cart_plugin_subtotal = $("cart_plugin_subtotal");
		var cart_plugin_vat = $("cart_plugin_vat");
		var cart_plugin_vat_delivery = $("cart_plugin_vat_delivery");
		var cart_vat = $("cart_vat");
		var cart_vat_delivery = $("cart_vat_delivery");
		var cart_plugin_total = $("cart_plugin_total");
		var cart_delivery_label = $("cart_delivery_label");
		var cart_total_label = $("cart_total_label");
		
		if (cart_plugin_subtotal != null)
			cart_plugin_subtotal.innerHTML = totals.childNodes[0].childNodes[0].nodeValue;
		
		if (cart_plugin_vat != null)
			cart_plugin_vat.innerHTML = totals.childNodes[1].childNodes[0].nodeValue;
			
		if (cart_vat != null)
			cart_vat.innerHTML = totals.childNodes[1].childNodes[0].nodeValue;
		
		if (cart_plugin_vat_delivery != null)
			cart_plugin_vat_delivery.innerHTML = totals.childNodes[2].childNodes[0].nodeValue;
			
		if (cart_vat_delivery != null)
			cart_vat_delivery.innerHTML = totals.childNodes[2].childNodes[0].nodeValue;
		
		if (cart_plugin_total != null) {
			cart_plugin_total.innerHTML = totals.childNodes[3].childNodes[0].nodeValue;
			
			if (notify == true || notify === undefined)
				highlight_element(cart_plugin_total);
		}
		
		if (cart_delivery_label != null)
			cart_delivery_label.innerHTML = totals.childNodes[4].childNodes[0].nodeValue;
		
		if (cart_total_label != null)
			cart_total_label.innerHTML = totals.childNodes[5].childNodes[0].nodeValue;
	}
}

function cart_delivery_country(xmldoc, response, select_id) {
	if (xmldoc != null) {
		cart_update_totals(xmldoc, false);
	} else {
		var select = $(select_id);
		
		if (select == null)
			return false;
			
		var country_id = select.options[select.selectedIndex].value;
		var checkout_form = document.forms['frm_cart_checkout'];
		var delivery_select = checkout_form.elements['cart_delivery_select'];
		
		var post_data = "a=delivery_country&country_id=" + country_id + 
			"&select_id=" + select_id.urlencode();
		
		if (delivery_select != null) {
			post_data += "&delivery_id=" + delivery_select.options[delivery_select.selectedIndex].value;
		}
		
		ajax_send(cart_delivery_country, arguments, PATH_MODULES + "/cart/actions.php", post_data);
	}
}


function cart_show_import() {
	ajax_send(null, arguments, PATH_MODULES + "/cart/admin/actions.php", 'a=show_import');
	return false;
}

function cart_import_file(xmldoc, response) {
	//sends a file to the server using the upload form
	var form = document.forms['intform_cart_import'];
	
	//send form
	form.onsubmit = null;
	
	//disable buttons
	var buttons = $("div_intform_buttons");
	
	for (var a = 0; a < buttons.childNodes.length; a++) {
		if (buttons.childNodes[a].tagName == "INPUT")
			buttons.childNodes[a].disabled = true;
	}
	
	form.submit();
	
	//show loading animation
	add_class(buttons, "buttonLoading");
	
	return false;
}