//-------------------------------

function setPage(page, cat) { 
	
	if( cat != "" )
	{
		jQuery('#currentCatInput').attr('value', cat);
	}
	
	jQuery('#currentPageInput').attr('value', page);	
	applyAdvanceFilter();	
}

var arrObjFilters = new Object();

//--- TRANSLATE VARIABLE BY INDEXA INTERNET  - Para ser usado nos titulos dos filtros ---//

var translate = [];
translate['color'] 			= {'singular':'cor', 'plural':'cores'};
translate['Color'] 			= {'singular':'Cor', 'plural':'Cores'};
translate['newsize'] 		= {'singular':'tamanho', 'plural':'tamanhos'};
translate['Newsize'] 		= {'singular':'Tamanho', 'plural':'Tamanhos'};
translate['tamanho'] 		= {'singular':'tamanho', 'plural':'tamanhos'};
translate['Tamanho'] 		= {'singular':'Tamanho', 'plural':'Tamanhos'};
translate['manufacturer']	= {'singular':'marca', 'plural':'marcas'};
translate['Manufacturer']	= {'singular':'Marca', 'plural':'Marcas'};
//---------------------------------------------------------------------------------------//
/*
jQuery(function(){
	jQuery("#catalogFiewFilterForm :input:checkbox").live('hover', function(index, value) {
		var Name = 'label'+value.name.substring(0, value.name.length-2)+value.value;
		jQuery("#"+Name).attr('class', 'filter-unchecked-new');
		name = value.name.substring(0, value.name.length-2);
		
		jQuery("#filterTitle" + name).html('<span>'+ translate[name].singular +'</span>');
		var description = jQuery("#filterTitle"+name).next().find('div.filterItemDescr').html();
		description = description.replace(eval('/'+name+'/i'), translate[name].singular);
		jQuery("#filterTitle"+ name).next().find('div.filterItemDescr').html(description);
	});
});
*/

function applyAdvanceFilter(homeurl) {	
	// Prepare filters array
	var arrData = new Array();
	
	// Clear all checkboxes
	
	var allInputs = jQuery("#catalogFiewFilterForm :input:checkbox");
	jQuery.each(allInputs, function(index, value) {
		var Name = 'label'+value.name.substring(0, value.name.length-2)+value.value;
		jQuery("#"+Name).attr('class', 'filter-unchecked-new');
		name = value.name.substring(0, value.name.length-2);
		
		jQuery("#filterTitle" + name).html('<span>'+ translate[name].singular +'</span>');
		var description = jQuery("#filterTitle"+name).next().find('div.filterItemDescr').html();
		description = description.replace(eval('/'+name+'/i'), translate[name].singular);
		jQuery("#filterTitle"+ name).next().find('div.filterItemDescr').html(description);
	});
	
	// Get selected filters, mark checked all selectes and set filter names/values into array
	var allInputs = jQuery("#catalogFiewFilterForm :input:checkbox:checked");
	var arrFilters = new Object();
	
    jQuery.each(allInputs, function(index, value) {
    	if (value.value.length>0) {
    		arrData[arrData.length] = value.name+'='+value.value;
    	}
		var Name = 'label'+value.name.substring(0, value.name.length-2)+value.value;
		var fName = value.name.substring(0, value.name.length-2);
		
		if (!arrFilters[fName]) { 
			arrFilters[fName] = new Array(value.name.substring(0, value.name.length-2),0,fName);
		}
		if (!arrObjFilters[fName]) {
			arrObjFilters[fName] = value.name.substring(0, value.name.length-2);
		}
		jQuery("#" + Name).attr('class', 'filter-checked-new');
		
		if (allInputs.length>0) {;
			arrFilters[fName][1]++;
			arrFilters[fName][2] = jQuery("#"+Name).text();
		}
	});
    
	for (k in arrFilters) {

		if (arrFilters[k][1]>1) {
			var new_title = translate[arrFilters[k][0]].plural;
			jQuery("#filterTitle"+arrFilters[k][0]).html('<span>' + arrFilters[k][1]+' '+new_title+'</span>');
		} else if(arrFilters[k][1]==1) {
			jQuery("#filterTitle"+arrFilters[k][0]).html('<span>' + arrFilters[k][2] + '</span>');
		}
	}
		
	if(jQuery("#currentPageInput").val()) {
		jQuery("#currentPageInput").val(1); // Para inicializar a pag em 1 a cada filtro!
		arrData[arrData.length] = 'p='+jQuery("#currentPageInput").val();
	}
	
	if(jQuery("#currentCatInput").val()) {
		arrData[arrData.length] = 'c='+jQuery("#currentCatInput").val();
	}	
	
	var allInputs = jQuery("#catalogFiewFilterForm :input:radio:checked");
    jQuery.each(allInputs, function(index, value) {
    	if(value.value.length>0) {
    		arrData[arrData.length] = value.name+'='+value.value;
    	}
		
		var Name = 'label'+value.name.substring(0, value.name.length-2)+value.value;
		
		jQuery("#"+Name).attr('class', 'filter-checked-new');
	});
	
    if(jQuery("#filterCategory").val()) {
    	arrData[arrData.length] = jQuery("#filterCategory").attr("name")+'='+jQuery("#filterCategory").val();
    }
	
	// Get price filter
	var prEl = jQuery("#priceSlider")
	if(prEl.val.length>0 ) {
		arrData[arrData.length] = prEl.attr('name')+'='+prEl.val();
	}
	
	//var urlController = (window.location.href.search('mobonline') > 0) ? '/loja/advance/filters/listing' : '/advance/filters/listing';
	var urlController = (homeurl == undefined) ? '/advance/filters/listing' : (homeurl + 'advance/filters/listing');

	var arrToSend = {
	    url:urlController,
	    data: arrData.join('&').replace("&undefined=undefined", "").replace(/tamanho/g, "newsize"),
	    dataType:"html",
	    type: "get",
		beforeSend: function(obj) {
			jQuery('span.loaderBox').removeClass('no-display')
		},
	    success: function (data, textStatus) {
			jQuery('.pager').remove();
			jQuery('#categoryProductsArea').html(data);
			jQuery('html, body').animate({scrollTop: '0px'}, 500);
			jQuery('span.loaderBox').addClass('no-display')
	    }
	}

	jQuery.ajax(arrToSend);
}

function pageScroller(homeurl)
{
	// Prepare filters array
	var arrData = new Array();
	
	// Clear all checkboxes
	var allInputs = jQuery("#catalogFiewFilterForm :input:checkbox");
	jQuery.each(allInputs, function(index, value) {
		var Name = 'label'+value.name.substring(0, value.name.length-2)+value.value;
		jQuery("#"+Name).attr('class', 'filter-unchecked-new');
		name = value.name.substring(0, value.name.length-2);
		if (arrObjFilters[name]) {
			jQuery("#filterTitle" + name).html('<span>'+arrObjFilters[name]+'</span>');
		}
	});

	// Get selected filters, mark checked all selectes and set filter names/values into array
	var allInputs = jQuery("#catalogFiewFilterForm :input:checkbox:checked");
	var arrFilters = new Object();
	
    jQuery.each(allInputs, function(index, value) {
    	if (value.value.length>0) {
    		arrData[arrData.length] = value.name+'='+value.value;
    	}
		var Name = 'label'+value.name.substring(0, value.name.length-2)+value.value;
		var fName = value.name.substring(0, value.name.length-2);
			
		if (!arrFilters[fName]) { 
			arrFilters[fName] = new Array(value.name.substring(0, value.name.length-2),0,fName);
		}
		if (!arrObjFilters[fName]) {
			arrObjFilters[fName] = value.name.substring(0, value.name.length-2);
		}
		jQuery("#" + Name).attr('class', 'filter-checked-new');
		
		if (allInputs.length>0) {;
			arrFilters[fName][1]++;
			arrFilters[fName][2] = jQuery("#"+Name).text();
		}
	});
	for (k in arrFilters) {
		if (arrFilters[k][1]>1) {
			jQuery("#filterTitle"+arrFilters[k][0]).html('<span>' + arrFilters[k][1]+' '+arrFilters[k][0]+'</span>');
		} else if(arrFilters[k][1]==1) {
			jQuery("#filterTitle"+arrFilters[k][0]).html('<span>' + arrFilters[k][2] + '</span>');
		}
	}

	var currentPage = jQuery("#currentPageInput").val();
	currentPage = (currentPage == undefined) ? 1 : currentPage;
	currentPage++;
	
	jQuery("#currentPageInput").val(currentPage);
	arrData[arrData.length] = 'p=' + currentPage;
	
	var lastPage = jQuery("#lastPageInput").val();

	if(jQuery("#currentCatInput").val()) {
		arrData[arrData.length] = 'c='+jQuery("#currentCatInput").val();
	}	
	
	var allInputs = jQuery("#catalogFiewFilterForm :input:radio:checked");
    jQuery.each(allInputs, function(index, value) {
    	if(value.value.length>0) {
    		arrData[arrData.length] = value.name+'='+value.value;
    	}
		
		var Name = 'label'+value.name.substring(0, value.name.length-2)+value.value;
		
		jQuery("#"+Name).attr('class', 'filter-checked-new');
	});
	
    if(jQuery("#filterCategory").val()) {
    	arrData[arrData.length] = jQuery("#filterCategory").attr("name")+'='+jQuery("#filterCategory").val();
    }
	
	// Get price filter
	var prEl = jQuery("#priceSlider");
	if(prEl.val.length>0 ) {
		arrData[arrData.length] = prEl.attr('name')+'='+prEl.val();
	}
	
	//var urlController = (window.location.href.search('mobonline') > 0) ? '/loja/advance/filters/listing' : '/advance/filters/listing';
	var urlController = (homeurl == undefined) ? '/advance/filters/listing' : (homeurl + 'advance/filters/listing');

	var arrToSend = {
	    url: urlController,
	    data: arrData.join('&').replace("&undefined=undefined", "").replace("tamanho", "newsize"),
	    dataType:"html",
	    type: "get",
		beforeSend: function(obj) {
			jQuery('span.loaderBox').removeClass('no-display')
		},
	    success: function (data, textStatus) {			
			var content = jQuery('#categoryProductsArea').html() + data;
			var topBefore = jQuery(document).scrollTop();
			jQuery('#categoryProductsArea').html( content );
			jQuery('#total-itens-showed').html(jQuery('table.products-grid tr td').length); // Mostrar itens na filtragem
			jQuery(document).scrollTop(topBefore + 1);
			jQuery('span.loaderBox').addClass('no-display');
	    }
	}
	
	if(currentPage <= lastPage)
	{
		jQuery.ajax(arrToSend);
	}
}

var arrFilters = new Array();
// TODO: ???
function clearFilter(name) {
	if (name == 'price') {
		jQuery("#price_from").text('');
		jQuery("#price_to").text('');
		jQuery("#priceSlider").val('');
		jQuery('#slider-range').slider('values', [10, 300]);
		jQuery("#filterTitleprice").html('<span>Preço</span>');
	} else {
		jQuery.each(jQuery("input[name*="+name+"]"), function(index,value) {
			value.checked = false;
			var Name = 'label'+value.name.substring(0, value.name.length-2)+value.value;
			jQuery("#"+Name).attr('class', 'filter-unchecked-new'); 
		});
	}
	applyAdvanceFilter();
}
