fredhopperJS={
		ajaxParameter : '&rt=ajax',
		cmmodal : null,
		fhMultiSelectLink : function (control,headerFilterVal, urlVal) {
			if(control.type=='checkbox')
			{
				urlVal = urlVal +"&isMultiSelected="+control.checked; 				
			} 
			else	
			{
				var hyperlink_id = control.id;
				var ids = hyperlink_id.split("_");
				var relatedCheckBox = document.getElementById("check_"+ids[1]+"_"+headerFilterVal+"_"+ids[3]);
				if(relatedCheckBox.checked){
					relatedCheckBox.checked=false;	
				}else {
					relatedCheckBox.checked=true;
				}
				urlVal = urlVal +"&isMultiSelected="+relatedCheckBox.checked; 						
			}
			
			var selFacets = "";
			var multiSelectControls = document.getElementsByName(headerFilterVal);
			for(var i=0;i<multiSelectControls.length;i++)
			{
				if(multiSelectControls[i].type=='checkbox' && multiSelectControls[i].checked)
				{
					var ids  = multiSelectControls[i].id.split("_");
					if(selFacets=="")
					{
						selFacets = ids[3];	
					}
					else
					{
						selFacets+= "_"+ids[3];
					}	
				}
			}			
			urlVal = urlVal+"&selectedFacets="+selFacets;
			document.location.href=urlVal;			
		},
		setFhNavigateParam : function (urlVal, showAllVal,facetStrSortreq) {
			document.getElementById("urlId").value=urlVal;
			document.getElementById("isLeftNav").value=true;
			if(showAllVal != "" && showAllVal == true){
				document.getElementById("showAllUrl").value=urlVal;
			}
			document.facetNavForm.facetStrSortreq.value = facetStrSortreq;
			document.facetNavForm.submit();
		},
		setViewPerPage : function (viewAllUrl, nbrOfResults, resultsPerPage, pageView,facetStrSortreq){
			document.getElementById("viewAllUrl").value=viewAllUrl;
			document.getElementById("totalResults").value=nbrOfResults;
			document.getElementById("resultsPerPage").value=resultsPerPage;
			if(resultsPerPage == ""){
				document.getElementById("pageSize").value=nbrOfResults;
			} else {
				document.getElementById("pageSize").value=0;
			}
			document.getElementById("pageView").value=pageView;
			document.facetNavForm.facetStrSortreq.value = facetStrSortreq;
			document.facetNavForm.submit();
		},

		setFhNavigateParamMultiSelect : function (checkbox, parentUrl, value, title){
			document.getElementById("parentUrl").value=parentUrl;
			document.getElementById("multiSelectValue").value=value;
			document.getElementById("facetHeader").value=title;
			if(checkbox.checked == true){
				document.getElementById("isMultiSelected").value=true;		
			} else {
				document.getElementById("isMultiSelected").value=false;		
			}		
			document.facetNavForm.submit();
		},

		submitPaging : function (newPageNum, nbrOfResults, pageView, facetStrSortreq) {
			document.facetNavForm.currentPage.value = newPageNum;
			document.facetNavForm.resultsPerPage.value = nbrOfResults;
			document.facetNavForm.facetStrSortreq.value = facetStrSortreq;
			document.facetNavForm.submit();
		},
		validatePriceRangeForm : function (urlVal, facetStrSortreq){
			var fromVal = parseFloat(document.getElementById("from").value);
			var toVal = parseFloat(document.getElementById("to").value);
			//document.facetNavForm.facetStrSortreq.value = facetStrSortreq;
			if(document.getElementById("from").value == "" || document.getElementById("to").value == ""){
				document.getElementById("priceError").style.display = "block";
				document.getElementById("priceGreaterError").style.display = "none";
				document.getElementById("priceNotNumericError").style.display = "none";
				return false;
			} else if(!MessageHelper.IsNumeric(document.getElementById("from").value, true) || !MessageHelper.IsNumeric(document.getElementById("to").value, true)){
				document.getElementById("priceNotNumericError").style.display = "block";
				document.getElementById("priceError").style.display = "none";
				document.getElementById("priceGreaterError").style.display = "none";
				return false;
			}else if(fromVal >= toVal) {	
				document.getElementById("priceGreaterError").style.display = "block";
				document.getElementById("priceError").style.display = "none";
				document.getElementById("priceNotNumericError").style.display = "none";
				return false;
			}else {
				document.getElementById("priceError").style.display = "none";
				document.getElementById("priceGreaterError").style.display = "none";
				document.getElementById("priceNotNumericError").style.display = "none";
				document.forms["price_form"].submit();
				//page_loaded();
			}
		},

		sortByFeature : function (fId, pageView, sortChanged, nbrOfResults, facetStrSortreq) {
			document.getElementById("sortbyId").value=fId;
			document.getElementById("pageView").value=pageView;
			document.getElementById("sortChanged").value=sortChanged;
			document.facetNavForm.resultsPerPage.value = nbrOfResults;
			document.facetNavForm.currentPage.value = 0;
			document.facetNavForm.facetStrSortreq.value =facetStrSortreq;
			
			document.facetNavForm.submit();
		},

		loadView : function  (url, view) {
			document.getElementById("pageView").value=view;
			document.getElementById("viewUrl").value=url;
			document.facetNavForm.submit();
		},


		toggleDiv : function (divid){
		    //$(divid).toggleClass('toggle_open').toggleClass('toggle_close');
		    if(document.getElementById(divid).className == 'toggle_open togglePaddBtm'){
				document.getElementById(divid).className = 'toggle_close togglePaddBtm';
			}else{
				document.getElementById(divid).className = 'toggle_open togglePaddBtm';
		    }
		  },
		  toggleImage : function (divid){
		    if(document.getElementById(divid).className == 'left_nav_close')	{
		      	document.getElementById(divid).className = 'left_nav_open';
			}else{
		      document.getElementById(divid).className = 'left_nav_close';	 
		    }
		 },
		 page_loaded : function (){
			 if(document.getElementById('loading')!=null) {
			document.getElementById('loading').style.display="block";
			 }
		},
	setFhBreadCrmbParam : function  (urlVal) {
		document.getElementById("breadCrumbUrl").value=urlVal;
		document.fhBreadCrumbForm.submit();
	},
	
	showAll : function (elementName,multiSelect,url) {
		//create callback parameters object
		var callbackParams = {"elementName":elementName,"multiSelect":multiSelect};
		makeHttpRequest(url + ajaxParameter, 'fredhopperJS.showAllCallback',callbackParams,false);
	},
	
	showAllCallback : function (response,callbackParams) {
		var isMultiSelect = callbackParams['multiSelect'];
		var element =  document.getElementById(callbackParams['elementName']);
		//hide body content
		// $('#body_content').unblock();
		
		// window.alert("E:" + element.name + " M:" +isMultiSelect);
		if (isMultiSelect){
			var moreDIV = document.getElementById('showAllContent');
			if (moreDIV === null){
			 moreDIV = document.createElement('div');
				moreDIV.setAttribute('id','showAllContent');
				moreDIV.setAttribute('class','showAllContent modal-colours'); //IE
				moreDIV.setAttribute('className','showAllContent modal-colours'); //IE			 
				document.body.appendChild(moreDIV);
			}
			moreDIV.innerHTML = response

			$('.custom_checkbox li').click(function() {
			$(this).toggleClass('selected');
			 return false;
			}); 
			cmmodal = $('.showAllContent').modal({'zIndex':1600});
			
			} else {
				element.innerHTML=response;
			}
	},
	closeAndProcessMoreOverlay : function (anElement) {
		if (cmmodal) {
			fredhopperJS.buildMultiFacetRequestFromDOM();
			cmmodal.close();
			cmmodal = null;
			document.body.removeChild(document.getElementById('showAllContent'));
		}
	},
	buildMultiFacetRequestFromDOM : function () {

		// Get the more form and get the selected elements from it.
		var moreForm = document.getElementById('more-overlay-form');
		var mfvParams = '&mfv=' + moreForm.facetId.value;
		var removelid = moreForm.removeAllValuesForShowAll.value;
		// if (facetContext.sidValue != "") {
		// facetContext.sidValue = facetContext.sidValue.replace('+', '*');
		// parameters = parameters + '&sid=' + facetContext.sidValue;
		// }

		var itemsSelected = false;
		var selectionsChanged = false;
		// Now iterate over the listItems to find out what
		if (moreForm != null) {
			// Now get the list itmes
			var listItems = moreForm.getElementsByTagName('li');
			var theID;
			// For each item we need to determine if they are selected or not and
			// use a new attribute
			// to send this information to the server
			if (listItems.length > 0) {
				for (i = 0; i < listItems.length; i++) {
					if (listItems[i].className.indexOf('selected') > -1) {
						mfvParams = mfvParams + ';'
								+ fredhopperJS.getIdForInputField(listItems[i]);
						itemsSelected = true;
						// If a new selection it will not have an id
						if (listItems[i].getAttribute('id') == null
								|| listItems[i].getAttribute('id') == '') {
							selectionsChanged = true;
						}
					} else {
						// We need to check if the change has been to deselect
						// everything, i.e. not selected by we previously
						if (listItems[i].getAttribute('id') != null
								&& listItems[i].getAttribute('id').indexOf('_prev') > -1) {
							selectionsChanged = true;
						}
					}
				}
				// If itemsSelected then send the selections
				if (selectionsChanged) {
					var theURL = null;
					if (itemsSelected) {
						theURL = moreForm.action + mfvParams;
					} else {
						theURL = removelid;
					}
					window.location = theURL;
				}
			}
		}
	},
	 getIdForInputField : function(aListItem) {
		var itemID = '';
		if (aListItem.getElementsByTagName('input').length > 0) {
			itemID = (aListItem.getElementsByTagName('input')[0])
					.getAttribute('id');
		}
		return itemID.replace('_more', '');

	},
	
	selectFacet: function(url){
		window.location = url;
	}
}
//$(document).ready(function() {
//	$('html').css({'overflow-x':'hidden'});// this code to remove Horizontal scroll in page
//	$('.loadpage').click(function(){
//		fredhopperJS.page_loaded();
//		var hhh = $("#four-grid").height();
//		var www = $("#four-grid").width();
//		$("#loading_test").css({'height': hhh,'width': www,'display':'block','visibility':'visible' });
//	});

//});
