// Ajax Functions
/*
addOnloadEvent(function() { 
	var strHref = getHost();

	if(document.getElementById && document.getElementsByTagName && document.createElement) {
		// fetch first feature
		sendHttpRequest(strHref + '/features.php','displayFeatures');
	}
});
*/

function GetXmlHttpObject() {
	var xmlHttp=null;

	try {
		// Firefox, Opera 8.0+, Safari
		xmlHttp = new XMLHttpRequest();
	} catch (e) {
		//Internet Explorer
		try {
			xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}

	return xmlHttp;
}

function sendHttpRequest(url,callbackFunc,respXml) {
	var xmlobj = null;

	try {
		// Firefox, Opera 8.0+, Safari
		xmlobj = new XMLHttpRequest();
	} catch(e) {
		//Internet Explorer
		try {
			xmlobj = new ActiveXObject("Microsoft.XMLHTTP");
		} catch(e) {
			try {
				xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				alert('AJAX is not supported by your browser!');
				return false;
			}
		}
	}

	xmlobj.onreadystatechange = function() {
		if(xmlobj.readyState == 4) {
			if(xmlobj.status == 200) {
				respXml ? eval(callbackFunc+'(xmlobj.responseXML)') : eval(callbackFunc+'(xmlobj.responseText)');
			}
		}
	}

	// open socket connection
	xmlobj.open('GET',url,true);
	// send http header
	xmlobj.setRequestHeader('Content-Type','text/plain;charset=UTF-8');
	// send http request
	xmlobj.send(null);
}

// display features
function displayFeatures(featureData){
	// parse feature data
	var features	 = featureData.split("~");
	var featureDiv = document.getElementById('featurecontainer');

	if(!featureDiv){return};

	// clean up feature container
	featureDiv.innerHTML = '';

	for (i=0; i<features.length-1; i++) {
		var featureCat		 = features[i].split('|')[0];
		var featureKey		 = features[i].split('|')[1];
		var featureImg1		 = features[i].split('|')[2];
		var featureImg2		 = features[i].split('|')[3];
		var featureName		 = features[i].split('|')[4];
		var featureDesc		 = features[i].split('|')[5];

		if(!featureImg1 || !featureImg2){return};

		if(featureKey){
			// append feature link to container
			var d = document.createElement('div');
			var img = document.createElement('img');
			img.setAttribute('src',"/imgsrc.php?src=" + featureImg2 + "&w_size=160&h_size=160");
			img.setAttribute('border', 0);
			d.appendChild(img);

			var p = document.createElement('p');
			p = document.createTextNode(featureDesc);

			var b = document.createElement("br");

			var a = document.createElement('a');
			a.setAttribute('href',"index.php?v=item&c=" + featureCat + "&p=" + featureKey);
			var img = document.createElement('img');
			img.setAttribute('src',"/images/button-order.jpg");
			img.setAttribute('border', 0);
			a.appendChild(img);

			featureDiv.appendChild(d);
			featureDiv.appendChild(p);
			featureDiv.appendChild(b);
			featureDiv.appendChild(a);
		}
	}

	var strHref = getHost();

	// fetch feature recursively 
	setTimeout("sendHttpRequest('" + strHref + "/features.php','displayFeatures')",5*1000);
}

// display product images
function displayImages(productData){
	// parse product data
	var images	 = productData.split("~");

	for (i=0; i<images.length-1; i++) {
		var productCat	= images[i].split('|')[0];
		var productKey	= images[i].split('|')[1];
		var productImg1	= images[i].split('|')[2];
		var productImg2	= images[i].split('|')[3];
		var productInx	= images[i].split('|')[4];
		var productLink	= images[i].split('|')[5];
		var imageDiv		= document.getElementById('imagecontainer' + productInx);

		if(!imageDiv){return};

		// clean up images container
		imageDiv.innerHTML = '';

		if(!productImg1 || !productImg2){return};

		if(productKey){
			// append feature link to container
			var a = document.createElement('a');
			if(productLink > 0) {
				a.setAttribute('href',"index.php?v=item&c=" + productCat + "&p=" + productKey);
			} else {
				a.setAttribute('href', productImg1);
			}

			var img = document.createElement('img');
			img.setAttribute('src',"/imgsrc.php?src=" + productImg2 + "&w_size=200&h_size=200");
			img.setAttribute('border', 0);
			a.appendChild(img);
			imageDiv.appendChild(a);
		}
	}

	var strHref = getHost();

	// fetch image recursively 
	setTimeout("sendHttpRequest('" + strHref + "/images.php?c=" + productCat + "&p=" + productKey + "&i=" + productInx + "','displayImages')",5*1000);
}

var cartIndex = 0;
function getCart(Inx, pId, Qty, Size, Color) {
	xmlHttp=GetXmlHttpObject();

	if (xmlHttp == null) {
		alert ("Browser does not support HTTP Request")
		return
	} 

	var strHref = getHost();
	var Target = "txtResult" + cartIndex;
	document.getElementById(Target).innerHTML = '';
	cartIndex = Inx;

	var url=strHref + "/includes/cartUpdates.php";
	url=url+"?p="+pId;
	url=url+"&q="+Qty;
	url=url+"&s="+Size;
	url=url+"&c="+Color;
	url=url+"&sid="+Math.random();

	xmlHttp.onreadystatechange=stateChanged;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}

function stateChanged() { 
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") { 
		var Target = "txtResult" + cartIndex;
		document.getElementById(Target).innerHTML = xmlHttp.responseText;
		getCartResults();
	} 
}

function getCartResults() {
	xmlHttp=GetXmlHttpObject();

	if (xmlHttp == null) {
		alert ("Browser does not support HTTP Request")
		return
	} 

	var strHref = getHost();
	var url=strHref + "/includes/cartMessage.php";
	xmlHttp.onreadystatechange=stateChanged2;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}

function stateChanged2() { 
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") { 
		document.getElementById("cartResults").innerHTML = xmlHttp.responseText;
	} 
}

function getHost() {
	// Get URL
	if (location.href.indexOf("https://")!= -1) 
		var prefix = "https://"; 
	else 
		var prefix = "http://"; 

	if (location.href.indexOf('//') !=-1) {
		firstpos = location.href.indexOf('//')+2;
		var tmpHref = location.href.substring(firstpos);
		if (tmpHref.indexOf('/') !=-1) {
			lastpos = tmpHref.indexOf('/');
			var strHref = prefix + tmpHref.substring(0, lastpos);
		} else {
			var strHref = location.href;
		}
	} else {
		if (location.href.indexOf('/') !=-1) {
			lastpos = location.href.indexOf('/');
			var strHref = prefix + location.href.substring(0, lastpos);
		} else {
			var strHref = prefix + location.href;
		}
	}

	return strHref;
}