﻿var parameters;
var prodID;
var pageLink;

function getXMLHttp()
{
  var xmlHttp;
  
  if (window.navigator.appName == 'Microsoft Internet Explorer'){
    try
    {
      xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch(e)
    {
      try
      {
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch(e)
      {
        alert("Your browser does not support AJAX!")
        return false;
      }
    }
  }
  else {
      try
      {
        //Firefox, Opera 8.0+, Safari
        xmlHttp = new XMLHttpRequest();
      }
      catch(e)
        {
            alert("Your browser does not support AJAX!");
            return false;
          }
  }
  
  return xmlHttp;
}
 
function MakeRequest(reqWindow)
{
	var xmlHttp = getXMLHttp();

	xmlHttp.onreadystatechange = function()
	{
		if(xmlHttp.readyState == 4) HandleResponse(xmlHttp.responseText,reqWindow);
	}

	switch(reqWindow){
		case 1: xmlHttp.open("GET", "Pricebox.php?productID="+productID.value+"&"+Math.random(),true);
				xmlHttp.send(null);
				break;
		case 2: xmlHttp.open("GET", "OpenCommercialAccount.php?"+Math.random(),true);
				xmlHttp.send(null);
				break;
		case 3: xmlHttp.open("GET", "ViewCart.php?"+Math.random(),true);
				xmlHttp.send(null);
				break;
		case 4: xmlHttp.open("GET", "ExistingCommercialAccount.php?"+Math.random(),true);
				xmlHttp.send(null);
				break;
		case 5: xmlHttp.open("POST","Pricebox.php?"+Math.random(), true);
				xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				xmlHttp.send(parameters);
				break;
		case 6: xmlHttp.open("GET", "WhoAreYou.php?productID="+prodID+"&"+Math.random(),true);
				xmlHttp.send(null);
				break;
		case 7: xmlHttp.open("GET", "Pricebox.php?productID="+prodID+"&"+Math.random(),true);
				xmlHttp.send(null);
				break;
		case 8: xmlHttp.open("POST","ExistingCommercialAccount.php?"+Math.random(), true);
				xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				xmlHttp.send(parameters);
				break;
		case 9: xmlHttp.open("POST","ViewCart.php?"+Math.random(), true);
				xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				xmlHttp.send(parameters);
				break;
		case 10: xmlHttp.open("POST","AlphaIndex.php?"+Math.random(), true);
				xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				xmlHttp.send(parameters);
				break;
		case 11: xmlHttp.open("POST", "PartSearch.php?" + Math.random(), true);
				xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				xmlHttp.send(parameters);
				break;
		case 12:
		case 13:
		case 14: xmlHttp.open("POST", "CategoryMenu.php?" + Math.random(), true);
				xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				xmlHttp.send(parameters);
				break;
		case 15: xmlHttp.open("GET",pageLink+"?"+Math.random(),true);
				xmlHttp.send(null);
				break;
		case 16: xmlHttp.open("GET", "Pricebox.php?"+parameters+"&"+Math.random(),true);
				xmlHttp.send(null);
				break;
		case 17:
		case 18: xmlHttp.open("POST", "MfgIndex.php?" + Math.random(), true);
				xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				xmlHttp.send(parameters);
				break;
		case 19: xmlHttp.open("GET", "Guest.php?" + Math.random(), true);
				xmlHttp.send(null);
				break;
		case 20:
		case 21: //alert("req: "+reqWindow+"\nMouseoverMenu.php?" + parameters);
			xmlHttp.open("POST", "MouseoverMenu.php?" + Math.random(), true);
			xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			xmlHttp.send(parameters);
			break;
		}
}
 
function HandleResponse(response,reqWindow)
{
	switch(reqWindow){
		case 1: 
		case 5:
		case 7:
		case 16: document.getElementById('DivPriceBox').innerHTML = response;
			if (document.getElementById('priceForm')){
				if (document.getElementById('priceForm').elements['AddSuccessful'].value == 1) {
					Hide('DivPriceBox');
					Hide('DivMsg');
				}
				else document.getElementById('priceForm').elements['orderQty'].focus();
			}
			break;
		case 2: 
		case 4:	document.getElementById('DivCommercialAccount').innerHTML = response;
				break;
		case 3: 
		case 9:	document.getElementById('DivViewCart').innerHTML = response;
				break;
		case 6: document.getElementById('DivWhoAreYou').innerHTML = response;
				break;
		case 8: document.getElementById('DivCommercialAccount').innerHTML = response;
			break;
		case 10: 
		case 11: document.getElementById('DivSearchResults').innerHTML = response;
			break;
		case 12: document.getElementById('DivCategory1').innerHTML = response;
			break;
		case 13: document.getElementById('DivCategory2').innerHTML = response;
			break;
		case 14: document.getElementById('DivCategory3').innerHTML = response;
			break;
		case 15: document.getElementById('DivMsg').innerHTML = '<table width="300"><tr><td align="right"><a href="#" onclick="Hide'+"('DivMsg'); return false;"+'">[Close]</a></td></tr><tr><td>'+response+'</td></tr></table>';
			break;
		case 17: document.getElementById('DivCategory1').innerHTML = response;
			break;
		case 18: document.getElementById('DivCategory2').innerHTML = response;
			break;
		case 19: document.getElementById('DivWhoAreYou').innerHTML = response;
			break;
		case 20: document.getElementById('DivCategory2').innerHTML = response;
			break;
		case 21: document.getElementById('DivCategory3').innerHTML = response;
			break;
	}
}

function ShowGuestDiv() 
{
	MakeRequest(19);
	Show('DivWhoAreYou');
}

function OutwaterPopup(id)
{
	formID = document.getElementById('LoggedInForm');
	prodID = id;

	if (formID.elements['LoggedIn'].value == "1"){
		MakeRequest(7);
		AssignTopValue(document.getElementById("DivPriceBox"));
		if (document.getElementById("DivPriceBox").style.visibility != "visible") Show('DivPriceBox');
	}
	else {
		MakeRequest(6);
		AssignTopValue(did=document.getElementById("DivWhoAreYou"));
		Show('DivWhoAreYou');
	}
}

function OutwaterPopupLogin(id,custid,pword)
{
	alert("OutwaterPopupLogin("+id+","+custid+","+pword+")");
	parameters =	"Cmd="+encodeURI("Login")+
					"&productID="+encodeURI(id)+
					"&custID="+encodeURI(custid)+
					"&pword="+encodeURI(pword);
	MakeRequest(16);
	AssignTopValue(document.getElementById("DivPriceBox"));
	Show('DivPriceBox');
}

function NewPricebox()
{
	formID = document.getElementById('LoggedInForm');
	if (formID.elements['LoggedIn'].value == "1"){
		MakeRequest(1);
		AssignTopValue(document.getElementById("DivPriceBox"));
		Show('DivPriceBox');
	}
	else {
		MakeRequest(6);
		AssignTopValue(document.getElementById("DivWhoAreYou"));
		Show('DivWhoAreYou');
	}
}

function UpdatePricebox(id)
{
	var keyType;
	var radioObj;

	formID = document.getElementById(id);
	radioObj = formID.elements['keyType'];
	if (!radioObj) keyType = " ";
	else if (radioObj.length == undefined) keyType = " ";
	else {
		if (radioObj[0].checked) keyType = "A";
		else keyType = "D";
	}

	parameters =	"AddButton="+encodeURI("AddToCart")+
					"&orderQty="+encodeURI(formID.elements['orderQty'].value)+
					"&keyType="+encodeURI(keyType)+
					"&keyAlikeText="+encodeURI(formID.elements['keyAlikeText'].value)+
					"&keyDifferentText="+encodeURI(formID.elements['keyDifferentText'].value)+
					"&cutText="+encodeURI(formID.elements['cutText'].value);

	MakeRequest(5);
}

function NewViewCart() {
	var tmpID = document.getElementById('DivViewCart');
	if (tmpID == null) alert("NULL DIV");
	MakeRequest(3);
	AssignTopValue(document.getElementById("DivViewCart"));
	Show('DivViewCart');
}

function UpdateViewCart(id,cmd,items)
{
	var idx;
	var radioObj;
	var keyType;

	formID = document.getElementById(id);

	if (cmd == "EmptyCart") {
		if (confirm("Are you sure you want to empty the contents of your shopping cart?")) {
			parameters = "Submit=" + encodeURI(cmd);
			MakeRequest(9);
		}
	}
	else if (cmd == "UpdateCart") {
		parameters = "Submit=" + encodeURI(cmd);
		for (i = 0; i < items; i++) {
			idx = "Remove_" + i;
			if (formID.elements[idx]) parameters += "&" + idx + "=" + encodeURI(formID.elements[idx].checked);

			idx = "Line_" + i;
			if (formID.elements[idx]) parameters += "&" + idx + "=" + encodeURI(formID.elements[idx].value);

			idx = "Item_" + i;
			if (formID.elements[idx]) parameters += "&" + idx + "=" + encodeURI(formID.elements[idx].value);

			idx = "Qty_" + i;
			if (formID.elements[idx]) parameters += "&" + idx + "=" + encodeURI(formID.elements[idx].value);

			idx = "cutText_" + i;
			if (formID.elements[idx]) parameters += "&" + idx + "=" + encodeURI(formID.elements[idx].value);

			idx = "keyType_" + i;
			radioObj = formID.elements[idx];
			if (!radioObj) keyType = " ";
			else if (radioObj.length == undefined) keyType = " ";
			else {
				if (radioObj[0].checked) keyType = "A";
				else keyType = "D";
			}
			if (formID.elements[idx]) parameters += "&" + idx + "=" + encodeURI(keyType);

			idx = "keyText_" + i;
			if (formID.elements[idx]) parameters += "&" + idx + "=" + encodeURI(formID.elements[idx].value);
		}
		MakeRequest(9);
	}
	else if (cmd == "SaveCart") {
		var cartName = prompt("Enter shopping cart nickname (displayed in your open shopping cart list in 'My Account') (Max 50 characters):","");
		
		parameters = "Submit=" + encodeURI(cmd) + "&CartName=" + encodeURI(cartName.substring(0,50));
		MakeRequest(9);
	}
}

function RequestCommercialLogin(id) {
	formID = document.getElementById(id);
	AssignTopValue(formID);

	parameters = "Submit=" + encodeURI("RequestLogin") +
					"&custID=" + encodeURI(formID.elements['custID'].value) +
					"&contactName=" + encodeURI(formID.elements['contactName'].value) +
					"&invoiceNumber=" + encodeURI(formID.elements['invoiceNumber'].value);

	MakeRequest(8);
}

function NewCommercialAccount()
{
	MakeRequest(2);
	divID = document.getElementById('DivCommercialAccount');
	divID.style.left = 100 + "px";
	divID.style.top = 100 + "px";
	AssignTopValue(divID);
	Hide('DivWhoAreYou');
	Hide('DivCommercialPopup');
	Show('DivCommercialAccount');
}

function ExistingCommercialAccount()
{
	MakeRequest(4);
	divID = document.getElementById('DivCommercialAccount');
	divID.style.left = 100 + "px";
	divID.style.top = 100 + "px";
	AssignTopValue(divID);
	Hide('DivCommercialPopup');
	Show('DivCommercialAccount');
}

function AssignTopValue(elem) {
	if (!elem.SBBaseTop) {
		if (elem.offsetTop) elem.SBBaseTop = parseInt(elem.offsetTop);
		else elem.SBBaseTop = parseInt(elem.style.top);
	}
	if (document.documentElement && document.documentElement.scrollTop) elem.style.top = elem.SBBaseTop + document.documentElement.scrollTop + "px";
	else elem.style.top = elem.SBBaseTop + document.body.scrollTop + "px";

}

function AlphaIndex(searchValue) {
	var refID = document.getElementById('DivSearchInput');

	divID = document.getElementById('DivSearchResults');
	parameters = "searchTerm=" + encodeURI(searchValue);

	divID.style.left = "" + (parseInt(refID.offsetLeft) + parseInt(refID.offsetWidth) - 400) + "px";
	divID.style.top = "" + (parseInt(refID.offsetTop) + parseInt(refID.offsetHeight)) + "px";
	divID.style.height = "350px";
	divID.style.width = "400px";
	divID.style.overflowY = "visible";
	MakeRequest(10);
	Show('DivSearchResults');
}

function PartSearch(searchValue,searchType) {
	var refID = document.getElementById('DivSearchInput');

	divID = document.getElementById('DivSearchResults');
	parameters = "searchTerm=" + encodeURI(searchValue) +
				 "&searchType=" + encodeURI(searchType);

	divID.style.left = "" + (parseInt(refID.offsetLeft) + parseInt(refID.offsetWidth) - 600) + "px";
	divID.style.top = "" + (parseInt(refID.offsetTop) + parseInt(refID.offsetHeight)) + "px";
	if (searchType == "PartNumber") divID.style.height = "200px";
	else divID.style.height = "350px";
	divID.style.width = "600px";
	divID.style.overflowY = "visible";
	MakeRequest(11);
	Show('DivSearchResults');
}

function CategoryMenu(baseField,cat1,cat2,cat3) {

	var c1 = ""+cat1;
	var c2 = ""+cat2;
	var c3 = ""+cat3;
	
	cat1 = c1.replace("&", "%a");
	cat2 = c2.replace("&", "%a");
	cat3 = c3.replace("&", "%a");
	parameters = "cat1=" + encodeURI(cat1) +
				 "&cat2=" + encodeURI(cat2) +
				 "&cat3=" + encodeURI(cat3);

	MakeRequest(11 + baseField);
}

function MouseoverMenu(baseField, cat1, cat2) {

	var c1 = "" + cat1;
	var c2 = "" + cat2;

	cat1 = c1.replace("&", "%a");
	cat2 = c2.replace("&", "%a");
	parameters = "cat1=" + encodeURI(cat1) +
				 "&cat2=" + encodeURI(cat2);

	MakeRequest(19 + baseField);
}

function MfgMenu(mfg) {

	parameters = "mfgName=" + encodeURI(mfg);
	
	if (mfg == "") MakeRequest(17);
	else MakeRequest(18);
}

function NewPopupMsg(event,pagelink)
{
	var popupID = document.getElementById('DivMsg');

	pageLink = pagelink;
	MakeRequest(15);

	popupID.style.left = ""+(event.clientX + Math.max(document.body.scrollLeft, document.documentElement.scrollLeft)) + "px";
	popupID.style.top = "" + (event.clientY + Math.max(document.body.scrollTop, document.documentElement.scrollTop)) + "px";

	Show('DivMsg');
}

