
// ----- Mod by Andrew 2007-03-13
//---- retreive lists of states that require a sell price. GV 3/7/07


var browserType;
/*
//--- create pool of XmlHttp objects. GV 11/3/07
var intHttpCount = 5;
var aryHttp = new Array(intHttpCount);
for (var i=0; i < intHttpCount; i++)
{
	try // Firefox, Opera 8.0+, Safari
		{ aryHttp[i] =  new XMLHttpRequest();   }
	catch (e) // Internet Explorer
		{ 
		try
			{	aryHttp[i] =  new ActiveXObject("Msxml2.XMLHTTP");	}
		catch (e)
			{
			try
				{	aryHttp[i] =  new ActiveXObject("Microsoft.XMLHTTP");	}
			catch (e)
				{	alert("Your browser does not support AJAX!");	aryHttp[i] =  null;}
			}
		}
}
*/






if (document.layers) {browserType = "nn4"}
if (window.navigator.userAgent.toLowerCase().match("gecko")) {
   browserType= "gecko"
}
if (document.all) {browserType = "ie"}

function CreateHttp()
	{		
	
	try // Firefox, Opera 8.0+, Safari
		{ return new XMLHttpRequest();   }
	catch (e) // Internet Explorer
		{ 
		try
			{	return new ActiveXObject("Msxml2.XMLHTTP");	}
		catch (e)
			{
			try
				{	return new ActiveXObject("Microsoft.XMLHTTP");	}
			catch (e)
				{	alert("Your browser does not support AJAX!");	return null;}
			}
		}
	}

// get object - cross browser		
function getObject(itemName)
	{
	var myVar = null;
	  if (browserType == "gecko" )
		 myVar = document.getElementById(itemName);
	  else if (browserType == "ie")
	  	{
		 command = "myVar = document.all."+itemName+";"
		 //alert(command);
		 eval(command);
		}
	  else
		 myVar = document.layers[itemName];
	return myVar;
	}


function DealerInfo(type,contractornumber)
{
	var strLoadtext = "<font color='blue' size='2'><b>loading dealer info. Please wait..</b></font>";
	var objd = CreateHttp();
	var strResponseText = "";
	document.forms[1].hidDealerSelection.value = contractornumber;
	//alert("/protectionplus/ajax/CustomerInfo.asp?CustomerType=" + type + "&CustomerNumber=" + contractornumber)
	objd.open("GET", "/protectionplus/ajax/CustomerInfo.asp?CustomerType=" + type + "&CustomerNumber=" + contractornumber, true);
    objd.onreadystatechange = function()
	{
    	if (objd.readyState != 4)
		{
			//document.all.CustomerInfo.innerHTML = strLoadtext;
			  itemName = "CustomerInfo";
			  if (browserType == "gecko" )
				 myVar = document.getElementById(itemName);
			  else if (browserType == "ie")
				 myVar = document.all[itemName];
			  else
				 myVar = document.layers[itemName];
				 
			  try { myVar.innerHTML = strLoadtext; }
			  catch (e) {a=1; }
		}
		else
		{		
		    strResponseText = objd.responseText.toString();
			//alert(strResponseText);
			//document.all.CustomerInfo.innerHTML = strResponseText;
			  itemName = "CustomerInfo";
			  if (browserType == "gecko" )
				 myVar = document.getElementById(itemName);
			  else if (browserType == "ie")
				 myVar = document.all[itemName];
			  else
				 myVar = document.layers[itemName];
				 
			  try { myVar.innerHTML = strResponseText; }
			  catch (e) {a=1; }
			//objShip.onreadystatehandler  = testalert() 			   
		}
	}
    objd.send(null);
}

function UpdateZipCodes(sZip) {
	
	//alert(sFormData);
	var strLoadtext = "<font color='blue' size='1'><center><b>Loading...</b></center></font>";
	var objd = CreateHttp();
	var strResponseText = "";
	objd.open("GET", "/protectionplus/ajax/UpdateZipCodes.asp?ZipCode="+sZip, true);
	//objd.open("POST", "/protectionplus/ajax/UpdateZipCodes.asp?ZipCode="+sZip, true);
	//objd.send(sFormData);
    objd.onreadystatechange = function()
	{
    	if (objd.readyState != 4)
		{
			  itemName = "ZipCodeInfo";
			  if (browserType == "gecko" )
				 myVar = document.getElementById(itemName);
			  else if (browserType == "ie")
				 myVar = document.all[itemName];
			  else
				 myVar = document.layers[itemName];
				 
			  try { //myVar.innerHTML = strLoadtext; 
			  }
			  catch (e) {a=1; }
		}
		else
		{		
		    strResponseText = objd.responseText.toString();
			  itemName = "ZipCodeInfo";
			  if (browserType == "gecko" )
				 myVar = document.getElementById(itemName);
			  else if (browserType == "ie")
				 myVar = document.all[itemName];
			  else
				 myVar = document.layers[itemName];
				 
			  try { myVar.innerHTML = strResponseText; 
			  }
			  catch (e) {a=1; }
			//objShip.onreadystatehandler  = testalert() 			   
		}
	}
    objd.send(null);
}


function DeleteZipCode(sZip)
{
	var f = document.frmServApp;
	if (confirm("Are you sure you want to delete zip code \"" + Trim(sZip) + "\"?"))
	{
		UpdateZipCodes(sZip); 	
		if (f.txtCoverageZip != null) {f.txtCoverageZip.value = '';}
	}
}

/* EA 1/8/08 Changed parameter list to be able to pass data between asp pages and functions.
function DeleteZipCode(sZip, sFormData)
{
	var f = document.frmServApp;
	if (confirm("Are you sure you want to delete zip code \"" + Trim(sZip) + "\"?"))
	{
		UpdateZipCodes(sZip, sFormData); 	
		if (f.txtCoverageZip != null) {f.txtCoverageZip.value = '';}
	}
}*/

// EA 1/8/08 Changed parameter list to be able to pass data between asp pages and functions.
function ShowZipCodeInfo(sArea,sReview)
{
	//alert(sFormData);
	var strLoadtext = "<font color='blue' size='1'><center><b>dealer info. Please wait...</b></center></font>";
	//var f = document.frmServApp;
	//f.hidAreaInfo.value = zipcodes; 
	var objd = CreateHttp();
	var strResponseText = "";
	//objd.open("GET", "/protectionplus/ajax/GetZipCodes.asp", true);  //EA
	objd.open("GET", "/protectionplus/ajax/GetZipCodes.asp?area="+sArea+"&review="+sReview, true);
	//objd.send(sFormData);
    objd.onreadystatechange = function()
	{
    	if (objd.readyState != 4)
		{
			  itemName = "ZipCodeInfo";
			  if (browserType == "gecko" )
				 myVar = document.getElementById(itemName);
			  else if (browserType == "ie")
				 myVar = document.all[itemName];
			  else
				 myVar = document.layers[itemName];
				 
			  try { //myVar.innerHTML = strLoadtext; 
			  }
			  catch (e) {a=1; }
		}
		else
		{		
		    strResponseText = objd.responseText.toString();
			  itemName = "ZipCodeInfo";
			  if (browserType == "gecko" )
				 myVar = document.getElementById(itemName);
			  else if (browserType == "ie")
				 myVar = document.all[itemName];
			  else
				 myVar = document.layers[itemName];
				 
			  try { myVar.innerHTML = strResponseText; }
			  catch (e) {a=1; }
			//objShip.onreadystatehandler  = testalert() 			   
		}
	}
    objd.send(null);
	
}


function ShowDealerInfoAjax()
{
	ShowDealerInfo(document.forms[1].hidCustomerType.value, document.forms[1].hidLetterSelection.value);
}
function SaveDealerInfo()
{
	UpdateFieldEntryTracker3('57', document.forms[1])
}
function ShowCustomersByLetter(type,letter,brand,shipto)
{
	document.forms[1].hidDealerSelection.value = '';
	document.forms[1].hidDealerEntryType.value = 'selection';
	ShowDealerInfo(type,letter,brand,'registered','','','','','','','',shipto);
}

function ShowDealerInfo()
{
	var strLoadtext = "<font color='blue' size='2'><center><b>Loading options. Please wait.....</b></center></font><br/><br />";
	var objds = CreateHttp();
	var strResponseText = "";
	var args = new Array(20);
	for (var i=0;i<args.length;i++)
	
	{
		if (!ShowDealerInfo.arguments[i])
		{
			args[i] = '';
		}
		else
		{
			args[i] = ShowDealerInfo.arguments[i];
		}		
	}
	document.forms[1].hidLetterSelection.value = args[1];	
	//alert(document.forms[1].hidDealerSelection.value);
	if (document.forms[1].hidDealerEntryType.value == "selection")
	{
		postAdd = "/protectionplus/ajax/DealerSearch.asp?FirstLetter=" + args[1] + "&customertype=" + args[0] + "&selection=" + document.forms[1].hidDealerSelection.value + "&brand=" + args[2] + "&status=" + args[3] +  "&trackerid=57&shipTo=" + args[11];
		objds.open("GET", postAdd , true);
	}
	else
	{
		if (args[0] == "contractor") { 
			postAdd = "/protectionplus/ajax/ContractorInfo_M.asp?trackerid=57&customertype=" + args[0];
			objds.open("POST", postAdd, true);
		} else {
			postAdd = "/protectionplus/ajax/DistributorInfo.asp?Distributor="+args[4]+"&DistAddr="+args[5]+"&DistXAddr="+args[6]+"&DistCity="+args[7]+"&DistState="+args[8]+"&DistZip="+args[9]+"&DistNbr="+args[10];
			objds.open("POST", postAdd , true);
		}
	}
	
    objds.onreadystatechange = function()
	{
    	if (objds.readyState != 4)
		{
			//document.all.CustomerSearch.innerHTML = strLoadtext;
		  itemName = "CustomerSearch";
		  if (browserType == "gecko" )
			 myVar = document.getElementById(itemName);
		  else if (browserType == "ie")
			 myVar = document.all[itemName];
		  else
			 myVar = document.layers[itemName];
			 
		  try { myVar.innerHTML = strLoadtext; }
		  catch (e) {a=1; }
		}
		else
		{		
		    //strResponseText = objds.responseText.toString();
			strResponseText = objds.responseText;
			//strResponseText = postAdd + "<br>\n" + objds.responseText;
			
			
			//alert("Got here! " + strResponseText);
			//alert(strResponseText);
			//document.all.CustomerSearch.innerHTML = strResponseText;
		  itemName = "CustomerSearch";
		  myVar = getObject(itemName);
		  try { myVar.innerHTML = strResponseText; }
		  catch (e) {a=1; }
		
			//objShip.onreadystatehandler  = testalert() 			   
		}
	}
    objds.send(null);
}


function SaveDealerInfo()
{
	UpdateFieldEntryTracker3('57', document.forms[1]);
}


function CheckSellPrice(sPriceValue,sStateValue)
{
  if (sStateValue == 'AB' || sStateValue == 'AL' || sStateValue == 'AZ' || sStateValue == 'BC' || sStateValue == 'FL' || sStateValue == 'IL' || sStateValue == 'MB' || sStateValue == 'MN' || sStateValue == 'NB' || sStateValue == 'NF' || sStateValue == 'NM' || sStateValue == 'NS' || sStateValue == 'NT' || sStateValue == 'NU' || sStateValue == 'NV' || sStateValue == 'OC' || sStateValue == 'ON' || sStateValue == 'PE' || sStateValue == 'QC' || sStateValue == 'SC' || sStateValue == 'SK' || sStateValue == 'TX' || sStateValue == 'VT' || sStateValue == 'WA' || sStateValue == 'YT')
	{
		if (isNaN(sPriceValue) || Trim(sPriceValue) == "")
		{
			return false;
		}
		else
		{
			return true;
		}
	}
	else
	{	
	   return true;
	}
}	



function ValidateFormWithSP(sPriceValue, sStateValue)
{
    if (!CheckSellPrice(sPriceValue,sStateValue))
	{
		alert("You must enter a warranty price for the state you selected.");
		return false;
	}
	else
	{
		return ppValidateReg();
	}	
}

function ShowProductInfo(PartNumber)
{
	var strproductLoadtext = "<font color='blue' size='2'><center><b>Loading product details. Please wait.....</b></center></font><br/><br />";
	var objHttp = CreateHttp();
	var strResponseText2 = "";
	myVar2 = CBDiv("ProductInfo");
	postAdd = "/protectionplus/ajax/ProductSearch.asp?PartNumber=" + PartNumber + "&trackerid=57";
	objHttp.open("GET", postAdd , true);	
    objHttp.onreadystatechange = function()
	{
    	if (objHttp.readyState != 4)
		{			 
		  try { 
		  if (PartNumber != "") { myVar2.innerHTML = strproductLoadtext;  }
		  }
		  catch (e) {a=1; }
		}
		else
		{		
		  strResponseText2 = objHttp.responseText;
		  myVar2.innerHTML = strResponseText2;
		    
		}
	}
    objHttp.send(null);
}

function ShowComponentFields(PartNumber, Qs)
{
	//alert(ShowComponentFields.arguments.length);
	//alert(PartNumber.value);
	//alert(ShowComponentFields.arguments[0]);
	//alert(57);
	var strQs = "";
	if (ShowComponentFields.arguments.length == 2)
	{
		if (Qs != "")
		{
			strQs = ShowComponentFields.arguments[1];
		}
	}
	var strComponentLoadtext = "<font color='blue' size='2'><center><b>Loading component fields. Please wait.....</b></center></font><br/><br />";
	var objHttp = CreateHttp();
	var strResponseText3 = "";
	var objDiv = CBDiv("ComponentFields");
	var postAdd = "/protectionplus/ajax/Components.asp?PartNumber=" + PartNumber + strQs + "&trackerid=57" ;
	//var postAdd = "PartNumber=" + PartNumber + strQs + "&trackerid=57" ;
	//alert(postAdd);
	
	objHttp.open("POST", postAdd , true);
	//objHttp.open("POST", "/protectionplus/ajax/Components.asp" , true);
	
	//Send the proper header information along with the request
	//objHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	//objHttp.setRequestHeader("Content-length", postAdd.length);
	//objHttp.setRequestHeader("Connection", "close")	
	
    objHttp.onreadystatechange = function()
	{
    	if (objHttp.readyState != 4)
		{			 
		  try { 		  
		  if (PartNumber != "") { objDiv.innerHTML = strComponentLoadtext;  }
		  	//objDiv.innerHTML = strComponentLoadtext;
		  }
		  catch (e) {a=1;}
		}
		else
		{							
		  strResponseText3 = objHttp.responseText;
		  objDiv.innerHTML = strResponseText3;			
		}
	}
    //objHttp.send(postAdd);
	objHttp.send(postAdd);
}

function AddToCart(oForm)
{

	var oHttp = CreateHttp();
	var oDiv = CBDiv("ShoppingCart");
	var sUrl = "/protectionplus/Ajax/OrderRegCart.asp";
	var sFormData = "PartNumber=" + oForm.txtPartNum.value + "&Price=" + oForm.txtPurchPrice.value + "&Description=" + oForm.hidDesc.value + "&Quantity=1";
	oHttp.open("POST", sUrl, sFormData, true);	
    oHttp.onreadystatechange = function()
	{
    	if (oHttp.readyState == 4)
		{
		
		  oForm.hidShoppingCart.value = oHttp.responseText;
		  //alert(oForm.hidShoppingCart.value);
		}
	}
	oHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    oHttp.send(sFormData);
}

function testwhile(oForm)
{
	for (var i = 0;i < 10;i++)
	{
		if (!oForm.txtPurchPrice)
		{
			i = i - 1;
		}	
	}
	alert(oForm.txtPurchPrice.value);
}

function GetShippingInfo(oField, oDiv)
{

	var oHttp = CreateHttp();
	var sUrl = "/protectionplus/Ajax/ShippingFields.asp?CustomerType=Rheem&CustomerId=" + oField.options[oField.selectedIndex].value;
	oHttp.open("GET", sUrl, true);	
    oHttp.onreadystatechange = function()
	{
    	if (oHttp.readyState == 4)
		{
		
		  oDiv.innerHTML = oHttp.responseText;
		  //alert(oHttp.responseText);
		}
		else
		{
		//alert(oField.options[oField.selectedIndex].value);
		}
	}
	//oHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    oHttp.send(null);
}