var useEfQuickSearch = false;

function QuickSearchRedirect(result)
{
	useEfQuickSearch = result;
}

function GetDropDownData(sel,text,varName,parameters,defaultVal,productTypeNumId,postfixId)
{
	if(sel == null)
	{
		return;
	}
	ClearDropDown(sel,"Loading...");
	
	var url = "";
	if(useEfQuickSearch == true)
	{
		url = "http://search10.eforcity.com/EFQuickSearch/QuickSearchEngine.aspx?" + parameters;
	}
	else
	{
		url = "http://search.eforcity.com/EFQuickSearchTest/QuickSearchEngine.aspx?" + parameters;
	}
	
	var divCat = document.getElementById("divCategory");
	if(divCat != null)
	{
		var script = document.createElement("script");
		script.src = url;
		script.type = "text/javascript";
		divCat.appendChild(script);
		
		if (!/*@cc_on!@*/0)
		{
			script.onload = function()
			{
				BindDropDown(sel,text,varName,defaultVal,productTypeNumId,postfixId);
			}
		}
		else 
		{
			script.onreadystatechange = function()
			{
				if (script.readyState == 'loaded' || script.readyState == 'complete') 
				{
					BindDropDown(sel,text,varName,defaultVal,productTypeNumId,postfixId);
				}
			}
		}
	}
}

function BindDropDown(sel,text,varName,defaultVal,productTypeNumId,postfixId)
{
	var dropDownData = null;
	var hasData = false;
	try
	{
		dropDownData = eval("data" + varName);
		hasData = true;
	}
	catch(e)
	{
		hasData = false;
	}
	
	ClearDropDown(sel,text);
	if(hasData == true)
	{
		if(sel != null && dropDownData != null)
		{		
			for(i = 0; i < dropDownData.length; i++)
			{
				if(dropDownData[i].name != "" && dropDownData[i].value != "")
				{
					sel.options.add(new Option(dropDownData[i].name,dropDownData[i].value));
				}
			}
		}	
		defaultVal = defaultVal == null ? 0 : defaultVal;
		SetDisabledByLength(sel);
		SetDefaultValue(sel,defaultVal);
		SetHiddenValue(productTypeNumId,postfixId);
	}
}

/*Page Load Inital Begin*/
function IndexPageLoad()
{
	InitalDropDown();
	ClearHiddenValue();
	var catSel = document.getElementById("CategoryMenuSel");
	if(catSel != null)
	{
		catSel.selectedIndex = 0;
	}
}
function AVPageLoad()
{
	InitalDropDown();
	ClearHiddenValue();
	var catSel = document.getElementById("CategoryMenuSel");
	var ptSel = document.getElementById("ProductTypeSel");
	if(catSel == null && ptSel != null)
	{
		GetDropDownData(ptSel,"Select a product type","ProductType","cni=1&ro=ProductType");
	}
}
function PCPageLoad()
{
	InitalDropDown();
	ClearHiddenValue();
	var catSel = document.getElementById("CategoryMenuSel");
	var ptSel = document.getElementById("ProductTypeSel");
	if(catSel == null && ptSel != null)
	{
		GetDropDownData(ptSel,"Select a product type","ProductType","cni=8&ro=ProductType");
	}
}
function CategoryPageLoad(categoryNumId)
{
	InitalDropDown();
	ClearHiddenValue();
	var bdSel = document.getElementById("BrandSel");
	var ptSel = document.getElementById("ProductTypeSel");
	
	if(bdSel != null && ptSel != null)
	{
		GetDropDownData(bdSel,"Select a brand","Brand","cni=" + categoryNumId + "&ro=Brand");
		GetDropDownData(ptSel,"Select a product type","ProductType","cni=" + categoryNumId + "&ro=ProductType");
	}
}
/*Page Load Inital End*/

/*For Index Page*/
function ChangeCategoryMenu(categoryNumId)
{
	ChangeDropDown(categoryNumId);
	
	var bdSel = document.getElementById("BrandSel");
	var ptSel = document.getElementById("ProductTypeSel");
	if(bdSel != null && ptSel != null)
	{
		if(categoryNumId > 0)
		{
			GetDropDownData(bdSel,"Select a brand","Brand","ro=Brand&cni=" + categoryNumId);
			GetDropDownData(ptSel,"Select a product type","ProductType","ro=ProductType&cni=" + categoryNumId);
		}
		else
		{
			ClearDropDown(bdSel,"Select a brand");
			SetDisabled(bdSel,true);
			ClearDropDown(ptSel,"Select a product type");
			SetDisabled(ptSel,true);
		}
	}
}
function ChangeDropDown(categoryNumId)
{
	if(categoryNumId > 0)
	{
		ChangeMainBanner(categoryNumId);
	}

	var categoryDiv = document.getElementById('CategoryDiv');
	var subProductTypeDiv = document.getElementById('SubProductTypeDiv');
	var lengthDiv = document.getElementById('LengthDiv');
	if(categoryDiv != null && subProductTypeDiv != null)
	{
		if(categoryNumId == 1 || categoryNumId == 8)
		{
			categoryDiv.style.display = "none";
			subProductTypeDiv.style.display = "block";
			if(categoryNumId == 1)
			{
				lengthDiv.style.display = "block";
			}
			else
			{
				lengthDiv.style.display = "none";
			}
		}
		else
		{
			categoryDiv.style.display = "block";
			subProductTypeDiv.style.display = "none";
			lengthDiv.style.display = "none";
		}
	}
	ClearDropDownValue();
	ClearHiddenValue();
	
	var divCat = document.getElementById("divCategory");
	if(divCat != null)
	{
		divCat.innerHTML = ""; 
	}
}
function ChangeMainBanner(categoryNumId)
{
	var divBannerMenu = getElementsByNameFixed("div","divBannerMenu");
	if(divBannerMenu != null)
	{ 
		for(i = 0; i < divBannerMenu.length; i++)
		{ 
			divBannerMenu[i].style.display = "none";	
		}
		var divBanner = document.getElementById("divBannerMenu" + categoryNumId);
		if(divBanner != null)
		{
			divBanner.style.display = "block";
		}
	}
}
function ClearDropDownValue()
{
	var srSel = document.getElementById("SeriesSel");
	var mdSel = document.getElementById("ModelSel");
	var sptSel = document.getElementById("SubProductTypeSel");
	var lenSel = document.getElementById("LengthSel");
	ClearDropDown(srSel,"Select a series");
	SetDisabled(srSel,true);
	ClearDropDown(mdSel,"Select a model");
	SetDisabled(mdSel,true);
	ClearDropDown(sptSel,"Select a sub product type");
	SetDisabled(sptSel,true);
	ClearDropDown(lenSel,"Select a length");
	SetDisabled(lenSel,true);
}
/*End For Index Page*/

//For Category Page Popup Box
function LoadPopupBoxData(categoryNumId,productTypeNumId,postfixId)
{
	InitalDropDown(postfixId);
	ClearHiddenValue(postfixId);
	
	var bdSel = document.getElementById("BrandSel" + postfixId);
	var ptSel = document.getElementById("ProductTypeSel" + postfixId);
	GetDropDownData(bdSel,"Select a brand","Brand","cni=" + categoryNumId + "&ro=Brand&" + "&pni=" + productTypeNumId,0,productTypeNumId,postfixId);
	GetDropDownData(ptSel,"Select a product type","ProductType","cni=" + categoryNumId + "&ro=ProductType" + "&pni=" + productTypeNumId,0,productTypeNumId,postfixId);
}
//End For Category Page Popup Box

function ChangeBrand(bni,categoryNumId,productTypeNumId,postfixId)
{
	categoryNumId = categoryNumId == null ? 0 : categoryNumId;
	productTypeNumId = productTypeNumId == null ? 0 : productTypeNumId;
	postfixId = postfixId == null ? "" : postfixId;
	
	var catSel = document.getElementById("CategoryMenuSel");
	var srSel = document.getElementById("SeriesSel" + postfixId);
	var mdSel = document.getElementById("ModelSel" + postfixId);
	var ptSel = document.getElementById("ProductTypeSel" + postfixId);

	if(catSel != null)
	{
		//For Index Page
		if(catSel.value > 0 && srSel!= null && mdSel != null && ptSel != null)
		{
			GetDropDownData(srSel,"Select a series","Series","ro=Series&cni=" + catSel.value + "&bni=" + bni + "&pni=" + ptSel.value);
			GetDropDownData(mdSel,"Select a model","Model","ro=Model&cni=" + catSel.value + "&bni=" + bni + "&pni=" + ptSel.value);
			GetDropDownData(ptSel,"Select a product type","ProductType","ro=ProductType&cni=" + catSel.value + "&bni=" + bni,ptSel.value);
		}
	}
	else
	{
		//For Category Page and Popup Box
		var pni = productTypeNumId;
		if(ptSel != null)
		{
			pni = ptSel.value == 0 ? productTypeNumId : ptSel.value;
			GetDropDownData(ptSel,"Select a product type","ProductType","cni=" + categoryNumId + "&ro=ProductType&bni=" + bni + "&pni=" + productTypeNumId,ptSel.value,productTypeNumId,postfixId);
		}
		if(srSel != null)
		{
			GetDropDownData(srSel,"Select a series","Series","cni=" + categoryNumId + "&ro=Series&bni=" + bni + "&pni=" + pni,0,productTypeNumId,postfixId);
		}
		if(mdSel != null)
		{
			GetDropDownData(mdSel,"Select a model","Model","cni=" + categoryNumId + "&ro=Model&&bni=" + bni + "&pni=" + pni,0,productTypeNumId,postfixId);
		}
	}
}

function ChangeSeries(sni,categoryNumId,productTypeNumId,postfixId)
{
	categoryNumId = categoryNumId == null ? 0 : categoryNumId;
	productTypeNumId = productTypeNumId == null ? 0 : productTypeNumId;
	postfixId = postfixId == null ? "" : postfixId;
	
	var catSel = document.getElementById("CategoryMenuSel");
	var bdSel = document.getElementById("BrandSel" + postfixId);
	var mdSel = document.getElementById("ModelSel" + postfixId);
	var ptSel = document.getElementById("ProductTypeSel" + postfixId);
	
	if(catSel != null)
	{
		//For Index Page
		if(catSel.value > 0 && bdSel != null && mdSel != null && ptSel != null)
		{
			GetDropDownData(mdSel,"Select a model","Model","ro=Model&cni=" + catSel.value + "&bni=" + bdSel.value + "&sni=" + sni + "&pni=" + ptSel.value,mdSel.value);
			GetDropDownData(ptSel,"Select a product type","ProductType","ro=ProductType&cni=" + catSel.value + "&bni=" + bdSel.value + "&sni=" + sni,ptSel.value);
		}
	}
	else
	{
		//For Category Page and Popup Box
		if(bdSel != null)
		{
			var pni = productTypeNumId;
			if(ptSel != null)
			{
				pni = ptSel.value == 0 ? productTypeNumId : ptSel.value;
				GetDropDownData(ptSel,"Select a product type","ProductType","cni=" + categoryNumId + "&ro=ProductType&bni=" + bdSel.value + "&sni=" + sni + "&pni=" + productTypeNumId,ptSel.value,productTypeNumId,postfixId);
			}
			GetDropDownData(mdSel,"Select a model","Model","cni=" + categoryNumId + "&ro=Model&bni=" + bdSel.value + "&sni=" + sni + "&pni=" + pni,0,productTypeNumId,postfixId);	
		}
	}
}

function ChangeModel(mni,categoryNumId,productTypeNumId,postfixId)
{
	categoryNumId = categoryNumId == null ? 0 : categoryNumId;
	productTypeNumId = productTypeNumId == null ? 0 : productTypeNumId;
	postfixId = postfixId == null ? "" : postfixId;
	
	var catSel = document.getElementById("CategoryMenuSel");
	var bdSel = document.getElementById("BrandSel" + postfixId);
	var srSel = document.getElementById("SeriesSel" + postfixId);
	var ptSel = document.getElementById("ProductTypeSel" + postfixId);
	
	if(catSel != null)
	{
		//For Index Page
		if(catSel.value > 0 && bdSel != null && srSel!= null && ptSel != null)
		{
			GetDropDownData(ptSel,"Select a product type","ProductType","ro=ProductType&cni=" + catSel.value + "&bni=" + bdSel.value + "&sni=" + srSel.value + "&mni=" + mni,ptSel.value);
		}
	}
	else
	{
		//For Category Page and Popup Box
		var sni = srSel != null ? srSel.value : 0;
		if(bdSel != null && ptSel != null)
		{
			GetDropDownData(ptSel,"Select a product type","ProductType","cni=" + categoryNumId + "&ro=ProductType&bni=" + bdSel.value + "&sni=" + sni + "&mni=" + mni + "&pni=" + productTypeNumId,ptSel.value,productTypeNumId,postfixId);
		}
	}
}

function ChangeProductType(pni,categoryNumId,productTypeNumId,postfixId)
{
	categoryNumId = categoryNumId == null ? 0 : categoryNumId;
	productTypeNumId = productTypeNumId == null ? 0 : productTypeNumId;
	postfixId = postfixId == null ? "" : postfixId;
	
	var catSel = document.getElementById("CategoryMenuSel");
	var bdSel = document.getElementById("BrandSel" + postfixId);
	var srSel = document.getElementById("SeriesSel" + postfixId);
	var mdSel = document.getElementById("ModelSel" + postfixId);
	var sptSel = document.getElementById("SubProductTypeSel");
	var lenSel = document.getElementById("LengthSel");

	if(categoryNumId == 0)
	{
		if(catSel != null)
		{
			//For Index Page
			if(catSel.value > 0 && bdSel != null && srSel!= null && mdSel != null && sptSel != null)
			{
				var bni = bdSel.value;
				var sni = srSel.value;
				var mni = mdSel.value;
				GetDropDownData(bdSel,"Select a brand","Brand","ro=Brand&cni=" + catSel.value + "&pni=" + pni,bni);
				GetDropDownData(srSel,"Select a series","Series","ro=Series&cni=" + catSel.value + "&bni=" + bni + "&pni=" + pni,sni);
				GetDropDownData(mdSel,"Select a model","Model","ro=Model&cni=" + catSel.value + "&bni=" + bni + "&sni=" + sni + "&pni=" + pni,mni);
				GetDropDownData(sptSel,"Select a sub product type","SubProductType","ro=SubProductType&cni=" + catSel.value + "&bni=" + bni + "&sni=" + sni + "&mni=" + mni + "&pni=" + pni);	
			}
		}
		else
		{
			if(sptSel != null && lenSel != null)
			{
				//For AV Page
				GetDropDownData(sptSel,"Select a sub product type","SubProductType","cni=1&ro=SubProductType&pni=" + pni);
			}
			else
			{
				//For PC Page
				GetDropDownData(sptSel,"Select a sub product type","SubProductType","cni=8&ro=SubProductType&pni=" + pni);
			}
		}
	}
	else
	{
		//For Category Page and Popup Box
		var ptni = pni == 0 ? productTypeNumId : pni;
		var bni = 0;
		var sni = 0;
		var mni = 0;
		if(bdSel != null)
		{
			bni = bdSel.value;
			GetDropDownData(bdSel,"Select a brand","Brand","cni=" + categoryNumId + "&ro=Brand&pni=" + ptni,bni,productTypeNumId,postfixId);
		}
		if(srSel != null)
		{
			sni = srSel.value;
			GetDropDownData(srSel,"Select a series","Series","cni=" + categoryNumId + "&ro=Series&bni=" + bni + "&pni=" + ptni,sni,productTypeNumId,postfixId);
		}
		if(mdSel != null)
		{
			mni = mdSel.value;
			GetDropDownData(mdSel,"Select a model","Model","cni=" + categoryNumId + "&ro=Model&bni=" + bni + "&sni=" + sni + "&pni=" + ptni,mni,productTypeNumId,postfixId);
		}	
	}
	
	ClearDropDown(lenSel,"Select a length");
	SetDisabled(lenSel,true);
}

function ChangeSubProductType(spni)
{
	var catSel = document.getElementById("CategoryMenuSel");
	var ptSel = document.getElementById("ProductTypeSel");
	var lenSel = document.getElementById("LengthSel");
	if(catSel != null)
	{
		//For Index Page
		if(catSel.value > 0 && ptSel != null && lenSel != null)
		{
			GetDropDownData(lenSel,"Select a length","Length","ro=Length&cni=" + catSel.value + "&pni=" + ptSel.value + "&spni=" + spni);
		}
	}
	else
	{
		//For AV Page
		if(ptSel != null && lenSel != null)
		{
			GetDropDownData(lenSel,"Select a length","Length","cni=1&ro=Length&pni=" + ptSel.value + "&spni=" + spni);
		}
	}
}

function SetHiddenValue(productTypeNumId,postfixId)
{
	productTypeNumId = productTypeNumId == null ? 0 : productTypeNumId;
	postfixId = postfixId == null ? "" : postfixId;
	
	var catSel = document.getElementById("CategoryMenuSel");
	var ptSel = document.getElementById("ProductTypeSel" + postfixId);
	var sptSel = document.getElementById("SubProductTypeSel");
	var lenSel = document.getElementById("LengthSel");
	var lenHid = document.getElementById("LengthHid");
	var ptHid = document.getElementById("ProductTypeHid" + postfixId);
	if(catSel != null)
	{
		//For Index Page
		if(ptSel != null && sptSel != null && ptHid != null)
		{
			if(catSel.value != 1)
			{
				ptHid.value = sptSel.value == 0 ? ptSel.value : sptSel.value;
			}
			if(ptSel.selectedIndex <= 0)
			{
				ptHid.value = 0;
			}
		}
	}
	else
	{
		if(ptSel != null && sptSel != null && ptHid != null && lenHid == null)
		{
			//For PC Page
			ptHid.value = sptSel.value == 0 ? ptSel.value : sptSel.value;
			if(ptSel.selectedIndex <= 0)
			{
				ptHid.value = 0;
			}
		}
		else if(ptHid != null && lenHid == null)
		{
			//For Category Page Popup Box
			ptHid.value = productTypeNumId;
			if(ptSel != null)
			{
				ptHid.value = ptSel.selectedIndex > 0 ? ptSel.value : productTypeNumId;
			}
		}
	}
	
	if(lenSel != null && lenHid != null)
	{
		lenHid.value = lenSel.selectedIndex > 0 ? lenSel.options[lenSel.selectedIndex].text : "";
	}
}

function InitalDropDown(postfixId)
{
	postfixId = postfixId == null ? "" : postfixId;
	
	var bdSel = document.getElementById("BrandSel" + postfixId);
	var srSel = document.getElementById("SeriesSel" + postfixId);
	var mdSel = document.getElementById("ModelSel" + postfixId);
	var ptSel = document.getElementById("ProductTypeSel" + postfixId);
	var sptSel = document.getElementById("SubProductTypeSel");
	var lenSel = document.getElementById("LengthSel");
	ClearDropDown(bdSel,"Select a brand");
	SetDisabled(bdSel,true);
	ClearDropDown(srSel,"Select a series");
	SetDisabled(srSel,true);
	ClearDropDown(mdSel,"Select a model");
	SetDisabled(mdSel,true);
	ClearDropDown(ptSel,"Select a product type");
	SetDisabled(ptSel,true);
	ClearDropDown(sptSel,"Select a sub product type");
	SetDisabled(sptSel,true);
	ClearDropDown(lenSel,"Select a length");
	SetDisabled(lenSel,true);
}

function ClearHiddenValue(postfixId)
{
	postfixId = postfixId == null ? "" : postfixId;
	
	var ptHid = document.getElementById("ProductTypeHid" + postfixId);
	var lenHid = document.getElementById("LengthHid");
	if(ptHid != null)
	{
		ptHid.value = "";
	}
	if(lenHid != null)
	{
		lenHid.value = "";
	}
}

function ClearDropDown(sel,text)
{
	if(sel != null)
	{
		sel.options.length = 0;
		sel.options.add(new Option(text,"0"));
	}
}

function SetDisabledByLength(sel)
{
	if(sel != null)
	{ 
		if(sel.length > 1)
		{
			sel.disabled = false; 
		} 
		else
		{ 
			sel.disabled = true; 
		} 
	}
}

function SetDisabled(sel,status)
{
	if(sel != null)
	{ 
		sel.disabled = status;  
	}
}

function SetDefaultValue(sel,val)
{
	if(sel != null)
	{
		sel.value = val;
		if(sel.selectedIndex < 0)
		{
			sel.selectedIndex = 0; 
		}
	}
}

function getElementsByNameFixed(tag,name)
{
	var elem = document.getElementsByTagName(tag);
	var count = 0;
	var elements = [];
	for(var i = 0; i < elem.length; i++)
	{
		if(elem[i].getAttribute("name") == name)
		{
			elements[count] = elem[i];
			count++;
		}
	}
	return elements;
} 

/*Popup Box Start*/
var increase = 8;
var minWidth = 0;
var maxWidth = 170;
var tDelay;
var tSlip;

function ShowBox(img,categoryNumId,productTypeNumId,optionsQty,productTypeGroup)
{
	CloseBox();
	clearTimeout(tSlip);
	var divBox = document.getElementById("QuickSearchBoxDiv_" + productTypeNumId + "_" + optionsQty + "_" + productTypeGroup);
	if(divBox == null)
	{
		return;
	}

	SlipDiv(img,divBox);
	LoadPopupBoxData(categoryNumId,productTypeNumId,"_" + productTypeNumId + "_" + optionsQty + "_" + productTypeGroup)
}

function DelayShowBox(img,categoryNumId,productTypeNumId,optionsQty,productTypeGroup)
{
	var divQuickSearchBox = getElementsByNameFixed("div","QuickSearchBoxDiv");
	if(divQuickSearchBox != null)
	{
		for(i = 0; i < divQuickSearchBox.length; i++)
		{
			if(divQuickSearchBox[i].style.display == "block")
			{
				return;
			}
		}
	}
	
	clearTimeout(tDelay);
	var divBox = document.getElementById("QuickSearchBoxDiv_" + productTypeNumId + "_" + optionsQty + "_" + productTypeGroup);
	if(divBox == null)
	{
		return;
	}
	
	tDelay = setTimeout(function(){ SlipDiv(img,divBox); },500);
	LoadPopupBoxData(categoryNumId,productTypeNumId,"_" + productTypeNumId + "_" + optionsQty + "_" + productTypeGroup)
}

function CancelShowBox()
{
	clearTimeout(tDelay);
}

function CloseBox()
{
	ClearCategoryPageValue();
	var divQuickSearchBox = getElementsByNameFixed("div","QuickSearchBoxDiv");
	if(divQuickSearchBox != null)
	{
		for(i = 0; i < divQuickSearchBox.length; i++)
		{
			if(divQuickSearchBox[i].style.display == "block")
			{
				divQuickSearchBox[i].style.width = minWidth + "px";
				divQuickSearchBox[i].style.display = "none";
			}
		}
	}
}

function ClearCategoryPageValue()
{
	var hids = document.getElementsByTagName("input");
	if(hids != null)
	{
		var hidName;
		for(i = 0; i < hids.length; i++)
		{
			if(hids[i].name == "pni" && hids[i].id != "ProductTypeHid")
			{
				hids[i].value = "";
			}
		}
	}
	
	var sels = document.getElementsByTagName("select");
	if(sels != null)
	{
		var selId;
		for(i = 0; i < sels.length; i++)
		{
			selId = sels[i].id;
			if((selId.indexOf("BrandSel") >= 0 && selId != "BrandSel") || (selId.indexOf("SeriesSel") >= 0 && selId != "SeriesSel") || (selId.indexOf("ModelSel") >= 0 && selId != "ModelSel") || (selId.indexOf("ProductTypeSel") >= 0 && selId != "ProductTypeSel"))
			{
				var sel = document.getElementById(selId);
				if(sel != null && sel.options.length > 0)
				{
					sel.options.length = 1;
				}
			}
		}
	}
}

function SlipDiv(img,divBox)
{
	if(img == null || divBox == null)
	{
		return;
	}
	var newImg = img;
	var width = img.width;
	var height = img.height;
	var x = img.offsetLeft;
	var y = img.offsetTop;
	while(img = img.offsetParent)
	{
		x += img.offsetLeft;
		y += img.offsetTop;
	}
	
	divBox.style.display = "block";
	if(divBox.style.width == "")
	{
		divBox.style.width = minWidth + "px";
	}
	var divWidth = parseInt(divBox.style.width) + increase;
	if(divWidth > maxWidth)
	{
		divWidth = maxWidth;
	}
	divBox.style.width = divWidth + "px";
	divBox.style.left = x + width + "px";
	divBox.style.top = y  + "px";

	if(parseInt(divBox.style.width) < maxWidth)
	{
		tSlip = setTimeout(function(){ SlipDiv(newImg,divBox); },1);
	}
}
/*Popup Box End*/