	var requestPage='/template_2_0/product/include/tabData.jsp';
	var defaultTab;
	var activeTab;
	
	function getTabData(catalogItemId, tabName){
		var url = requestPage;
		var params = "id="+catalogItemId+"&t="+tabName;
		var http = createRequestObject();
		document.getElementById('resource_spinner').style.display='inline';
		http.open("POST", url, true);
		http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		http.setRequestHeader("Content-length", params.length);
		http.setRequestHeader("Connection", "close");
	
		http.onreadystatechange = function() {
			if (http.readyState == 4 && http.status == "200") {
				var textout = http.responseText;
				var modelContent =document.getElementById('model_data').innerHTML;
				document.getElementById('model_data').innerHTML=modelContent + textout;
				document.getElementById('resource_spinner').style.display='none';
				if(tabName == 'fabricPage'){
					addFabricPageFeatures();
				}
			}
		}
		http.send(params);
	}
	
	function displayTabContent(catalogItemId, tabName,elementId){
		var tab = tabName+'_tab';
		if(tab!=defaultTab){
			if(document.getElementById(tab)==null){
				getTabData(catalogItemId, tabName);
			}else{
				document.getElementById(tab).style.display='';
				if(tabName == 'fabricPage'){
					addFabricPageFeatures();
				}
			}
			applyTabStyle(elementId);
			document.getElementById(defaultTab).style.display='none'; 
			defaultTab=tab;
		}
	    //do we want to skip the default tab?
	    pageTracker._trackEvent("HDC_tabclicks", catalogItemId, tabName, 0);
	    pageTracker._trackPageview(window.location.pathname + "?_"+ tabName);
		//if(tabName=='perfPage'){
		//	setPerfLayout();
		//}
		return false;
	}


	function applyTabStyle(elementId){
		  var parentNode =document.getElementById("tabnav");
		  var arrChildren = parentNode.childNodes;
		  	  for(i = 0; i < arrChildren.length; i++){
		  		objChild = arrChildren[i].id;
		  		if(objChild==elementId){
		  				if(elementId=='first'){
							document.getElementById(elementId).className="active_first";
						}else if(elementId=='last'){
							document.getElementById(elementId).className="active_last";
						}else{
							document.getElementById(elementId).className="active";
						}	
		  		}else{
		  		
		  		    if(objChild=='first'){
		  			   	document.getElementById(objChild).className="first";
					}else if(objChild=='last'){
					  	document.getElementById(objChild).className="last";
					}else if(objChild.indexOf('item_')>-1){
				  		document.getElementById(objChild).className="";
					 } 
				}
			 }
		turnOffSpacer(elementId); 
		activeTab=elementId;
	}
	
	function turnOffSpacer(elementId){
	
	     var curElement= document.getElementById(elementId);
	     var parentNode =document.getElementById("tabnav");
	     var arrChildren = parentNode.childNodes;
	     var id = elementId.split("item_"); 
	     var prevSpacerElement = id[1]-1;
	     var curSpacerElement=id[1];
	     
		     if(elementId=='first'){
					curSpacerElement="spacer_"+1;
		     }else if(elementId=='last'){
					prevSpacerElement =arrChildren[arrChildren.length-2].id;
		     }else{
			        prevSpacerElement = "spacer_" + prevSpacerElement;
			        curSpacerElement="spacer_" +curSpacerElement;
		     }
	     		for(i = 0; i < arrChildren.length; i++){
					objChild = arrChildren[i].id;
					if(objChild.indexOf('spacer_')>-1){
						if(prevSpacerElement==objChild){
							if(document.getElementById(prevSpacerElement)!=null){
							   document.getElementById(prevSpacerElement).style.display='none';
							}
						}else if(curSpacerElement==objChild){
							if(document.getElementById(curSpacerElement)!=null){
							   document.getElementById(curSpacerElement).style.display='none';
							}
						}else{
						    if(document.getElementById(objChild)!=null){
							   document.getElementById(objChild).style.display='';
							 }
						}
					}
				}			
	    
	}


	function insertAfter(newElement,targetElement) {
	
		var parent = targetElement.parentNode;
		var newContainer = document.createElement("div");
		//if(parent.lastchild == targetElement) {
			parent.appendChild(newContainer);
		//} else {
		//	parent.insertBefore(newElement, targetElement.nextSibling);
		//}
	}




	function expandCollapse(pageBreakId,pageBreakLabel, pageBreakDisplayText, pageBreakHideText){
	   
	   var ele = document.getElementById(pageBreakId);
	   var eleLabel =document.getElementById(pageBreakLabel);
	   
	   if(ele!=null){
		     if(ele.style.display=='none'){
		        ele.style.display='inline';
			    if(eleLabel!=null){
			   	       eleLabel.innerHTML="<b>"+pageBreakHideText+"</b>";
			    }   
			}else{
			    ele.style.display='none';  
			    if(eleLabel!=null){   
			    	eleLabel.innerHTML="<b>"+pageBreakDisplayText+"</b>";
		 	    }
		     }
		}
	}

	function showContent(content_id,title,divId){
		var objContent = document.getElementById(content_id);
		if(content_id!=null){
			document.getElementById(divId).style.display='none';
			if(content_id.indexOf('addtlInfoLinks')>-1){
				document.getElementById("keyFeatures").style.display='none';
				document.getElementById("modelDetailedImg").style.display='none';
				document.getElementById("moreinfo").style.display='none';
			}
			objContent.style.display='block';
		}
	}

	function showFabContent(fabGroupId) {
		$.ajax({
			type: 'GET',
			url: '/services/fabricDetails.jsp',
			data: {id: fabGroupId},
			success: function(data){
				$('#disclaimer').css('display', 'none');
				$('#fabGroups').css('display', 'none');
				$('#fabColorsFrame').css('display', 'block');
				$('#fabColors').css('display', 'block');
				$('#fabColors').html(data);
			}
		});
	}
	
	function closeColors() {
		$('#disclaimer').css('display', 'block');
		$('#fabGroups').css('display', 'block');
		$('#fabColorsFrame').css('display', 'none');
		$('#fabColors').css('display', 'none');
	}
	
	function hideContent(content_id,divId){
		var objContent = document.getElementById(content_id);
		if(content_id!=null){
				objContent.style.display='none';
				document.getElementById(divId).style.display='inline';
			if(content_id.indexOf('addtlInfoLinks')>-1){
				document.getElementById("keyFeatures").style.display='inline';
				document.getElementById("modelDetailedImg").style.display='inline';
				document.getElementById("moreinfo").style.display='inline';
			}
		}	
	}



	function forwardEmail(modelId){
	    var tabId = defaultTab.split("_tab");     
	    var forwardUrl = '/contacts/forward.jsp?productId='+modelId+'&tabId='+tabId[0];
	    document.location.href=forwardUrl;
	}


	var ASSET_BODY_CONTAINER_WIDTH=630;
	var IMG_HEIGHT=110;
	var ADD_TO_IMG_HEIGHT=12;
	var OVERFLOW_HEIGHT = IMG_HEIGHT + ADD_TO_IMG_HEIGHT;
	
	function setPerfLayout(){
		//alert("setLayout()");
		var _nodes = document.getElementById("asset_body").childNodes;
		for(var i = 0; i< _nodes.length; i++){
			if(_nodes[i]!=null && _nodes[i].id!=null){
				var nodeId = _nodes[i].id.toString();
				if(nodeId.indexOf("perfGroupId")>-1){
					var imgContainerName = nodeId.replace("perfGroupId","overflowId");
					var pageBreakTxt = nodeId.replace("perfGroupId","pageBreakText");
					overflowExpCol(imgContainerName,pageBreakTxt,"Click to see all patterns","Close");					
				}	
			}
		}
		
	}
	
	function overflowExpCol(divId, divIdPageBreak, openTxt, hideTxt){
	
		var ele = document.getElementById(divId);
		var getNoOfImages = getNumberOfImages(divId);
		var noOfImagesPerRow= getNoOfImagesPerRow(divId);
		var labelId = divId+"_txt";		
		
		if(getNoOfImages>noOfImagesPerRow){
	 	 if(document.getElementById(divIdPageBreak)!=null)
			document.getElementById(divIdPageBreak).style.display='';
		}
		
		if((ele.style.overflow == "hidden")||(ele.style.overflow='')){
			ele.style.overflow = "";
			ele.style.display= "block";
			var overFlowHeight=OVERFLOW_HEIGHT;
			
			//FIX IE
			ele.style.height=getNoOfRowsDisplayed(getNoOfImages, noOfImagesPerRow)*overFlowHeight+"px";

			document.getElementById(labelId).innerHTML = '';
		}else{
			var overFlowHeight=OVERFLOW_HEIGHT;
			ele.style.overflow = "hidden";
			ele.style.height=overFlowHeight+"px";	
			document.getElementById(labelId).innerHTML =openTxt;
		}
	}
	
	function getNoOfRowsDisplayed(noImages, imagesPerRow){
		var rows=0;	
		var mod = noImages%imagesPerRow;
		
		if(mod==0){
			rows = noImages/imagesPerRow;
		}else{
			var round = imagesPerRow - mod;	 		
			    noImages += round;
			rows = noImages/imagesPerRow;    
		}	  
		return rows;
	}
		
	function getImgHeight(imgContainer, noOfImgPerRow){
		var imgHeight=0;
		var images = document.getElementById(imgContainer).getElementsByTagName("img");
		
		for(var i = 0; i< noOfImgPerRow; i++){
			if(imgHeight<images[i].height)
			imgHeight=images[i].height;
		}
		
		return imgHeight;	
	}
	
	function getImgHeight(imgContainer){
		var imgHeight=0;
		var images = document.getElementById(imgContainer).getElementsByTagName("img");
		
		for(var i = 0; i< images.length; i++){
			if(imgHeight<images[i].height)
			imgHeight=images[i].height;
		}
		
		return imgHeight;	
	}
	
			
	function getNumberOfImages(imgContainer){
		var noOfImages=0;
		var images = document.getElementById(imgContainer).getElementsByTagName("img");
		
		if(images!=null)
		noOfImages = images.length;
		
	return noOfImages;
	}
			
	function getNoOfImagesPerRow(imgContainer){
	
		var noOfImagesPerRow=0;
		var imgWidth=0;
		var addImageWidths=0;	
		var imgLeftMargin=5;
		var imgRightMargin=5;
		var images = document.getElementById(imgContainer).getElementsByTagName("img");
		var modelTabContainerWidth=ASSET_BODY_CONTAINER_WIDTH;
			 
		for(var i = 0; i< images.length; i++){
			imgWidth=imgLeftMargin+images[i].width+imgRightMargin;
			addImageWidths+=imgWidth;
			if(addImageWidths > modelTabContainerWidth){
				return i; //>>>RETURN
				break;
			}
		}
		
		if(noOfImagesPerRow==0){
			noOfImagesPerRow = images.length;
		}
		return noOfImagesPerRow;	
	}
	
	function addFabricPageFeatures() {
		imgLoader = new Image();
		imgLoader.src = "/images/loadingAnimation.gif";
		
		var divElements = document.getElementsByTagName('DIV');
		for(i = 0; i < divElements.length; i++){
			if(divElements[i].className == 'swHolder'){
				divElements[i].onmouseover	= function() { this.className += " swHolderHover"; }
				divElements[i].onmouseout	= function() { this.className = this.className.replace(/ ?swHolderHover$/,''); }
			}
		}
	}

