function check(id_champ,valeur_defaut){
	if(document.getElementById(id_champ).value==''){
	document.getElementById(id_champ).value=valeur_defaut;
	}
	return true;
}

function convert_date(langue,date){

	var str_date_tmp;	
	var tab_date_tmp = date.split("-");
	var annee_date = tab_date_tmp[0];
	var mois_date = tab_date_tmp[1];
	var jour_date = tab_date_tmp[2];
	
	if(langue == "fr"){
		var monthname=new Array("Jan.","Fév.","Mars","Avr.","Mai","Juin","Juil.","Août","Sep.","Oct.","Nov.","Déc.");
	}else if(langue == "de"){
		var monthname=new Array("Jan.","Feb.","März","Apr.","Mai","Juni","Juli","Aug.","Sep.","Okt.","Nov.","Dez.");
	}else if(langue == "es"){
		var monthname=new Array("Ene.","Feb.","Mar.","Abr.","Mayo","Jun.","Jul.","Ago.","Sep.","Oct.","Nov.","Dec.");
	}else if(langue == "it"){
		var monthname=new Array("Gen.","Feb.","Mar.","Apr.","Mag.","Giu.","Lug.","Ago.","Set.","Ott.","Nov.","Dic.");
	}else{
		var monthname=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
	}
	
	if(langue == "fr" || langue == "it"){
		var str_date = jour_date + " " + monthname[mois_date-1]+ " " + annee_date;
	}else if(langue == "de"){
		var str_date = jour_date + ". " + monthname[mois_date-1] + ", " + annee_date;
	}else if(langue == "es"){
		var str_date = jour_date + " de " + monthname[mois_date-1] + " " + annee_date;
	}else{
		var str_date = monthname[mois_date-1]+ " " + jour_date + ", " + annee_date;
	}

	return str_date;
	
}

function sortGeneral(a,b){
return((a.nom_marque+" "+a.nom_modele<b.nom_marque+" "+b.nom_modele)? -1 :((a.nom_marque+" "+a.nom_modele>b.nom_marque+" "+b.nom_modele) ? 1 : 0));
}

function fct_tri_marque(){
tri(type_tri=='sortByMarqueAsc'?'sortByMarqueDesc':'sortByMarqueAsc');
voir(langue);
}

function fct_tri_date(){
tri(type_tri=='sortByDateDesc'?'sortByDateAsc':'sortByDateDesc');
voir(langue);
}

function fct_tri_notes(){
tri(type_tri=='sortByNoteDesc'?'sortByNoteAsc':'sortByNoteDesc');
voir(langue);
}

function fct_tri_prix(){
tri(type_tri=='sortByPrixAsc'?'sortByPrixDesc':'sortByPrixAsc');
voir(langue);
}

function valeur(obj) {
	strRes = document.getElementById(obj).value;
	return (strRes);
}

function prem_div(){

	tab_general.sort(eval(sortGeneral));
	var contenu ="";
	// notation numérique
	for(var i=0;i<tab_general.length;i++){
	
		var id_photo_produit;
		if(tab_general[i].id_photo_comparo == ""){
			id_photo_produit = tab_general[i].id_produit;
		}else{
			id_photo_produit = tab_general[i].id_photo_comparo;
		}
		
		var img_produit = tab_general[i].id_marque+"/"+id_photo_produit+"/vign_130.jpg";
		var comparo = "http://"+srv_img+"."+ndd_site+"/produits/"+img_produit;
	
		contenu+= "<div class=\"vign_art\">\n";
		//contenu+= "<a href=\"/article-"+tab_general[i].id_article+"-"+tab_general[i].id_produit+"-"+tab_general[i].id_marque+".html\">\n";
		contenu+= "<div class=\"vign_art_img\">\n";
		contenu+= "<a href=\"/article-"+tab_general[i].id_article+"-"+tab_general[i].id_produit+"-"+tab_general[i].id_marque+".html\"><img class=\"vign_img\" src=\""+comparo+"\"></a>\n";
		contenu+= "</div>\n";
		//if(vign_nom !=0){
			contenu+= "<div class=\"vign_art_titre\">\n";
			contenu+= "<a href=\"/article-"+tab_general[i].id_article+"-"+tab_general[i].id_produit+"-"+tab_general[i].id_marque+".html\">\n";
			contenu+= ""+tab_general[i].nom_marque+" "+tab_general[i].nom_modele+"\n";
			contenu+= "</a></div>\n";
		//}
		if(tab_general[i].note!=99){
			contenu+= "<div class=\"vign_art_note\">\n";
			contenu+= "<img src=\"http://"+srv_img+".lesnumeriques.com/images/note/note_smalls"+tab_general[i].note+".gif\">\n";
		}
		contenu+= "</div></div>";
	}
	return contenu;
}

function contenu_div(tab_filtre,langue){
	var contenu ="";
	if(tab_filtre[0]==null){
		return contenu;
	}
	for(var i=0;i<tab_filtre.length;i++){
	var pro=tab[tab_filtre[i]];
	
	if(pro.id_article != 0){
		strUrlProduit = "/article-"+pro.id_article+"-"+pro.id_produit+"-"+pro.id_marque+".html";
	}else if(pro.publi_f2f !=0){
		strUrlProduit = "/duels.php?ty="+pro.id_type+"&ma1="+pro.id_marque+"&mo1="+pro.id_model+"&p1="+pro.id_produit;
	}else{
		strUrlProduit = "";
	}
	
	var strDenoProduit = pro.nom_marque+" "+pro.nom_modele;
	
	var id_photo_produit;
	if(pro.id_photo_comparo == ""){
		id_photo_produit = pro.id_produit;
	}else{
		id_photo_produit = pro.id_photo_comparo;
	}
	
	var img_produit = pro.id_marque+"/"+id_photo_produit+"/vign_130.jpg";
	var comparo = "http://"+srv_img+"."+ndd_site+"/produits/"+img_produit;
	
	contenu+= "<div class=\"vign_art\">\n";
	contenu+= "<a href=\""+strUrlProduit+"\">\n";
	
	contenu+= "<div class=\"vign_img_titre\">\n";

	if(vign_photo !=0){
		contenu+= "<div class=\"vign_art_img\">\n";
		// contenu+= "<a href=\""+strUrlProduit+"\"><img class=\"vign_img\" src=\""+comparo+"\"></a>\n";
		contenu+= "<img class=\"vign_img\" src=\""+comparo+"\">\n";
		contenu+= "</div>\n";
	}
	
	//if(vign_marque != 0){
		contenu += "<div class=\"vign_art_titre\">\n";
		// contenu += "<a href=\""+strUrlProduit+"\">"+strDenoProduit+"</a>\n";
		contenu += strDenoProduit+"\n";
		contenu += "</div>";
	//}

	contenu += "</div>";
	
	if(vign_note != 0){
		contenu += "<div class=\"vign_art_note\">\n";
		if( (pro.note > 0) && (pro.note < 6) ){
			contenu += "<img src=\"http://"+srv_img+".lesnumeriques.com/images/note/note_smalls"+pro.note+".gif\">\n";
		}else{
			contenu += "<img src=\"http://www.lesnumeriques.com/images/note/note_vide.gif\">\n";
		}
		contenu += "</div>\n";	
	}
	
	contenu += "</a>";
	
	if(type_page == "page_listing"){
		contenu += "<div class=\"vign_art_date_test\">\n";
		if( (pro.note > 0) && (pro.note < 6) ){
			if(pro.date_maj_article != ""){
				date = convert_date(langue,pro.date_maj_article);
			}else{
				date = convert_date(langue,pro.date_maj);
			}
			contenu += date_test + " " + date;
		}else{
			contenu += "&nbsp;";
		}
		contenu += "</div>\n";
	}
	
	// POUR LES PRIX BAS
	if(vign_prix != 0){
		contenu += "<div class=\"bloc_prix_bas\">\n";
		
		if ((pro.mrprix_lien_txt == 'Meilleur prix' || pro.mrprix_lien_txt == 'Lowest price' || pro.mrprix_lien_txt == 'Niedrigster Preis' )  && (pro.mrprix_prix != 0.00)) {
			//contenu += "<a href=\""+pro.mrprix_lien+"\" target=\"_blank\">";
			contenu += "<div class=\"txt_prix_bas\"><a href=\""+pro.mrprix_lien+"\" target=\"_blank\">"+pro.mrprix_lien_txt+"</a></div>";
			contenu += "<div class=\"prix_bas\"";
			if(langue == "de"){
				contenu += " style=\"font-size:9px\"";
			}
			contenu += "><a href=\""+pro.mrprix_lien+"\" target=\"_blank\">"+pro.mrprix_prix.toFixed(2)+" "+pro.mrprix_monnaie+"</a></div>\n";
		}
		if( (pro.mrprix_lien_txt != 'Meilleur prix' || pro.mrprix_lien_txt != 'Lowest price' || pro.mrprix_lien_txt != 'Niedrigster Preis') && ((pro.mrprix_prix == 0.00))){
			//contenu += "<a href=\""+pro.mrprix_rech_lien+"\" target=\"_blank\">";
			if(pro.mrprix_rech_txt == ""){
				contenu += "<div class=\"txt_rech_prix_bas\">&nbsp;</div>\n";
			}else{
				contenu += "<div class=\"txt_rech_prix_bas\"><a href=\""+pro.mrprix_rech_lien+"\" target=\"_blank\">"+pro.mrprix_rech_txt+"</a></div>\n";
			}
			if(langue != "de"){
				contenu += "<div class=\"rech_prix_bas\">&nbsp;</div>\n";
			}
		}
		//contenu += "</a>";
		contenu += "</div>";

		// POUR LES PRIX CONSEILLES
		if(langue =="fr"){
			contenu+= "<div class=\"prix_conseille\">\n";
			contenu+=  "<div class=\"txt_prix_con\">\n";
			contenu+=  "Prix conseillé";
			contenu+=  "</div>\n";
			contenu+=  "<div class=\"prix_con\">\n";
			if (pro.prix_conseille == 0 ){
				contenu+=  " - &euro; ";
			}
			else {
				// if(pro.prix_conseille > 99999){
					// prix_conseille = ""+pro.prix_conseille+"";
					// prix_conseille_cts = prix_conseille.substring(prix_conseille.length,prix_conseille.length-2);
					// contenu += prix_conseille.substr(0,3)+ "k." + prix_conseille_cts + " &euro;";
				// }else{
					contenu+=  pro.prix_conseille.toFixed(2)+" &euro;";
				// }
			}
			contenu+=  "</div>\n";	
			contenu+=  "</div>\n";	
		}
	}
	
	contenu+="</div>";
		
	}
	return contenu;
}

// 21/04/08 : ajout filtre en multilingue

function voir(langue){

	var note = valeur('filtre_note');

	var prix_mini = valeur('filtre_prixmini');
	var prix_maxi = valeur('filtre_prixmaxi');
	
	// nouveau
	var marque = valeur('filtre_marque');
	var choix_date = valeur('filtre_date');

	var contenu = prem_div(); // tab_general code généré par php
	var tab_res = new Array();
	//if(choix_date == "last_8"){
		// nb_prod = tab.length;
		// if(nb_prod > 9){
			// nb_prod = 8;
		// }
		// for(var i=0; i< nb_prod;i++){
			// tab_res[i]=i;
		// }
		// tab_res.sort(eval(type_tri));
/* 		tab_res = sortTableau[0].concat(sortTableau[1]
		tab_res = tab_res.slice(0,8);
		tab_res.sort(eval(type_tri));	 */
	//}else{
	var sortTableau = filtrage(note,prix_mini,prix_maxi,marque,choix_date); // filter le tableau
		// on traite le tab avant de le trier;  0 : avec prix, 1 : sans prix
	var tab_res = new Array();
	if(choix_date == "last_8"){
		tab_res = sortTableau[0];
		tab_res.sort(eval(type_tri));
	}else{
		switch(type_tri){
			case 'sortByMarqueAsc' : tab_res = sortTableau[0].concat(sortTableau[1]); tab_res.sort(eval(type_tri)); break;
			case 'sortByMarqueDesc' : tab_res = sortTableau[0].concat(sortTableau[1]); tab_res.sort(eval(type_tri)); break;
			case 'sortByDateAsc' : tab_res = sortTableau[0].concat(sortTableau[1]); tab_res.sort(eval(type_tri)); break;
			case 'sortByDateDesc' :	tab_res = sortTableau[0].concat(sortTableau[1]); tab_res.sort(eval(type_tri)); break;
			case 'sortByPrixAsc' : sortTableau[0].sort(eval(type_tri)); tab_res = sortTableau[0].concat(sortTableau[1]); break;
			case 'sortByPrixDesc' :	sortTableau[0].sort(eval(type_tri)); tab_res = sortTableau[0].concat(sortTableau[1]); break;
			case 'sortByNoteAsc' : tab_res = sortTableau[0].concat(sortTableau[1]); tab_res.sort(eval(type_tri)); break;
			case 'sortByNoteDesc' :	tab_res = sortTableau[0].concat(sortTableau[1]); tab_res.sort(eval(type_tri)); break;
		}
	}
	
	
		
	contenu += contenu_div(tab_res,langue);
	// on change le contenu du div représentant les produits en "dur" grâce au innerHTML et la variable contenu :
	document.getElementById('div_innerhtml').innerHTML = contenu;	
	
	// on remet un event clic_out sur les nouveaux liens
	onLoad();
}

function filtrage(note,prix_mini,prix_maxi,marque,choix_date){
	
	var j = 0; var k =0; var l=0;
	//  le tableau d'objet final
	var tab_filtre_sans_prix = new Array();
	var tab_filtre_avec_prix = new Array();
	var tab_filtre_last_8 = new Array();
	// correspont au prix le plus bas ou le prix conseillé selon le cas.
	var prix;
	var tmp_ss_prix;
	for (var i = 0; i < tab.length ; i++){	
		tmp_ss_prix = false;
		if(tab[i].mrprix_prix == 0){
			prix = tab[i].prix_conseille;
		}
		else{
			prix = tab[i].mrprix_prix;
		}

		if(prix == 0){
			tmp_ss_prix = true;
		}
		
		// ici on compare si chaque élément du tableau a selon les valeurs récupérées en paramètre, la bonne note et se trouve dans la bonne fourchette de prix si oui alors on récupère son indice 
	
		var bonne_note = ((tab[i].note >= note) ||(tab[i].note == 0));

		var bon_prix = ((prix >= prix_mini) && (prix <= prix_maxi));
		if(prix_mini == prix_maxi){
			bon_prix = true;
		}
		
		var bonne_date = (tab[i].date_maj >= choix_date);
		if(choix_date == "last_8"){
			bonne_date = true;
		}
		var bonne_marque = ((tab[i].id_marque == marque) || (marque=="toutes"));
		
		if(choix_date == "last_8"){
			if(l<8){
				tab_filtre_last_8[l]=i;
				l++;
			}
		}else if( bonne_marque && bonne_note && tmp_ss_prix && bonne_date ){
			tab_filtre_sans_prix[k] = i;
			k++
		}else if( bonne_note && bon_prix && bonne_date && bonne_marque){
			tab_filtre_avec_prix[j] = i;
			j++;
		}
	}
	if(choix_date == "last_8"){
		var tab_filtre = new Array(tab_filtre_last_8);
	}else{
		var tab_filtre = new Array(tab_filtre_avec_prix,tab_filtre_sans_prix);
	}
		
	return tab_filtre;	
}	

function sortByPrixAsc(a,b){
	x=tab[a].mrprix_prix;
	y=tab[b].mrprix_prix;
	
	if( x==0){
	x=tab[a].prix_conseille;
	}
	if( y==0){
	y=tab[b].prix_conseille;
	}
	return ( (x<y) ? -1 : ( (x>y) ? 1 : 0 ) );
}

function sortByPrixDesc(a,b){
	x=tab[a].mrprix_prix;
	y=tab[b].mrprix_prix;
	
	if( x==0){
	x=tab[a].prix_conseille;
	}
	if( y==0){
	y=tab[b].prix_conseille;
	}
	return ( (x<y) ? 1 : ( (x>y) ? -1 : 0 ) );
}

// on trie par note ascendante mais on classe le prix du plus petit au plus grand
function sortByNoteAsc(a,b){
	return ( (tab[a].note<tab[b].note) ? -1 : ( (tab[a].note>tab[b].note) ? 1 : sortByPrixAsc(a,b) ) );
}

// on trie par note descendant mais on classe le prix du plus petit au plus grand : rapport qualité/prix
function sortByNoteDesc(a,b){
	return ( (tab[a].note<tab[b].note) ? 1 : ( (tab[a].note>tab[b].note) ? -1 : sortByPrixAsc(a,b) ) );
}

function sortByMarqueAsc(a,b){
	return ( (tab[a].nom_marque+" "+tab[a].nom_modele<tab[b].nom_marque+" "+tab[b].nom_modele) ? -1 : ( (tab[a].nom_marque+" "+tab[a].nom_modele>tab[b].nom_marque+" "+tab[b].nom_modele) ? 1 : 0 ) );
}

function sortByMarqueDesc(a,b){
	return ( (tab[a].nom_marque+" "+tab[a].nom_modele<tab[b].nom_marque+" "+tab[b].nom_modele) ? 1 : ( (tab[a].nom_marque+" "+tab[a].nom_modele>tab[b].nom_marque+" "+tab[b].nom_modele) ? -1 : 0 ) );
}

function sortByDateAsc(a,b){
	return ( (tab[a].date_maj<tab[b].date_maj) ? -1 : ( (tab[a].date_maj>tab[b].date_maj) ? 1 : 0 ) );
}

function sortByDateDesc(a,b){
	return ( (tab[a].date_maj<tab[b].date_maj) ? 1 : ( (tab[a].date_maj>tab[b].date_maj) ? -1 : 0 ) );
}

function defaut(){
	type_tri='sortByMarqueAsc';
	document.forms['form_filtre_art'].filtre_prixmini.value=prix_plus_bas;
	document.forms['form_filtre_art'].filtre_prixmaxi.value=prix_plus_haut;
	document.forms['form_filtre_art'].filtre_note.options.selectedIndex = 4;
	document.forms['form_filtre_art'].filtre_marque.options.selectedIndex = 0;
	document.forms['form_filtre_art'].filtre_date.options.selectedIndex = 0;
	tri(type_tri);
	voir(langue);
}