var lastDisplayedProducts;
var currentDisplayedProducts;
var prefix;
var product_line_class;

//liste des bloc des produits
var encarts;
var productTab;

$(document).ready(function(){
	productTab = $(".tableListprod");
	
	prefix = displaymode == 'list' ? 'tbody tr' : '.blockColProd';
	product_line_class = '.tableListprod ' + prefix;
	encarts = $(product_line_class);
	
	//var listCookie = getCookie('prod_ids_${segment.segmentId}');
	
	prod_ids = getCookie('prod_ids');

	if(prod_ids){
	
		var ids = getProductIdsArray(prod_ids);
		//displayProduct(ids);
	} else {
		var i = 0;
		var ids = new Array();
		encarts.each(function(){
			ids[i++] = $(this).id();
		});
		currentDisplayedProducts = ids;
	}
	productTab.show();
	
	$('#selDisplayPromo').change(function(){
		if($(this).is(':checked')){
			displayPromoProducts(true);
		}else{
			displayPromoProducts(false);
		}
	});
	
	$('#selSort').change(function(){
		sortBy($(this).val());
	});
});

function getProductIdsArray(str){
	return str.split('|');
}

function displayProduct(product_ids){
	encarts.hide();
	for(i=0; i < product_ids.length; i++){
		
		var aLine = $('.tableListprod #' + product_ids[i]);
		
		if(aLine != undefined) {
			$('.tableListprod #' + product_ids[i]).show();
		}
	}
	currentDisplayedProducts = product_ids;
}

function displayPromoProducts(isChecked) {
	var urlComplete = document.formData.url.value
							+ "_" + document.formData.sorted_by.value
							+ "_" + isChecked;		
	var cfg  = document.formData.cfg.value;
	if(cfg == 1){
		urlComplete += "__1";
	}	
	submitForm(urlComplete);	
}
/**
 * renvoie les ids des produits qui sont en promos
 */
function getPromoProductIds(){
	var tab = new Array();
	var promoCount = 0;
	$(product_line_class).each(function() {
		var cellClassName = $(this).attr("class");
		if(cellClassName == "promo" || cellClassName == "blockColProdPromo") {
			tab[promoCount++] = $(this).attr("id");
		}
	})
	//for(i=0, k=0; i<currentDisplayedProducts.length; i++){
	//	key = currentDisplayedProducts[i];
	//	if(productInfos[key][1]){
	//		tab[k++] = key;
	//	}
	//}
	lastDisplayedProducts = currentDisplayedProducts;
	return tab;
}

function selectCheckedFields(hRef,colType) {
	window.onbeforeunload = null;
	var valueSel = $('#selSort').val();
	var isChecked = $('#selDisplayPromo').is(':checked');
	if(valueSel != "") {
		hRef += "_" + $('#selSort').val() + "_" + isChecked  ;
		if(colType != ''){
			hRef += "_" + colType+ "_1";
		}
	}
	submitForm(hRef);
}

function checkUrl(str,patern){
	var regex = new RegExp(patern,"gi");
	if(regex.test(str) == true){
		return str.replace(regex,"");
	}
	return str;
}

function submitForm(str){
	str = checkUrl(str,"_+$");
	str = checkUrl(str,"-+$");
	document.location.href=str;
}

function sortBy(champsdeTri) {
	var myForm = document.formData;
	var isChecked = $('#selDisplayPromo').is(':checked');
	if(champsdeTri != "") {
		myForm.sorted_by.value = champsdeTri;
	
		var urlComplete = document.formData.url.value + "_" + document.formData.sorted_by.value+ "_" + isChecked;
		var cfg  = document.formData.cfg.value;
		if(cfg == 1){
			urlComplete += "__1";
		}			
	
		submitForm(urlComplete);
	}
}

function returnObjById(id ) {
    if (document.getElementById)
        var returnVar = document.getElementById(id);
    else if (document.all)
        var returnVar = document.all[id];
    else if (document.layers)
        var returnVar = document.layers[id];
    return returnVar;
}
