// JavaScript Document

	var errorElement;

// Event Action Definitions -----------------

	// onload -------------------------------
	addLoadEvent(setBacklitBtnActions);
	//addLoadEvent(setQuoterLamOptions);
	//addLoadEvent(resetBacklitQuoter);
	addLoadEvent(setBacklitDepartmentCookie);
	
	// onmouseup ---------------------------
	
// Event Actions: Lightbox Search Btn ------------------------------

	function setBacklitBtnActions()
	{
		
		var catArray = getTagGroup("div", "backlitBtn");
		
		for( var ctr=0; ctr<catArray.length; ctr++)
		{
			var thisElement = catArray[ctr];
			
			//Actions --------------
			thisElement.onmouseover 	= onMouseOverActions_backlitBtn;
			thisElement.onmouseout 		= onMouseOutActions_backlitBtn;
		}
		
	}
	
	function onMouseOverActions_backlitBtn()
	{
		this.style.cursor = "pointer";
		this.className = "backlitSummaryContainerBtnHover";
		clearQuoteErrors();
	}
	
	function onMouseOutActions_backlitBtn()
	{
		this.style.cursor = "";
		this.className = "backlitSummaryContainerBtn";
	}

// Event Actions: Quoter --------------------------------------

	/* Reset Backlit Quoter ******************************************************
	*
	*	TAKES:		NOTHING
	*	RETURNS:	NOTHING
	*	NOTE:		Resets the Backlit quoter to it's default values
	*
	**************************************************************************/

	function resetBacklitQuoter()
	{
		getElement("backlitTypeDuratrans").checked = true;
		hideElement("lamTypeZeroGlareRow");
		getElement("lamTypeLoGlarePrice").innerHTML = "3.00"
		getElement("backlitWidth").value = "";
		getElement("backlitHeight").value = "";
		getElement("lamTypeNone").checked = true;
		
		getElement("backlitTypeDuratransPrice").innerHTML = "13.95";
		getElement("lamTypeLoGlarePrice").innerHTML = "3.00";
		
		// Clear out error styles
		getElement("backlitQuoterSizeLeft").className = "quoteContentLeft";
		getElement("backlitQuoterSizeRight").className = "quoteContentRight";
		
		getElement("backlitType").value = "";
		getElement("backlitPrice").value = "";
		getElement("backlitOptionValueId").value = "";
		getElement("lamOptionValueId").value = "";
		getElement("backlitUnits").value = "";
		getElement("lamType").value = "";
		getElement("lamPrice").value = "";
		
		enableQuoteForm();
	}
	
	/* Get Backlit Quote ******************************************************
	*
	*	TAKES:		NOTHING
	*	RETURNS:	NOTHING
	*	NOTE:		Action for clicking on the "Get Quote" button. Checks the 
	*				specified size for errors and then sets the quote detail view.
	*
	**************************************************************************/
	
	function getBacklitQuote()
	{
		clearQuoteErrors();
		checkForOversizeValue();
		
		if ( backlitSizeIsValid() )
		{
			setQuoteDetail();
			enableQuoteDetail();
		}
		else
		{
			var sizeRowElement = getElement("backlitQuoterSize");
			var content
			errorElement = getElement("errorPane");
			
			content = "<div class=\"errorTag\">";
			content = content + "Size (W X H) can only be whole numbers, fractions, or decimal values.";
			content = content + "</div>";
			
			errorElement.innerHTML = content;
			
			setPosX(errorElement, getElementX(sizeRowElement)+250);
			setPosY(errorElement, getElementY(sizeRowElement)+3);
			
			showElement(errorElement.id);
			
			getElement("backlitQuoterSizeLeft").className = "quoteContentLeftError";
			getElement("backlitQuoterSizeRight").className = "quoteContentRightError";
		}
	}
	
	/* Backlit Size Is Valid ******************************************************
	*
	*	TAKES:		NOTHING
	*	RETURNS:	NOTHING
	*	NOTE:		Checks the backlit size (W x H) to make sure that the dimensions
	*				are valid.
	*
	**************************************************************************/
	
	function backlitSizeIsValid()
	{
		var widthValue 		= getElement("backlitWidth").value;
		var heightValue 	= getElement("backlitHeight").value;
		
		widthValue = fractionToDecimal(widthValue);
		heightValue = fractionToDecimal(heightValue);
		
		// Set the fraction values to the accessors
		getElement("backlitWidth").value = widthValue;
		getElement("backlitHeight").value = heightValue;
		
		if ( ( (dataIsValid(widthValue, "float") == true) || (dataIsValid(widthValue, "integer") == true) ) & 
			 ( (dataIsValid(heightValue, "float") == true) || (dataIsValid(heightValue, "integer") == true) ) )
		{
			return true;	
		}
		else
		{
			return false;	
		}
			
	}
	
	/* Enable Quote Detail ******************************************************
	*
	*	TAKES:		NOTHING
	*	RETURNS:	NOTHING
	*	NOTE:		Displays the quote detail and hides the quote form
	*
	**************************************************************************/
	
	function enableQuoteDetail()
	{
		hideElement("backlitQuoteForm");
		showElement("backlitQuoteDetail");
		
		hideElement("quoteFormBtns");
		showElement("quoteDetailBtns");
	}
	
	/* Enable Quote Form ******************************************************
	*
	*	TAKES:		NOTHING
	*	RETURNS:	NOTHING
	*	NOTE:		Displays the quote form and hides the quote detail
	*
	**************************************************************************/
	
	function enableQuoteForm()
	{
		hideElement("backlitQuoteDetail");
		showElement("backlitQuoteForm");
		
		hideElement("quoteDetailBtns");
		showElement("quoteFormBtns");
	}
	
	/* Enable Quote Detail ******************************************************
	*
	*	TAKES:		NOTHING
	*	RETURNS:	NOTHING
	*	NOTE:		Sets the values of the quote detail view
	*
	**************************************************************************/
	
	function setQuoteDetail()
	{
		var backlitWidth	= getElement("backlitWidth").value;
		var backlitHeight	= getElement("backlitHeight").value;
		var backlitType		= getElement("backlitType").value;
		var sqFeet			= 0;
		var addCharge		= 0;
		var addChargeText	= "";
		
		// Minimum Values: 24" x 24"
		if (backlitType != "Outdoor Jumbo Vinyl")
		{
			if (backlitWidth < 24)
			{
				backlitWidth = 24;	
			}
			
			if (backlitHeight < 24)
			{
				backlitHeight = 24;	
			}
				
			sqFeet 			= (backlitWidth * backlitHeight) / 144;
			hideElement("addChargeText");
		}
		else // 40 sq. ft. Vinyl
		{
			sqFeet 			= (backlitWidth * backlitHeight) / 144;
			
			if (sqFeet < 40)
			{
				sqFeet = 40;
			}
			
			showElement("addChargeText");
		}
		
		var backlitPrice	= parseFloat(getElement("backlitPrice").value);
		
		if (backlitPrice == "") 	{ backlitPrice = 0; }
		
		getElement("backlitDetailType").innerHTML = getElement("backlitType").value;
		getElement("backlitDetailPrice").innerHTML = "$" + backlitPrice.toFixed(2);
		getElement("backlitDetailWidth").innerHTML = getElement("backlitWidth").value;
		getElement("backlitDetailHeight").innerHTML = getElement("backlitHeight").value;
		
		if (getElement("lamType").value != "")
		{
			var lamPrice		= parseFloat(getElement("lamPrice").value);
			if (lamPrice == "") 		{ lamPrice = 0; }
			getElement("backlitDetailLamType").innerHTML = getElement("lamType").value;
			getElement("backlitDetailLamPrice").innerHTML = "$" + lamPrice.toFixed(2);
			showElement("laminateDetail");
		}
		else
		{
			lamPrice = 0;
			hideElement("laminateDetail");
		}
		
		getElement("backlitQuoteTotal").innerHTML = "<b>$" + (sqFeet * (backlitPrice + lamPrice)).toFixed(2);
	}
	
	/* Set Quote Values ******************************************************
	*
	*	TAKES:		NOTHING
	*	RETURNS:	NOTHING
	*	NOTE:		Sets the quote form text field values to hidden input value
	*				accessors.
	*
	**************************************************************************/
	
	function setQuoteValues()
	{
		// Backlit Type, Price ------------------
			
			getElement("backlitTypeDuratransPrice").innerHTML = "13.95";
			hideElement("oversizeTerms");
			
			if (getElement("backlitTypeDuratrans").checked)
			{
				getElement("backlitType").value = "Duratrans Photographic Quality";
				getElement("backlitPrice").value = "13.95";
				getElement("backlitOptionValueId").value = "Duratrans Photographic Quality Backlit";
			
				// Lam Type, Price -----------------------------
				getElement("lamTypeLoGlarePrice").innerHTML = "3.00";
				
				if (getElement("lamTypeLoGlare").checked)
				{
					getElement("lamType").value = "LoGlare UV Satin";
					getElement("lamPrice").value = "3.00";
					getElement("lamOptionValueId").value = "LoGlare UV Satin for Duratrans";
					
				}
			}
			
			if (getElement("backlitTypeEconomyInkjet").checked)
			{
				getElement("backlitType").value = "Economy Inkjet";
				getElement("backlitPrice").value = "8.95";
				getElement("backlitOptionValueId").value = "Economy Inkjet Backlit";
			
				// Lam Type, Price -----------------------------
		
				if (getElement("lamTypeLoGlare").checked)
				{
					getElement("lamType").value = "LoGlare UV Satin";
					getElement("lamPrice").value = "3.00";
					getElement("lamOptionValueId").value = "LoGlare UV Satin for Economy Inkjet";
					
				}
				
				if (getElement("lamTypeZeroGlare").checked)
				{
					getElement("lamType").value = "ZeroGlare UV Matte";
					getElement("lamPrice").value = "3.00";
					getElement("lamOptionValueId").value = "ZeroGlare UV Matte for Economy Inkjet";
				}
			}
		
			if (getElement("backlitTypeOutdoorVinyl").checked)
			{
				getElement("backlitType").value = "Outdoor Jumbo Vinyl";
				getElement("backlitPrice").value = "10.95";
				getElement("backlitOptionValueId").value = "Outdoor Jumbo Backlit Vinyl";
			}
			
	}
	
	/* Set Oversize Quote Values ******************************************************
	*
	*	TAKES:		NOTHING
	*	RETURNS:	NOTHING
	*	NOTE:		Sets the quote form text field values to hidden input value
	*				accessors.
	*
	**************************************************************************/
	
	function setOversizeQuoteValues()
	{
		// Backlit Type, Price ------------------
			
			getElement("backlitTypeDuratransPrice").innerHTML = "17.95";
			showElement("oversizeTerms");
			
			if (getElement("backlitTypeDuratrans").checked)
			{
				
				getElement("backlitType").value = "Duratrans Photographic Quality";
				getElement("backlitPrice").value = "17.95";
				getElement("backlitOptionValueId").value = "Duratrans Photographic Quality Backlit";
				
				// Lam Type, Price -----------------------------
				getElement("lamTypeLoGlarePrice").innerHTML = "4.50";
		
				if (getElement("lamTypeLoGlare").checked)
				{
					getElement("lamType").value = "LoGlare UV Satin";
					getElement("lamPrice").value = "4.50";
					getElement("lamOptionValueId").value = "LoGlare UV Satin for Duratrans";
				}
			}
			
			if (getElement("backlitTypeEconomyInkjet").checked)
			{
				getElement("backlitType").value = "Economy Inkjet";
				getElement("backlitPrice").value = "8.95";
				getElement("backlitOptionValueId").value = "Economy Inkjet Backlit";
			
				// Lam Type, Price -----------------------------
		
				if (getElement("lamTypeLoGlare").checked)
				{
					getElement("lamType").value = "LoGlare UV Satin";
					getElement("lamPrice").value = "3.00";
					getElement("lamOptionValueId").value = "LoGlare UV Satin for Economy Inkjet";
					
				}
				
				if (getElement("lamTypeZeroGlare").checked)
				{
					getElement("lamType").value = "ZeroGlare UV Matte";
					getElement("lamPrice").value = "3.00";
					getElement("lamOptionValueId").value = "ZeroGlare UV Matte for Economy Inkjet";
				}
			}
		
			if (getElement("backlitTypeOutdoorVinyl").checked)
			{
				getElement("backlitType").value = "Outdoor Jumbo Vinyl";
				getElement("backlitPrice").value = "10.95";
				getElement("backlitOptionValueId").value = "Outdoor Jumbo Backlit Vinyl";
			}
			
	}
	
	/* Add To Cart ******************************************************
	*
	*	TAKES:		NOTHING
	*	RETURNS:	NOTHING
	*	NOTE:		Sends the quote data to an ASP script that adds the backlit
	*				to the shopping cart using AJAX.  Redirects to the shopping
	*				cart.
	*
	**************************************************************************/
	
	function addToCart()
	{
		var linkVars
		
		// Construct Shopping Cart Item
		
		var itemId 					= 1;	 // Shopping Cart Item count
		var qty						= 1;
		var productWidth			= getElement("backlitWidth").value;
		var productHeight			= getElement("backlitHeight").value;
		var backlitOptionValueId	= getElement("backlitOptionValueId").value;
		var lamOptionValueId		= getElement("lamOptionValueId").value;
		var isOversize              = false;
		
		linkVars = "?itemo_id=" + itemId;
		linkVars = linkVars + "&qty=" + qty;
		linkVars = linkVars + "&product_width=" + productWidth;
		linkVars = linkVars + "&product_height=" + productHeight;
		
		// Oversize ********************
		
		    if (getElement("oversizeTerms").style.display == "block")
		    {
		        isOversize = true;
		    }
		
		// Media Choice ****************
		
		    var sku = "";
		    
		    if (backlitOptionValueId.indexOf("Duratrans") != -1)
		    {
		        if (isOversize)
		        {
		            sku = "301002";
		        }
		        else
		        {
		            sku = "301001";
		        }
		        
		    }
		    else if (backlitOptionValueId.indexOf("Economy") != -1)
		    {
		        sku = "302001";
		    }
		    else
		    {
		        sku = "303001";
		    }
		
		// Lam Option *******************
		
		    if (lamOptionValueId != "")
		    {
			    linkVars = linkVars + "&option_lam_value=" + lamOptionValueId;
		    }
		
		var paramArray = new Array();
		paramArray.push(["action", "addItemToCart"]);
		paramArray.push(["qty", qty]);
		paramArray.push(["sku", sku]);
		paramArray.push(["productWidth", productWidth]);
		paramArray.push(["productHeight", productHeight]);
		paramArray.push(["productDimensionUnits", "inches"]);
		paramArray.push(["option18", lamOptionValueId]);
		
		setAjaxPostUrl("addToCartPane", "/shop/ajaxShoppingCartManager.aspx", paramArray, false, "location.href='/shop/shoppingCart.aspx';");
	
	}
	
	/*Set Quoter Lam Options ******************************************************
	*
	*	TAKES:		NOTHING
	*	RETURNS:	NOTHING
	*	NOTE:		Sets the lam options based on what backlit media is selected.
	*
	**************************************************************************/
	
	function setQuoterLamOptions()
	{
		getElement("backlitTypeDuratrans").onclick = function()
		{
			getElement("lamTypeLoGlarePrice").innerHTML = "3.00";
			showElement("lamTypeLoGlareRow");
			hideElement("lamTypeZeroGlareRow");
			getElement("lamTypeNone").checked = true;
			getElement("lamOptionValueId").value = "";
			getElement("lamType").value = "";
			getElement("lamPrice").value = "";
			
			checkForOversizeValue();
		}
		
		getElement("backlitTypeEconomyInkjet").onclick = function()
		{
			getElement("lamTypeLoGlarePrice").innerHTML = "3.00";
			showElement("lamTypeLoGlareRow");
			showElement("lamTypeZeroGlareRow");
		}
		
		getElement("backlitTypeOutdoorVinyl").onclick = function()
		{
			getElement("lamTypeLoGlarePrice").innerHTML = "0.00";
			hideElement("lamTypeLoGlareRow");
			hideElement("lamTypeZeroGlareRow");
			getElement("lamTypeNone").checked = true;
			getElement("lamOptionValueId").value = "";
			getElement("lamType").value = "";
			getElement("lamPrice").value = "";
		}
	}
	
	/* Set Quoter Duratrans Options ******************************************************
	*
	*	TAKES:		NOTHING
	*	RETURNS:	NOTHING
	*	NOTE:		Sets the duratrans options.
	*
	**************************************************************************/
	
	function setQuoterDuratransOptions()
	{
		getElement("backlitTypeDuratrans").checked = true;
		getElement("lamTypeLoGlarePrice").innerHTML = "3.00";
		showElement("lamTypeLoGlareRow");
		hideElement("lamTypeZeroGlareRow");
		
	}
	
	/* Set Quoter Economy Inkjet Options ******************************************************
	*
	*	TAKES:		NOTHING
	*	RETURNS:	NOTHING
	*	NOTE:		Sets the duratrans options.
	*
	**************************************************************************/
	
	function setQuoterEconomyInkjetOptions()
	{
		
		getElement("backlitTypeEconomyInkjet").checked = true;
		getElement("lamTypeLoGlarePrice").innerHTML = "3.00";
		showElement("lamTypeLoGlareRow");
		showElement("lamTypeZeroGlareRow");
		
	}

	/* Set Quoter Outdoor Vinyl Options ******************************************************
	*
	*	TAKES:		NOTHING
	*	RETURNS:	NOTHING
	*	NOTE:		Sets the duratrans options.
	*
	**************************************************************************/
	
	function setQuoterOutdoorVinylOptions()
	{
		
		getElement("backlitTypeOutdoorVinyl").checked = true;
		getElement("lamTypeLoGlarePrice").innerHTML = "0.00";
		hideElement("lamTypeLoGlareRow");
		hideElement("lamTypeZeroGlareRow");
		
	}

	/* Clear Quote Errors ******************************************************
	*
	*	TAKES:		NOTHING
	*	RETURNS:	NOTHING
	*	NOTE:		Restores the orginal view for the quoter, and clears any
	*				error tags or messages.
	*
	**************************************************************************/
	
	function clearQuoteErrors()
	{
		if (false)
		{
			getElement("backlitQuoterSizeLeft").className = "quoteContentLeft";
			getElement("backlitQuoterSizeRight").className = "quoteContentRight";
			
			if (errorElement)
			{
				hideElement(errorElement.id); // Clears Error Tag
			}
		}
	}
	
	/* Clear Quote Errors ******************************************************
	*
	*	TAKES:		NOTHING
	*	RETURNS:	NOTHING
	*	NOTE:		Toggles the display on the compare row based on it's current
	*				state.  Show --> Hide, Hide --> Show.
	*
	**************************************************************************/
	
	function toggleMeterCompare(compareRow, numRows)
	{
		
		for(var ctr=0; ctr<numRows; ctr++)
		{
			var rowElement = getElement(compareRow + ctr);
			
			if ((rowElement.style.display == "none") || (rowElement.style.display == ""))
			{
				showElement(rowElement.id);
			}
			else
			{
				hideElement(rowElement.id);
			}
		}
	}
	
	
	/* Check For Oversize Value ******************************************************
	*
	*	TAKES:		Dimension Value
	*	RETURNS:	NOTHING
	*	NOTE:		Sets the pricing of oversize backlit.
	*
	**************************************************************************/
	
	function checkForOversizeValue()
	{
		var backlitWidth	= $("#backlitWidth").val();
		var backlitHeight	= $("#backlitHeight").val();

		var smallDim = backlitWidth;
		var largeDim = backlitHeight;

		if (backlitWidth > backlitHeight)
        {
            smallDim = backlitHeight;
            largeDim = backlitWidth;
		}

        if ((smallDim > 48) || (largeDim > 96))
		{
		    alert("small: " + smallDim + "\nlarge: " + largeDim);
			setOversizeQuoteValues();	
		}
		else
		{
			setQuoteValues();
		}
	}

	/* Set Backlit Department Cookie ******************************************************
	*
	*	TAKES:		Dimension Value
	*	RETURNS:	NOTHING
	*	NOTE:		Sets the pricing of oversize backlit.
	*
	**************************************************************************/
	
	function setBacklitDepartmentCookie()
	{
		setCookie("lastDepartmentVisited", "Backlit Graphic");	
	}



