//global variables
var gDivOperatorNotes = "divOperatorNotes";
var gDivProductEssentials = "divProductEssentials";
var gProductWarrantyTabDiv = "ProductWarrantyTabDiv";
var gProductComponentsTabDiv = "ProductComponentsTabDiv";
var gProductSpecialsTabDiv = "ProductSpecialsTabDiv";
var gProductSpecificationsTabDiv = "ProductSpecificationsTabDiv";
var gProductHighlightsTabDiv = "ProductHighlightsTabDiv";
var gProductAccessoriesTabDiv = "ProductAccessoriesTabDiv";
var gProductDiv = "MiniProductDiv";
var gProductDisplayDiv = "miniproductdisplay";
var gPurchaseButtonDiv = "MiniCartPurchaseButtonDiv";
var gCloseButtonDiv = "MiniCartCloseButtonDiv";
var gCartDiv = "MiniCartDiv";
var gProductAdded = 0;
var gTimeoutId = null;

function AddToCart(pid)
{
	gProductAdded = pid;
	var params = 'pid='+pid+'&time='+new Date();
	var params2 = 'pid='+pid+'&time='+new Date();
	var queryString = window.location.search;
	
	if(queryString.length > 0)
	{
		params = queryString + '&' + params;
		params2 = queryString + '&' + params2;
	}
	var myAjax = new Ajax.Request(
		'Controls/MiniCart/MiniAddToCart.aspx',
		{
			method: 'get',
			parameters: params,
			asynchronous: false
		});
		//onComplete: LoadMiniProduct

	Omniture("scAdd", pid);
	GetMiniCart();
	
	var myAjax = new Ajax.Request(
		'Controls/MiniCart/MiniProductLoader.aspx',
		{
			method: 'get',
			parameters: params2,
			onComplete: LoadMiniProduct
		});
	//debugger;
	gTimeoutId = setTimeout("CloseProductDisplay()",6000);
	//console.debug("gTimeoutId:AddToCart",gTimeoutId);
	var productDiv = $(gProductDisplayDiv);
	productDiv.onmouseover = function () {clearTimeout(gTimeoutId);};
	productDiv.onmouseout = function () {gTimeoutId = setTimeout("CloseProductDisplay()",2000);};
	
}

// omnievent  "scAdd", or "scOpen,scAdd", etc.
function AddToCart2(pid, omnievent)
{
	gProductAdded = pid;
	var params = 'pid='+pid+'&time='+new Date();
	var params2 = 'pid='+pid+'&time='+new Date();
	var queryString = window.location.search;
	
	if(queryString.length > 0)
	{
		params = queryString + '&' + params;
		params2 = queryString + '&' + params2;
	}
	var myAjax = new Ajax.Request(
		'Controls/MiniCart/MiniAddToCart.aspx',
		{
			method: 'get',
			parameters: params,
			asynchronous: false
		});
		//onComplete: LoadMiniProduct

	Omniture(omnievent, pid);
	GetMiniCart();
	
	var myAjax = new Ajax.Request(
		'Controls/MiniCart/MiniProductLoader.aspx',
		{
			method: 'get',
			parameters: params2,
			onComplete: LoadMiniProduct
		});
	//debugger;
	gTimeoutId = setTimeout("CloseProductDisplay()",6000);
	//console.debug("gTimeoutId:AddToCart",gTimeoutId);
	var productDiv = $(gProductDisplayDiv);
	productDiv.onmouseover = function () {clearTimeout(gTimeoutId);};
	productDiv.onmouseout = function () {gTimeoutId = setTimeout("CloseProductDisplay()",2000);};
	
}


function LoadMiniProduct(originalRequest)
{ 
	try
	{
		//GetMiniCart();
		var productDiv = $(gProductDiv);
		
		if( productDiv ) 
		{
			try{ window.scrollTo(window.screenX,0); }catch(e){};
			
			productDiv.innerHTML = originalRequest.responseText;
			
			//hide purchase button
			//debugger;
			ToggleButtons(true);
			
			Effect.SlideDown(gProductDisplayDiv);
		}
		else
		{
			//console.error("no product div :-(");
		}
		
	}
	catch(e)
	{
		//console.error("LoadMiniCart", e);
	}
}

function ToggleButtons(hidden)
{
	var purchaseDiv = $(gPurchaseButtonDiv);
	//var closeDiv = $(gCloseButtonDiv);
	if(hidden)
	{
		purchaseDiv.style.display = "none";
		//closeDiv.style.display = "inline";
	}
	else
	{
		purchaseDiv.style.display = "inline";
		//closeDiv.style.display = "none";
	}
}

function CloseProductDisplay()
{
	//debugger;
	var productDiv = $(gProductDisplayDiv);
	productDiv.onmouseover = null;
	productDiv.onmouseout = null;
	//console.debug("gTimeoutId:CloseProductDisplay",gTimeoutId);
	clearTimeout(gTimeoutId);
	Effect.SlideUp(gProductDisplayDiv);
	ToggleButtons(false);
}

function RemoveLastFromCart()
{
	try
	{
		//console.debug("RmoveLastFromCart",gProductAdded);
		var params = 'pid='+gProductAdded+'&time='+new Date();
		var queryString = window.location.search;
		
		if(queryString.length > 0)
		{
			params = queryString + '&' + params;
		}
		var myAjax = new Ajax.Request(
			'Controls/MiniCart/MiniRemoveFromCart.aspx',
			{
				method: 'get',
				parameters: params,
				asynchronous: false
			});
		Omniture("scRemove", gProductAdded);
		GetMiniCart();
		CloseProductDisplay();
	}
	catch(e)
	{
		//console.debug("RemoveLastFromCart",e);
	}
}

function GetMiniCart()
{
	var params = 'control=MiniCartDisplay&time='+new Date();
	var url = '/Controls/MiniCart/MiniCartLoader.aspx';
	var myAjax = new Ajax.Updater(
		gCartDiv,
		url,
		{
			method: 'get',
			parameters: params
		});	
}

function LoadAccessoryTab(pid)
{
	var currentproduct = pid;
	var params = 'pid='+pid+'&control=accessories&time='+new Date();
	/*var params2 = 'pid='+pid+'&time='+new Date();
	var queryString = window.location.search;
	
	if(queryString.length > 0)
	{
		params = queryString + '&' + params;
		params2 = queryString + '&' + params2;
	}
	* */
		
	var myAjax = new Ajax.Request(
		'Controls/Products/TabLoader.aspx',
		{
			method: 'get',
			parameters: params,
			onComplete: LoadProductAccessoriesTab
		});
}

function LoadAccessoryTabWithCategory(pid,cat)
{
	var currentproduct = pid;
	var params = 'pid='+pid+'&control=accessories&cat='+cat+'&time='+new Date();
	/*var params2 = 'pid='+pid+'&time='+new Date();
	var queryString = window.location.search;
	
	if(queryString.length > 0)
	{
		params = queryString + '&' + params;
		params2 = queryString + '&' + params2;
	}
	* */
		
	var myAjax = new Ajax.Request(
		'Controls/Products/TabLoader.aspx',
		{
			method: 'get',
			parameters: params,
			onComplete: LoadProductAccessoriesTab
		});
}

function LoadProductAccessoriesTab(originalRequest)
{
	try
	{
		var productAccessoriesTabDiv = $(gProductAccessoriesTabDiv);
		
		if( productAccessoriesTabDiv ) 
		{
			if(originalRequest.responseText.length > 0)
			{
				//debugger;
				productAccessoriesTabDiv.innerHTML = originalRequest.responseText;
			}
			else
			{
				try
				{
					//debugger;
					var imgTab = $("tabAccessories");
					imgTab.style.display = "none";
				}
				catch (ex){}
			}	
		}		
	}
	catch(e){}
}

function LoadHighlightsTab(pid)
{
	var currentproduct = pid;
	var params = 'pid='+pid+'&control=highlights&time='+new Date();
		
	var myAjax = new Ajax.Request(
		'Controls/Products/TabLoader.aspx',
		{
			method: 'get',
			parameters: params,
			onComplete: LoadProductHighlightsTab
		});
}

function LoadProductHighlightsTab(originalRequest)
{
	try
	{
		var productHighlightsTabDiv = $(gProductHighlightsTabDiv);
		
		if( productHighlightsTabDiv ) 
		{
			if(originalRequest.responseText.length > 0)
			{
				//debugger;
				productHighlightsTabDiv.innerHTML = originalRequest.responseText;
			}
			else
			{
				try
				{
					//debugger;
					var imgTab = $("tabHighlights");
					imgTab.style.display = "none";
				}
				catch (ex){}
			}	
		}		
	}
	catch(e){}
}

function LoadSpecificationsTab(pid)
{
	var currentproduct = pid;
	var params = 'pid='+pid+'&control=specifications&time='+new Date();
		
	var myAjax = new Ajax.Request(
		'Controls/Products/TabLoader.aspx',
		{
			method: 'get',
			parameters: params,
			onComplete: LoadProductSpecificationsTab
		});
}

function LoadProductSpecificationsTab(originalRequest)
{
	try
	{
		var productSpecificationsTabDiv = $(gProductSpecificationsTabDiv);
		
		if( productSpecificationsTabDiv ) 
		{
			if(originalRequest.responseText.length > 0)
			{
				//debugger;
				productSpecificationsTabDiv.innerHTML = originalRequest.responseText;
			}
			else
			{
				try
				{
					//debugger;
					var imgTab = $("tabSpecifications");
					imgTab.style.display = "none";
				}
				catch (ex){}
			}	
		}		
	}
	catch(e){}
}

function LoadSpecialsTab(pid)
{
	var currentproduct = pid;
	var params = 'pid='+pid+'&control=specials&time='+new Date();
		
	var myAjax = new Ajax.Request(
		'Controls/Products/TabLoader.aspx',
		{
			method: 'get',
			parameters: params,
			onComplete: LoadProductSpecialsTab
		});
}

function LoadProductSpecialsTab(originalRequest)
{
	try
	{
		var productSpecialsTabDiv = $(gProductSpecialsTabDiv);
		
		if( productSpecialsTabDiv ) 
		{
			if(originalRequest.responseText.length > 0)
			{
				//debugger;
				productSpecialsTabDiv.innerHTML = originalRequest.responseText;
			}
			else
			{
				try
				{
					//debugger;
					var imgTab = $("tabSpecials");
					imgTab.style.display = "none";
				}
				catch (ex){}
			}	
		}		
	}
	catch(e){}
}

function LoadWarrantyTab(pid)
{
	var currentproduct = pid;
	var params = 'pid='+pid+'&control=warranty&time='+new Date();
		
	var myAjax = new Ajax.Request(
		'Controls/Products/TabLoader.aspx',
		{
			method: 'get',
			parameters: params,
			onComplete: LoadProductWarrantyTab
		});
}

function LoadComponentsTab(pid)
{
	var currentproduct = pid;
	var params = 'pid='+pid+'&control=components&time='+new Date();
		
	var myAjax = new Ajax.Request(
		'Controls/Products/TabLoader.aspx',
		{
			method: 'get',
			parameters: params,
			onComplete: LoadProductComponentsTab
		});
}


function LoadProductWarrantyTab(originalRequest)
{
	try
	{
		var productWarrantyTabDiv = $(gProductWarrantyTabDiv);
		
		if( productWarrantyTabDiv ) 
		{
			if(originalRequest.responseText.length > 0)
			{
				//debugger;
				productWarrantyTabDiv.innerHTML = originalRequest.responseText;
			}
			else
			{
				try
				{
					//debugger;
					var imgTab = $("tabWarranty");
					imgTab.style.display = "none";
				}
				catch (ex){}
			}	
		}		
	}
	catch(e){}
}

function LoadProductComponentsTab(originalRequest)
{
	try
	{
		var productComponentsTabDiv = $(gProductComponentsTabDiv);
		
		if( productComponentsTabDiv ) 
		{
			if(originalRequest.responseText.length > 0)
			{
				//debugger;
				productComponentsTabDiv.innerHTML = originalRequest.responseText;
			}
			else
			{
				try
				{
					//debugger;
					var imgTab = $("tabComponents");
					imgTab.style.display = "none";
				}
				catch (ex){}
			}	
		}		
	}
	catch(e){}
}


function LoadEssentials(pid)
{
	var currentproduct = pid;
	var params = 'pid='+pid+'&control=essentials&time='+new Date();
		
	var myAjax = new Ajax.Request(
		'Controls/Products/TabLoader.aspx',
		{
			method: 'get',
			parameters: params,
			onComplete: LoadProductEssentials
		});
}

function LoadProductEssentials(originalRequest)
{
	try
	{
		var productEssentialsDiv = $(gDivProductEssentials);
		
		if( productEssentialsDiv ) 
		{
			if(originalRequest.responseText.length > 0)
			{
				//debugger;
				productEssentialsDiv.innerHTML = originalRequest.responseText;
			}
			else
			{
				try
				{
					//debugger;
					//var imgTab = $("tabWarranty");
					//imgTab.style.display = "none";
				}
				catch (ex){}
			}	
		}		
	}
	catch(e){}
}

function LoadOperatorView(pid)
{
	var currentproduct = pid;
	var params = 'pid='+pid+'&control=operator&time='+new Date();
		
	var myAjax = new Ajax.Request(
		'Controls/Products/TabLoader.aspx',
		{
			method: 'get',
			parameters: params,
			onComplete: LoadProductOperatorView
		});
}

function LoadProductOperatorView(originalRequest)
{
	try
	{
		var operatorNotesDiv = $(gDivOperatorNotes);
		
		if( operatorNotesDiv ) 
		{
			if(originalRequest.responseText.length > 0)
			{
				//debugger;
				operatorNotesDiv.innerHTML = originalRequest.responseText;
			}
			else
			{
				try
				{
					//debugger;
					//var imgTab = $("tabWarranty");
					//imgTab.style.display = "none";
				}
				catch (ex){}
			}	
		}		
	}
	catch(e){}
}

sfHover = function() 
{
	var sfEls = document.getElementById("nav").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
}