	
	/************************************************
	*************************************************
					ROLLING FUNCTIONS
	*************************************************
	*************************************************/
	
	var clipLeft = 0;
	var clipWidth = 670;
	var clipBottom = 100;
	var leftper = 0;
	var lyrwidth = 0;
	var time,amount,theTime,theHeight,DHTML;
	
	var prod_id = "";
	var prod_img = "";
	var prod_name = "";
	var prod_desc = "";
	
	function resetProductDiv()
	{
		clipLeft = 0;
		clipWidth = 670;
		clipBottom = 100;
		leftper = 0;
		lyrwidth = 0;
	}
	
	function getUrlProduct(string)
	{
		thelayer = new getObj("nav_prod_th");
		posX = thelayer.style.left;
		if (posX.indexOf('-') >= 0)
			posX = posX.substring(posX.indexOf('-')+1, posX.length);
		if (posX.indexOf('px'))
			posX = posX.substring(0, posX.indexOf('px'));
		var url = string + "&productpos=" + posX;
		window.location.href = url;
	}
	
	function init()
	{	
		DHTML = (document.getElementById || document.all || document.layers)
		
		if (!DHTML) return;
		
		var x = new getObj('nav_prod_th');
		
		var clipstring = 'rect('+0+'px,'+clipWidth+'px,'+100+'px,'+clipLeft+'px)';
		x.style.clip = clipstring;
		
		adjustScrollProduct();
	}
	
	function adjustScrollProduct()
	{
		var url = parent.location.href;
		if(url.indexOf('&productpos')>= 0)
		{
			var prdPos = parseInt(url.slice(url.indexOf('&productpos')+12,url.length));
			if(isNaN(prdPos))
				prdPos = 0;
		}
		else
			prdPos = 0;
		thelayer = new getObj("nav_prod_th");
		clipWidth = clipWidth+prdPos;
		clipLeft = clipLeft+prdPos;
		leftper = -prdPos;
		clipstring = 'rect('+0+'px,'+clipWidth+'px,'+100+'px,'+clipLeft+'px)';	
		thelayer.style.clip = clipstring;
		thelayer.style.left = leftper + 'px';
		thelayer.style.right = clipWidth + 'px';
	}

	function scrollayer(layername,amt,tim)
	{
		if (!DHTML) return;
		thelayer = new getObj(layername);
		if (!thelayer) return;
		amount = amt;
		theTime = tim;
		realscroll();
	}

	function stopScroll()
	{
		if (time) clearTimeout(time);
	}

	function realscroll()
	{
		if (!DHTML) return;
		clipLeft += amount;
		clipWidth += amount;
		leftper -= amount;
		if (clipLeft < 0 )//|| clipLeft > lyrwidth)
		{
			clipLeft -= amount;
			clipWidth -= amount;
			leftper += amount;
			return;
		}
		if (clipWidth > lyrwidth + 10)
		{	
			clipLeft -= amount;
			clipWidth -= amount;
			leftper += amount;
			return;
		}
			
		clipstring = 'rect('+0+'px,'+clipWidth+'px,'+100+'px,'+clipLeft+'px)';
		thelayer.style.clip = clipstring;
		thelayer.style.left = leftper + 'px';
		thelayer.style.right = clipWidth + 'px';
		time = setTimeout('realscroll()',theTime);
	}

	function getObj(name)
	{
	  if (document.getElementById)
	  {
	    this.obj = document.getElementById(name);
		this.style = document.getElementById(name).style;
	  }
	  else if (document.all)
	  {
	    this.obj = document.all[name];
		this.style = document.all[name].style;
	  }
	  else if (document.layers)
	  {
	   	this.obj = document.layers[name];
	   	this.style = document.layers[name];
	  }
	}

	function addEvent(obj, evType, fn){
	 if (obj.addEventListener){
	   obj.addEventListener(evType, fn, true);
	   return true;
	 } else if (obj.attachEvent){
	   var r = obj.attachEvent("on"+evType, fn);
	   return r;
	 } else {
	   return false;
	 }
	}

	function toggleProd(id,state,mgTop){
		
		if(state == 'show'){
			document.getElementById(id).style.display = 'block'
			document.getElementById('nav_cat').style.left = "221px";
			document.getElementById('nav_cat').style.marginTop = mgTop;
		} else {
			document.getElementById(id).style.display = 'none'
		}
		
	}
	
	/************************************************
	*************************************************
					FILTER FUNCTIONS
	*************************************************
	*************************************************/
	
	
	var filter = new Array(4);
	var nameColumn = new Array(4);
	
	/*
	******************** WARNING *******************
	This property MUST be configured before using product selector functions
	************************************************
	1 - Find Products
	2 - Product Detail Page
	3 - Routine Home
	4 - Routine Detail
	*/
	var prodSelectorPage ; 
	
	nameColumn[1] = "What are you looking for?";
	nameColumn[2] = "What&rsquo;s the problem?";
	nameColumn[3] = "What&rsquo;s your skin like?";
	
	function adjustSelectorWidth(prodLength){
		document.getElementById("nav_prod_th").style.width = prodLength * 72 + "px";
		lyrwidth = prodLength * 73 ;
	}
	
	function getFilteredProducts(){
		
		var filterForm = {
			filter1: filter[1],
            filter2: filter[2],
			filter3: filter[3]
		};
		
		//Call the Java method using the JavaScript Function - DWR ajax
		ProductSelectorAjax.getFilterProducts(filterForm,{callback:cbGetFilteredProducts});
	
	}
	
	function getFilteredProductsWithRoutine(){
		
		var filterForm = {
			filter1: filter[1],
            filter2: filter[2],
			filter3: filter[3]
		};
		
		//Call the Java method using the JavaScript Function - DWR ajax
		ProductSelectorAjax.getFilterProductsWithRoutine(filterForm,{callback:cbGetFilteredProducts});
	
	}
	
	
	function cbGetFilteredProducts(param) {
		
		filterProducts(param);
		
	}
	
	function getEnabledFilters(){
		
		var filterForm = {
			filter1: filter[1],
            filter2: filter[2],
			filter3: filter[3]
		};
		
		ProductSelectorAjax.getEnabledFilters(filterForm,{callback:cbGetEnabledFilters});
	
	}
	
	function cbGetEnabledFilters(param) {
		
		enableFilters(param); 
		
	}
	
	
	function filterProducts(filteredProducts){
  				
  		var products = filteredProducts.split(",");
  	
  		adjustSelectorWidth(products.length);
 		
  		var root = document.getElementById('prod_content');
  		var childs = root.getElementsByTagName("li");
  		for( i = childs.length - 1; i >= 0; i-- ) {
      		childs[i].style.display = 'none';
    	}
    	
		for( j = 0 ; j < products.length ; j++ ) {
    		document.getElementById("prodSelector_" + products[j]).style.display = 'inline';	
    	}     	
		
	}
	
	function disableAllFiltersBox(){
		
		var subcat = new Array(4);
		
		if (prodSelectorPage != 3) subcat[1] = document.getElementById('nav_section_1_box');
		subcat[2] = document.getElementById('nav_section_2_box');
		subcat[3] = document.getElementById('nav_section_3_box');
		
		var childs, offset;
		
		if (prodSelectorPage != 3) offset = 1;
		else offset = 2;
		
		for ( colNumber = offset ; colNumber < 4 ; colNumber++){
			childs = subcat[colNumber].getElementsByTagName("li");
	  		for( i = childs.length - 1; i >= 0; i-- ) {
	      		childs[i].className = "filter_inactive";
	    	}
    	}
    	
    }
    
    function disableAllFiltersProdSelector(){
    	
    	var subcat = new Array(4);
    	
    	if (prodSelectorPage != 3) subcat[1] = document.getElementById('nav_section_1_cat'); 
		subcat[2] = document.getElementById('nav_section_2_cat');
		subcat[3] = document.getElementById('nav_section_3_cat');
    	
    	var childs, offset;
		
		if (prodSelectorPage != 3) offset = 1;
		else offset = 2;
    	
    	for ( rowNumber = offset ; rowNumber < 4 ; rowNumber++){
	    	childs = subcat[rowNumber].getElementsByTagName("li");
	  		for( j = childs.length - 1; j >= 0; j-- ) {
	      		childs[j].className = "filter_selector_inactive";
	    	}
	    }
	}
	
	function enableFilters(enabledFilters){
	
		if ((prodSelectorPage == 1) || (prodSelectorPage == 3)) disableAllFiltersBox();
		
		disableAllFiltersProdSelector();
		
		var filters = enabledFilters.split(",");

		for( i = 0 ; i < filters.length ; i++ ) {
    		if ((filters[i] !=  filter[1]) && (filters[i] !=  filter[2]) && (filters[i] !=  filter[3])){
    			if ((prodSelectorPage == 1) || (prodSelectorPage == 3)) {
    				if (document.getElementById("idFilter_" + filters[i])) document.getElementById("idFilter_" + filters[i]).className = "filter_active";
    			}
    			if (document.getElementById("idFilterSelector_" + filters[i])) document.getElementById("idFilterSelector_" + filters[i]).className = "";
    		}
    	}    	
    	
	}
	
	function updateMenuProdSelector(column, id){
		
		if (id == '0'){	
			document.getElementById('nav_section_' + column).style.backgroundColor = '#6D509A';
			document.getElementById('nav_section_' + column).style.backgroundImage = 'url(images/illustrations/arrow_nav_section.gif)';
			document.getElementById('nav_section_' +  + column + '_link').href = "javascript:void(0);";
			if ((prodSelectorPage == 1) || (prodSelectorPage == 3)) document.getElementById('box_' + column + '_resetLink').style.visibility = 'hidden';
			document.getElementById('nav_section_' + column + '_txt').innerHTML = nameColumn[column];
		} else {
			document.getElementById('nav_section_' + column).style.backgroundColor = '#8375C4';
			document.getElementById('nav_section_' + column).style.backgroundImage = 'url(images/illustrations/close_nav_section.gif)';
			document.getElementById('nav_section_' +  + column + '_link').href = "javascript:setFilter(" + column + ", '0');";
			document.getElementById('nav_section_' + column + '_txt').innerHTML = document.getElementById('idFilterSelector_' + id + '_name').innerHTML ;
		}
		
	}
	
		function updateMenuProdSelectorWithRoutine(column, id){
		
		if (id == '0'){	
			document.getElementById('nav_section_' + column).style.backgroundColor = '#6D509A';
			document.getElementById('nav_section_' + column).style.backgroundImage = 'url(images/illustrations/arrow_nav_section.gif)';
			document.getElementById('nav_section_' +  + column + '_link').href = "javascript:void(0);";
			if ((prodSelectorPage == 1) || (prodSelectorPage == 3)) document.getElementById('box_' + column + '_resetLink').style.visibility = 'hidden';
			document.getElementById('nav_section_' + column + '_txt').innerHTML = nameColumn[column];
		} else {
			document.getElementById('nav_section_' + column).style.backgroundColor = '#8375C4';
			document.getElementById('nav_section_' + column).style.backgroundImage = 'url(images/illustrations/close_nav_section.gif)';
			document.getElementById('nav_section_' +  + column + '_link').href = "javascript:setFilterWithRoutine(" + column + ", '0');";
			document.getElementById('nav_section_' + column + '_txt').innerHTML = document.getElementById('idFilterSelector_' + id + '_name').innerHTML ;
		}
		
	}
	
	function setFilter(column, id){
		
		resetProductDiv();	
		
		filter[column] = id;
		
		if ((prodSelectorPage == 1) || (prodSelectorPage == 3)){
			if (id != '0'){	
				document.getElementById("box_" + column + "_resetLink").style.visibility = "visible";
				if (document.getElementById("idFilter_" + id).className == "filter_inactive")
					return;
				if (document.getElementById("idFilterSelector_" + id).className == "filter_selector_inactive")
					return;
			} 
		}
		
		//chamada para filtro de produtos
		getFilteredProducts();
			
		//chamada para funþÒo que retorna quem deve ser desabilitado
		getEnabledFilters();
			
		updateMenuProdSelector(column, id);
		
		init();
		
	}
	
		function setFilterWithRoutine(column, id){
		
		resetProductDiv();	
		
		filter[column] = id;
		
		if ((prodSelectorPage == 1) || (prodSelectorPage == 3)){
			if (id != '0'){	
				document.getElementById("box_" + column + "_resetLink").style.visibility = "visible";
				if (document.getElementById("idFilter_" + id).className == "filter_inactive")
					return;
				if (document.getElementById("idFilterSelector_" + id).className == "filter_selector_inactive")
					return;
			} 
		}
		
		//chamada para filtro de produtos
		getFilteredProductsWithRoutine();
			
		//chamada para funþÒo que retorna quem deve ser desabilitado
		getEnabledFilters();
			
		updateMenuProdSelectorWithRoutine(column, id);
		
		init();
		
	}
	
