/*  Lightboxes Main  * *******************************************************
 *
 *	Functions for the main Lightbox Page
 *
 ***********************************************************************************/

// Globals **************************
	
	var dipslaySizeExample = "width x height";
	var activeTabLeft = null;
	var tabOffset = 0;
	var currentView = "";
	var currentCategory = "";
	var currentSuggestRow = null;
	var initialSearch = false;
	var stopSearch = false;
	var headerClickEnabled = true;
		
	if ((thisBrowser == "IE") & (thisBrowserVersion != 8))
	{
		tabOffset = 3;	
	}
	else
	{
		tabOffset = 2;
	}
	

// Load Event ***********************

	addLoadEvent(pageInit);
	addMouseUpEvent(closeSuggestPanel);
	
// Intialization **********************

	function pageInit()
	{
		// Preload Images ***********************************
		preloadPageImages();
		
		// Set Image Search Actions *****************************************
		setImageSearchActions();
		
		// Set Tab Actions ****************************************
		setTabActions();
		
		// Previous Search Record **************
		getSavedSearch();
		
		// Set Search Field Actions *****************************
		setSearchFieldActions();
		
		// Default Tab **********************
		setActiveTab("shopLightboxesTab");
		
		// Set KeyPress Action
		getElement("lightboxDisplaySize").onkeydown = checkKeystrokeDown;
		getElement("lightboxDisplaySize").onkeyup = checkKeystrokeUp;
		
		setDefaultContent();
		
		// Collapse some search fields ********************
		toggleSearchCollapse(getElement("searchToggle.lightboxSearchLoadingMethod"));
		toggleSearchCollapse(getElement("searchToggle.lightboxSearchLampType"));
		toggleSearchCollapse(getElement("searchToggle.lightboxSearchLightingType"));
		toggleSearchCollapse(getElement("searchToggle.lightboxSearchFrameConstr"));
		toggleSearchCollapse(getElement("searchToggle.lightboxSearchLeadTime"));
	}

/*  Preload Page Images * *******************************************************
 *
 *	TAKES:		NOTHING
 * 	RETURNS:	NOTHING
 *	NOTE:		
 *
 ***********************************************************************************/
 	
	function preloadPageImages()
	{
		var imageObj 	= new Image();
		var imageArray	= new Array();
		
		imageArray.push("/images/showAllModelsBtnOff.png");
		imageArray.push("/images/showAllModelsBtnOn.png");
		imageArray.push("/images/showAllModelsBtnDown.png");
		
		imageArray.push("/images/contentTableYellowBodyTop.png");
		imageArray.push("/images/contentTableYellowLeftTop.png");
		imageArray.push("/images/contentTableYellowLeft.png");
		imageArray.push("/images/contentTableYellowLeftBottom.png");
		imageArray.push("/images/contentTableYellowBodyBottom.png");
		imageArray.push("/images/contentTableYellowRightBottom.png");
		imageArray.push("/images/contentTableYellowRight.png");
		imageArray.push("/images/contentTableYellowRightTop.png");
		
		imageArray.push("/images/contentTableBlackBodyTop.png");
		imageArray.push("/images/contentTableBlackLeftTop.png");
		imageArray.push("/images/contentTableBlackLeft.png");
		imageArray.push("/images/contentTableBlackLeftBottom.png");
		imageArray.push("/images/contentTableBlackBodyBottom.png");
		imageArray.push("/images/contentTableBlackRightBottom.png");
		imageArray.push("/images/contentTableBlackRight.png");
		imageArray.push("/images/contentTableBlackRightTop.png");
		
		
		var iterateAction = function(imageElement, ctr)
		{
			imageObj = imageElement;	
		}
		
		iterateElementList(imageArray, iterateAction);
		
	}
	
/*  Set Image Search Actions * *******************************************************
 *
 *	TAKES:		NOTHING
 * 	RETURNS:	NOTHING
 *	NOTE:		
 *
 ***********************************************************************************/
 	
	function setImageSearchActions()
	{
		var imageElements = getTagGroup("img", "searchImage");
		
		var iterateAction = function(imageElement, ctr)
		{
			imageElement.onmouseover = function()
			{
				headerClickEnabled = false;
			}

			imageElement.onmouseout = function()
			{
				headerClickEnabled = true;
			}

		}
		
		iterateElementList(imageElements, iterateAction);
	}
	
	
 
/*  Header Click * *******************************************************
 *
 *	TAKES:		Click Action
 * 	RETURNS:	NOTHING
 *	NOTE:		
 *
 ***********************************************************************************/
 
 	function headerClick(clickAction)
	{
		if (headerClickEnabled)
		{
			// check for link ****************
			if (clickAction.indexOf(".asp") > 0)
			{
				clickAction = "location.href='" + clickAction + "'";	
			}
			
			eval(clickAction);	
		}
	}
 
/*  Set Default Content * *******************************************************
 *
 *	TAKES:		NOTHING
 * 	RETURNS:	NOTHING
 *	NOTE:		
 *
 ***********************************************************************************/
 
	function setDefaultContent()
	{
		var lightboxDisplayElement = getElement("lightboxDisplaySize");
		
		if ((initialSearch) || (lightboxDisplayElement.value != dipslaySizeExample))
		{
			// Previous Search Record *********************
			lightboxDisplayElement.style.color = "#000000";
			searchLightboxes();
		}
		else
		{
			// Default Content *******************
			setAjaxUrl("lightboxContentPane", "/hardware/backlit/ajaxLightboxSearch.asp", "showElement('lightboxSearchLoadingElement');", "hideElement('lightboxSearchLoadingElement'); showElement('lightboxModels');");	
		}
	}
	
/*  Get Saved Search * *******************************************************
 *
 *	TAKES:		NOTHING
 * 	RETURNS:	NOTHING
 *	NOTE:		
 *
 ***********************************************************************************/
 
	function getSavedSearch()
	{
		var savedValuesElement = getElement("lightboxSearchSavedValues");
		
		if (savedValuesElement)
		{
			var valueArray = savedValuesElement.value.split(", ");
			var dimValue = "";
			var fieldElements = getTagGroup("input", "lightboxSearch");
		
			var iterateAction = function(fieldElement, ctr)
			{
				for(var valueCtr=0; valueCtr<valueArray.length; valueCtr++)
				{
					// Assumes that the first value is the dimensions *****
					if ((dimValue == "") & (ctr == 0))
					{
						dimValue = valueArray[valueCtr];
					}
					
					if (fieldElement.value == valueArray[valueCtr])
					{
						fieldElement.checked = true;
						break;
					}
				}
			}
			
			iterateElementList(fieldElements, iterateAction);
			
			// Set Dimensions *******************
			if ((dimValue != dipslaySizeExample) & (dimValue != "") & (dimValue != "null"))
			{
				getElement("lightboxDisplaySize").value = dimValue;
			}
			
		}
	}
	
/*  Set Tab Actions * *******************************************************
 *
 *	TAKES:		NOTHING
 * 	RETURNS:	NOTHING
 *	NOTE:		
 *
 ***********************************************************************************/
 
 	function setTabActions()
	{
		var shopLightboxesTab 	= getElement("shopLightboxesTab");
		var customQuoteTab 		= getElement("customQuoteTab");
		var lightboxes101Tab 	= getElement("lightboxes101Tab");
		var featuredVideosTab	= getElement("featuredVideosTab");
		
		var leftContentTable 	= getElement("leftContentTable");
		var tabCoverLeft		= getElement("tabCoverLeft");
		
		// Shop Lightboxes Tab **********************
			
			// Special Edge Tab *******************
			getElement("leftContentTableLeftTop").className = "contentTableHOrangeLeft";
			
			shopLightboxesTab.onmouseover = function()
			{
				this.style.cursor = "pointer";
			}
			
			shopLightboxesTab.onclick = function()
			{
				setActiveTab(this.id);
			}
			
			activeTabLeft = shopLightboxesTab;
			
			
		// Custom Quote Tab **********************
		/*	
			customQuoteTab.onmouseover = function()
			{
				this.style.cursor = "pointer";
			}
			
			customQuoteTab.onclick = function()
			{
				//setActiveTab(this.id);
				location.href = "/contact/request_lightbox_quote.asp";
			}
			*/
		// Lightboxes 101 Tab **********************
			
			lightboxes101Tab.onmouseover = function()
			{
				this.style.cursor = "pointer";
			}
			
			lightboxes101Tab.onclick = function()
			{
				setActiveTab(this.id);
			}
			
		// Featured Videos Tab **********************
			
			featuredVideosTab.onmouseover = function()
			{
				this.style.cursor = "pointer";
			}
			
			featuredVideosTab.onclick = function()
			{
				setActiveTab(this.id);
			}
		
		
	}
	
/*  Set Search Field Actions * *******************************************************
 *
 *	TAKES:		NOTHING
 * 	RETURNS:	NOTHING
 *	NOTE:		
 *
 ***********************************************************************************/
 
 	function setSearchFieldActions()
	{
		var fieldElements = getTagGroup("input", "lightboxSearch");
		var labelElements = getTagGroup("span", "lightboxSearchLabel");
		
		var iterateAction = function(fieldElement, ctr)
		{
			// Field **************
			fieldElement.onclick = searchLightboxes;
			
			if (fieldElement.checked)
			{
				initialSearch = true;	
			}
			
			// Label **************
			var labelElement = labelElements[ctr];
			
			if (labelElement)
			{
				labelElement.onmouseover = function()
				{
					this.style.cursor = "pointer";
				}
				
				labelElement.onmouseout = function()
				{
					this.style.cursor = "";
				}
				
				labelElement.onclick = function()
				{
					if (fieldElement.checked)
					{
						fieldElement.checked = false;	
					}
					else
					{
						fieldElement.checked = true;	
					}
					
					searchLightboxes();
				}
			}
		
		}
		
		iterateElementList(fieldElements, iterateAction);
		
	}
	
/*  Update Filter Breadcrumbs * *******************************************************
 *
 *	TAKES:		NOTHING
 * 	RETURNS:	NOTHING
 *	NOTE:		
 *
 ***********************************************************************************/
 
 	function updateFilterBreadcrumbs()
	{
		var dimElement					= getElement("lightboxDisplaySize");
		var searchFieldElements 		= getTagGroup("input", "lightboxSearch");
		var filterBreadcrumbTable 		= getElement("filterBreadCrumbTable");
		var filterBreadcrumbTableRow 	= filterBreadcrumbTable.rows[0];  // Default row
		var filterCount = 0;
		var maxFilterDisplay = 5;
		
		removeAllChildren(filterBreadcrumbTableRow);
		
		// Add Dimensions to the breadcrumbs ********************
		if ((dimElement.value != dipslaySizeExample) & (dimElement.value != ""))
		{
			var dimFilterCol 	= document.createElement("td");
			dimFilterCol.appendChild(getFilterBreadCrumb(dimElement, filterCount));
			
			filterBreadcrumbTableRow.appendChild(dimFilterCol);
			filterCount++;
		}
		
		// Add Search Filters to the breadcrumbs ********************
		var iterateAction = function(searchFieldElement, ctr)
		{
			if ((searchFieldElement.checked) & (filterCount <= (maxFilterDisplay-1)))
			{
				var newFilterCol 	= document.createElement("td");
				newFilterCol.appendChild(getFilterBreadCrumb(searchFieldElement, filterCount));
				
				filterBreadcrumbTableRow.appendChild(newFilterCol);
				filterCount++;
				
			}
		}
		
		iterateElementList(searchFieldElements, iterateAction);
		
		if (filterCount > (maxFilterDisplay-1))
		{
			var moreFilterCol 	= document.createElement("td");
			var spanElement 	= document.createElement("span");
			spanElement.style.color = "#666666";
			spanElement.innerHTML 	= "...";
			
			moreFilterCol.appendChild(spanElement);
			filterBreadcrumbTableRow.appendChild(moreFilterCol)
		}
		
		if (filterCount > 0)
		{
			showElement("filterBreadcrumbContainer");
			
		}
		else
		{
			hideElement("filterBreadcrumbContainer");	
		}
		
	}

/* Get Filter Breadcrumb * *******************************************************
 *
 *	TAKES:		Search Field Element, Filter Count
 * 	RETURNS:	Breadcrumb Table Element
 *	NOTE:		
 *
 ***********************************************************************************/
 
	function getFilterBreadCrumb(searchFieldElement, thisFilterCount)
	{
		var searchLabelId = searchFieldElement.id.replace("lightboxSearch", "lightboxSearchLabel");
	
		var filterTable		= createTable(1, 3);
		filterTable.cellPadding = 2;
		
		var filterTableRow	= filterTable.rows[0];
		
		// Divider for the Filters *****************************
		
		var dividerCol			= filterTableRow.cells[0];
		dividerCol.style.color	= "#666666";
				
		if (thisFilterCount > 0)
		{
			dividerCol.innerHTML 	= "&nbsp;&nbsp;|&nbsp;&nbsp;";
		}
		
		// Remove Btn Graphic *****************************
		var removeCol			= filterTableRow.cells[1];
		
		// Exception for the dimensions value ***********************
		if (searchFieldElement.id != "lightboxDisplaySize")
		{
			var removeImage			= document.createElement("img");
			removeImage.id			= searchFieldElement.id.replace("lightboxSearch", "removeSearch");
			removeImage.src			= "/images/closeBtnRed.png";
			removeImage.style.width	= "15px";
			removeImage.style.height = "15px";
			removeImage.onmouseover	= function() { this.style.cursor = "pointer"; }
			
			// Remve Btn Action!!! **************************
			removeImage.onclick		= function()
			{
				var thisSearchFieldId = this.id.replace("removeSearch", "lightboxSearch");
				getElement(thisSearchFieldId).checked = false;
				searchLightboxes();
			}
			
			removeCol.appendChild(removeImage);
		}
		
		// Filter Text  *****************************
		
		var filterCol			= filterTableRow.cells[2];
		filterCol.style.color	= "#666666";
		
		var searchLabelText  = "";
		
		// Exception for the dimensions value ***********************
		if (searchFieldElement.id == "lightboxDisplaySize")
		{
			searchLabelText = "Size, " + getElement("lightboxDisplaySize").value;
		}
		else
		{
			searchLabelText = getElement(searchLabelId).innerHTML;
		}
		
		// BREAK tag check!!!! ******************
		if ((searchLabelText.indexOf("<br>") > 0) || (searchLabelText.indexOf("<br />") > 0) || (searchLabelText.indexOf("<BR />") > 0) || (searchLabelText.indexOf("<BR>") > 0))
		{
			searchLabelText = searchLabelText.replace("<BR>", "<br />");
			searchLabelText = searchLabelText.replace("<BR />", "<br />");
			searchLabelText = searchLabelText.replace("<br>", "<br />");
			var tempArray = searchLabelText.split("<br />");
			searchLabelText = tempArray[0];
		}
		
		filterCol.innerHTML 	= searchLabelText;
		
		return filterTable;
	}

/* Toggle Search Collaspe * *******************************************************
 *
 *	TAKES:		NOTHING
 * 	RETURNS:	NOTHING
 *	NOTE:		
 *
 ***********************************************************************************/

	function toggleSearchCollapse(toggleElement)
	{
		if (toggleElement)
		{
			var toggleId = toggleElement.id.replace("searchToggle.", "");
			
			if (toggleElement.src.indexOf("plus") > 0)
			{
				// Expand ******************
				toggleElement.src = "/images/minusBtnOrange.png";
				//showElement("searchCheckboxes." + toggleId);
			    $("#searchCheckboxes\\." + toggleId).slideDown("fast");
			    
			}
			else
			{
				// Collapse	****************
				toggleElement.src = "/images/plusBtnOrange.png";
				//hideElement("searchCheckboxes." + toggleId);
				$("div #searchCheckboxes\\." + toggleId).slideUp("fast");
			}
		}
	}
	
/*  Clear Search Fields * *******************************************************
 *
 *	TAKES:		NOTHING
 * 	RETURNS:	NOTHING
 *	NOTE:		
 *
 ***********************************************************************************/
 
 	function clearSearchFields()
	{
		// Display Size ******************
		getElement("lightboxDisplaySize").value = dipslaySizeExample;
		getElement("lightboxDisplaySize").style.color = "#666666";
		
		// Checkboxes ********************
		
		var fieldElements = getTagGroup("input", "lightboxSearch");
		
		var iterateAction = function(fieldElement, ctr)
		{
			fieldElement.checked = false;
		}
		
		iterateElementList(fieldElements, iterateAction);
	}
	
/*  Reset Search Form * *******************************************************
 *
 *	TAKES:		NOTHING
 * 	RETURNS:	NOTHING
 *	NOTE:		
 *
 ***********************************************************************************/
 
	function resetSearchForm()
	{
		clearSearchFields();
		
		// Search Heaeder ******************************
		hideElement("clearSearchResultsLink");
		showElement("startSearchLabel");
		
		resetSearchHeader();
		
		hideElement("searchResultHeader");
		
		// Default Content *******************
		setAjaxUrl("lightboxContentPane", "/hardware/backlit/ajaxLightboxSearch.asp", "showElement('lightboxSearchLoadingElement');", "hideElement('lightboxSearchLoadingElement');");
	}

/*  Reset Search Header * *******************************************************
 *
 *	TAKES:		NOTHING
 * 	RETURNS:	NOTHING
 *	NOTE:		
 *
 ***********************************************************************************/
 
	function resetSearchHeader()
	{
		// Hide all special headers ********************
		hideElement("searchResultHeaderShipsToday");
		hideElement("searchResultHeaderLED");
		hideElement("searchResultHeaderEconomy");
		hideElement("searchResultHeaderPerformance");
		hideElement("searchResultHeaderPremium");
		
		// Set Deault Result Header Class **************
		getElement("searchResultsHeaderBar").className = "searchResultsHeader";
			
	}
	
/*  Set Content Table Classes * *******************************************************
 *
 *	TAKES:		NOTHING
 * 	RETURNS:	NOTHING
 *	NOTE:		
 *
 ***********************************************************************************/
 
	function setContentTableClasses(contentTableTag, classColor)
	{
		// Top Row *******************
		getElement(contentTableTag + "TableLeftTop").className = "contentTable" + classColor + "LeftTop";
		getElement(contentTableTag + "TableBodyTop").className = "contentTable" + classColor + "BodyTop";
		getElement(contentTableTag + "TableRightTop").className = "contentTable" + classColor + "RightTop";
		
		// Center Row *****************
		getElement(contentTableTag + "TableLeft").className = "contentTable" + classColor + "Left";
		getElement(contentTableTag + "TableBody").className = "contentTable" + classColor + "Body";
		getElement(contentTableTag + "TableRight").className = "contentTable" + classColor + "Right";
		
		// Bottom Row ******************
		getElement(contentTableTag + "TableLeftBottom").className = "contentTable" + classColor + "LeftBottom";
		getElement(contentTableTag + "TableBodyBottom").className = "contentTable" + classColor + "BodyBottom";
		getElement(contentTableTag + "TableRightBottom").className = "contentTable" + classColor + "RightBottom";
	}

/*  Set Active Tab * *******************************************************
 *
 *	TAKES:		Tab Id
 * 	RETURNS:	NOTHING
 *	NOTE:		
 *
 ***********************************************************************************/
 
	function setActiveTab(tabId)
	{
		switch(tabId)
		{
			case "shopLightboxesTab":
				
				if (activeTabLeft != tabId)
				{
					activeTabLeft = tabId;
					activateTab(tabId);
					deactivateTab("customQuoteTab");
					deactivateTab("lightboxes101Tab");
					deactivateTab("featuredVideosTab");
					
					getElement("leftContentTableBody").style.backgroundColor = "#f29942";
					setContentTableClasses("leftContent", "HOrange");
					
					getElement("leftContentTableLeftTop").className = "contentTableHOrangeLeft";
					
					// Content ****************
					hideElement("lightboxes101Pane");
					hideElement("featuredVideosPane");
					
					showElement("shopLightboxesPane");
					
				}
				
				break;
			
			case "customQuoteTab":
				
				if (activeTabLeft != tabId)
				{
					activeTabLeft = tabId;
					activateTab(tabId);
					deactivateTab("shopLightboxesTab");
					deactivateTab("lightboxes101Tab");
					deactivateTab("featuredVideosTab");
					
					getElement("leftContentTableBody").style.backgroundColor = "#7ba545";
					setContentTableClasses("leftContent", "Green");
				}
				
				break;
			
			
			case "lightboxes101Tab":
				
				if (activeTabLeft != tabId)
				{
					activeTabLeft = tabId;
					activateTab(tabId);
					deactivateTab("customQuoteTab");
					deactivateTab("shopLightboxesTab");
					deactivateTab("featuredVideosTab");
					
					getElement("leftContentTableBody").style.backgroundColor = "#e3d378";
					setContentTableClasses("leftContent", "Yellow");
					
					// Content ****************
					hideElement("shopLightboxesPane");
					hideElement("featuredVideosPane");
					
					showElement("lightboxes101Pane");
					
					// Default Content ************************* 
					if (getElement("lightboxes101PaneContent").innerHTML == "")
					{
						setLightboxes101Main();
					}
				}
				
				break;
				
			case "featuredVideosTab":
				
				if (activeTabLeft != tabId)
				{
					activeTabLeft = tabId;
					activateTab(tabId);
					
					deactivateTab("customQuoteTab");
					deactivateTab("shopLightboxesTab");
					deactivateTab("lightboxes101Tab");
					
					getElement("leftContentTableBody").style.backgroundColor = "#191919";
					setContentTableClasses("leftContent", "Black");
					
					// Content ****************
					hideElement("shopLightboxesPane");
					hideElement("lightboxes101Pane");
					showElement("featuredVideosPane");
					
				}
				
				break;
			
			
			default:
				
				break;
		}
	}
	
	
/*  Activate Tab * *******************************************************
 *
 *	TAKES:		Tab Id
 * 	RETURNS:	NOTHING
 *	NOTE:		
 *
 ***********************************************************************************/
 
	function activateTab(tabId)
	{
		var tabElement = getElement(tabId);
		
		if (tabElement)
		{
			tabElement.className = tabElement.className + "Active";
		}
	}
	
/*  Activate Tab * *******************************************************
 *
 *	TAKES:		Tab Id
 * 	RETURNS:	NOTHING
 *	NOTE:		
 *
 ***********************************************************************************/
 
	function deactivateTab(tabId)
	{
		var tabElement = getElement(tabId);
		
		if (tabElement)
		{
			tabElement.className = tabElement.className.replace("Active", "");
		}
	}

/*  Search Lightboxes * *******************************************************
 *
 *	TAKES:		NOTHING
 * 	RETURNS:	NOTHING
 *	NOTE:		
 *
 ***********************************************************************************/
 
	function searchLightboxes()
	{
		if (activeTabLeft != "shopLightboxesTab")
		{
			setActiveTab("shopLightboxesTab");
		}
		
		if (getOpacity("suggestPane") == 100)
		{
			fadeOutSuggestPane();
		}
		
		// Search Heaeder ******************************
		hideElement("startSearchLabel");
		showElement("clearSearchResultsLink");
		
		resetSearchHeader();
		
		updateFilterBreadcrumbs();
		
		// Gather all Search Field Data ****************
		var displaySize 			= getValue("lightboxDisplaySize");
		var gradeElements 			= getTagGroup("input", "lightboxSearchGrade");
		var useElements 			= getTagGroup("input", "lightboxSearchUse");
		var sidedElements 			= getTagGroup("input", "lightboxSearchSided");
		var depthElements 			= getTagGroup("input", "lightboxSearchDepth");
		var lightingTypeElements 	= getTagGroup("input", "lightboxSearchLightingType");
		var loadingMethodElements 	= getTagGroup("input", "lightboxSearchLoadingMethod");
		var lampTypeElements 		= getTagGroup("input", "lightboxSearchLampType");
		var leadTimeElements 		= getTagGroup("input", "lightboxSearchLeadTime");
		var sizeRangeElements 		= getTagGroup("input", "lightboxSearchSizeRange");
		var frameConstrElements 	= getTagGroup("input", "lightboxSearchFrameConstr");
		
		// Sorting **************************************
		var selectElement 			= getElement("searchResultSortValues");
		var sortBy					= "";
		var sortDirection			= "";
		
		// Format the display size *********************
		displaySize = displaySize.replace("\"", "");
		displaySize = displaySize.replace("'", "");
		displaySize = displaySize.toLowerCase();
		
		if (selectElement)
		{
			var sortingValues		= selectElement.options[selectElement.selectedIndex].value;
			var sortingArray		= sortingValues.split(",");
			sortBy					= sortingArray[0];
			sortDirection			= sortingArray[1];
		}
		
		var queryVars = "&displaySize=" + displaySize;
		queryVars += "&grade=" + getCheckedGroupValue(gradeElements);
		queryVars += "&use=" + getCheckedGroupValue(useElements);
		queryVars += "&sided=" + getCheckedGroupValue(sidedElements);
		queryVars += "&depth=" + getCheckedGroupValue(depthElements);
		queryVars += "&lightingType=" + getCheckedGroupValue(lightingTypeElements);
		queryVars += "&loadingMethod=" + getCheckedGroupValue(loadingMethodElements);
		queryVars += "&lampType=" + getCheckedGroupValue(lampTypeElements);
		queryVars += "&leadTime=" + getCheckedGroupValue(leadTimeElements);
		queryVars += "&sizeRange=" + getCheckedGroupValue(sizeRangeElements);
		queryVars += "&frameConstr=" + getCheckedGroupValue(frameConstrElements);
		
		queryVars += "&sortBy=" + encodeQueryString(sortBy);
		queryVars += "&sortDirection=" + encodeQueryString(sortDirection);
		
		setAjaxUrl("lightboxContentPane", "/hardware/backlit/ajaxLightboxSearch.asp?action=searchLightboxes" + queryVars, "showElement('lightboxSearchLoadingElement');", "hideElement('lightboxSearchLoadingElement');");
		showElement("searchResultHeader");
		
	}
	
/*  Search Image Action Custom * *******************************************************
 *
 *	TAKES:		NOTHING
 * 	RETURNS:	NOTHING
 *	NOTE:		
 *
 ***********************************************************************************/
 
	function searchImageActionCustom()
	{
		clearSearchFields();
	}
	
/*  Search Image Action LED * *******************************************************
 *
 *	TAKES:		NOTHING
 * 	RETURNS:	NOTHING
 *	NOTE:		
 *
 ***********************************************************************************/
 
	function searchImageActionLED()
	{
		setCategorySearch("lightboxSearchLampType1");
		showElement("searchResultHeaderLED");
		getElement("searchResultsHeaderBar").className = "searchResultsHeaderLED";
	}
	
/*  Search Image Action Same Day * *******************************************************
 *
 *	TAKES:		NOTHING
 * 	RETURNS:	NOTHING
 *	NOTE:		
 *
 ***********************************************************************************/
 
	function searchImageActionSameDay()
	{
		setCategorySearch("lightboxSearchLeadTime1");
		showElement("searchResultHeaderShipsToday");
		getElement("searchResultsHeaderBar").className = "searchResultsHeaderShipsToday";
	}
	
/*  Search Image Action Economy * *******************************************************
 *
 *	TAKES:		NOTHING
 * 	RETURNS:	NOTHING
 *	NOTE:		
 *
 ***********************************************************************************/
 
	function searchImageActionEconomy()
	{
		setCategorySearch("lightboxSearchGrade1");
		showElement("searchResultHeaderEconomy");
		getElement("searchResultsHeaderBar").className = "searchResultsHeaderEconomy";
	}
	
/*  Search Image Action Performance * *******************************************************
 *
 *	TAKES:		NOTHING
 * 	RETURNS:	NOTHING
 *	NOTE:		
 *
 ***********************************************************************************/
 
	function searchImageActionPerformance()
	{
		setCategorySearch("lightboxSearchGrade2");
		showElement("searchResultHeaderPerformance");
		getElement("searchResultsHeaderBar").className = "searchResultsHeaderPerformance";
	}

/*  Search Image Action Premium * *******************************************************
 *
 *	TAKES:		NOTHING
 * 	RETURNS:	NOTHING
 *	NOTE:		
 *
 ***********************************************************************************/
 
	function searchImageActionPremium()
	{
		setCategorySearch("lightboxSearchGrade3");
		showElement("searchResultHeaderPremium");
		getElement("searchResultsHeaderBar").className = "searchResultsHeaderPremium";
	}
	
/*  Set Category Search  * *******************************************************
 *
 *	TAKES:		NOTHING
 * 	RETURNS:	NOTHING
 *	NOTE:		
 *
 ***********************************************************************************/
 
	function setCategorySearch(fieldId)
	{
		var fieldElement = getElement(fieldId);
		
		if (fieldElement)
		{
			var fieldTag = Left(fieldId, fieldId.length-1); // Chops off the last digit
			
			clearSearchFields();
			
			// Expand Parent Container ***********
			showElement("searchCheckboxes." + fieldTag); 
			getElement("searchToggle." + fieldTag).src = "/images/minusBtnOrange.png";
			fieldElement.checked = true;
			searchLightboxes();
		}
	}


/*  Check Clear* *******************************************************
 *
 *	TAKES:		NOTHING
 * 	RETURNS:	NOTHING
 *	NOTE:		
 *
 ***********************************************************************************/
 
	function checkClear()
	{
		var fieldElement = getElement("lightboxDisplaySize");
		
		if (fieldElement.value == dipslaySizeExample)
		{
			fieldElement.value = "";
		}
		
		fieldElement.style.color = "#000000";
	}

/*  Check Search * *******************************************************
 *
 *	TAKES:		NOTHING
 * 	RETURNS:	NOTHING
 *	NOTE:		
 *
 ***********************************************************************************/
 
	function checkSearch()
	{
		if (!stopSearch)
		{
			searchLightboxes();
		}
	}

/*  Check Keystroke Down * *******************************************************
 *
 *	TAKES:		NOTHING
 * 	RETURNS:	NOTHING
 *	NOTE:		
 *
 ***********************************************************************************/
 
	function checkKeystrokeDown(e)
	{
		if (!e) var e = window.event;
		
		switch(e.keyCode)
		{
			case 38: // Up Key
			
				if (suggestPanelIsOpen())
				{
					setSuggestKeyedRow(-1);
				}
				
				break;
				
			case 40: // Down Key
			
				if (suggestPanelIsOpen())
				{
					setSuggestKeyedRow(1);
				}
				
				break;
				
			default:
			
				break;
		}
	}
	
/*  Check Keystroke Down * *******************************************************
 *
 *	TAKES:		NOTHING
 * 	RETURNS:	NOTHING
 *	NOTE:		
 *
 ***********************************************************************************/
 
	function checkKeystrokeUp(e)
	{
		if (!e) var e = window.event;
		
		switch(e.keyCode)
		{
			case 13:
				
				if (currentSuggestRow != null)
				{
					var newSize = currentSuggestRow.id.replace("suggestContainer", "");
					newSize = newSize.replace("x", " x ");
					
					getElement("lightboxDisplaySize").value = newSize;
				}
				
				getElement("lightboxDisplaySize").blur();
				//searchLightboxes();
				break;
			
			case 38: // Up Key
				break;
				
			case 40: // Down Key
				break;
			
			default:
				
				suggestDisplaySize();	
				break;
		}
	}

/*  Set Suggest Keyed Row * *******************************************************
 *
 *	TAKES:		Row Offset
 * 	RETURNS:	NOTHING
 *	NOTE:		Bases the current row
 *
 ***********************************************************************************/
 
	function setSuggestKeyedRow(rowOffset)
	{
		var suggestElements = getTagGroup("div", "suggestContainer");
		var scrollPane = getElement("suggestLightboxesAllSizesContainer");
		var rowSet = false;
		
		var iterateAction = function(suggestElement, ctr)
		{
			if (!rowSet)
			{
				if (suggestElement == currentSuggestRow)
				{
					var finalCtr = ctr + rowOffset;
					
					if (finalCtr < 0)
					{
						finalCtr = 0;
					}
					
					if (finalCtr >= suggestElements.length)
					{
						finalCtr = suggestElements.length-1;
					}
					
					if (suggestElements[finalCtr])
					{
						setCurrentSuggestRow(suggestElements[finalCtr]);
						rowSet = true;
					}
					
				}
			}
		}
		
		iterateElementList(suggestElements, iterateAction);
		
		// Default *****************
		if (!rowSet)
		{
			if (rowOffset > 0) // Down Key
			{
				if (suggestElements[0])
				{
					setCurrentSuggestRow(suggestElements[0]);
				
					//Scroll Top
					scrollPane.scrollTop = 0;
				}
			}
			else // Up Key
			{
				if (suggestElements[suggestElements.length-1])
				{
					setCurrentSuggestRow(suggestElements[suggestElements.length-1]);
					
					//Scroll Bottom
					scrollPane.scrollTop = scrollPane.scrollHeight;
				}
			}
		}
		else
		{
			// Set Scroll Offset ********************
			var scrollPaneTop 		= getElementY(scrollPane) + scrollPane.scrollTop;
			var scrollPaneBottom 	= scrollPaneTop + getHeight(scrollPane);
			
			var currentSuggestRowTop 	= getElementY(currentSuggestRow);
			var currentSuggestRowBottom = currentSuggestRowTop + getHeight(currentSuggestRow);
			
			if (currentSuggestRowBottom > scrollPaneBottom)
			{
				//getElement("debug").innerHTML += "bottom: currentSuggestRowBottom: " + currentSuggestRowBottom + " ?= scrollPaneBottom: " + scrollPaneBottom + "<br>";
				scrollPane.scrollTop += currentSuggestRowBottom - scrollPaneBottom;
			}
			else if (currentSuggestRowTop < scrollPaneTop)
			{
				//getElement("debug").innerHTML += "up: currentSuggestRowTop: " + currentSuggestRowTop + " ?= scrollPaneTop: " + scrollPaneTop + "<br>";
				scrollPane.scrollTop += currentSuggestRowTop - scrollPaneTop;
			}
		}
	}
	
/*  Check Suggest Panel * *******************************************************
 *
 *	TAKES:		NOTHING
 * 	RETURNS:	NOTHING
 *	NOTE:		
 *
 ***********************************************************************************/
 
	function closeSuggestPanel(e)
	{
		if (!e) var e = window.event;
		
		getMousePosition(e);
		
		if ( suggestPanelIsOpen() & (!containsMousePoint(getElement("suggestPane"), mousePositionX, mousePositionY)) )
		{
			currentSuggestRow = null;
			fadeOutSuggestPane();
		}
	}
	
/*  Suggest Panel Is Open * *******************************************************
 *
 *	TAKES:		NOTHING
 * 	RETURNS:	NOTHING
 *	NOTE:		
 *
 ***********************************************************************************/

	function suggestPanelIsOpen()
	{
		if (getOpacity("suggestPane") == 100)
		{
			return true;
		}	
		else
		{
			return false;	
		}
		
	}

/*  Suggest Display Size *******************************************************
 *
 *	TAKES:		NOTHING
 * 	RETURNS:	NOTHING
 *	NOTE:		
 *
 ***********************************************************************************/
 
	function suggestDisplaySize()
	{
		var fieldElement 	= getElement("lightboxDisplaySize");
		var fieldValue 		= "";
		var widthValue 		= "";
		var heightValue 	= "";
		var sizeArray 		= "";
		
		currentSuggestRow = null;
		
		if (fieldElement)
		{
			fieldValue = fieldElement.value;
			
			if (fieldValue != "")
			{
				// Remove inches and feet marks *****************
				fieldValue = fieldValue.replace("\"", "");
				fieldValue = fieldValue.replace("'", "");
				
				// Split up the dimensions *************************
				
				var splitFlagArray = new Array(" x ", " X ", "x", "X");
				var containsFlag = false;
				
				for(var ctr=0; ctr<splitFlagArray.length; ctr++)
				{
					if (fieldValue.indexOf(splitFlagArray[ctr]) != -1)
					{
						sizeArray = fieldValue.split(splitFlagArray[ctr]);
						containsFlag = true;
						break;
					}
				}
				
				// Checks for Flag *************************
				
				if (containsFlag)
				{
					if (sizeArray.length > 1)
					{
						widthValue = sizeArray[0];
						heightValue = sizeArray[1];
					}
					else
					{
						widthValue = sizeArray[0];	
					}
				}
				else
				{
					widthValue = fieldValue;
				}
				
				// Format Dimensions *************************
				
				widthValue = fractionToDecimal(widthValue);
				heightValue = fractionToDecimal(heightValue);
				
				widthValue = Trim(widthValue);
				heightValue = Trim(heightValue);
				
				var queryVars = "&width=" + encodeQueryString(widthValue);
				queryVars += "&height=" + encodeQueryString(heightValue);
				
				setAjaxUrl("updateData", "/hardware/backlit/ajaxLightboxSearch.asp?action=suggestDisplaySize" + queryVars, false, "checkSizeSuggestions();");
				
			} // fieldValue Check
		}
	}
	
/* Check Size Suggestions *******************************************************
 *
 *	TAKES:		NOTHING
 * 	RETURNS:	NOTHING
 *	NOTE:		
 *
 ***********************************************************************************/
 
	function checkSizeSuggestions()
	{
		var suggestLightboxSizeElements = getTagGroup("input", "suggestLightboxSize");
		var suggestLightboxModelsElements = getTagGroup("input", "suggestLightboxModels");
		
		getElement("updateData").innerHTML = "";
		
		var divContainer 	= document.createElement("div");
		
		// Table Container Element **********************************************
		var suggestContainer 	= document.createElement("div");
		suggestContainer.id		= "mainSuggestLightboxesContainer";
		suggestContainer.className = "suggestLightboxesContainer";
		
		var headerContainer 	= document.createElement("div");
		headerContainer.id		= "suggestHeaderContainer";
		headerContainer.className = "suggestLightboxesHeader";
		headerContainer.innerHTML = "Suggested Standard Sizes";
		
		var allSizesContainer 	= document.createElement("div");
		allSizesContainer.id 	= "suggestLightboxesAllSizesContainer";
		allSizesContainer.className = "suggestLightboxesAllSizesContainer";
		
		var footerContainer 	= document.createElement("div");
		footerContainer.id		= "suggestFooterContainer";
		footerContainer.className = "suggestLightboxesFooter";
		footerContainer.innerHTML = "Request a Custom Quote";
		
		suggestContainer.appendChild(headerContainer);
		
		// Loop though the elements and build the table view ********************
		var iterateAction = function(sizeElement, ctr)
		{
			var numModels = suggestLightboxModelsElements[ctr].value;
			var sizeValue = sizeElement.value;
			
			allSizesContainer.appendChild(getSuggestedSizeContainer(sizeValue, numModels));
			
			if (ctr > 8)
			{
				allSizesContainer.className = "suggestLightboxesAllSizesContainerScroll";
			}
		}
		
		iterateElementList(suggestLightboxSizeElements, iterateAction);
		
		suggestContainer.appendChild(allSizesContainer);
		suggestContainer.appendChild(footerContainer);
		divContainer.appendChild(suggestContainer);
		
		// Set the position ***************************
		var suggestElement = getElement("suggestPane");
		
		var searchFieldX = getElementX(getElement("lightboxDisplaySize"));
		var searchFieldY = getElementY(getElement("lightboxDisplaySize"));
		
		suggestElement.innerHTML = divContainer.innerHTML; 
		
		var xOffset = 0;
		var yOffset = 0;
		
		if (thisBrowser == "IE")
		{
			xOffset = -1;
			
			if (thisBrowserVersion != 8)
			{
				yOffset = 1;
			}
		}
		
		setPosX(suggestElement, searchFieldX + 1 + xOffset);
		setPosY(suggestElement, searchFieldY + 19 + yOffset);
		
		if (getOpacity("suggestPane") == 0)
		{
			fadeInSuggestPane();
		}
		
		setSuggestContainerActions();
		
	}

/* Get Suggested Size Container *******************************************************
 *
 *	TAKES:		Suggested Size, Number Models
 * 	RETURNS:	NOTHING
 *	NOTE:		
 *
 ***********************************************************************************/
 
	function getSuggestedSizeContainer(suggestedSize, numModels)
	{
		var thisId = suggestedSize.replace(/ /g, "");
		
		var tableContainer 	= document.createElement("div");
		tableContainer.id = "suggestContainer" + thisId;
		tableContainer.className = "suggestLightboxesSizeContainer";
		
		var tableElement 	= document.createElement("table");
		if (IE)
		{
			tableElement.style.width = "163";
		}
		else
		{
			tableElement.style.width = "100%";
		}
			
		var tableBody 		= document.createElement("tbody");
		var tableRow		= document.createElement("tr");
		
		var colLeft			= document.createElement("td");
		colLeft.id 			= "suggestColLeft" + thisId;
		colLeft.className 	= "suggestLightboxesColLeft";
		colLeft.innerHTML 	= suggestedSize;
		
		var colRight		= document.createElement("td");
		colRight.id 		= "suggestColRight" + thisId;
		colRight.className 	= "suggestLightboxesColRight";
		
		if (numModels > 1)
		{
			colRight.innerHTML = numModels + " models";
		}
		else
		{
			colRight.innerHTML = numModels + " model";
		}
		
		tableRow.appendChild(colLeft);
		tableRow.appendChild(colRight);
		tableBody.appendChild(tableRow);
		tableElement.appendChild(tableBody);
		tableContainer.appendChild(tableElement);
		
		return tableContainer;
	}

/* Set Current Suggest Row *******************************************************
 *
 *	TAKES:		NOTHING
 * 	RETURNS:	NOTHING
 *	NOTE:		
 *
 ***********************************************************************************/
 
	function setCurrentSuggestRow(suggestElement)
	{
		
		if (currentSuggestRow != null)
		{
			var rowId = currentSuggestRow.id.replace("suggestContainer", "");
			currentSuggestRow.className = "suggestLightboxesSizeContainer";
			getElement("suggestColLeft" + rowId).className = "suggestLightboxesColLeft";
			getElement("suggestColRight" + rowId).className = "suggestLightboxesColRight";	
		
		}
		
		currentSuggestRow = suggestElement;
		
		var containerId = currentSuggestRow.id.replace("suggestContainer", "");
		currentSuggestRow.className = "suggestLightboxesSizeContainerHover";
		
		var leftColElement = getElement("suggestColLeft" + containerId);
		var rightColElement = getElement("suggestColRight" + containerId);
		
		leftColElement.className = "suggestLightboxesColLeftHover";
		rightColElement.className = "suggestLightboxesColRightHover";	
	}

/* Set Suggest Container Actions *******************************************************
 *
 *	TAKES:		NOTHING
 * 	RETURNS:	NOTHING
 *	NOTE:		
 *
 ***********************************************************************************/
 
	function setSuggestContainerActions()
	{
		var suggestElements = getTagGroup("div", "suggestContainer");
		
		iterateAction = function(suggestElement, ctr)
		{
			suggestElement.onmouseover = function()
			{
				setCurrentSuggestRow(this);
			}
			
			suggestElement.onclick = function()
			{
				var containerId = this.id.replace("suggestContainer", "");
				getElement("lightboxDisplaySize").value = getElement("suggestColLeft" + containerId).innerHTML;
				
				fadeOutSuggestPane();
				searchLightboxes();
			}
		}
		
		iterateElementList(suggestElements, iterateAction);
		
		// Main Container Actions *********************
		var mainSuggestContainer = getElement("mainSuggestLightboxesContainer");
		
		mainSuggestContainer.onmouseover = function()
		{
			stopSearch = true;	
		}
		
		mainSuggestContainer.onmouseout = function()
		{
			stopSearch = false;	
		}
		
		// Set Footer Actions *************************
		var footerContainer = getElement("suggestFooterContainer");
		
		footerContainer.onmouseover = function()
		{
			if (currentSuggestRow != null)
			{
				var rowId = currentSuggestRow.id.replace("suggestContainer", "");
				currentSuggestRow.className = "suggestLightboxesSizeContainer";
				getElement("suggestColLeft" + rowId).className = "suggestLightboxesColLeft";
				getElement("suggestColRight" + rowId).className = "suggestLightboxesColRight";	
			}
			
			currentSuggestRow = null;
			
			this.className = "suggestLightboxesFooterHover";	
		}
		
		footerContainer.onmouseout = function()
		{
			this.className = "suggestLightboxesFooter";	
		}
		
		footerContainer.onclick = function()
		{
			location.href = "/contact/request_lightbox_quote.asp";	
		}
	}
	
/* Fade In Suggest Pane *******************************************************
 *
 *	TAKES:		NOTHING
 * 	RETURNS:	NOTHING
 *	NOTE:		
 *
 ***********************************************************************************/
 
	function fadeInSuggestPane()
	{
	   	showElement("suggestPane");
		
		if (IE)
		{
			fadeInElement("suggestPane", 0, 20);	
		}
		else
		{
			fadeInElement("suggestPane", 0, 10);	
		}
	}

/* Fade Out Suggest Pane *******************************************************
 *
 *	TAKES:		NOTHING
 * 	RETURNS:	NOTHING
 *	NOTE:		
 *
 ***********************************************************************************/
 
	function fadeOutSuggestPane()
	{
	    if (IE)
		{
			fadeOutElementCallback("suggestPane", 100, 20, "hideElement(\"suggestPane\");");	
		}
		else
		{
			fadeOutElementCallback("suggestPane", 100, 5, "hideElement(\"suggestPane\");");	
		}
		
	}

/* Set Lightboxes 101 Main  *******************************************************
 *
 *	TAKES:		NOTHING
 * 	RETURNS:	NOTHING
 *	NOTE:		
 *
 ***********************************************************************************/
 
	function setLightboxes101Main()
	{
		currentView = "";
		setAjaxUrl("lightboxes101PaneContent", "/hardware/backlit/ajaxLightboxes101.asp", false, false);
	}
	
/* Get Question *******************************************************
 *
 *	TAKES:		Category Id, Question Id
 * 	RETURNS:	NOTHING
 *	NOTE:		
 *
 ***********************************************************************************/
 
	function getQuestion(categoryId, questionId)
	{
		if ((currentView != "lightboxes101CategoryDetail") || (categoryId != currentCategory))
		{
			currentView = "lightboxes101CategoryDetail";
			currentCategory = categoryId;
			setAjaxUrl("lightboxes101PaneContent", "/hardware/backlit/ajaxLightboxes101.asp?action=lightboxes101Category&categoryId=" + categoryId, false, "setQuestionDetail('" + questionId + "');");	
		}
		else
		{
			setQuestionDetail(questionId);	
		}
	}

/* Set Question Detail *******************************************************
 *
 *	TAKES:		Question Id
 * 	RETURNS:	NOTHING
 *	NOTE:		
 *
 ***********************************************************************************/
 
	function setQuestionDetail(questionId)
	{
		if (questionId != "")
		{
			var tag = "lightboxes101Question";
			
			// Set Question Values ***************
			getElement("lightboxes101Question").innerHTML 	= getElement(tag + ".questionText." + questionId).value;
			getElement("lightboxes101Answer").innerHTML 	= getElement(tag + ".answerText." + questionId).value;
			
			// Set Related Images *****************************************************
			
			var imageElements = getTagGroup("div", tag + questionId + ".image");
			
			if (imageElements.length > 0)
			{
				showElement("lightboxes101Images");
				var imagesContainer = getElement("lightboxes101ImagesPane");
				imagesContainer.innerHTML = "";
				
				var tableElement = document.createElement("table");
				tableElement.cellPadding = 7;
				
				var tableBody = document.createElement("tbody");
				var tableRow = document.createElement("tr");
				tableRow.vAlign = "top";
				
				iterateAction = function(divElement, ctr)
				{
					var imageId = divElement.id.replace(tag + questionId + ".image", "");
					
					var imageElement 	= getElement("imageUrl" + imageId + "." + questionId);
					var thumbElement 	= getElement("thumbUrl" + imageId + "." + questionId);
					
					var tableCol = document.createElement("td");
					
					var thisImage = document.createElement("img");
					
					if (thumbElement)
					{
						thisImage.src = thumbElement.value;
					}
					else
					{
						thisImage.src = imageElement.value;
					}
					
					thisImage.style.border = "solid 1px #AAAAAA";
					thisImage.style.width = "42px";
					thisImage.style.height = "42px";
					
					thisImage.onmouseover = function() { this.style.cursor="pointer"; }
					thisImage.onclick = function() { imageViewPopup("Lightboxes 101 - Image", imageElement.value); }
					
					tableCol.appendChild(thisImage);
					tableRow.appendChild(tableCol);
				}
				
				iterateElementList(imageElements, iterateAction);
				
				tableBody.appendChild(tableRow);
				tableElement.appendChild(tableBody);
				imagesContainer.appendChild(tableElement);
			}
			else
			{
				hideElement("lightboxes101Images");
			}
			
			// Set Related Videos *******************************************************
			
			var videoElements = getTagGroup("div", tag + questionId + ".webVideo");
			
			if (videoElements.length > 0)
			{
				showElement("lightboxes101Videos");
				var videoContainer = getElement("lightboxes101VideosPane");
				videoContainer.innerHTML = "";
				
				var tableElement = document.createElement("table");
				tableElement.cellPadding = 0;
				
				var tableBody = document.createElement("tbody");
				var tableRow = document.createElement("tr");
				tableRow.vAlign = "top";
				
				var iterateAction = function(divElement, ctr)
				{
					
					var videoId = divElement.id.replace(tag + questionId + ".webVideo", "");
					
					var videoTitle 		= getElement("title" + videoId + "." + questionId).value;
					var videoDescr 		= getElement("descr" + videoId + "." + questionId).value;
					var videoThumbnail 	= getElement("thumbnail" + videoId + "." + questionId).value;
					var videoFile 		= getElement("videoFile" + videoId + "." + questionId).value;
					
					var videoContainer = document.createElement("div");
					videoContainer.className = "lightboxes101VideoThumbContainer";
					videoContainer.onmouseover = function() { this.className = "lightboxes101VideoThumbContainerHover"; }
					videoContainer.onmouseout = function() { this.className = "lightboxes101VideoThumbContainer"; }
					videoContainer.onclick = function() { videoPopup(videoTitle, videoFile); }
					
					var videoImage = document.createElement("img");
					videoImage.src = videoThumbnail;
					videoImage.style.border = "solid 1px #666666";
					videoImage.style.fontWeight = "bold";
					videoImage.style.marginBottom = "7px";
					
					var videoText = document.createElement("div")
					videoText.className = "lightboxes101VideoTitleContainer";
					videoText.innerHTML = videoTitle;
					
					videoContainer.appendChild(videoImage);
					videoContainer.appendChild(videoText);
					
					var tableCol = document.createElement("td");
					tableCol.appendChild(videoContainer);
					
					tableRow.appendChild(tableCol);
					
				}
				
				iterateElementList(videoElements, iterateAction);
				
				tableBody.appendChild(tableRow);
				tableElement.appendChild(tableBody);
				videoContainer.appendChild(tableElement);
				
			}
			else
			{
				hideElement("lightboxes101Videos");	
			}
			
			// Set Related Questions *****************
			
			var questionElements = getTagGroup("div", tag + questionId + ".relatedQuestion");
			
			if (questionElements.length > 0)
			{
				showElement("lightboxes101RelatedQuestions");
				var questionContainer = getElement("lightboxes101RelatedQuestionsPane");
				questionContainer.innerHTML = "";
				
				var iterateAction = function(divElement, ctr)
				{
					var thisQuestionId = divElement.id.replace(tag + questionId + ".relatedQuestion", "");
					
					var questionText 	= getElement("questionText" + thisQuestionId + "." + questionId).value;
					var categoryId 		= getElement("categoryId" + thisQuestionId + "." + questionId).value;
					
					var linkContainer = document.createElement("div");
					linkContainer.innerHTML = "<a href=\"javascript:getQuestion('" + categoryId + "', '" + thisQuestionId + "');\" style=\"font-size: 12px;\">" + questionText + "</a><br>";
					
					questionContainer.appendChild(linkContainer);
				}
				
				iterateElementList(questionElements, iterateAction);
			}
			else
			{
				hideElement("lightboxes101RelatedQuestions");	
			}
			
		}
	}
	
	function termsPanaLytePremPromo()
	{
		var contentTitle = "Terms and Conditions: PanaLyte Premium - 50% Off Backlit Graphics";
		var contentText = "<div style=\"width: 400px;\">";
		
		contentText += "<div align=\"center\"><table width=\"300px\" cellpadding=\"5\"><tr valign=\"top\">";
		
		contentText += "<td align=\"center\" valign=\"top\">";
		contentText += "	<a href=\"/hardware/backlit/detail_lightbox_legacy.asp?lb_model=514201\" target=\"_blank\"><img src=\"/hardware/backlit/lightbox_panalyte_prem.jpg\" border=\"0\"/></a>";
		contentText += "</td>";
		contentText += "<td valign=\"top\">";
		contentText += "	<div><a href=\"/hardware/backlit/detail_lightbox_legacy.asp?lb_model=514201\" class=\"mostPopular\" target=\"_blank\">PanaLyte Premium </span></a></div>";
		contentText += "	<div style=\"margin-top: 5px; margin-bottom: 10px;\"><span class=\"lightboxPrice\">starting at <span style=\"color: #000000\">$829.00</span></span></div>";
		contentText += "	<div class=\"lightboxDescr\">Floor-standing lightbox kiosk with curved face,single or double-sided </div>";
		contentText += "</td></tr></table></div>";
		
		contentText += "<p>Get <a href=\"/large_format/backlitEconomyInkjet.asp\" target=\"_blank\">Economy Inkjet backlit graphics</a> for HALF-PRICE* to celebrate the launch of our new PanaLyte Premium backlit pylon!</p>";
		contentText += "<p>Single Sided: Enter promo code <b>PLP-EI809</b> at checkout.<br>";
		contentText += "Double Sided: Enter promo code <b>PLP-EI809D</b> at checkout.</p>";
		
		contentText += "<p>*Terms:</p>";

		contentText += "<p class=\"tiny_text\">Offer valid only for orders placed online at blueriverdigital.com, by customers located in and shipping to the US only.  Graphics layout or any other services not included.  Custom-fabricated or rush orders not included in offer.  Not valid with any other discount.  Promotion does not include upgrades or options.  Offer is void and reversible in the event of any returned merchandise on same order, regardless of reason for return.  Shipping, handling, or any upgraded shipping services such as call-ahead, inside delivery or special handling not included in offer. </p>";

		contentText += "<p class=\"tiny_text\">Offer requires customer-provided digital print-ready artwork file only (for the Economy Inkjet graphic), up to a maximum of 120 dpi at final size; file must be received within 10 days of date order is placed.  Limit on half-priced Economy Inkjet backlit graphic per customer, during the life of the promotion.</p>";

		contentText += "<p class=\"tiny_text\">Blue River Digital Inc. reserves the right to modify the terms and dates of this offer without notice.  Offer Void where prohibited by law.</p>";

		contentText += "</div>";
		
		textPopup(contentTitle, contentText);
	}
	
	function termsEdgeLytePerformerLEDPromo()
	{
		var contentTitle = "Terms and Conditions";
		
		var transContainer = document.createElement("div");
		
		var mainContainer = document.createElement("div");
		mainContainer.style.padding = "0px 20px";
		mainContainer.style.width = "550px";
		mainContainer.style.height = "600px";
		mainContainer.style.overflow = "auto";
		
		// Div Containers **************************************
		var discountOfferDiv 		= document.createElement("div"); 
		discountOfferDiv.className = "offerContainer";
		
			var discountOfferTextDiv = document.createElement("div");
			discountOfferTextDiv.className = "offerContainerHeaderText";
			discountOfferTextDiv.innerHTML = "Discount Offer";
			
			var discountOfferMainDiv = document.createElement("div");
			discountOfferMainDiv.setAttribute("align", "center");
			discountOfferMainDiv.className = "offerContainerMain";
			discountOfferMainDiv.style.color 			= "#4c673c";
			discountOfferMainDiv.style.borderColor 		= "#9bb889";
			discountOfferMainDiv.style.backgroundColor 	= "#d4edc5";
			
			discountOfferMainDiv.innerHTML = "FREE Backlit Graphic with the purchase of an EdgeLyte Performer LED lightbox!";
			
			var btnContainer = document.createElement("div");
			btnContainer.style.padding = "10px 0px 0px 0px";
			
			var buttonElement = document.createElement("input");
			buttonElement.setAttribute("type", "button");
			buttonElement.setAttribute("value", "Redeem this Discount");
			buttonElement.setAttribute("onclick", "redeemELPerformerOffer()");
			
			btnContainer.appendChild(buttonElement);
			discountOfferMainDiv.appendChild(btnContainer);
			
			discountOfferDiv.appendChild(discountOfferTextDiv);
			discountOfferDiv.appendChild(discountOfferMainDiv);
			
		var offerCodeDiv 			= document.createElement("div"); 
		offerCodeDiv.className = "offerContainer";
		
			var offerCodeDivTextDiv = document.createElement("div");
			offerCodeDivTextDiv.className = "offerContainerHeaderText";
			offerCodeDivTextDiv.innerHTML = "Shopping Cart Code";
			
			var offerCodeMainDiv = document.createElement("div");
			offerCodeMainDiv.className = "offerContainerMain";
			offerCodeMainDiv.style.color 			= "#083972";
			offerCodeMainDiv.style.borderColor 		= "#86a1c1";
			offerCodeMainDiv.style.backgroundColor 	= "#dce8f6";
			
			offerCodeMainDiv.innerHTML = "freebacklit";
			
			offerCodeDiv.appendChild(offerCodeDivTextDiv);
			offerCodeDiv.appendChild(offerCodeMainDiv);
			
			
			
			
		var qualifiyingProductsDiv 	= document.createElement("div");
		qualifiyingProductsDiv.className = "offerContainer";
		
			var qualifiyingProductsTextDiv = document.createElement("div");
			qualifiyingProductsTextDiv.className = "offerContainerHeaderText";
			qualifiyingProductsTextDiv.innerHTML = "Qualifying Products";
			
			var qualifiyingProductsMainDiv = document.createElement("div");
			qualifiyingProductsMainDiv.className = "offerContainerMain";
			
				var productsTable = createTable(2, 3);
				productsTable.cellSpacing = 10;
				productsTable.width = 510;
				
				var row1 = productsTable.rows[0];
				row1.vAlign = "top";
				
					var imageElement1 = document.createElement("img");
					imageElement1.src = "/hardware/backlit/edgeLytePerfromerLed.jpg";
					imageElement1.style.border = "solid 1px #AAAAAA";
					imageElement1.style.cursor = "pointer";
					imageElement1.setAttribute("onclick", "popup('/lightboxes/edgelyte-performer-led/')");
					imageElement1.width = 50;
					imageElement1.height = 50;
					
					row1.cells[0].appendChild(imageElement1);
					row1.cells[0].style.marginBottom = "30px";
					row1.cells[1].innerHTML = "<span class='offerContainerHeaderText' style='cursor: pointer' onclick=popup('/lightboxes/edgelyte-performer-led/')>EdgeLyte Performer LED</span><br><span style='color: #4c673c;'>starting at $399.00</span>";
					row1.cells[2].innerHTML = "<span style='color: #333333;'>Super-bright and uniform LED light panel with aluminum snap frame at aggressive price</span>";
					row1.cells[2].style.width = "250px";
					
				
				var row2 = productsTable.rows[1];
				row2.vAlign = "top";
				
					var imageElement2 = document.createElement("img");
					imageElement2.src = "/images/backlit_graphic.jpg";
					imageElement2.style.border = "solid 1px #AAAAAA";
					imageElement2.style.cursor = "pointer";
					imageElement2.setAttribute("onclick", "popup('/large_format/backlitEconomyInkjet.asp')");
					imageElement2.width = 50;
					imageElement2.height = 33;
					
					row2.cells[0].appendChild(imageElement2);
					row2.cells[1].innerHTML = "<span class='offerContainerHeaderText' style='cursor: pointer' onclick=popup('/backlit-graphics/duratrans')>Economy Inkjet Backlit</span><br><span style='color: #4c673c;'>starting at $8.95 /sq. ft.</span>";
					row2.cells[2].innerHTML = "<span style='color: #333333;'>Great for short-term, low exposure usage where moisture / scuff-resistance are not required.</span>";
					row2.cells[2].style.width = "250px";
					
			qualifiyingProductsMainDiv.appendChild(productsTable);
			
			qualifiyingProductsDiv.appendChild(qualifiyingProductsTextDiv);
			qualifiyingProductsDiv.appendChild(qualifiyingProductsMainDiv);
		
			
		var termsDiv = document.createElement("div"); 
		termsDiv.className = "offerContainer";
		termsDiv.style.marginBottom = "20px";
		
			var termsTextDiv = document.createElement("div");
			termsTextDiv.className = "offerContainerHeaderText";
			termsTextDiv.innerHTML = "Terms &amp; Conditions";
			
			var termsMainDiv = document.createElement("div");
			termsMainDiv.className = "offerContainerMain";
			termsMainDiv.style.fontSize = "11px";
			termsMainDiv.innerHTML = "Offer valid will supplies last. Offer valid for free qty. 1 Economy Inkjet graphic only, and does not include laminate or other upgrade options. To qualify for this offer a minimum of qty. 1 EdgeLyte Performer LED lightboxes must be purchased on the same order. Offer valid only for orders placed online at blueriverdigital.com. Graphics layout and/or any other services not included. Not valid with any other discount. Promotion does not include upgrades or options. Offer is void and reversible in the event of any returned merchandise on same order, regardless of reason for return.";
			termsMainDiv.innerHTML += "<br><br>Offer requires customer-provided digital print-ready artwork file only (for the Economy Inkjet graphic), up to a maximum of 120 dpi at final size; file must be received within 10 days of date order is placed. Limit on free Economy Inkjet backlit graphic to 1 per customer, during the life of the promotion. Offer does not include shipping of either the graphic or the lightbox(es). This offer is subject to Blue River Digital's standard prepayment terms.";
			termsMainDiv.innerHTML += "<br><br>Blue River Digital Inc. reserves the right to modify the terms and dates of this offer without notice. Offer Void where prohibited by law.";
			
			termsDiv.appendChild(termsTextDiv);
			termsDiv.appendChild(termsMainDiv);
			
		mainContainer.appendChild(discountOfferDiv);
		mainContainer.appendChild(offerCodeDiv);
		mainContainer.appendChild(qualifiyingProductsDiv);
		mainContainer.appendChild(termsDiv);
		
		transContainer.appendChild(mainContainer);
		
		contentElementPopup(contentTitle, transContainer)
	}
	
	function termsFreeShippingELEPromo()
	{
		var contentTitle = "Terms and Conditions";
		
		var transContainer = document.createElement("div");
		
		var mainContainer = document.createElement("div");
		mainContainer.style.padding = "0px 20px";
		mainContainer.style.width = "550px";
		mainContainer.style.height = "600px";
		mainContainer.style.overflow = "auto";
		
		// Div Containers **************************************
		var discountOfferDiv 		= document.createElement("div"); 
		discountOfferDiv.className = "offerContainer";
		
			var discountOfferTextDiv = document.createElement("div");
			discountOfferTextDiv.className = "offerContainerHeaderText";
			discountOfferTextDiv.innerHTML = "Discount Offer";
			
			var discountOfferMainDiv = document.createElement("div");
			discountOfferMainDiv.setAttribute("align", "center");
			discountOfferMainDiv.className = "offerContainerMain";
			discountOfferMainDiv.style.color 			= "#4c673c";
			discountOfferMainDiv.style.borderColor 		= "#9bb889";
			discountOfferMainDiv.style.backgroundColor 	= "#d4edc5";
			
			discountOfferMainDiv.innerHTML = "FREE Shipping on qty. 2 or more EdgeLyte Econo T5 lightboxes sizes: 18\" x 24\" or 24\" x 36\"!";
			
			discountOfferDiv.appendChild(discountOfferTextDiv);
			discountOfferDiv.appendChild(discountOfferMainDiv);
			
		
		var qualifiyingProductsDiv 	= document.createElement("div");
		qualifiyingProductsDiv.className = "offerContainer";
		
			var qualifiyingProductsTextDiv = document.createElement("div");
			qualifiyingProductsTextDiv.className = "offerContainerHeaderText";
			qualifiyingProductsTextDiv.innerHTML = "Qualifying Products";
			
			var qualifiyingProductsMainDiv = document.createElement("div");
			qualifiyingProductsMainDiv.className = "offerContainerMain";
			
				var productsTable = createTable(2, 3);
				productsTable.cellSpacing = 10;
				productsTable.width = 510;
				
				var row1 = productsTable.rows[0];
				row1.vAlign = "top";
				
					var imageElement1 = document.createElement("img");
					imageElement1.src = "/hardware/backlit/lightbox_edgelyte_econo.jpg";
					imageElement1.style.border = "solid 1px #AAAAAA";
					imageElement1.style.cursor = "pointer";
					imageElement1.setAttribute("onclick", "popup('/lightboxes/edgelyte-econo/')");
					imageElement1.width = 50;
					imageElement1.height = 50;
					
					row1.cells[0].appendChild(imageElement1);
					row1.cells[0].style.marginBottom = "30px";
					row1.cells[1].innerHTML = "<span class='offerContainerHeaderText' style='cursor: pointer' onclick=popup('/lightboxes/edgelyte-econo/')>EdgeLyte Econo T5</span><br><span style='color: #4c673c;'>starting at $221.00</span>";
					row1.cells[2].innerHTML = "<span style='color: #333333;'>Best price anywhere on a quality aluminum, super-thin profile lightbox model!</span>";
					row1.cells[2].style.width = "250px";
					
					
			qualifiyingProductsMainDiv.appendChild(productsTable);
			
			qualifiyingProductsDiv.appendChild(qualifiyingProductsTextDiv);
			qualifiyingProductsDiv.appendChild(qualifiyingProductsMainDiv);
		
			
		var termsDiv = document.createElement("div"); 
		termsDiv.className = "offerContainer";
		termsDiv.style.marginBottom = "20px";
		
			var termsTextDiv = document.createElement("div");
			termsTextDiv.className = "offerContainerHeaderText";
			termsTextDiv.innerHTML = "Terms &amp; Conditions";
			
			var termsMainDiv = document.createElement("div");
			termsMainDiv.className = "offerContainerMain";
			termsMainDiv.style.fontSize = "11px";
			termsMainDiv.innerHTML = "This offer is for Ground shipping  mode only, to the 48 contiguous United States. Upgrades to faster shipping mode not eligible for discounted rate. Maximum eligible quantities may apply, depending on inventory. This promotion is only available for shipments made on Blue River Digital's shipper account and only via carriers specified by Blue River Digital. Qualifying orders must be placed directly by Customer through Blue River Digital's website, at www.blueriverdigital.com, and prepaid per Blue River Digital's standard payment terms. ";
			termsMainDiv.innerHTML += "No other products or models or sizes of lightboxes are eligible for this offer; standard configuration only, no customizations. This offer does not include inside delivery, liftgate, call-ahead or other special handling. Applicable shipping charges for Duratrans or other products ordered, and handling charges still apply. Limits may apply to certain quantities. Offer is for product from warehouse stock only, and is subject to termination without notice.";
			
			termsDiv.appendChild(termsTextDiv);
			termsDiv.appendChild(termsMainDiv);
			
		mainContainer.appendChild(discountOfferDiv);
		mainContainer.appendChild(qualifiyingProductsDiv);
		mainContainer.appendChild(termsDiv);
		
		transContainer.appendChild(mainContainer);
		
		contentElementPopup(contentTitle, transContainer)
	}
	
	function popup(urlLink)
	{
		window.open(urlLink, "popupWin", "");	
	}
	
	function redeemELPerformerOffer()
	{
		var queryString = "&productId=5136022436";
		queryString += "&itemQty=1";
		queryString += "&optionT=lightbox_finish";
		queryString += "&optionV=gloss black";
		queryString += "&optionQty=1";
		
		setAjaxUrl("glassPane", "/shop/ajax_reorderItem.asp?action=addSimpleItemToCart" + queryString, false, false);
		
		queryString = "&productId=Backlit Graphic";
		queryString += "&itemQty=1";
		queryString += "&optionT=largeformat_media";
		queryString += "&optionV=Economy Inkjet Backlit";
		queryString += "&optionQty=1";
		queryString += "&width=24";
		queryString += "&height=36";
		
		setAjaxUrl("glassPane", "/shop/ajax_reorderItem.asp?action=addSimpleItemToCart" + queryString, "showLoadingGraphic();", "location.href='/shop/shopcart.asp?discount_code=freebacklit&action=check_discount'");
	}



	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
