var timerSomeCritere;
var idEnCours;
// Fonction qui charge les criteres en session et retourne les nouveaux critères ainsi que le listing produit
function set_critere(laClass,classUl) {	
	var tab_id = new Array;
	var tab_id = laClass.split('_');
	var type = tab_id[0];
	var id_options = tab_id[1];
	var critID;
	
	// On vérifie que l'id du ul est bien du type critID_[0-9]
	var laRegex = "^([a-z]?critID)_{1}[0-9]+$";
	var reg=new RegExp(laRegex, "g");
	
	if (!reg.test($('.'+classUl+' .'+laClass).parents('ul').attr('id'))) {
		return false;
	}
	else {
		// Si ok, on découpe pour ne prendre que l'id
		critID = $('.'+classUl+' .'+laClass).parents('ul').attr('id').split('_');
		critID = critID[1];
	}
	
	var str_data = "type="+type+"&id="+id_options+"&sID="+$('#sID').val()+"&cPath="+$('#critere_cPath').val()+"&cat_id="+$('#critere_cat_id').val()+"&critere_id="+critID+"&manufacturers_id="+$('#critere_manufacturers_id').val();
	
	//$('#indexProductList').html('<div id="chargement_produits"><img align="absmiddle" src="includes/templates/template_perso/images/ajax-loader.gif" title="Chargement"/> Chargement des produits</div>');
	
	$('#overlayListing').height($('#interieurListing').height());
	$('#overlayListing').width($('#interieurListing').width());
	
	$('#overlayListing,#interieurListing,#criteres').animate({
		opacity : 0.3							   
	},500);
	
	$('#overlayListing').css('display','block');
	$('#chargementListing').css('display','block');
	
	
	setTimeout(function() {
		/*$.ajaxSetup ( {
			'beforeSend' : function(xhr) {
				xhr.overrideMimeType('text/html; charset=UTF-8');
			}
		});*/
	
		$.ajax({
			url: "set_criteres.php",
			type : "POST",
			data: str_data,
			success: function(msg){
				setTimeout(function() {
						$('#conteneur_listing').html(msg);
						
						$('#boxcriteres').append($('#conteneur_listing #criteres'));
						
						setTimeout(function() {
							$('#interieurListing').animate({
								opacity : 1							   
							});				
						},300);
				});
			},
			complete: function() {
				//$('#indexProductList').fadeOut();
				$('#indexProductList').remove();
				$('#criteres').remove();
				/*$('#criteres').fadeOut();
				$('#criteres').remove();*/
			}
	
		});
	},300);
}

function set_page(page) {
	page = page.split('_');
	page = page[1];
	var page = parseInt(page);
	
	str_data = "page="+page+"&cPath="+$('#critere_cPath').val()+"&cat_id="+$('#critere_cat_id').val()+"&manufacturers_id="+$('#critere_manufacturers_id').val();
	
	/*$('#indexProductList').html('<div id="chargement_produits"><img align="absmiddle" src="includes/templates/template_perso/images/ajax-loader.gif" title="Chargement"/> Chargement des produits</div>');*/
	
	$('#overlayListing').height($('#interieurListing').height());
	$('#overlayListing').width($('#interieurListing').width());
	
	$('#overlayListing,#interieurListing,#criteres').animate({
		opacity : 0.3							   
	},500);
	
	$('#overlayListing').css('display','block');
	$('#chargementListing').css('display','block');
		
	setTimeout(function() {
		$.ajax({
			url: "set_criteres.php",
			type : "POST",
			data: str_data,
			success: function(msg){
				setTimeout(function() {
						$('#conteneur_listing').html(msg);
						
						$('#boxcriteres').append($('#conteneur_listing #criteres'));
						
						setTimeout(function() {
							$('#interieurListing').animate({
								opacity : 1							   
							});				
						},300);
				});
			},
			complete: function() {
					//$('#indexProductList').fadeOut('fast');
					$('#indexProductList').remove();
				$('#criteres').remove();
			}
	
		});
	},300);
	
}

function cacheSomeCritere() {
		$('#'+idEnCours).css('display','none');
}

$(document).ready(function() {
	$('ul.criteres li > a,ul.recherche_en_cours li > a').live('click',function() {
		// On fait une vérification sur la classe du critère
		var laRegex = "^(fabricants|prix|options)_{1}[0-9]+$";
		var reg=new RegExp(laRegex, "g");
		
		if (!reg.test($(this).attr('class'))) {
			return false;
		}
		
		var laClass = $(this).parents('ul').attr('class').split(' '); // si plusieurs class on ne prends que la premieres
		
		// Si on est sur la fiche produit, on redirige avec le critere cliqué chargé
		if($('#main_page').val()=='product_info') {
			var critID = $('.'+laClass[0]+' .'+$(this).attr('class')).parents('ul').attr('id').split('_');
			critID = critID[1];
			
			document.location.href=$('#lien_listing').val()+'?critere='+$(this).attr('class')+','+critID;	
		}
		
		set_critere($(this).attr('class'),laClass[0]);
		
		return false;
	});
	
	// Pagination en Ajax
	$('.navSplitPagesLinks a').live('click',function() {
		// pour l'instant si recherche avancé, on ne mets pas de pagination ajax
		if($('#indexProductList').length>0) {
			// On fait une vérification sur la classe du critère
			var laRegex = "^(page)_{1}[0-9]+$";
			var reg=new RegExp(laRegex, "g");
			
			if (!reg.test($(this).attr('class'))) {
				return false;
			}
			
			set_page($(this).attr('class'));
			
			return false;												 
		}
	});
	
	// On mets des # à la place de tous les href
	// pour l'instant si recherche avancé, on ne mets pas de pagination ajax
	if($('#indexProductList').length>0) {
		$('.navSplitPagesLinks a').attr('href','#');
	}
	
	// Si trop de critère on mets tous dans une div et on la déroule
	$('.deroul_some_critere,.bloc_some_critere').live('mouseover',function() {
		clearTimeout(timerSomeCritere);
		var leBlocCache = $(this).attr('id').split('_');
		idEnCours = 'bloc_'+leBlocCache[1];
		
		$('#'+idEnCours).css('display','block');
		
		return false;
	});
	
	$('.deroul_some_critere,.bloc_some_critere').live('mouseout',function() {
		timerSomeCritere = setTimeout(function(){ 
			cacheSomeCritere(); 
		},500);
	});
});

