// Patio Functionality Code
//alert("This is the current version");
var IE6 = false;

//Variables used in the timeline functionality
var slideNumber = 20;
var currentSlide = 1;
var inMotion = false;
var selectedDiv = null;
var timeLineString = "<div id='pattern_timeline'></div>";
var patternNumber = 8;
var currentPattern = 1;
var selectedPattern = null;

//Variables for preview assembly
var chosePiece;
var chosePattern;
var assembledProduct;
var oldPreviewProduct; //The old product in the preview window (for coordinating items)

//Variables for Step 3
var cartString = "";

//XML Files cut into pieces, patterns, and products
var pieces;
var patterns;
var products;

//Path Constants
var piecesURL = "xml/pieces.xml";
var productsURL = "xml/products1.xml";
var imgPATH = "i/";
var docTITLE = "Patio Accessory Finder";

//Current Selected Category
var currentCategory = "pillow";

var productToRemove = null; //Because I cant pass parameters in Effects.

//Variables for calling products from related products
var calledProduct = null;
var calledPiece;
var calledPattern;
var calledReference; //the reference number of the piece array (for coordinating items)
var productCall = false;

var staticImagePath = "i/static.jpg"; //the static image shown in the preview window before first piece is selected.
var productPreviewHTML = '<div><h2 id="product_title"></h2><p id="product_description"></p><p id="product_price">Price:</p><img src="i/spacer.gif" id="product_image" /></div>';

var piecesOnTimeline; //var that is equal to the number of shapes on the base timeline
var calledAddMethod;
var pieceNames = [];
var previewCart = [];

var pillowCopy = "Refresh your patio set with new pillows. Play around with a<br /> variety of colors and fabrics to find the match you're looking for. ";
var cushionCopy = "Refresh your patio set with new cushions. Play around with a variety of colors and fabrics to find the match you're looking for. ";
var umbrellaCopy = "Refresh your patio set with a variety of shapes and fabrics to find the right umbrella for your patio. ";
var PIPLINK = "http://www.homedepot.com/webapp/wcs/stores/servlet/BuildLinkToHomeDepot?linktype=product&id=";
var breadCrumbString = 'You are here &gt; <a href="http://www.homedepot.com/">Home</a> &gt; <a href="http://www.homedepot.com/webapp/wcs/stores/servlet/Navigation?marketID=90401&locStoreNum=8125&N=10000003+501047%2b90401&catalogId=10053&dim_search=1">Outdoor Living</a> &gt; <a href="index.html">Patio Accessory Finder</a> &gt; ';

var patternArray;

function loadPieces(){
	var pars;
	var myAjax = new Ajax.Request(
			piecesURL,
			{
				method: 'get',
				parameters: pars,
				onComplete: showResponse
			});

}

function loadProducts(){
	var pars;
	var myAjax = new Ajax.Request(
			productsURL,
			{
				method: 'get',
				parameters: pars,
				onComplete: storeProducts
			});
}

function storeProducts(originalRequest){
	var response = originalRequest.responseXML.documentElement;
	products = response.getElementsByTagName('Product');

}



function showResponse(originalRequest){
	var response = originalRequest.responseXML.documentElement;
	pieces = response.getElementsByTagName('Item');
	slideNumber = response.getElementsByTagName('Item').length;
	toggleSection(currentCategory);
	parsePieceNames();
}

function parsePieceNames(){
	for(i=0;i<pieces.length;i++){
		pieceNames.push(pieces[i].getAttribute('name'),pieces[i].getAttribute('id'));
	}

}

function makeme(myAlert){
	heatherProof();
	currentSlide = 1;
	piecesOnTimeline = 0;
	var storedString = "";
	var classDiv = "";
	for(i=0;i<slideNumber;i++){
		var pieceID = pieces[i].getAttribute('id');
		var pieceName = pieces[i].getAttribute('name');
		var pieceIMG = imgPATH+"neutrals/"+ pieceID + "_small.jpg";
		var pieceTYPE = pieces[i].getAttribute('type');
		var dimensions = pieces[i].getAttribute('dimensions');
		if(pieceTYPE == currentCategory){
			if(pieceID == calledPiece){
				storedString +=  "<div class='myThumb' id='piece_"+pieceID+"'><a href='javascript:selectPiece(\"piece_"+pieceID+"\","+i+");'><img src='"+pieceIMG+"' /><p class='noBold'>"+pieceName+"</p><p class='noBold'>"+dimensions+"</p></a></div>";
			}else{
				classDiv += "<div class='myThumb' id='piece_"+pieceID+"'><a href='javascript:selectPiece(\"piece_"+pieceID+"\","+i+");'><img src='"+pieceIMG+"' /><p class='noBold'>"+pieceName+"</p><p class='noBold'>"+dimensions+"</p></a></div>";
			}
			piecesOnTimeline++;
		}
	}

	$('timeline').innerHTML += classDiv;
	if(storedString != ""){
		$('timeline').innerHTML = storedString + $('timeline').innerHTML;
	}
	if(myAlert != undefined){
		selectPiece($("piece_"+myAlert),calledReference);
		selectPattern($("pattern_"+calledPattern));
		productCall = false;
	}else{
		loadPatternSmalls();
		previewDown = true;
	}
	if(piecesOnTimeline > 3){
		$('forward_btn').style.display = "block";
		$('back_btn').style.display = "none";
	}else{
		$('forward_btn').style.display = "none";
		$('back_btn').style.display = "none";
	}
}

// OnLoad Function
function startPatio(){
	$("outstock").toggle();
	var params = getQueryParams();
	if(params['cat'] != "" && params['cat'] != null){
		currentCategory = params['cat'];
		if (getCookie('currentCategory') != null) {
			currentCategory = getCookie('currentCategory');
		}
	}
	loadPieces();
	loadProducts();
	$('pillow_header').style.display = "none";
	$('cushion_header').style.display = "none";
	$('umbrella_header').style.display = "none";
	checkToRemoveHeader();
	$('umbrella_toggle').style.display = "block";
	$('umbrella_toggle').hide();
	if ( Get_Cookie( 'previewcart' )){
		setTimeout("parseCookies(Get_Cookie( 'previewcart' ))",1000);
		//parseCookies(Get_Cookie( 'previewcart' ))
	}
}

function loadStaticImage(){
	$('umbrella_toggle').hide();
	$('product_preview').hide();
	$('add_to_preview').style.display = "none";
	$('enlarge_image').style.display = "none";
	$('product_preview').innerHTML = '<div style="text-align:center;padding-top:50px;"><img src="'+staticImagePath+'" /></div>';
	Effect.SlideDown('product_preview',{afterFinish: noClipping});
}

var previewDown = false;
var relatedPreviewDown = false;

function loadPatternSmalls(){
	$('pattern_preview').hide();
	$('related_preview').hide();
	$('pattern_preview').innerHTML = '<div><img src="i/static_patterns.jpg" /></div>';
	$('related_preview').innerHTML = '<div><img src="i/static_related.jpg" /></div>';
	Effect.SlideDown('pattern_preview',{afterFinish: noClipping});
	Effect.BlindDown('related_preview',{afterFinish: noClipping});
	previewDown = true;
	relatedPreviewDown = true;
}

//Pieces Timeline//

function moveForward(){
	var piecesToShow = Math.ceil(piecesOnTimeline / 3);
	if(currentSlide < (piecesToShow) && inMotion != true){
		new Effect.MoveBy('timeline', 0, -294,{afterFinish: stopMotion});
		currentSlide ++;
		inMotion = true;
	}
}

function moveBack(){
	if(currentSlide > 1 && inMotion != true){
		new Effect.MoveBy('timeline', 0, 294,{afterFinish: stopMotion});
		currentSlide --;
		inMotion = true;
	}
}

//Patterns Timeline

function patternForward(){
	var piecesToShow = Math.ceil(patternNumber / 3);
	if(currentPattern < (piecesToShow) && inMotion != true){
		new Effect.MoveBy('pattern_timeline', 0, -296,{afterFinish: stopMotion});
		currentPattern ++;
		inMotion = true;
		repairImage();
	}
}

function patternBack(){
	if(currentPattern > 1 && inMotion != true){
		new Effect.MoveBy('pattern_timeline', 0, 296,{afterFinish: stopMotion});
		currentPattern --;
		inMotion = true;
	}
}

function makePatterns(myPatterns){
	patternArray = new Array();
	$('add_to_preview').style.display = "none";
	$('enlarge_image').style.display = "none";
	$('umbrella_toggle').hide();
	var classDiv = "";
	var piecePatterns = pieces[myPatterns].childNodes[0].childNodes;
	patternNumber = piecePatterns.length;
	//$('pattern_timeline').hide();
	for(i=0;i<patternNumber;i++){
		 var patternID = piecePatterns[i].getAttribute("id");
		 var patternIMG = imgPATH +"patterns/"+ patternID + ".jpg";
		 var patternName = piecePatterns[i].getAttribute("name");
		 var ran = Math.round(new Date().getTime() * Math.random());
		 var html = "<div class='myThumb' id='pattern_"+patternID+"'><a href='javascript:selectPattern(\"pattern_"+patternID+"\");'><img id='"+patternID+"' src='"+patternIMG+"' /><p class='noBold'>"+patternName+"</p></a></div>";
		 patternArray.push(ran);
		 if(patternID == calledPattern){
			//new Insertion.Top($('pattern_timeline'),html);
			classDiv = html + classDiv;
		}else{
			classDiv += html;

		}

	}
	document.getElementById('pattern_timeline').innerHTML += classDiv;
	if(patternNumber < 4){
		$('pattern_back_btn').style.display = "none";
		$('pattern_forward_btn').style.display = "none";
	}else{
		$('pattern_back_btn').style.display = "none";
		$('pattern_forward_btn').style.display = "block";
	}
	visiblePatterns();
}

function repairImage(){
	//setTimeout('setSrcToSrc('+elementId+')',800);
	for(var k in patternArray){
		setSrcToSrc(patternArray[k]);
	}
	//alert("repair");
}

function visiblePatterns(){
	Effect.Grow('pattern_timeline');
}

function heatherProof(){
	$("container_div").style.height = "175px";
	$("timeline").style.height = "175px";
	$('product_preview').style.height = "370px";
	$('related_preview').style.height = "140px";
	$('pattern_preview').style.height = "185px";
	$("container_div").style.top = "225px";
	//$("timeline").style.top = "175px";
}

function noClipping(obj){
	$(obj.element.id).style.height = $(obj.element.id).style.height;
	$(obj.element.id).show();
	heatherProof();
}

function selectPattern(myDiv){
	heatherProof();
	$('related_div').innerHTML ='<div id="related_timeline"></div>';
	if(productCall == false){
		$('product_preview').hide();
		$('product_preview').innerHTML = productPreviewHTML
	}
	if(selectedPattern != null){
		selectedPattern.style.borderColor = "white";
		selectedPattern.style.fontWeight = "normal";
		var selectedItems = $(selectedPattern).getElementsByClassName('noBold');
		for(i=0;i<selectedItems.length;i++){
			selectedItems[i].style.fontWeight = "normal";
		}
	}
	myDiv = $(myDiv);
	myDiv.style.borderColor = "#e96a27";
	var selectedItems = $(myDiv).getElementsByClassName('noBold');
	for(i=0;i<selectedItems.length;i++){
		selectedItems[i].style.fontWeight = "bold";
	}
	selectedPattern = myDiv;
	chosePattern = myDiv.id.substr(7);
	assembledProduct = chosePiece + chosePattern;
	var chosenCategory = findCategoryFromProduct(chosePiece);
	for(k=0;k<products.length;k++){
		thisProduct = products[k].getAttribute("id");
		if(thisProduct == assembledProduct){
			if(products[k].getAttribute("instock") == "0"){
				$("product_title").innerHTML = products[k].getAttribute("name");
				$("product_description").innerHTML = fixDescription(products[k].getAttribute("description"));
				$('product_price').innerHTML = "Price: "+products[k].getAttribute("newprice");
				$("product_image").src = imgPATH+"products/"+ products[k].getAttribute("id")+".jpg";
				//setTimeout('setSrcToSrc("product_image")',10);
				$('add_to_preview').style.display = "block";
				$('enlarge_image').style.display = "block";
				/*if(chosenCategory == "umbrella"){
					$("umbrella_toggle").innerHTML = '<a href="javascript:umbrellaToggle();" id="toggle_link"><img src="'+imgPATH+"products_small/"+ products[k].getAttribute("id")+'_top.jpg" id="toggle_image" onerror="this.onerror=null;this.src=\'i/spacer.gif\';$(\'toggle_link\').href = \'javascript:\'$(\'toggle_image\').style.display=\'none\'" /></a>';
					var imgsrc = 'spacer.gif';
					var img = new Image();
					img.onerror = function (evt) {
					  	//img.src = 'i/spacer.gif';
						//$('toggle_link').href = "javascript:void";
					 }
					img.onload = function (evt) {
						img.src = imgsrc;
					 }
					$('toggle_image').style.display = "block";
					Effect.BlindDown('umbrella_toggle');
					//setTimeout('setSrcToSrc("toggle_image")',100);
				}*/
			}else{
				var out = true;
				$('product_preview').show();
				$('product_preview').innerHTML = '<div style="text-align:center;padding-top:50px;display:block;"><img src="i/outofstock.jpg" id="oostock" alt="We\'re sorry, the item that you have selected is not available at this time." /></div>';
				//$('toggle_image').style.display = "none";
				$('add_to_preview').style.display = "none";
				$('enlarge_image').style.display = "none";
				productCat = false;
				setTimeout('setSrcToSrc("oostock")',100);
			}
		}
	}
	if(productCall == false && out != true){
		Effect.BlindDown('product_preview',{afterFinish:noClipping});
		previewDown = true;
	}else if(out == true){
		$('product_preview').show();
		previewDown = true;
	}
	createRelatedItems(assembledProduct); //load in related products and create timeline.
	oldPreviewProduct = assembledProduct;
	calledPattern = null; //These two have to be cleared here otherwise the patterns break.
	calledPiece = null;
}


function resetPatterns(){
	//Element.remove('pattern_timeline');
	$('pattern_div').innerHTML ="";
	$('pattern_div').innerHTML = timeLineString;
	currentPattern = 1;
}

function stopMotion(){
	inMotion = false;
	var piecesToShow = Math.ceil(piecesOnTimeline / 3);
	var patternsToShow = Math.ceil(patternNumber / 3);
	var relatedToShow = Math.ceil(numProducts/2)-1;
	//alert(relatedToShow + " - " + relatedSlide + " of "+numProducts);
	if(currentSlide >= (piecesToShow)){
		$('forward_btn').style.display = "none";
	}else{
		$('forward_btn').style.display = "block";
	}
	if(currentPattern >= (patternsToShow)){
		$('pattern_forward_btn').style.display = "none";
	}else{
		$('pattern_forward_btn').style.display = "block";
	}
	if(relatedSlide >= (relatedToShow)){
		$('small_next').style.display = "none";
	}else{
		$('small_next').style.display = "block";
	}
	if(currentSlide <= 1){		$('back_btn').style.display = "none";}
	else{						$('back_btn').style.display = "block";}
	if(currentPattern <= 1){	$('pattern_back_btn').style.display = "none";}
	else{						$('pattern_back_btn').style.display = "block";}
	if(relatedSlide <= 0){		$('small_back').style.display = "none";}
	else{						$('small_back').style.display = "block";}
}

function selectPiece(myDiv,myPatterns){ //myPatterns references the array of the pieces node
	heatherProof();
	resetPatterns();
	//$('product_preview').hide();
	$('product_preview').innerHTML = productPreviewHTML;
	$('product_title').innerHTML = pieces[myPatterns].getAttribute('name');
	$('product_price').innerHTML = "Select A Pattern Below";
	$('product_image').src = "i/neutrals/"+pieces[myPatterns].getAttribute('id') + "_large.jpg";
	Effect.BlindDown('product_preview',{afterFinish:noClipping});
	if(selectedDiv != null){
		selectedDiv.style.borderColor = "white";
		var selectedItems = $(selectedDiv).getElementsByClassName('noBold');
		for(i=0;i<selectedItems.length;i++){
			selectedItems[i].style.fontWeight = "normal";
		}
	}
	myDiv = $(myDiv);
	myDiv.style.borderColor = "#e96a27";
	var selectedItems = $(myDiv).getElementsByClassName('noBold');
	for(i=0;i<selectedItems.length;i++){
		selectedItems[i].style.fontWeight = "bold";
	}
	selectedDiv = myDiv;
	if(previewDown == true){
		Effect.SlideUp('pattern_preview')
		previewDown = false;
	}else{
		$('pattern_preview').hide();
	}
	makePatterns(myPatterns);
	chosePiece = myDiv.id.substr(6);
	setTimeout('setSrcToSrc("product_image")',100);
}

// Product Functions

var thisProductShow = null;
var inputValues; //Fix for FF

function makeProduct(productID,cookied){
	//cookied is true if the product is made via a cookie call.
	inputValues = document.getElementsByClassName("inputs");
	$('step3').style.display = "none";
	$('add_all').style.display = "block";
	if(previewCart.indexOf(productID) == -1){
		var productInfo = getProductInfoFromID(productID);
		var thisProductName = productInfo.getAttribute('name');
		var thisProductDesc = fixDescription(productInfo.getAttribute('description'),1);
		var thisProductPrice = productInfo.getAttribute('newprice');
		var thisProductPieces = productID.split("_");
		var thisProductCat = findCategoryFromProduct(thisProductPieces[0]);
		var OMSID = productInfo.getAttribute('sku');
		var OmnitureValue = 'Outdoor_2009-_-Patio_Finder-_-'+makeCaps(currentCategory)+'s_Home-_-'+OMSID+'_pip';
		var TRACKING = "&cm_sp="+OmnitureValue;
		var piece1 ='<div class="prodUct" id="'+productID+'"><div>'+'<a class="productImageLinks" href="javascript:assembleCookieString();callOmniture_evar47(\''+OmnitureValue+'\',\'Outdoor_2009-_-Patio_Finder Flash Clicks\');window.location=\''+PIPLINK + OMSID + HomeDepot.linkParamsAppended + TRACKING + '\'" />'+"<img src='i/products_related/"+productID+".jpg' class='prodImg'/></a>";
		piece1 +='';
		piece1 +='<h2 class="prodName"><a href="javascript:assembleCookieString();callOmniture_evar47(\''+OmnitureValue+'\',\'Outdoor_2009-_-Patio_Finder Flash Clicks\');window.location=\''+PIPLINK + OMSID + HomeDepot.linkParamsAppended + TRACKING + '\'" />'+thisProductName+'</a></h2>';
		piece1 +='<p class="prodDesc">'+thisProductDesc+'</p>';
		piece1 +='<p class="prodPrice">Price: '+thisProductPrice+'</p>';
		piece1 +='<p class="prodQuant">Quantity: <input type="text" class="inputs" id="input_'+productID+'" value="1" /></p>';
		piece1 +='<a href="javascript:addToCartSingle(\''+OMSID+'\',\''+productID+'\');"><img src="i/add_to_cart.gif" class="add_to_cart" alt="Add to Cart" /></a>';
		piece1 +='<a href="javascript:removeProduct(\''+productID+'\',\''+thisProductCat+'\');"><img src="i/remove_single.gif" class="remove_single" alt="Remove From Cart" /></a>';
		piece1 += '</div></div>';
		//alert(piece1);
		if(thisProductCat == "pillow"){
			$('pillow_window').style.display = "block";
			$('pillow_window').innerHTML += piece1;
			$('pillow_header').style.display = "block";
			pillowsPreviewLength++;
		}else if(thisProductCat == "cushion"){
			$('cushion_window').style.display = "block";
			$('cushion_window').innerHTML += piece1;
			$('cushion_header').style.display = "block";
			cushionsPreviewLength++;
		}else if(thisProductCat == "umbrella"){
			$('umbrella_window').style.display = "block";
			$('umbrella_window').innerHTML += piece1;
			$('umbrella_header').style.display = "block";
			umbrellasPreviewLength++;
		}
		if(cookied != true){
			$(productID).hide();
			$('patio_container').style.height = Element.getHeight('patio_container') + 100 + "px";
			Effect.SlideDown(productID,{afterFinish: makeProductShown});
			thisProductShow = productID;
			new Effect.ScrollTo("step_three");
			previewCart.push(productID);
			productsInPreview++;
		}else{
			$('patio_container').style.height = Element.getHeight('patio_container') + 100 + "px";
			productsInPreview++;
		}
	}else{
		alert("This product has already been entered.")
	}
}


function makeProductShown(){
	$(thisProductShow).style.display = "block";
	$(thisProductShow).show();
	$(thisProductShow).innerHTML = $(thisProductShow).innerHTML;
	$(thisProductShow).style.visibility = "visible";
	//$(thisProductShow).setStyle({height: '100px'});
	$(thisProductShow).setStyle({bottom: '0px'});
	var s = "";
	var e = $(thisProductShow);
	for(var p in e.currentStyle){
		s+=p + " : "+e.currentStyle[p]+"\n";
	}
	//alert(s);

	for(i=0;i<inputValues.length;i++){
		$(inputValues[i].id).value = inputValues[i].value;
	}

}

var productsInPreview = 0;

var removeCategory;
var productToRemove;
//Variables to check how many products for each category I have in the preview window.
var cushionsPreviewLength = 0;
var pillowsPreviewLength = 0;
var umbrellasPreviewLength = 0;

function removeProduct(productID,productCAT){
	var answer = confirm("Are you sure you wish to remove this item from your Preview list?")
	if (answer){
			killProduct(productID,productCAT);
	}else{

	}
}

function killProduct(productID,productCAT){
	$(productID).style.display = "none";
	var arrayIndex = previewCart.indexOf(productID);
	if(arrayIndex == -1)arrayIndex++;
	previewCart.splice(arrayIndex,1);
	removeCategory = productCAT
	if(removeCategory == "pillow"){
			pillowsPreviewLength--;
	}else if(removeCategory == "cushion"){
			cushionsPreviewLength--;
	}else{
			umbrellasPreviewLength--;
	}

	if (IE6 == true) {
		if (pillowsPreviewLength <= 0) {
			$('pillow_window').style.height = "0px";
		} else {
			$('pillow_window').style.height = (pillowsPreviewLength * 100) + "px";
		}
		if (cushionsPreviewLength <= 0) {
			$('cushion_window').style.height = "0px";
		} else {
			$('cushion_window').style.height = (pillowsPreviewLength * 100) + "px";
		}
		if (umbrellasPreviewLength <= 0) {
			$('umbrella_window').style.height = "0px";
		} else {
			$('umbrella_window').style.height = (pillowsPreviewLength * 100) + "px";
		}
	}

	checkToRemoveHeader();
	$('patio_container').style.height = (Element.getHeight('patio_container') - 100) + "px";
	heatherProof();
	assembleCookieString();
}



function removeAllProducts(){
	var answer = confirm("Are you sure you wish to remove all items in your Preview list?")
	if (answer){
		previewCart.clear();
		cushionsPreviewLength = 0;
		pillowsPreviewLength = 0;
		umbrellasPreviewLength = 0;
		checkToRemoveHeader();
		$('patio_container').style.height = "780px";
		assembleCookieString();
	}else{

	}

}

function checkToRemoveHeader(){
	if(cushionsPreviewLength <= 0){
		$('cushion_window').innerHTML = '<h3 id="cushion_header"><span>Cushions</span></h3>';
		$('cushion_window').style.display = "none";
		cushionsPreviewLength = 0;
	}
	if(pillowsPreviewLength <= 0){
		$('pillow_window').innerHTML = '<h3 id="pillow_header"><span>Pillows</span></h3>';
		$('pillow_window').style.display = "none";
		pillowsPreviewLength = 0;
	}
	if(umbrellasPreviewLength <= 0){
		$('umbrella_window').innerHTML = '<h3 id="umbrella_header"><span>Umbrellas</span></h3>';
		$('umbrella_window').style.display = "none";
		umbrellasPreviewLength = 0;
	}
	if(cushionsPreviewLength == 0 && pillowsPreviewLength == 0 && umbrellasPreviewLength == 0 ){
		$('step3').style.display = "block";
		$('add_all').style.display = "none";
		$('step3').hide();
		Effect.SlideDown('step3');
	}
}

function setSrcToSrc(elementId){
	if(elementId != null && elementId != undefined){
		var e = document.getElementById(elementId);
		if(e != null && e != undefined) e.src = e.src; //alert("fixed "+elementId);
	}
}

function toggleSection(mySection){
	heatherProof();
	if(productCall != true){
		loadStaticImage();
	}
	callOmniture_evar47('Outdoor_2009-_-Patio_Finder-_-'+makeCaps(currentCategory)+'s_Home','Outdoor_2009-_-Patio_Finder Flash Clicks');
	if(mySection == "cushion"){
		$('measure_button').style.display = "block";
		$('instructions').innerHTML = cushionCopy;
	}else if(mySection == "pillow"){
		$('instructions').innerHTML = pillowCopy;
		$('measure_button').style.display = "none";
	}else{
		$('instructions').innerHTML = umbrellaCopy;
		$('measure_button').style.display = "none";
	}
	$(currentCategory).src = imgPATH + currentCategory + "_off.gif";
	$(mySection).src = "i/" + mySection + "_on.gif";
	currentCategory = mySection;
	if(productCall != true){
		Effect.Fade("container_div",{afterFinish: resetTimeLines});
		Effect.Fade("pattern_div");
	}else{
		resetTimeLines();
	}
	document.title = docTITLE + " - "+makeCaps(mySection)+"s";
	$('breadcrumbs').innerHTML = breadCrumbString + makeCaps(mySection)+"s";
}

function resetTimeLines(){
	$('container_div').innerHTML = "";
	$('pattern_div').innerHTML ="";
	$('related_div').innerHTML ='<div id="related_timeline"></div>';
	$('container_div').innerHTML = "<div id=\"timeline\"></div>";
	resetPatterns();
	if(productCall == false){
		makeme();
	}else{
		makeme(calledPiece);
	}
	heatherProof();
	Effect.Appear("container_div",{afterFinish:noClipping});
	Effect.SlideDown("container_div",{afterFinish:noClipping});
	Effect.Appear("pattern_div",{afterFinish:noClipping});
}

function callProduct(myProduct){ //Call this function in a related product
	selectedDiv = null;
	calledProduct = myProduct;
	var cutPieces = myProduct.split("_");
	var pieceCat = findCategoryFromProduct(cutPieces[0]);
	productCall = true;
	calledPiece = cutPieces[0];
	calledPattern = cutPieces[1];
	if(pieceCat != currentCategory){
		toggleSection(pieceCat);
	}else{
		resetTimeLines();
	}
}

function findCategoryFromProduct(myPiece){
	for(k=0;k<pieces.length;k++){
		if(pieces[k].getAttribute("id") == myPiece){
			calledReference = k;
			return pieces[k].getAttribute("type");
		}
	}
}

function getProductInfoFromID(productID){
	for(z=0;z<products.length;z++){
		if(products[z].getAttribute('id') == productID){
			return products[z];
		}
	}
}

var numProducts;

function createRelatedItems(productID){
	heatherProof();
	relatedSlide = 0;
	if(relatedPreviewDown == true){
		Effect.SlideUp('related_preview');
		relatedPreviewDown = false;
	}
	//$("related_timeline").hide();
	var retrievedProduct = getProductInfoFromID(productID);
	relatedProducts = retrievedProduct.getAttribute('relatedProducts').split(",");
	var relatedNumber = relatedProducts.length;
	numProducts = 0;
	if(relatedProducts[0] != ""){
		for(i=0;i<relatedNumber;i++){
			var relatedHTML = "";
			var product = getProductInfoFromID(relatedProducts[i]);
			var relatedID  = relatedProducts[i];
			var inStock = product.getAttribute('instock');
			var relatedDESC  = product.getAttribute('description');
			var relatedNAME = getShortenedRelatedName(relatedID);
			var relatedPRICE = product.getAttribute('newprice');
			if(inStock == "0"){
				relatedHTML +=		'<div class="related">'
				relatedHTML +=		'<a href="javascript:callProduct(\''+relatedID+'\');">';
//				relatedHTML +=			'<img src="i/products_related/'+relatedID+'.jpg"  alt= "'+relatedNAME+'" class="thumbnail" id="thumbnail_'+relatedID+'" /></a>';
				relatedHTML +=			"<img src='i/products_related/"+relatedID+".jpg'  alt= '"+relatedNAME+"' class='thumbnail' id='thumbnail_"+relatedID+"' /></a>";
				relatedHTML +=		'<a href="javascript:callProduct(\''+relatedID+'\');">';
				relatedHTML +=			'<p>'+relatedNAME+'</p>';
				relatedHTML +=			'<p class="related_price">'+relatedPRICE+'</p></a>';
				relatedHTML +=		'<a href="javascript:makeProduct(\''+relatedID+'\');trackingCall(2,\''+relatedID+'\');"><img src="i/add_small.gif" alt="Add to Preview Patio" id="related_'+relatedID+'" class="add_related" /></a>';
				relatedHTML +=	'</div>';
				numProducts ++;
				//setTimeout('setSrcToSrc("thumbnail_'+relatedID+'")',100);
				//setTimeout('setSrcToSrc("related_'+relatedID+'")',100);
			}
			if(relatedID == oldPreviewProduct){
				relatedHTML = "";
				numProducts --;
			}
			$("related_timeline").innerHTML += relatedHTML;
		}
		if(productCall != false){
			addOldRelatedToFront();
			numProducts ++;
		}
		if(numProducts < 3){
			$('small_back').style.display = "none";
			$('small_next').style.display = "none";
		}else{
			$('small_back').style.display = "none";
			$('small_next').style.display = "block";
		}
		Effect.Appear("related_timeline");
	}
}

function getShortenedRelatedName(relatedID){
	var cutName = relatedID.split("_");
	var pieceInfo = cutName[0];
	var piecePosition = pieceNames.indexOf(pieceInfo);
	return pieceNames[piecePosition-1];
}

function addOldRelatedToFront(){
	var product = getProductInfoFromID(oldPreviewProduct);
	var relatedID = oldPreviewProduct;
	var relatedDESC  = product.getAttribute('description');
	var relatedNAME = getShortenedRelatedName(relatedID);
	var relatedPRICE = product.getAttribute('newprice');
	var relatedSTATUS = product.getAttribute('instock');
	var relatedHTML = "";
	relatedHTML +=		'<div class="related">'
				relatedHTML +=		'<a href="javascript:callProduct(\''+relatedID+'\');">';
				relatedHTML +=			'<img src="i/products_related/'+relatedID+'.jpg"  alt= "'+relatedNAME+'" class="thumbnail" id="thumbnail_'+relatedID+'" /></a>';
				relatedHTML +=		'<a href="javascript:callProduct(\''+relatedID+'\');">';
				relatedHTML +=			'<p>'+relatedNAME+'</p>';
				relatedHTML +=			'<p class="related_price">'+relatedPRICE+'</p></a>';
				relatedHTML +=		'<a href="javascript:makeProduct(\''+relatedID+'\');trackingCall(2,\''+relatedID+'\');"><img src="i/add_small.gif" alt="Add to Preview Patio" id="related_'+relatedID+'" class="add_related" /></a>';
				relatedHTML +=	'</div>';
	if(relatedSTATUS == "0"){
		//new Insertion.Top($('related_timeline'),relatedHTML);
		$('related_timeline').innerHTML = relatedHTML + $('related_timeline').innerHTML
	}
	calledProduct == null
}

var relatedSlide = 1;
var relatedProducts;

function backRelated(){
	if(relatedSlide >= 1 && inMotion != true){
		new Effect.MoveBy('related_timeline', 0, 284,{afterFinish: stopMotion});
		relatedSlide --;
		inMotion = true;
	}
}

function nextRelated(){
	var relatedToShow = Math.ceil(numProducts/2)
	if(relatedSlide < (relatedToShow) && inMotion != true){
		new Effect.MoveBy('related_timeline', 0, -284,{afterFinish: stopMotion});
		relatedSlide ++;
		inMotion = true;
	}
}

function fixDescription(description,otherPARAM){
	if (description.indexOf("-") > -1) {
		//var fixedDescription = description.replace(/- /g, "<br />- "); //Looking for dashes.
		//var fixedDescription = description.replace(/\.$/m, ".<br />"); //Looking for end of line with a period.
		var fixedDescription = description.replace(/$/m, "<br />"); //Looking for end of the line before line break.
		if (otherPARAM == 1) {
			//return "- "+description;
			return fixedDescription;
		} else {
			return fixedDescription;
		}
	} else {
		return description;
	}
}

function umbrellaToggle(){
	var largePATH = "i/products/";
	var smallPATH = "i/products_small/";
	var largeIMAGE = $("product_image").src;
	var smallIMAGE = $('toggle_image').src;
	var cutLargeIMAGE = largeIMAGE.split("/");
	var cutSmallIMAGE = smallIMAGE.split("/");
	var oldSmallIMAGE = cutSmallIMAGE[cutSmallIMAGE.length -1];
	var oldLargeIMAGE = cutLargeIMAGE[cutLargeIMAGE.length -1];
	$("product_image").src = largePATH + oldSmallIMAGE;
	$('toggle_image').src = smallPATH + oldLargeIMAGE;
}



///  Omniture ///

var OMTAG = "Outdoor_2008-_-Patio_Finder-_-";


function markSectionChange(whichSection){
	//alert("sending page view with "+s);
	//section titles are cushion,umbrella, and pillow
	//s_account = "homedepotmoxiedv";
 	//s_flag=true;
	var mySection = makeCaps(whichSection)+"s";
	//trackLink("Outdoor_2008-_-Patio_Finder-_-"+mySection+"_Home");
	s.pageName = "Patio Accessory Finder - Products - "+mySection;
	s.prop1 = "Patio Accessory Finder - Products - "+mySection;
	s.hier1 = "Home Depot > Patio";
	s.channel = "Home Depot - Patio";
	CSsetClientSideOmnitureVariables(s);
	var s_code=s.t();
	if(s_code)document.write(s_code);


}

function makeCaps(string){
	string = string.substring(0,1).toUpperCase()+string.substring(1,string.length);
	return string;
}

var secondTrack = null;

function trackingCall(trackingSource, productID){
	var OmnitureValue = '';
	var product = getProductInfoFromID(productID);
	var OMSID = product.getAttribute('sku');
	if(trackingSource == 1){
		OmnitureValue = 'Outdoor_2009-_-Patio_Finder-_-'+makeCaps(currentCategory)+'s_Home-_-Add_To_Preview_Main';
	}else{
		OmnitureValue = 'Outdoor_2009-_-Patio_Finder-_-'+makeCaps(currentCategory)+'s_Home-_-Add_To_Preview_Coordinating_Item_'+OMSID;
	}
	callOmniture_evar47(OmnitureValue,'Outdoor_2009-_-Patio_Finder Flash Clicks');
}

var shoppingCartLink = "http://www.homedepot.com/webapp/wcs/stores/servlet/OrderItemAdd?storeId=10051&langId=-1&catalogId=10053";

function addToCartSingle(OMSID,divID){
	//There will need to be code to actually add something to the cart, right now it only calls the sku.
	var trackingCat = makeCaps(currentCategory);
	var OMLINK = OMTAG + trackingCat+"s_Home-_-Add_To_Cart_"+OMSID;
	var myProduct = getProductInfoFromID(divID);
	//var OID = myProduct.getAttribute('oid');
	var cartQuantity = $("input_"+divID).value;
	var linkTrackingTag = '&cm_sp=Outdoor_2009-_-Patio_Finder-_-'+currentCategory+'s_Home-_-Add_To_Cart_'+OMSID;
	var url = shoppingCartLink+linkTrackingTag+"&catEntryId="+OMSID+"&quantity="+cartQuantity+"&URL=OrderItemDisplay";
	//alert(url);
	assembleCookieString();
	callOmniture_evar47('Outdoor_2009-_-Patio_Finder-_-'+makeCaps(currentCategory)+'s_Home-_-Add_To_Cart_'+OMSID,'Outdoor_2009-_-Patio_Finder Flash Clicks');
	window.location = url;
}

function addToCartComplete(){
	var trackingCat = makeCaps(currentCategory);
	var myInputs  = document.getElementsByClassName("inputs");
	var locationLink = shoppingCartLink;
	for(i=0;i<myInputs.length;i++){
		var cartQuantity = myInputs[i].value;
		var divIdUnCut = myInputs[i].id;
		var divCut = divIdUnCut.split("_");
		var divID = divCut[1]+"_"+divCut[2];
		var myProduct = getProductInfoFromID(divID);
		var OID = myProduct.getAttribute('sku');
		locationLink += "&catEntryId_"+(i+1)+"="+OID+"&quantity_"+(i+1)+"="+cartQuantity;
	}
	locationLink += "&URL=OrderItemDisplay";
	var linkTrackingTag = "&cm_sp=Outdoor_2008-_-Patio_Finder-_-Cushions_Home-_-Add_All_Items_To_Cart";
	var url = locationLink+linkTrackingTag;
	secondtrack = OMTAG + trackingCat+"s_Home-_-Add_All_Items_To_Cart_summary";
	assembleCookieString()
	callOmniture_evar47('Outdoor_2009-_-Patio_Finder-_-'+makeCaps(currentCategory)+'s_Home-_-Add_All_Items_To_Cart','Outdoor_2009-_-Patio_Finder Flash Clicks');
	window.location = url;
}

function trackMeasure(){
	callOmniture_evar47('Outdoor_2009-_-Patio_Finder-_-'+makeCaps(currentCategory)+'s_Home-_-How_To_Measure','Outdoor_2009-_-Patio_Finder Flash Clicks')
	window.open ("measure.html","mywindow","width=594,height=453");
}

function trackLink(linkName){
	//s.tl(this,'o',linkName);
	//s.tl(this,linkName,linkName);
	//s_account = "homedepotmoxiedv";
 	//s_flag=true;
/*	s.pageName = "Patio Accessory Finder - "+linkName;
	s.prop1 = "Patio Accessory Finder - "+linkName
	s.hier1 = "Home Depot > Patio";
	s.channel = "Home Depot - Patio";
	CSsetClientSideOmnitureVariables(s);
	var s_code=s.t();
	if(s_code)document.write(s_code);*/
}

queryParams = null;
function getQueryParams(){
	if(!queryParams){
		queryParams = new Object();
		var q = location.search.substring(1);
		if(q.length > 0){
			var nameVals = q.split("&");
			for(var i=0; i<nameVals.length; i++){
				var nv = nameVals[i].split("=");
				queryParams[nv[0]]=nv[1];
			}
		}
	}
	return queryParams;
}


//Cookie Code for returning visits

function Set_Cookie( name, value, expires, path, domain, secure ) {
	var today = new Date();
	today.setTime( today.getTime() );
	if ( expires )
	{
		expires = expires * 1000 * 60 * 60 * 24;
	}
	var expires_date = new Date( today.getTime() + (expires) );

	document.cookie = name + "=" +escape( value ) +
		( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
		( ( path ) ? ";path=" + path : "" ) +
		( ( domain ) ? ";domain=" + domain : "" ) +
		( ( secure ) ? ";secure" : "" );
}

function Get_Cookie( name ) {
	var start = document.cookie.indexOf( name + "=" );
	var len = start + name.length + 1;
	if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ) {
		return null;
	}
	if ( start == -1 ) return null;
	var end = document.cookie.indexOf( ";", len );
	if ( end == -1 ) end = document.cookie.length;
	return unescape( document.cookie.substring( len, end ) );
}

function Delete_Cookie( name, path, domain ) {
	if ( Get_Cookie( name ) ) {
		document.cookie = name + "=" + ( ( path ) ? ";path=" + path : "") + ( ( domain ) ? ";domain=" + domain : "" ) + ";expires=Thu, 01-Jan-1970 00:00:01 GMT";
	}
}


function assembleCookieString(){
	var cookieString;
	previewLength = previewCart.length;
	for(i=0;i<previewCart.length;i++){
		cookieString += previewCart[i] + "-" + $('input_'+previewCart[i]).value + ",";
	}
	Delete_Cookie('previewcart', '/', '');
	Set_Cookie( 'previewcart', cookieString, 30, '/', '', '' );
	clearCookie('currentCategory');
	setCookie('currentCategory', currentCategory);
}

function parseCookies(cookieString){

	var cutCookies = cookieString.split(",");
	cutCookies[0] = cutCookies[0].substr(9,cutCookies[0].length);
	for(i=0;i<cutCookies.length;i++){
		if(cutCookies[i] != ""){
			var bakedCookie = cutCookies[i].split("-");
			makeProduct(bakedCookie[0],true);
			//alert(bakedCookie[0]);
			$(bakedCookie[0]).show();
			previewCart.push(bakedCookie[0]);
			$("input_"+bakedCookie[0]).value = bakedCookie[1];
		}
	}
}

function makeEnlarge(){
	var popUp = 'enlarge.html?imgID='+assembledProduct;
	window.open(popUp,'myPop','width=650,height=447');

}

function empty(){

}

