
	/* Modified by Alex Spooner, 2008-06-27 */

  // ajaxLoad 2.0
	function ajaxLoad(func,method,url,vars)
  {
    try
    {
      xmlhttp = window.XMLHttpRequest?new XMLHttpRequest():
      new ActiveXObject("Microsoft.XMLHTTP");
    }
    catch (e)
    {
      alert("Your browser doesn't support ajax. Use newer FireFox or IE!");
    }
    xmlhttp.onreadystatechange = function ajaxTrigger()
    {
      if ((xmlhttp.readyState == 4) && (xmlhttp.status == 200))
      {
        eval(func)(xmlhttp.responseText);
      }
    }
    if (vars.length>0)
    {
      vars = vars + '&ajaxtimestamp=' + new Date();
    }
    else
    {
      vars = 'ajaxtimestamp=' + new Date();
    }
    if (method == "GET")
    {
      xmlhttp.open("GET", encodeURI(url + '?' + vars), true);
      xmlhttp.send(null);
    }
    if (method == "POST")
    {
      xmlhttp.open("POST", encodeURI(url), true);
			xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');      
      xmlhttp.send(encodeURI(vars));
    }
  }

	// WMouseTalk 3.0
	function WMouseTalk(t)
	{
		document.onmousemove = WMouseEvent;
		document.getElementById('WMouseText').innerHTML = t;
		WMouseShow(1500);
	}	
	function WMouseShout(e,t,s)
	{
		WMousePos(e);
		document.getElementById('WMouseText').innerHTML = t;
		WMouseShow(s);
		document.onmousemove = WMouseEvent;
	}	
	function WMouseEvent(e)
	{
		WMousePos(e);
		if (document.getElementById('WMouse').style.display=='none') WMouseShow(1500);
	}	
	function WMouseShow(s)
	{
		document.getElementById('WMouse').style.display='block';
		if (s>0) setTimeout('WMouseHide()',s);
	}	
	function WMousePos(e)
	{
		var posx = 0;
		var posy = 0;
		var mouw = 75;
		var mouh = 55;
		var WMou = document.getElementById('WMouse'); 
		if (!e) var e = window.event;
		if (e.pageX || e.pageY) 	{
			posx = e.pageX;
			posy = e.pageY;
		}
		else if (e.clientX || e.clientY) 	{
			posx = e.clientX + document.body.scrollLeft
				+ document.documentElement.scrollLeft;
			posy = e.clientY + document.body.scrollTop
				+ document.documentElement.scrollTop;
		}
		if (posx<mouw) WMou.style.left = posx+(mouw/1.5) + 'px';
		else WMou.style.left = posx-(mouw/1.5) + 'px';
		if (posy<mouh) WMou.style.top = (posy+5) + 'px';
		else WMou.style.top = (posy-mouh-5) + 'px';
	}	
	function WMouseHide()
	{
		document.getElementById('WMouse').style.display='none';
		document.onmousemove = null;
	}	
	
	// calcTotalLoad 2.0.A
	function calcTotalLoad(e)
	{
		obj = document.CheckOutForm;
		ajaxLoad('calcTotalRes','POST','/ajax/calc-total.php','items='+document.getElementById('ItemPrice').innerHTML+'&weight='+document.getElementById('ItemWeight').innerHTML+'&city='+obj.OrdShipCity.value+'&state='+obj.OrdShipState.value+'&zip='+obj.OrdShipZip.value+'&country='+obj.OrdShipCountry.value+'&ship='+obj.OrdShipType.value);
		document.body.style.cursor = 'progress';
		varyCountry();
		obj.OrdShipType.options.length = 1;
		obj.OrdShipType.options[0].text = 'Calculating...'; 
		WMousePos(e);
		WMouseTalk('<span>Calculating Total...</span>');
	}

	// calcTotalRes 2.0.A
	function calcTotalRes(res)
	{
		//alert(res);
		if (res)
		{
			obj = document.CheckOutForm;

			arr = res.split('|');
			document.getElementById('TaxPrice').innerHTML = arr[0];
			document.getElementById('ShippingPrice').innerHTML = arr[1];
			document.getElementById('TotalPrice').innerHTML = arr[3];
	
			shipping = arr[4].split('::');
			size = shipping.length;
			obj.OrdShipType.options.length = size;
			for (i=0;i<size;i++)
			{
				service = shipping[i].split(';')
				if (service[0]=='error')
				{
					obj.OrdShipType.options[i].value = 0;
					obj.OrdShipType.options[i].text = 'ERROR';
					document.getElementById('upsinfo').innerHTML = service[1];
				}
				else
				{
					obj.OrdShipType.options[i].value = service[0];
					obj.OrdShipType.options[i].text = service[1] + ' ($' + service[2] + ')';
					if (arr[5]==service[0]) obj.OrdShipType.options[i].selected = true;
					document.getElementById('upsinfo').innerHTML = '';
				} 
			}

			WMouseTalk('<span>Total updated!</span>');
		}
		else
		{
			alert('Internal Error!');
		}
		document.body.style.cursor = 'default';
	}
	
	// chkWait 1.0
	function chkWait()
	{
		document.getElementById('chkimg').style.display = 'none'; 
		document.getElementById('working').style.display = 'block'; 
	}
	
	// varyCountry 1.1
	function varyCountry()
	{
		obj = document.CheckOutForm;
		if (obj.OrdBillCountry.value=='US')
		{
			document.getElementById('billstate').style.display = 'block';
			document.getElementById('billcounty').style.display = 'none';
		}
		else
		{
			document.getElementById('billstate').style.display = 'none';
			document.getElementById('billcounty').style.display = 'block';
		}
		if (obj.OrdShipCountry.value=='US')
		{
			document.getElementById('shipstate').style.display = 'block';
			document.getElementById('shipcounty').style.display = 'none';
		}
		else
		{
			document.getElementById('shipstate').style.display = 'none';
			document.getElementById('shipcounty').style.display = 'block';
		}
	}
	