//http://www.captain.at/howto-ajax-form-post-request.php
var http_request = false;
function makePOSTRequest(url, parameters, theItem, whatLink) {
	//alert("makePOSTRequest ITEM: " + theItem);
	http_request = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			// set type accordingly to anticipated content type
			//http_request.overrideMimeType('text/xml');
			http_request.overrideMimeType('text/html');
		}
	}else if(window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
			}catch (e){
				try {
					http_request = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {}
		}
	}
	if(!http_request){
		alert('Cannot create XMLHTTP instance');
		return false;
	}

	//http_request.onreadystatechange = alertContents(theItem);
	http_request.onreadystatechange = function(){alertContents(theItem, whatLink);};
	http_request.open('POST', url, true);
	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http_request.setRequestHeader("Content-length", parameters.length);
	http_request.setRequestHeader("Connection", "close");
	http_request.send(parameters);
}

function makeSelectCat(url, parameters, theItem, whatLink) {
	//alert("makePOSTRequest ITEM: " + theItem);
	http_request = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			// set type accordingly to anticipated content type
			//http_request.overrideMimeType('text/xml');
			http_request.overrideMimeType('text/html');
		}
	}else if(window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
			}catch (e){
				try {
					http_request = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {}
		}
	}
	if(!http_request){
		alert('Cannot create XMLHTTP instance');
		return false;
	}

	//http_request.onreadystatechange = alertContents(theItem);
	http_request.onreadystatechange = function(){getSelect(theItem);};
	http_request.open('POST', url, true);
	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http_request.setRequestHeader("Content-length", parameters.length);
	http_request.setRequestHeader("Connection", "close");
	http_request.send(parameters);
}

function alertContents(whatItem, whatLink) {
	//alert("Contents ITEM: " + whatItem);
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			//alert(http_request.responseText);
			result = http_request.responseText;
			document.getElementById(whatItem).innerHTML = result;
			document.getElementById(whatLink).innerHTML = "In Cart";
		} else {
			alert('There was a problem with the request.');
		}
	}
}

function getSelect(whatItem) {
	//alert("Contents ITEM: " + whatItem);
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			//alert(http_request.responseText);
			result = http_request.responseText;
			document.getElementById(whatItem).innerHTML = result;
		} else {
			alert('There was a problem with the request.');
		}
	}
}




function ajax_addCart(productID){
	var poststr = "productID=" + encodeURI(productID);
	makePOSTRequest('ajax/add_cart.php', poststr, 'cart_area', "addCartLink"+productID);
	document.getElementById("addCartLink"+productID).innerHTML="Adding to cart";
	document.getElementById("addCartLink"+productID).onclick="";
}
function getSelectCat(catID){
	var poststr = "ajax_category=" + encodeURI(catID);
	if(catID.length>0){
		makeSelectCat('ajax/get_categories.php', poststr, 'second_level_cat_dd');
	}
}







function makePreview(url, parameters, theItem){
	http_request = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			// set type accordingly to anticipated content type
			//http_request.overrideMimeType('text/xml');
			http_request.overrideMimeType('text/html');
		}
	}else if(window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
			}catch (e){
				try {
					http_request = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {}
		}
	}
	if(!http_request){
		alert('Cannot create XMLHTTP instance');
		return false;
	}

	http_request.onreadystatechange = function(){getPreview(theItem);};
	http_request.open('POST', url, true);
	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http_request.setRequestHeader("Content-length", parameters.length);
	http_request.setRequestHeader("Connection", "close");
	http_request.send(parameters);
}

function getPreview(whatItem) {
	//alert("Contents ITEM: " + whatItem);
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			//alert(http_request.responseText);
			result = http_request.responseText;
			document.getElementById(whatItem).innerHTML = result;
		} else {
			alert('There was a problem with the request.');
		}
	}
}



function writePreview(fileID, incExtra){
	var poststr = "fileID=" + encodeURI(fileID) + "&incExtra="+encodeURI(incExtra);
	if(fileID.length>0){
		makePreview(incExtra+'ajax/get_preview.php', poststr, 'preview_div'+fileID);
	}
}
function ajax_addCart_special(productID){
	var poststr = "productID=" + encodeURI(productID);
	makePOSTRequest('ajax/update_cart_special.php', poststr, 'cart_contents', "addCartLink"+productID);
}

