function ajaxLoader(eventName, url, pageElement, callMessage)
{
	if(document.getElementById('ajaxCont').value==1)
	{
		alert('Wait please! Another function is running.');
	}
	else
	{
		document.getElementById(pageElement).innerHTML = callMessage+'<input type="hidden" name="ajaxCont" id="ajaxCont" value="1" />';
		try
		{
			req = new XMLHttpRequest(); /* e.g. Firefox */
		}
		catch(e)
		{
			try
			{
				req = new ActiveXObject("Msxml2.XMLHTTP");
				/* some versions IE */
			}
			catch(e)
			{
				try
				{
					req = new ActiveXObject("Microsoft.XMLHTTP");
					/* some versions IE */
				}
				catch (E)
				{
					req = false;
				}
			}
		}
		req.onreadystatechange = function() {responseAJAX(eventName, pageElement);};
		req.open("GET",url,true);
		req.send(null);
	}
}

function responseAJAX(eventName, pageElement)
{
	var output = '';
	var sysOutput = '';
	if(req.readyState == 4)
	{
		if(req.status == 200)
		{
			output = req.responseText;
			//document.getElementById(pageElement).innerHTML = output;
			if(eventName=="qty")
			{//comes from cart.php
				output = output.split('~');
				document.getElementById('proTotal_'+output[0]).innerHTML = output[1];
				var st = output[2].split(' ')
				document.getElementById('subTotal').innerHTML = st[0]+' '+st[1]+'<input type="hidden" name="txtSubTotal" id="txtSubTotal" value="'+st[1]+'" />';
				document.getElementById('disMsg').innerHTML = output[3];
				document.getElementById('disAmount').innerHTML = output[4];
				document.getElementById('gTotal').innerHTML = output[5];
				document.getElementById('headerGTotal').innerHTML = output[5];
				document.getElementById('headerTotalQty').innerHTML = output[6];
			}
			else if(eventName=="coupon")
			{//comes from cart.php
				output = output.split('~');
				document.getElementById('disMsg').innerHTML = output[0];
				document.getElementById('disAmount').innerHTML = output[1];
				document.getElementById('gTotal').innerHTML = output[2];
				document.getElementById('headerGTotal').innerHTML = output[2];
			}
			else if(eventName=="proColor" || eventName=="dProSize")
			{//comes from productDetails.php
				document.getElementById('devProColor').innerHTML = output;
			}
			else if(eventName=="addrBook")
			{//comes from addrCre.php
				output = output.split('~');
				if(output[0]=="new")
				{
					document.getElementById('addressID').value = '';
					document.getElementById('titleName').selectedIndex = 0;
					document.getElementById('firstName').value = '';
					document.getElementById('lastName').value = '';
					document.getElementById('phone').value = '';
					document.getElementById('mobile').value = '';
					document.getElementById('addressL1').value = '';
					document.getElementById('addressL2').value = '';
					document.getElementById('city').value = '';
					document.getElementById('state').value = '';
					document.getElementById('country').selectedIndex = 0;
					document.getElementById('postCode').value = '';
				}
				else
				{
					document.getElementById('addressID').value = output[0];
					var len = document.getElementById('titleName').length;
					for(var i=0; i<len; i++) { if(output[1]==document.getElementById('titleName')[i].value) { document.getElementById('titleName').selectedIndex = i; break; } }
					document.getElementById('firstName').value = output[2];
					document.getElementById('lastName').value = output[3];
					document.getElementById('phone').value = output[4];
					document.getElementById('mobile').value = output[5];
					document.getElementById('addressL1').value = output[6];
					document.getElementById('addressL2').value = output[7];
					document.getElementById('city').value = output[8];
					document.getElementById('state').value = output[9];
					len = document.getElementById('country').length;
					for(var i=0; i<len; i++) { if(output[10]==document.getElementById('country')[i].value) { document.getElementById('country').selectedIndex = i; break; } }
					document.getElementById('postCode').value = output[11];
				}
			}
			else if(eventName=="shipping")
			{//comes from checkOutConf.php
				output = output.split('~');
				document.getElementById('devShipping').innerHTML = output[1];
				document.getElementById('deliveryCost').value =  output[0];
				document.getElementById('deliveryDiscount').value = output[2];
				document.getElementById('gTotal').innerHTML = output[4];
				document.getElementById('grandTotal').value =  output[3];
			}
			else { sysOutput = output; }
			document.getElementById(pageElement).innerHTML = sysOutput+'<input type="hidden" name="ajaxCont" id="ajaxCont" value="0" />';
		}
	}
}


