 function isEmpty(anyValue)
{ whiteSpace = new RegExp(/^\s+$/);if(anyValue==null || whiteSpace.test(anyValue) || anyValue=="")return true; else return false;}



 var $expandMenu = function(jObject, checkString){
	 	if(!isEmpty(checkString)){
	 	jObject.children("a").each(function() {
	 		if(checkString.indexOf(jQuery(this).text())>-1)
					jQuery(this).parent("li").children("ul").fadeIn("fast");
				
				});
		}
		};
 
 
 var $reloadSideBarColour = function(jObject, checkString){
	 	if(!isEmpty(checkString)){
	 	jObject.find("a").each(function() {
				if(checkString.indexOf(jQuery(this).attr("id"))>-1)
					jQuery(this).addClass("selected");
				});
		}
		};

	var $reloadSideBarPrice = function(jObject, checkString){
	if(!isEmpty(checkString)){
	jQuery("#priceHeading").fadeIn();
	$expandTree(jQuery("#priceHeading"),jQuery("#priceRangeMenu"),'true');
		jObject.find("a").each(function() {
			if(checkString.indexOf(jQuery(this).attr("id"))>-1)
				jQuery(this).addClass("selected");
			});
		}
		};
	 
	 var $reloadSideBar = function(jObject, checkString){
				if(!isEmpty(checkString)){
				checkString="|"+ checkString + "|";  //JDSZ 355
				jObject.find("a").each(function() {
					if(checkString.indexOf("|"+jQuery(this).attr("id")+"|")>-1) //  before JDS 1010, then changed for JDSZ 355
					{
					if(jQuery(this).hasClass("unavailable")) jQuery(this).removeClass("unavailable"); // this condition if specially for size attr. As they are unavailable on load.
						jQuery(this).addClass("selected");
					}
					});
			}
		};
		
		
	var $reloadSideBarCategory = function(jObject, checkString){
				if(!isEmpty(checkString)){
					jObject.children("a").each(function() {
					if(jQuery(this).hasClass("unavailable"))jQuery(this).removeClass("unavailable");
					if(checkString.indexOf(jQuery(this).text())>-1)
					jQuery(this).addClass("selected");
					else
					jQuery(this).addClass("unavailable");
					});
				}
		};
			
	 //alert(noChangeDiv);
		var $refreshSideBar = function(jObject, checkString){
				jObject.removeClass("unavailable");
				jObject.attr({title : "Select "+jObject.text()});
		  			if(!jObject.hasClass("selected") && checkString.indexOf(jObject.text()+",")<0)
	   					{
	   					jObject.attr({title : "Please clear your selection to filter by "+jObject.attr("title")});
	   					jObject.addClass("unavailable");
	   					}
		};
		
		
		var $refreshSideBarCategory = function(jObject, checkString){
				jObject.removeClass("unavailable");
				jObject.attr({title : "Select "+jObject.text()});
		  			if(!jObject.hasClass("selected") && checkString.indexOf("cat^"+jObject.attr("id")+",")<0)
	   					{
	   					jObject.attr({title : "Please clear your selection to filter by "+jObject.attr("title")});
	   					jObject.addClass("unavailable");
	   					}
		};
		
		var $refreshSideBarSize = function(jObject, checkString){
		
		
				if(isEmpty(isDepartmentPg)){
				jObject.parent().removeClass("unavailable");
				jObject.attr({title : "Select "+jObject.text()});
		 			if(!jObject.hasClass("selected") && checkString.indexOf(","+jObject.attr("id")+",") < 0)
	   					{
	   					jObject.attr({title : "Please clear your selection to filter by "+jObject.attr("title")});
	   					jObject.parent().addClass("unavailable");
	   					}
	   				}
		};
	
	
	
	 
	
		
		var $refreshSideBarColour = function(jObject, checkString){
				jObject.parent().removeClass("unavailable");
				jObject.attr({title :"Select "+jObject.attr("id")});
		  			if(!jObject.hasClass("selected") && checkString.indexOf(","+jObject.attr("id")+",")<0)
	   					{
	   						jObject.attr({title : "Please clear your selection to filter by "+jObject.attr("id")});
	   						jObject.parent().addClass("unavailable");
	   					}
		};
		
	
var $registerAll = function(){

jQuery("#listContent").fadeIn("slow");

		if(refineCategories.length > 0)
		{	
				jQuery("#categoryMenuList > li").find("a").each(function() {
					$refreshSideBarCategory(jQuery(this),refineCategories);
				});
		
				// because of the request of top level categories when we click on clear all, we need to enable all these links
				//if(SubCategoryName=="")
				//jQuery("#categoryMenuList > li").find("a").each(function() {
				//	this.removeClass("unavailable");
				//});
				//if(childSubCategoryName=="" && refineCategories.length > 0)
				//{
				//jQuery("#categoryMenuList > li > ul > li").find("a").each(function() {
				//	$refreshSideBar(jQuery(this),refineCategories);
				//});
				//}
		}
	

	  	
	  	if((noChangeDiv !='Colour' || noChangeDiv =='')&& refineColor.length > 0)
		{//alert("In colour disable" + refineColor);
			jQuery("#Colour > li ").find("a").each(function() {
						$refreshSideBarColour(jQuery(this),refineColor);
	  	});
	  	}	
	  	
	  	if((noChangeDiv !='Highlight' || noChangeDiv =='')&& refineHighlight.length > 0)
		{//alert("In colour disable" + refineHighlight);
		jQuery("#Highlight > li ").find("a").each(function() {
						$refreshSideBarColour(jQuery(this),refineHighlight);
	  	});
	  	}		
	  		
	  	if((noChangeDiv !='Brand' || noChangeDiv =='') && refineBrands.length > 0)
		{//alert("In brand disable" + refineBrands);
			jQuery("#Brand > li ").find("a").each(function() {
						$refreshSideBar(jQuery(this),refineBrands);
	  						 });
	 	}		
	 	
	 		if((noChangeDiv !='SizeMensClothing' || noChangeDiv ==''))
		{
		//alert("Mens clothing : "+refineSizeMensClothing);
			jQuery("#SizeMensClothing > li ").find("a").each(function() {
						$refreshSideBarSize(jQuery(this),refineSizeMensClothing);
	  						 });
	 	}	
	 	
	 	if((noChangeDiv !='SizeMensFootwear' || noChangeDiv ==''))
		{
		//alert("Mens footwear : "+refineSizeMensFootwear);
			jQuery("#SizeMensFootwear > li ").find("a").each(function() {
						$refreshSideBarSize(jQuery(this),refineSizeMensFootwear);
	  						 });
	 	}	
	 	
		if((noChangeDiv !='SizeMensAccessories' || noChangeDiv ==''))
		{
		//alert("Mens accessories : "+refineSizeMensAccessories);
			jQuery("#SizeMensAccessories > li ").find("a").each(function() {
						$refreshSideBarSize(jQuery(this),refineSizeMensAccessories);
	  						 });
	 	}	
	 	
	 	jQuery("#perPage > p ").find("a").each(function() {
			if(jQuery(this).attr("id") == perPage)
	   			{
	   				jQuery(this).addClass("current");
	   			}
	  		 });
	 						 
	 	jQuery("#pagination > p > a").click(function() { 
	 			position= jQuery(this).attr("id");
	 			$refreshPage(position);
	         }); 
	   
	    jQuery("#perPage > p > a").click(function() { 
	    
	   			perPage=jQuery(this).attr("id");
	   			//alert(perPage)	
	   			position=1; 
	   			$refreshPage(position);
	         });              
	    
	    jQuery("#perPageBottom > p ").find("a").each(function() {
			if(jQuery(this).attr("id") == perPage)
	   			{
	   				jQuery(this).addClass("current");
	   			}
	  		 });
	 						 
	 	jQuery("#paginationBottom > p > a").click(function() { 
	 			position= jQuery(this).attr("id");
	 			$refreshPage(position);
	         }); 
	   
	    jQuery("#perPageBottom > p > a").click(function() { 
	    
	   			perPage=jQuery(this).attr("id");
	   			//alert(perPage)	
	   			position=1; 
	   			$refreshPage(position);
	         });              
	 	
	 	
	
	  jQuery("select#sort_by").change(function(){
		  sortfield=jQuery(this).val();
		  $refreshPage(1);
	  });  
	  

 	if(isBack=='true' || getAllResults=='true')
		{				
						
						//alert("brands "+brands)
						$reloadSideBar(jQuery("#Brand > li "),brands);
						//alert("colours "+colours)
						$reloadSideBarColour(jQuery("#Colour > li "),colours);
						//alert("hightlights "+highlights)
						$reloadSideBarColour(jQuery("#Highlight > li "),highlights);
						//alert("prices "+prices)
						$reloadSideBarPrice(jQuery("#Price > li "),prices);
						//alert("SizeMensClothing "+SizeMensClothing)
						$reloadSideBar(jQuery("#SizeMensClothing > li "),SizeMensClothing);
						//alert("SizeMensFootwear "+SizeMensFootwear)
						$reloadSideBar(jQuery("#SizeMensFootwear > li "),SizeMensFootwear);
						//alert("SizeMensFootwear "+SizeMensFootwear)
						$reloadSideBar(jQuery("#SizeMensAccessories > li "),SizeMensAccessories);
						//alert("SizeMensAccessories "+SizeMensAccessories)
						$reloadSideBarCategory(jQuery("#categoryMenuList > li "),SubCategoryName);
						//alert("SubCategoryName "+SubCategoryName)				
						if(sale =='sale')
						jQuery("#saleMenu > ul > li > a").addClass("selected");
						isBack="";
						getAllResults="false";
		}
	 	
	 	 
	 
			
	 
	};
	
	