$(function() {
    /*$.post("index.php", {module:"recete", action:"recette:redirectPageRizDeVeau"}, function(zUrl) {
        
    }, "json");*/
	
	$('#rechercheCritere').submit(
		function()
		{
			$('#BoutonRechercheMotCle').click();
			return false;
		}
	);
	
	// recherche à partir du mot clé
	$('#BoutonRechercheMotCle').click(function() 
	{
		var zMotCle = $('#recherche').val();
		zMotCle = zMotCle.trim(); // suppprime les espaces superflue
		
		var length = zMotCle.length;
		zMotCle = AccentToNoAccent(zMotCle);

		if (zMotCle != "" && length > 2)
		{
			$.getJSON(j_basepath + "index.php", 
				{module:"recette", action:"recette:searchRecette", zMotCle:zMotCle}, 
				function(datas){
					
					var zListeRecetteId = "";
					var zMark = ",";

					var resultat = "résultat";
					if (datas.length > 1)
					{
						resultat = "résultats";
					}
					
					$('#nbrResult').html("("+datas.length+" "+resultat+")");

					if (datas.length>0)
					{
						for(i=0; i< datas.length; i++)
						{
							if (i == datas.length-1)
							{
								zMark="";
							}else{
								zMark=",";
							}
						
						zListeRecetteId += datas[i]["recette_id"]+zMark;
						}
					}

					if(datas.length>0)
					{
					
						$('#recetteListe').empty();
						$('#recetteImage').empty();

						for(i=0; i< datas.length; i++)
						{
							var flag = '';
							var flagImage = '';
							
							var $imgFlag = null;
							
							/*if (datas[i]["recette_flagHerme"] == 1)
							{
								flagImage='<img src="'+j_basepath+'design/images/content-data/moteur_recette/tampon-50-46.png" alt="" width="50" height="46" class="mini-tampon png" />';
								$imgFlag = $(document.createElement('img')).attr({src: j_basepath+'design/images/content-data/moteur_recette/tampon-50-46.png', alt: '', width: 50, height: 46}).addClass('mini-tampon', 'png');
							}*/
							
							var $li = $(document.createElement('li'));
							zUrl = j_basepath+'index.php/recette/'+datas[i]["recette_id"]+'/'+reecritureNomRecette(datas[i]["recette_titre"]);
							$li.append(
								$(document.createElement('a'))
									//.attr({href: j_basepath+'index.php?iRecetteId='+datas[i]["recette_id"]+'&module=recette&action=recette:afficheRecette' })
									.attr({href: zUrl})
									.text(datas[i]["recette_titre"]),
								$(document.createElement('div'))
									.addClass('bg_white_recette', 'png')
									.append(
										$(document.createElement('img'))
											.attr({src: j_basepath+j_pathRsizeVignettes+datas[i]["recette_visuel"], width:90, height:90})
											.addClass('png')
									)
							)
							
							$('#recetteListe').append($li);

							var $imageLi = $(document.createElement('li'));
							
							$imageLi.append(
								$(document.createElement('a'))
									.attr({href: zUrl})
									.append(
										$(document.createElement('img'))
											.attr({src: j_basepath+j_pathRsizeVignettes+datas[i]["recette_visuel"], width:90, height:90})
											.addClass('png'),
										$imgFlag
										
									),
								$(document.createElement('div'))
									.addClass('bg_white_recette_img', 'png')
									.append(
										$(document.createElement('p'))
											.text(datas[i]["recette_titre"])
									)
							)
							
							$('#recetteImage').append($imageLi);
						}
						
						$('#recetteListe').find('li').find('a').rollrecette({doPos:true});
						$('#recetteImage').find('li').find('a').rollrecette();

						var selectAffiche = $('[name=recette]').attr('checked');
						
						$('.arrow_bottom').find('a').unbind('click');
						
						if (selectAffiche == false)
						{
							$('input[name=recette]').eq(1).click();
						}else{
							$('input[name=recette]').eq(0).click();
						}
						
						
						
						
					}else{
						var html = '<li class="np" style="width:auto;">Aucune recette ne correspond à votre recherche !<br /> <a href="'+j_basepath+'index.php?iProposeAffiche=1&module=veauEtVous&action=veauEtVous:afficheVeauEtVous" style="background:none;">Proposez votre recette ! </a><br /></li>';
						$('#recetteListe').html(html);
						$('#recetteImage').html(html);
					}
				}
			);
		}else{
			alert("Veuillez saisir un mot-clé ayant au moins trois caractères");
		}
		
		
	})

	// recherche à partir des critère
	$('#boutonRechercheCritere').click(function() 
	{
		var iCritereTheme = $('#typeCritere_nom_theme').val();
		var iCritereRepas =  $('#typeCritere_type_repas').val();
		var iCriterePersonne = $('#typeCritere_nbr_personne').val();
		var iCritereMorceau = $('#typeCritere_morceau').val();
		var iCritereCuisson = $('#typeCritere_mode_cuisson').val();
		var iCriterePreparation = $('#typeCritere_temp_preparation').val();
		var iCritereEnergetique = $('#typeCritere_valeur_energetique').val();
		var iRecetteImage = $('#recette_image').val();
		var iRecettesPlusConsultees = $('#recettes_plus_consultees').val();

		var count = parseInt(iCritereTheme)+parseInt(iCritereRepas)+parseInt(iCriterePersonne)+parseInt(iCritereMorceau)+parseInt(iCritereCuisson)+parseInt(iCriterePreparation)+parseInt(iCritereEnergetique)+parseInt(iRecetteImage)+parseInt(iRecettesPlusConsultees);
		var num_entries = 0;
		if (count == 0)
		{
			alert("Veuillez choisir au moins un critère");
		}else{
			$.getJSON(j_basepath + "index.php", 
				{module:"recette", 
				 action:"recette:searchRecette", 
				 iCritereTheme:iCritereTheme, 
				 iCritereRepas:iCritereRepas, 
				 iCriterePersonne:iCriterePersonne, 
				 iCritereMorceau:iCritereMorceau, 
				 iCritereCuisson:iCritereCuisson, 
				 iCriterePreparation:iCriterePreparation, 
				 iCritereEnergetique:iCritereEnergetique,
				 iRecetteImage:iRecetteImage, 
				 iRecettesPlusConsultees:iRecettesPlusConsultees}, 
				
				function(datas) {

					var zListeRecetteId = "";
					var zMark = ",";

					var resultat = "résultat";

					if (datas.length>1)
					{
						resultat = "résultats";
					}
					
					$('#nbrResult').html("("+datas.length+" "+resultat+")");

					if (datas.length>0)
					{
						for(i=0; i< datas.length; i++)
						{
							if (i == datas.length-1)
							{
								zMark="";
							}else{
								zMark=",";
							}
						
						zListeRecetteId += datas[i]["recette_id"]+zMark;
						}
					}
					
					if(datas.length>0)
					{
						var htmlListe = '';
						var htmlImage = '';

						$('#recetteListe').empty();
						$('#recetteImage').empty();

						for(i=0; i< datas.length; i++)
						{
							var flag = '';
							var flagImage = '';

							var $imgFlag = null;

							/*if (datas[i]["recette_flagHerme"] == 1)
							{
								//flag = ''; 
								flagImage='<img src="'+j_basepath+'design/images/content-data/moteur_recette/tampon-50-46.png" alt="" width="50" height="46" class="mini-tampon png" />';
								$imgFlag = $(document.createElement('img')).attr({src: j_basepath+'design/images/content-data/moteur_recette/tampon-50-46.png', alt: '', width: 50, height: 46}).addClass('mini-tampon', 'png');
							}*/
							
							/*if(datas[i]["recette_id"] == 219) {
							    window.location.href = j_basepath+'index.php/recette/'+datas[i]["recette_id"]+'/'+reecritureNomRecette(datas[i]["recette_titre"]);
							}*/

							var $li = $(document.createElement('li'));
							zUrl = j_basepath+'index.php/recette/'+datas[i]["recette_id"]+'/'+reecritureNomRecette(datas[i]["recette_titre"]);
							$li.append(
								$(document.createElement('a'))
									//.attr({href: j_basepath+'index.php?iRang='+datas[i]["rang"]+'&iTypeRecherche=1&zMotCle=&iTheme='+iCritereTheme+'&iTypeRepas='+iCritereRepas+'&iModeCuisson='+iCritereCuisson+'&iTempPreparation='+iCriterePreparation+'&iValeurEnergetique='+iCritereEnergetique+'&iNombrePersonne='+iCriterePersonne+'&iCivilite=0&iMorceau='+iCritereMorceau+'&iRecetteImage='+iRecetteImage+'&iLimit=0&iNext=0&iPrev=0&iNbrElement='+datas[i]["nbrElement"]+'&module=recette&action=recette:afficheRecette' })
									.attr({href: zUrl})
									.text(datas[i]["recette_titre"]),
								$(document.createElement('div'))
									.addClass('bg_white_recette', 'png')
									.append(
										$(document.createElement('img'))
											.attr({src: j_basepath+j_pathRsizeVignettes+datas[i]["recette_visuel"], width:90, height:90})
											.addClass('png')
									)
							)
							
							$('#recetteListe').append($li);

							var $imageLi = $(document.createElement('li'));
							
							// SOFModif Avenant
							$imageLi.append(
								$(document.createElement('a'))
//									.attr({href: j_basepath+'index.php?iRecetteId='+datas[i]["recette_id"]+'&module=recette&action=recette:afficheRecette' })
									.attr({href: zUrl})
									.append(
										$(document.createElement('img'))
											.attr({src: j_basepath+j_pathRsizeVignettes+datas[i]["recette_visuel"], width:90, height:90})
											.addClass('png'),
										$imgFlag
										
									),
								$(document.createElement('div'))
									.addClass('bg_white_recette_img', 'png')
									.append(
										$(document.createElement('p'))
											.text(datas[i]["recette_titre"])
									)
							)
							
							// EOFModif Avenant
							
							$('#recetteImage').append($imageLi);
							
						}
						
						$('#recetteListe').find('li').find('a').rollrecette({doPos:true});
						$('#recetteImage').find('li').find('a').rollrecette();
						
						$('.arrow_bottom').find('a').unbind('click');
						
//						var selectAffiche = $('[name=recette]').attr('checked');
						if(parseInt(iRecettesPlusConsultees)>0) {
                		    selectAffiche = true;
                		} else {
                		    selectAffiche = false;
                		}
						if (selectAffiche == false)
						{
							$('input[name=recette]').eq(1).click();
						}else{
							$('input[name=recette]').eq(0).click();
						}
					
					}else{
					var html = '<li class="np" style="width:auto;">Aucune recette ne correspond à votre recherche !<br /> <a href="'+j_basepath+'index.php?iProposeAffiche=1&module=veauEtVous&action=veauEtVous:afficheVeauEtVous" style="background:none;">Proposez votre recette ! </a><br /></li>';
					$('#recetteListe').html(html);
					$('#recetteImage').html(html);
					
					}
					
					if(parseInt(iRecettesPlusConsultees)>0) {
					    $.post("index.php", {module:"recette", action:"recette:chargeUrlRedirect"}, function(tUrlRedirect) {
					        window.location.href = tUrlRedirect.zUrlAvecParametre;
					    }, "json");
					} /*else {
					    $.post("index.php", {module:"recette", action:"recette:chargeUrlRedirect"}, function(tUrlRedirect) {
					        window.location.href = tUrlRedirect.zUrlSansParametre;
					    }, "json");
					}*/
				}
			);
		}
	})


	$('#supprimeCritere').click(function() {
	    $.post("index.php", {module:"recette", action:"recette:suppressionSessionCriteres"}, function() {
	        $('#recherche').val("");
    		$('#typeCritere_nom_theme').val(0);
    		$('#typeCritere_type_repas').val(0);
    		$('#typeCritere_nbr_personne').val(0);
    		$('#typeCritere_morceau').val(0);
    		$('#typeCritere_mode_cuisson').val(0);
    		$('#typeCritere_temp_preparation').val(0);
    		$('#typeCritere_valeur_energetique').val(0);
    		$('#nbrResult').html("(0 résultat)");
    
    		$('#recetteListe').html("");
    		$('#recetteImage').html("");
    		
    		window.location.href = window.location.href;
	    }, "json");
	    
	    return false;
	})
	
})

// fonction trim pour enlever les espaces superflues
String.prototype.trim = function () {
	//return this.replace(/^\s*|\s*$/,"");
	 return this.replace(/\s+/g," ");

}

// Remplace toutes les occurences d'une chaine
function replaceAll(str, search, repl) {
while (str.indexOf(search) != -1)
str = str.replace(search, repl);
return str;
}

// Remplace les caractères accentués
function AccentToNoAccent(str) {
var norm = new Array('À','Á','Â','Ã','Ä','Å','Æ','Ç','È','É','Ê','Ë','Ì','Í','Î','Ï', 'Ð','Ñ','Ò','Ó','Ô','Õ','Ö','Ø','Ù','Ú','Û','Ü','Ý','Þ','ß', 'à','á','â','ã','ä','å','æ','ç','è','é','ê','ë','ì','í','î','ï','ð','ñ', 'ò','ó','ô','õ','ö','ø','ù','ú','û','ü','ý','ý','þ','ÿ');
var spec = new Array('A','A','A','A','A','A','A','C','E','E','E','E','I','I','I','I', 'D','N','O','O','O','0','O','O','U','U','U','U','Y','b','s', 'a','a','a','a','a','a','a','c','e','e','e','e','i','i','i','i','d','n', 'o','o','o','o','o','o','u','u','u','u','y','y','b','y');
for (var i = 0; i < spec.length; i++)
str = replaceAll(str, norm[i], spec[i]);
return str;
} 