var req, key, divElement, formElement;

function populateCategories(pLetter)
{
    divElement = "businesscategoryId";
    formElement = document.searchForm;
    formElement["businesscategoryLetter"].value = pLetter;
    clear(formElement[divElement]);
    
    var url = "/servlet/DynamicData?LanguageId=" + formElement["LA"].value + "&type=GetBusCats&LTR=" + pLetter;

    req = createObject();
    req.open("GET", url, true);
    req.onreadystatechange = callback;
    req.send(null);
}

function populateDependentDD(pformElement, pparentkey, pchildId, pFirstItemText)
{
	if(pparentkey!="" && pchildId!="")
	{
		var parentElementName = "SV(F" + pparentkey + ")";
		var childElementName = "SV(F" + pchildId + ")";
		clear(pformElement[childElementName]);
		if(pformElement[parentElementName].value!="" && pformElement[parentElementName].value!="-1")
		{
			getDataSet(pformElement, childElementName, pchildId, pformElement[parentElementName].value, pFirstItemText);
		}
	}
}

function getDataSet(pformElement, pdivElement, pchildId, pfilter, pFirstItemText)
{
    divElement = pdivElement;
    formElement = pformElement;
    
	var publisherId = "0";
	if(formElement["WLS"]!=null) publisherId = formElement["WLS"].value;
    
    var url = "/servlet/DynamicData?PublisherId=" + publisherId + "&LanguageId=" + formElement["LA"].value + "&type=GetDataSet&CategoryId=" + formElement["CA"].value + "&TemplateFieldId=" + pchildId + "&FirstItem=" + escape(pFirstItemText);

    if(pfilter!=null)
    {
    	url += "&DataSetFilter=" + pfilter;
    }
    req = createObject();
    req.open("GET", url, true);
    req.onreadystatechange = callback;
    req.send(null);
}

function populateDependentDD2(pformElement, pParentElement, pChildElement, pRefType)
{
	clear(pformElement[pChildElement]);
	if(pformElement[pParentElement].value!="")
	{
		getDataSet2(pformElement, pParentElement, pChildElement, pRefType);
	}
}

function getDataSet2(pformElement, pParentElement, pChildElement, pRefType)
{
    divElement = pChildElement;
    formElement = pformElement;
    
	var publisherId = "0";
	if(formElement["WLS"]!=null) publisherId = formElement["WLS"].value;
    
    var url = "/servlet/DynamicData?PublisherId=" + publisherId + "&LanguageId=" + formElement["LA"].value + "&CategoryId=" + formElement["CA"].value + "&type=GetDataSet&DataSetType=" + pRefType;
    url += "&DataSetFilter=" + formElement[pParentElement].value;
    req = createObject();
    req.open("GET", url, true);
    req.onreadystatechange = callback;
    req.send(null);
}

function getDataSetKeys(pformElement, pdivElement)
{
    key = "RefDataSetKey";
    divElement = pdivElement;
    formElement = pformElement;

	var publisherId = "0";
	if(formElement["WLS"]!=null) publisherId = formElement["WLS"].value;
    
    var url = "/servlet/DynamicData?PublisherId=" + publisherId + "&LanguageId=" + formElement["LA"].value + "&CategoryId=" + formElement["CA"].value + "&type=GetDataSetKeys";
    req = createObject();
    req.open("GET", url, true);
    req.onreadystatechange = callback;
    req.send(null);
}

function callback()
{
    if (req.readyState == 4)
    {
        if (req.status == 200)
        {
            parseMessage();
        }
    }
}

function clear(objSelect)
{
     for (var i = (objSelect.options.length-1); i >= 0; i--)
     {
         objSelect.options[i]=null;
     }
}

function parseMessage()
{
    var message = req.responseXML;
    message = req.responseXML.getElementsByTagName("message")[0];
    var vals = message.childNodes;
	formElement[divElement].options[0] = new Option("--- All ---", "");
    for(var i=1;i<=vals.length;i++)
    {
	    formElement[divElement].options[i] = new Option(vals[i-1].firstChild.nodeValue, vals[i-1].getAttribute("ID"));
    }

    //Call change on this element in case there are other dependent dropdowns
    var f = formElement[divElement].getAttribute('onchange');
    if(f!=null)
    {
		formElement[divElement].onchange();
	}
}

function createObject()
{
	var C=null;
	try
	{
		C=new ActiveXObject("Msxml2.XMLHTTP")
	}catch(e)
	{
		try
		{
			C=new ActiveXObject("Microsoft.XMLHTTP")
		}catch(sc)
		{
			C=null
		}
	}
	if(!C&&typeof XMLHttpRequest!="undefined")
	{
		C=new XMLHttpRequest()
	}
	return C
}

function parseMessageOld()
{
    var message = req.responseXML;
    message = req.responseXML.getElementsByTagName("message")[0];

    var models = message.childNodes;
    var newHTML = "<select name=\"lst" + key + "\">";
    for(var i=0;i<models.length;i++)
    {
	    newHTML += "<option value=\"" + models[i].getAttribute("id") + "\">" + models[i].firstChild.text + "</option>";
    }
    newHTML += "</select>";

    var userMessageElement = document.getElementById(divElement);
    userMessageElement.innerHTML = newHTML;
}

var reqWeb;
function asyncWebSearch()
{
	if(document.searchForm.webSearchString!=null)
	{
		var ss = document.searchForm.webSearchString.value;
		if(ss.length>0)
		{
		    var url = "/servlet/AsyncWeb?SS=" + ss;
		    reqWeb = createObject();
		    reqWeb.open("GET", url, true);
		    reqWeb.onreadystatechange = webCallback;
		    reqWeb.send(null);
		}
	}
}

function webCallback()
{
    if (reqWeb.readyState == 4)
    {
        if (reqWeb.status == 200)
        {
            parseWebMessage();
        }
    }
}

function parseWebMessage()
{
    var message = reqWeb.responseXML.getElementsByTagName("message")[0];
    var vals = message.childNodes;
	var newHTML = "<a href=\"/web?SS=" + escape(document.searchForm.webSearchString.value) + "\">web<br>(" + vals[0].firstChild.nodeValue + ")</a>";
    document.getElementById("csstabsweb").innerHTML = newHTML;
    var elem_afow = document.getElementById("alsofoundonweb");
    if(elem_afow!=null)
    {
		elem_afow.innerHTML = "<a href=\"javascript:navWeb();\"><img src=\"/images/yahoo_small.gif\" border=\"0\"></a><br>(" + vals[0].firstChild.nodeValue + ")";
	}
}

var reqEBay, ssEbay;
function asyncEBaySearch()
{
	if(document.searchForm.ebaySearchString!=null)
	{
		if(document.getElementById("wealsofoundcontent")!=null) BuildWeAlsoFoundPlaceHolders();
		var ss = document.searchForm.ebaySearchString.value;
		if(ss.length>0)
		{
			ssEbay = escape(ss);
			var smVal = "";
			if(dataset_isArray(document.searchForm.SM)) smVal = (document.searchForm.SM[0].checked)?"all":"any";
			else smVal = document.searchForm.value;
		    var url = "/servlet/AsyncEBay?SS=" + ssEbay + "&SM=" + smVal;
		    reqEBay = createObject();
		    reqEBay.open("GET", url, true);
		    reqEBay.onreadystatechange = ebayCallback;
		    reqEBay.send(null);
		}
	}
}

function dataset_isArray(obj) {
return (obj.length!=null);
} 

function ebayCallback()
{
    if (reqEBay.readyState == 4)
    {
        if (reqEBay.status == 200)
        {
            parseEBayMessage();
        }
    }
}

function parseEBayMessage()
{
    var message = reqEBay.responseXML;
    if(message!=null)
    {
	    var val = message.getElementsByTagName("total")[0];

	    if(val!=null)
	    {
	    	var newHTML = "<a href=\"/ebay?SS=" + escape(document.searchForm.ebaySearchString.value) + "\">eBay<br>(" + val.firstChild.nodeValue + ")</a>";
    		document.getElementById("csstabsebay").innerHTML = newHTML;

			var elem_afoeb = document.getElementById("alsofoundonebay");
			if(elem_afoeb!=null)
			{
				//elem_afoeb.innerHTML = "<a href=\"javascript:navEBay();\"><img src=\"/images/ebay_small.gif\" border=\"0\"></a><br>(" + val.childNodes[0].nodeValue + ")";
				var desc = ssEbay;
				if(desc.length>35) desc = desc.substring(0,35);
				elem_afoeb.innerHTML = URLDecode(desc) + " (" + val.childNodes[0].nodeValue + " found) on ebay";
			}
	    }
	}
}

function ResetEbayCats()
{
	var catSection;

	catSection = document.getElementById("catLevel1");
	if(catSection!=null) catSection.innerHTML = "<img src=\"/images/spacer.gif\">";

	catSection = document.getElementById("catLevel2");
	if(catSection!=null) catSection.innerHTML = "<img src=\"/images/spacer.gif\">";

	catSection = document.getElementById("catLevel3");
	if(catSection!=null) catSection.innerHTML = "<img src=\"/images/spacer.gif\">";

	catSection = document.getElementById("catLevel4");
	catSection.innerHTML = "<img src=\"/images/loading.gif\">";

	eraseCookie("EBayCat1");
	eraseCookie("EBayCat2");
	eraseCookie("EBayCat3");

	document.searchForm.PN.value="1";
	document.searchForm.submit();
}

function ChangeEBayCategory(dd, level)
{
	var catSection;

	if(level==1)
	{
		catSection = document.getElementById("catLevel2");
		if(catSection!=null)
		{
			catSection.innerHTML = "<img src=\"/images/spacer.gif\">";
		}

		catSection = document.getElementById("catLevel3");
		if(catSection!=null)
		{
			catSection.innerHTML = "<img src=\"/images/spacer.gif\">";
		}
	}
	else if(level==2)
	{
		catSection = document.getElementById("catLevel3");
		if(catSection!=null)
		{
			catSection.innerHTML = "<img src=\"/images/spacer.gif\">";
		}
	}

	var catSection = document.getElementById("catLevel4");
	catSection.innerHTML = "<img src=\"/images/loading.gif\">";
	document.searchForm.PN.value="1";
	document.searchForm.submit();
}

var reqMIVA, reqMIVA2;
function loadMIVA()
{
	if(document.searchForm.mivaSearchString!=null)
	{
		var ss = document.searchForm.mivaSearchString.value;
		if(ss.length>0)
		{
		    var url = "/servlet/MIVAAds?CA=" + document.searchForm.CA.value + "&SS=" + escape(ss);
		    reqMIVA = createObject();
		    reqMIVA.open("GET", url, true);
		    reqMIVA.onreadystatechange = MIVACallback;
		    reqMIVA.send(null);
		}
	}
}

function MIVACallback()
{
    if (reqMIVA.readyState == 4)
    {
        if (reqMIVA.status == 200)
        {
            parseMIVAMessage();
        }
    }
}

function parseMIVAMessage()
{
    var results = reqMIVA.responseXML.getElementsByTagName("RESULT");
    var newHTML = "";
   
	if(document.searchForm.CA.value=="5010")
	{
		newHTML += "<table><tr><td align=\"left\"><a class=\"generallink\" target=\"_\" href=\"http://www.justgoodcars.com\">Advertising your car is FREE</a></td></tr><tr><td align=\"left\" class=\"searchtext\"><a class=\"generallink\" target=\"_\" href=\"http://www.justgoodcars.com\"><img border=\"0\" src=\"/images/JGC.jpg\"></a></td></tr><tr><td align=\"left\" class=\"urltiny\">www.justgoodcars.com</td></tr></table><br>";
	}

    for(var i=0;i<results.length;i++)
    {
	    var vals = results[i].childNodes;
	    var url = vals[1].firstChild.nodeValue;	    

	    if(url.indexOf("http://")==0) url = url.substring(7);
	    var desc = vals[3].firstChild.nodeValue;
	    
	    if(desc.length>70) desc = desc.substring(0,70) + "...";
	    var imageUrl = "/images/spacer.gif";
	    
	    if(vals[0].firstChild!=null)
	    {
		    if(vals[4]!=null && vals[4].firstChild!=null && vals[4].firstChild.nodeValue.length>0) imageUrl = vals[4].firstChild.nodeValue;
		    
		    newHTML += "<table><tr><td align=\"left\"><a class=\"generallink\" target=\"_\" href=\"" + vals[2].firstChild.nodeValue + "\">" + vals[0].firstChild.nodeValue + "</a></td></tr><tr><td align=\"left\" class=\"searchtext\"><a class=\"generallink\" target=\"_\" href=\"" + vals[2].firstChild.nodeValue + "\"><img border=\"0\" src=\"" + imageUrl + "\"></a></td></tr><tr><td align=\"left\" class=\"urltiny\">" + url + "</td></tr></table><br>";
		}
	}
	document.getElementById("MIVA1").innerHTML = newHTML;
}