	var serviceUrl ='/services/fabricsearch.jsp';
	var serviceUrlFabricdetailed ='/services/json/fabricview.jsp';
	var numFound="";
	var currentPage="1";
	var currentView="viewo_Multi";
	var currentTab="tab_view";
	

	
	function xmlhttpPost(strURL,isScroll){
		// document.getElementById("fresults").style.backgroundColor="#952218";
		var params=getParams();
		var strUrl = strURL+"?"+params;
		
		var http = createRequestObject();
			http.open("GET", strUrl, 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;
					updatepage(textout);
					
					if(isScroll!=null&&isScroll=='true')
						setScroll();			
				}
				
			}
			http.send(params);
	}
	
	
	function xmlhttpPostSearch(strURL){
	
		var params="";
		var strUrl = strURL;
		
		var http = createRequestObject();
			http.open("GET", strUrl, 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;
					updateSearch(textout);
					
					refreshPagination();
					setScroll();
					attachEventIframe();
				}
				
			}
			http.send(params);	
	}
		
	function getParams(){
	
		var params="";
		var fpurpose ="";
		var ffinish="";
		var fcost="";
		var fstyle="";
		var fpatterns="";
		var fscale="";
		var fcolor="";
		var fconstruction="";
		var fbacking="";
		
		if(document.fabricsFacetForm.fld_purpose.value.length>0)
			fpurpose="fp="+document.fabricsFacetForm.fld_purpose.value;
		if(document.fabricsFacetForm.fld_finish.value.length>0)	
			ffinish="ffinish="+document.fabricsFacetForm.fld_finish.value;
		if(document.fabricsFacetForm.fld_cost.value.length>0)	
			fcost="fc="+document.fabricsFacetForm.fld_cost.value;
		if(document.fabricsFacetForm.fld_style.value.length>0)	
			fstyle="fs="+document.fabricsFacetForm.fld_style.value;
		if(document.fabricsFacetForm.fld_patterns.value.length>0)	
			fpatterns="fd="+document.fabricsFacetForm.fld_patterns.value;	
		if(document.fabricsFacetForm.fld_scale.value.length>0)	
			fscale="fl="+document.fabricsFacetForm.fld_scale.value;			
		if(document.fabricsFacetForm.fld_color.value.length>0)	
			fcolor="fh="+document.fabricsFacetForm.fld_color.value;
		if(document.fabricsFacetForm.fld_backing.value.length>0)	
			fbacking="fback="+document.fabricsFacetForm.fld_backing.value;
		if(document.fabricsFacetForm.fld_construction.value.length>0)	
			fconstruction="fcon="+document.fabricsFacetForm.fld_construction.value;
						
		var params=fpurpose+"&"+ffinish;
			if(fcost.length>0)
				params+="&"+fcost;
			if(fstyle.length>0)
				params+="&"+fstyle;
			if(fpatterns.length>0)
				params+="&"+fpatterns;
			if(fscale.length>0)
				params+="&"+fscale;
			if(fcolor.length>0)
				params+="&"+fcolor;
			if(fbacking.length>0)
				params+="&"+fbacking;
			if(fconstruction.length>0)
				params+="&"+fconstruction;
		//	params+="&rows="+document.fabricsFacetForm.noOfResultsPerPage.value;
		//	params+="&start="+document.fabricsFacetForm.start.value;
		 return params;
	}
	
	
	function updatepage(str){
	
	      var F_PURPOSE='fld_purpose';
	      var F_FINISH='fld_finish';
	      var F_COST='fld_cost';
	      var F_STYLE='fld_style';
	      var F_PATTERNS='fld_patterns';
   	      var F_SCALE='fld_scale';
   	      var F_COLOR='fld_color';
   	      var F_CONSTRUCTION='fld_construction';
   	      var F_BACKING='fld_backing';
		 	
		  var rsp = eval("("+str+")"); // use eval to parse JSON response
		  var purpose = rsp.facet_counts.facet_fields.fpurpose;
		  var finish = rsp.facet_counts.facet_fields.fFinish;
		  var cost = rsp.facet_counts.facet_fields.fcost;
		  var sStyle = rsp.facet_counts.facet_fields.fstyle;
		  var sDesign = rsp.facet_counts.facet_fields.fdesign;
  		  var sScale = rsp.facet_counts.facet_fields.fscale;
   		  var sColor = rsp.facet_counts.facet_fields.fcolorgroup;
   		  var sConstruction = rsp.facet_counts.facet_fields.fcon;
   		  var sBacking = rsp.facet_counts.facet_fields.fback;
		  var fq = rsp.responseHeader.params.fq;
		  var docs = rsp.response.docs;

		  //display results			  
		  numFound =  rsp.response.numFound;
		  document.getElementById("fresults").innerHTML = numFound;
		//  document.getElementById("fresults_1").innerHTML = numFound;
		 // document.getElementById("fresults_2").innerHTML = numFound;
      	//  document.getElementById("fabricresult").innerHTML = numFound;
      	  
      	  //set content
	  	  document.getElementById("fpurpose").innerHTML  = getListHtml(purpose,'fp_',F_PURPOSE);
	  	  document.getElementById("fFinish").innerHTML 	 = getListHtml(finish,"ff_",F_FINISH);
	  	  document.getElementById("fcost").innerHTML 	 = getListHtml(cost,"fc_",F_COST);
	  	  document.getElementById("fbacking").innerHTML 	 = getListHtml(sBacking,"fback_",F_BACKING);
	  	  document.getElementById("fconstruction").innerHTML = getListHtml(sConstruction,"fcon_",F_CONSTRUCTION);
     	  document.getElementById("fpatterns").innerHTML = getListHtml(sDesign,"fd_", F_PATTERNS);
 	      document.getElementById("fscale").innerHTML 	 = getListHtml(sScale,"fl_", F_SCALE);
 	      
	      document.getElementById("fcolors").innerHTML   = getColorHtml(sColor,"fh_", F_COLOR);
     	  
     	  //set results
	  	//  document.getElementById("fresults_page").innerHTML = getResults(docs);

	  	  if(fq!=null){	
			document.fabricsFacetForm.fld_finish.value=updateSelectedItems(fq.toString(),"ff_");
			document.fabricsFacetForm.fld_purpose.value=updateSelectedItems(fq.toString(),"fp_");	
			document.fabricsFacetForm.fld_cost.value=updateSelectedItems(fq.toString(),"fc_");	
			document.fabricsFacetForm.fld_style.value=updateSelectedItems(fq.toString(),"fs_");	
			document.fabricsFacetForm.fld_patterns.value=updateSelectedItems(fq.toString(),"fd_");	
			document.fabricsFacetForm.fld_scale.value=updateSelectedItems(fq.toString(),"fl_");	
			document.fabricsFacetForm.fld_color.value=updateSelectedItems(fq.toString(),"fh_");
			document.fabricsFacetForm.fld_construction.value=updateSelectedItems(fq.toString(),"fcon_");
			document.fabricsFacetForm.fld_backing.value=updateSelectedItems(fq.toString(),"fback_");
		  }

		  attachEventIframe();
		  attachEventScroll();
		  //$("a[rel^='prettyPhoto']").prettyPhoto();
		 
 	}
 	
 	
 	function updateSearch(str){
 		 var rsp = eval("("+str+")"); // use eval to parse JSON response
 		 var fq = rsp.responseHeader.params.fq;
		 var docs = rsp.response.docs;

		  //display results			  
		 numFound =  rsp.response.numFound;
 		 document.getElementById("fabricresult").innerHTML = numFound;
 		 var resultsHtml = getResults(docs,document.fabricsFacetForm.isUser.value);

 		 if(document.fabricsFacetForm.isUser.value=='false')
 		 resultsHtml+=appendMessage(numFound-5);

 	  	 document.getElementById("fresults_page").innerHTML =resultsHtml;
 	
 	}
 	

		
	function getListHtml(strData,prefix,hiddenFld){
		if(strData == null){
			strData = ""
		}
		
		var sData1 = strData.toString();
		var sData = sData1.split(",");
		var sHtml ="<table cellpadding=0 cellspacing=0>";
		var sHtml1="";
		
		if(strData != ""){
			for(var i=0; i<sData.length; i++){
				sHtml1 +="<tr><td height=\"25\">";
				sHtml1 +="&nbsp;&nbsp;<input type=\"checkbox\" name=\""+prefix+sData[i]+"\" onclick=\"updateItems('"+hiddenFld+"','"+prefix+"');\" value=\"\">&nbsp;";
				
				if(prefix=='fc_'){
					sHtml1 += getCostLabel(sData[i])+"&nbsp;("+sData[i+1]+")";
				}else if(prefix=='ff_'){
					sHtml1 += getFinishLabel(sData[i])+"&nbsp;("+sData[i+1]+")";
				}else{
					sHtml1 += getHtmlLabel(sData[i])+"&nbsp;("+sData[i+1]+")";
				}
				
				sHtml1 +="</td></tr>";
				i++;
			}
		}
			sHtml += sHtml1;
			sHtml +="</table>";	
			
			
		return sHtml;	
	}
	
	function getColorHtml(strData,prefix,hiddenFld){
		var sData1 = strData.toString();
		var sData = sData1.split(",");
		var sHtml ="";
		
		for(var i=0; i<sData.length; i++){
			var colorData = sData[i].split("____");
			var swatchColor = colorData[0].replace(/\//g,"__");
			
			sHtml +="<div class=\"fitemcolor\">"	
			sHtml += "<table cellspacing=0 cellpadding=0 height=\"40\" width=\"200\"><tr>";
			sHtml += "<td width=\"50\"\"><img class=\"fabric_color_swatch\" src=\"/common/images/fabrics/colors/"+swatchColor+".jpg\"/></td>";
			sHtml +="<td width=\"5\">&nbsp;</td><td><input type=\"checkbox\" name=\""+prefix+ sData[i]+"\" onclick=\"updateItems('"+hiddenFld+"','"+prefix+"');\" value=\"\">&nbsp;";
			sHtml +=colorData[0]+"&nbsp;("+sData[i+1]+")</td>";
			sHtml += "</tr></table>";				
			sHtml +="</div>"	
			i++;
		}	
			
			sHtml +="<br style=\"clear: both;\"/>";
		return sHtml;
	}
	
	
	function updateItems(hiddenFld, prefix){
	
		var items = document.fabricsFacetForm.elements;
		var selectedItems ="";
		
		for(var i=0; i<items.length; i++){
			if(items[i].name.indexOf(prefix)>-1){
				if(items[i].checked == true){
					if(selectedItems.length>1){
						selectedItems += "|";
					}
					var fval = items[i].name.substring(items[i].name.indexOf("_",0)+1,items[i].name.length);
						selectedItems += fval;
				}		
			}
		}
		
		var objHiddenField = getFrmObject(hiddenFld);
		objHiddenField.value = selectedItems;
		xmlhttpPost(serviceUrl);
	}
	
	
	function getFrmObject(fieldname){
		return eval('document.fabricsFacetForm.'+fieldname);
	}
	
	function updateSelectedItems(sVal,prefix){
	
		var items = document.fabricsFacetForm.elements;
		var sItems =sVal.toString();
		var selectedItems ="";
		for(var i=0; i<items.length; i++){
			var prefixIdx = items[i].name.indexOf(prefix);
			var uscoreIdx = items[i].name.indexOf("_",0)+1;
			if(prefixIdx >-1 && (prefixIdx < uscoreIdx)){
				var fldName = items[i].name.substring(uscoreIdx,items[i].name.length);				
				if(sItems.indexOf(fldName)>-1){
					items[i].checked=true;
					if(selectedItems.length>0){
						selectedItems += "|";
					}
					selectedItems += ""+fldName;
				}
			}
		}
		return selectedItems;		
	}	
	
	var defaultTab='fapplication';
		
	function setCurrentTab(tabName){
	
			if(tabName=='fresult'){ //hide tabs display result tab
				/*document.getElementById('fapplication').style.display='none';
	 			document.getElementById('fpattern').style.display='none';
	 			document.getElementById('fcolor').style.display='none';
	 			 
 	 			document.getElementById('fabrciselectorheadertxt').style.display='none';
 	 			document.getElementById('fabricresultsheadertxt').style.display='block';
 				document.getElementById('fabricselectorheader').style.backgroundImage='url(/hdh/common/images/fabrics/fabricresultsheaderbg.gif)';
 				document.getElementById('fresult').style.display='block';
				document.getElementById('fresult_c').style.display='block';
				document.getElementById('fresult_f').style.display='block';
		
				refreshPagination();
	 			 
	 			 var prevTabContentName = defaultTab+"_c";
				 var prevTabFooterContent = defaultTab+"_f";
				 var prevTabContent = document.getElementById(prevTabContentName);
				 var prevTabFooter = document.getElementById(prevTabFooterContent);
				 

				 prevTabContent.style.display='none';
				 prevTabFooter.style.display='none';
				 
				 var selectedTabContentName = tabName+"_c";
				 var selectedTabContent = document.getElementById(selectedTabContentName);
				 selectedTabContent.style.display ='block';
				 refreshPagination();
				 $('#fresults_page').jScrollPane({showArrows:true, scrollbarWidth: 14, arrowSize: 14});
				  setScroll();*/
				 
			}else{
			
			//	document.getElementById('fabricselectorheader').style.backgroundImage='url(/hdh/common/images/fabrics/fabric_selector_header.gif)';
 	 		//	document.getElementById('fabrciselectorheadertxt').style.display='block';
 	 		//	document.getElementById('fabricresultsheadertxt').style.display='none';
 	 			
				if(defaultTab=='fresult'){ //reset if in results tab
					/*document.getElementById("fresult").style.display='none';
					document.getElementById("fresult_c").style.display='none';
					document.getElementById("fresult_f").style.display='none';
					
					document.getElementById('fapplication').style.display='block';
	 			 	document.getElementById('fpattern').style.display='block';
	 				document.getElementById('fcolor').style.display='block';*/
	 				
				}else{ //last tab hide
					var prevTab = document.getElementById(defaultTab);
					var prevTabContentName = defaultTab+"_c";
					var prevTabFooterContent = defaultTab+"_f";
					var prevTabContent = document.getElementById(prevTabContentName);
					var prevTabFooter = document.getElementById(prevTabFooterContent);						
	
					if(prevTab!=null)
					prevTab.style.backgroundColor='#A8A18F';
					if(prevTabContent!=null)
					prevTabContent.style.display='none';
					if(prevTabContent!=null)
					prevTabFooter.style.display='none';
				}
				
				var selectedTab = document.getElementById(tabName);
				var selectedTabContentName = tabName+"_c";
				var selectedTabFooterContent = tabName+"_f";
				var selectedTabContent = document.getElementById(selectedTabContentName);
				var selectedTabFooter = document.getElementById(selectedTabFooterContent);
				
				if(selectedTab!=null){
					selectedTab.style.display='block';
					selectedTab.style.backgroundColor='';
				}
				
				if(selectedTabContent!=null){
					selectedTabContent.style.display ='block';
					selectedTabFooter.style.display ='block';			
				}
				
				if(tabName=='fpattern'){
					$('#fconstruction').jScrollPaneRemove(); 
					$('#fFinish').jScrollPaneRemove(); 
					$('#fpatterns').jScrollPane({showArrows:true, scrollbarWidth: 14, arrowSize: 14});
					$('#fstyle').jScrollPane({showArrows:true, scrollbarWidth: 14, arrowSize: 14});
				}
				
				if(tabName=='fapplication'){
					$('#fpatterns').jScrollPaneRemove();
					$('#fstyle').jScrollPaneRemove();
					$('#fFinish').jScrollPane({showArrows:true, scrollbarWidth: 14, arrowSize: 14});
					$('#fbacking').jScrollPaneRemove();
				}
			}
			defaultTab =tabName;
		}		
		
	
		
		
		function nextPage(pageNo, sStart){ //refresh navigation not required between pages
			document.fabricsFacetForm.start.value= sStart;
			document.fabricsFacetForm.currentPage.value= pageNo;
			window.location.href=constructUrl();
		//	setCssClassName("pno_"+currentSelection,"pno");
		//	setCssClassName("pno_"+newSelection,"pno-selected");
			
		}
		
		function constructUrl(){
			var pageNo = document.fabricsFacetForm.currentPage.value;
			var storedParams = document.fabricsFacetForm.params.value;
			var rows = document.fabricsFacetForm.noOfResultsPerPage.value;
			var sStart = document.fabricsFacetForm.start.value;
			var sSortBy =document.fabricsFacetForm.sortBy.value;
			document.fabricsFacetForm.currentPage.value= pageNo;
		
			var strUrl = "/channel/fabric/search.jsp?"+ storedParams+"&start="+sStart+"&currPage="+pageNo+"&rows="+rows+"&sortBy="+sSortBy;		
			return strUrl;
		}
		
		
		function nextSet(pageNo, sStart){
			document.fabricsFacetForm.start.value= sStart;
			window.location.href=constructUrl();
		//	xmlhttpPost(serviceUrl);
		//	refreshPagination();
		}
		
		function displayResultsPage(){
		
			document.fabricsFacetForm.start.value='0';
			var strUrl = "/channel/fabric/search.jsp?"+ getParams();
			window.location.href=strUrl;
			
		//	xmlhttpPost(serviceUrl,"true");
		//	refreshPagination();
		}
		
		function setScroll(){
			$('#fresults_page').jScrollPaneRemove(); 
			$('#fresults_page').jScrollPane({showArrows:true, scrollbarWidth: 14, arrowSize: 14});
		}
		
		function setResultsPerpage(sval){
			 document.fabricsFacetForm.noOfResultsPerPage.value=sval;
			 document.fabricsFacetForm.start.value="0";
			 window.location.href=constructUrl();
			// xmlhttpPost(serviceUrl,"true");
			//refreshPagination();
		}
		
		function setSortpage(sval){
			 document.fabricsFacetForm.sortBy.value=sval;
			 window.location.href=constructUrl();
		}
		
		function showFabricDetail(id){

			var cSelection ="fab_"+id;	
			var currentfabId =document.fabricsFacetForm.fabselected.value;
			
			try{
				if(document.getElementById(currentfabId)!=null){
					setCssClassName(currentfabId,"fitem");				
				}
				if(document.getElementById(cSelection)!=null){
					setCssClassName(cSelection,"fitem fitemselected");
				}
			}catch(err){
			
			}
			document.fabricsFacetForm.fabselected.value =cSelection;
			
			document.getElementById("fabricselector").style.display='none';
			document.getElementById("fabricdetail").style.display='block';	
		}
		
		
		function showFabricResults(){
			document.getElementById("fabricdetail").style.display='none';	
			document.getElementById("fabricselector").style.display='block';
		}
		
		function setCssClassName(elementID, sclassName){
			var objElement = document.getElementById(elementID);
			if(objElement!=null){
				objElement.setAttribute("class", sclassName); //firefox
				objElement.setAttribute("className", sclassName); //IE
			}	
			return true;
		}
		
		function resetApp(fldPrefix){
			document.fabricsFacetForm.fld_finish.value="";
			document.fabricsFacetForm.fld_purpose.value="";
			document.fabricsFacetForm.fld_cost.value="";
			document.fabricsFacetForm.fld_backing.value="";
			resetSelection(fldPrefix);
		}
		
		function resetPattern(fldPrefix){
			document.fabricsFacetForm.fld_construction.value="";
			document.fabricsFacetForm.fld_style.value="";
			document.fabricsFacetForm.fld_patterns.value="";
			document.fabricsFacetForm.fld_scale.value="";
			resetSelection(fldPrefix);
		}
		
		function resetColor(fldPrefix){
			document.fabricsFacetForm.fld_color.value="";
			resetSelection(fldPrefix);
		}
		
		function resetAll(){
			var fldPrefix ="fp|fc|ff|fs|fd|fl|fh|fcon|fback";
				document.fabricsFacetForm.fld_finish.value="";
				document.fabricsFacetForm.fld_purpose.value="";
				document.fabricsFacetForm.fld_cost.value="";
				document.fabricsFacetForm.fld_color.value="";
				document.fabricsFacetForm.fld_construction.value="";
				document.fabricsFacetForm.fld_style.value="";
				document.fabricsFacetForm.fld_patterns.value="";
				document.fabricsFacetForm.fld_scale.value="";
				document.fabricsFacetForm.fld_backing.value="";
			resetSelection(fldPrefix);
		
		}
		
		function resetSelection(fldPrefix){
			var fldStartsWith = fldPrefix.split("|");
			var facetForm = document.fabricsFacetForm;
			
			for(var i=0; i<fldStartsWith.length; i++){
				for(j=0; j<facetForm.length; j++){

					if(facetForm[j].name.indexOf(fldStartsWith[i])>-1){
						if(facetForm[j].checked == true){
							facetForm[j].checked = false;
						}
					}
				}
			}
			xmlhttpPost(serviceUrl);
			return true;
		}	
		
	function getCostLabel(sNo){
		var cLabel="";
		if(sNo=="cost1")
			cLabel = "$";
		if(sNo=="cost2")
			cLabel = "$$";	
		if(sNo=="cost3")
			cLabel = "$$$";				
		return cLabel;	
	}
	
	function getFinishLabel(sName){
		if(sName=="Nanotex")
			sName = "Nanotex&reg;";
		else if(sName=="Bodyguard")
			sName = "Bodyguard&trade;";	
		else if(sName=="Blockaide")
			sName = "Blockaide&trade;";		
		else if(sName=="StainSmart")
			sName = "StainSmart&reg;";
		else if(sName=="CryptonFinish")
			sName = "Crypton&reg;";
		else if(sName=="Crypton_GreenFinish")
			sName = "Crypton&reg; Green";
		
		return sName.replace(/_/g," ");
	}
	
	function getHtmlLabel(sLabel){
		var label="";
		if(sLabel=="CryptonBacking"){
			label="Crypton&reg;";
		}else if(sLabel=="CryptonGreen"){
			label="Crypton&reg; Green";
		}else if(sLabel=="price9"){
			label="$";
		}else if(sLabel=="price100"){
			label="$$";
		}else if(sLabel=="999"){
			label="$$$";
		}else{
			label=sLabel.replace(/_/g," ");
		}
		return label;
	}

