/***********************************************************************************************
fichier: fonctions.js
auteur : Valérie Robin
date: 07/08/2006

ce fichier contient toutes les fonctions javaScript appelées couramment
************************************************************************************************/

function init_bannieres_pub(niveau, page, module){
	//Enregistrement de la 1ère bannière affichée
	/*if(module == 'recette'){
		$('#conteneur_banniere_centre').find('a:first').show();
		//var id_pub = file(niveau+'/fonction_ajax.php', 'POST', 'echo=true&fonction=enreg_pub_affichage&banniere='+$('#conteneur_banniere_centre').find('a:first').attr('id')+'&page='+page);
	}else{
		$('#conteneur_banniere_centre').find('a:nth-child(2)').show();
		//var id_pub = file(niveau+'/fonction_ajax.php', 'POST', 'echo=true&fonction=enreg_pub_affichage&banniere='+$('#conteneur_banniere_centre').find('a:nth-child(2)').attr('id')+'&page='+page);
	}
	//Enregistrement de la bannière de droite
	//file(niveau+'/fonction_ajax.php', 'POST', 'fonction=enreg_pub_affichage&banniere='+$('.banniere_colonne').attr('id')+'&page='+page+'&id_pub='+id_pub, true);
	
	if(module == 'recette'){
		//Enregistrement toutes les 10 secondes
	   	$(document).everyTime(10000, function(i) {
	   		var modulo = i%2 + 1;
	   		$('#conteneur_banniere_centre').find('a').hide();
			$('#conteneur_banniere_centre').find('a:nth-child('+modulo+')').show();
			//file(niveau+'/fonction_ajax.php', 'POST', 'fonction=enreg_pub_affichage&banniere='+$('#conteneur_banniere_centre').find('a:nth-child('+modulo+')').attr('id')+'&page='+page+'&id_pub='+id_pub, true);
		}, 0);
	}*/
}

function enreg_clic_pub(niveau, banniere, page){
	file(niveau+'/fonction_ajax.php', 'POST', 'fonction=enreg_clic_pub&banniere='+banniere+'&page='+page, true);
}

function init_form_identification(niveau, url, reload){
	if(reload==undefined) reload=false;
	$.ajax({
		type	: "POST",
		cache	: false,
		url		: niveau+'/fonction_ajax.php',
		data	: 'fonction=afficher_form_identification&echo=true&charset=windows-1252&niveau='+niveau+'&url='+url+'&reload='+reload,
		success: function(data) {
			$.fancybox(data,
					{
						'transitionIn'		: 'none',
						'transitionOut'		: 'none',
						'hideOnOverlayClick': false,
						'enableEscapeButton': false,
						'onComplete'		: function() {
							setTimeout("$('#formulaire_identification #login').focus();", 200);
						}
					}
			);
		}
	});
	return false;
}

function maj_form_identifications(form_a_afficher){
	$('.formulaire_connexion').hide();
	$('#'+form_a_afficher).show();
}


function blink(div_name, blinkCount){
	//.fadeIn(600).fadeOut(600).fadeIn(600);
	do {
	   $('#'+div_name)['fade'+(blinkCount%2==0?'Out':'In')]('slow');
	} while (--blinkCount);
	//$('#'+div_name).effect("pulsate", { times:50 }, 1000);
}

function ajouter_clic_reseau_sociel(chemin, page, nom_reseau){
	file(chemin+'/fonction_ajax.php', 'POST', 'fonction=ajout_clic_reseau_social&page='+page+'&nom_reseau='+nom_reseau);
}

function popup(page,l,h){
      var top=(screen.height-h)/2;
      var left=(screen.width-l)/2;
      fenetre_cr=window.open(page,"Enregistrer","status=no,location=no,scrollbars=yes,toolbar=no,directories=no,resizable=yes,width="+l+",height="+h+",top="+top+",left="+left);
}

function popupbis(page,l,h){
	var top=(screen.height-h)/2;
    var left=(screen.width-l)/2;
    fenetre_cr=window.open(page,"Visualiser","status=no,location=no,scrollbars=yes,toolbar=no,directories=no,resizable=yes,width="+l+",height="+h+",top="+top+",left="+left);
}

function popup_ascenceur(page,l,h){
      var top=(screen.height-h)/2;
      var left=(screen.width-l)/2;
      fenetre_cr=window.open(page,"Enregistrer","status=no,location=no,scrollbars=yes,toolbar=no,directories=no,resizable=yes,width="+l+",height="+h+",top="+top+",left="+left);
}


/**************************************************************/
/*********************** CAROUSEL *****************************/
/**************************************************************/
function afficher_titre_recette_carousel(show, titre){
	if(show==1){
		document.getElementById('conteneur_titre_recette_carousel').innerHTML=unescape(titre);
	}else{
		document.getElementById('conteneur_titre_recette_carousel').innerHTML='&nbsp;';
	}
}
function mycarousel_itemVisibleInCallback(carousel, item, i, state, evt) {
    var idx = carousel.index(i, mycarousel_itemList.length);
    carousel.add(i, mycarousel_getItemHTML(mycarousel_itemList[idx - 1]));
};
function mycarousel_itemVisibleOutCallback(carousel, item, i, state, evt) {
    carousel.remove(i);
};
function mycarousel_getItemHTML(item) {
    return '<a href="'+item.lien+'"><img onmouseover="afficher_titre_recette_carousel(1, \''+ escape(item.title) +'\');" onmouseout="afficher_titre_recette_carousel(0);" src="' + item.url + '" width="75" height="75" /></a>';
};

function animer_carousel_recette(){
	jQuery('#mycarousel').jcarousel({
        wrap: 'circular',
        scroll: 1,
        auto: 3,
        animation: 'slow', 
        itemVisibleInCallback: {onBeforeAnimation: mycarousel_itemVisibleInCallback},
        itemVisibleOutCallback: {onAfterAnimation: mycarousel_itemVisibleOutCallback}
    });
}
/**************************************************************/
/********************* FIN CAROUSEL ***************************/
/**************************************************************/

function verif_mail(mail){ 
var msg = ""; 
//verification du champ mail, du . et du @ 
   if(mail != ""){ 
	   indexArob = mail.indexOf('@'); 
	   indexPoin = mail.indexOf('.'); 
	   if(indexArob<0 ||indexPoin<0){ 
	   		return false;   
	   } 
	   else{
	   	return true;
	   }
   }
   else{ 
     return false;
   } 
}

function nettoyer_chaine(input){
	var ch=input.value;
	ch=ch.replace(/\’/g,'\'');
	input.value=ch;	
}


function enregistrer_mail_newsletter(niveau, id_champ_mail, from, id_champ_prenom, id_champ_age){
	if(id_champ_prenom==undefined) var prenom='';
	else var prenom = encodeURIComponent($('#'+id_champ_prenom).val());
		
	if(id_champ_age==undefined || id_champ_age=='') var age=0;
	else var age = encodeURIComponent($('#'+id_champ_age).val());
	
	if(isNaN(age)){
		alert("L'âge doit être un nombre.");
		$('#'+id_champ_age).focus();
	}else{
		resultat=file(niveau+'/enreg_mail.php','POST','mail='+$('#'+id_champ_mail).val()+'&prenom='+prenom+'&age='+age);
		if(resultat==3){
			alert("L'adresse que vous avez indiqué n'est pas une adresse mail valide.");
			$('#'+id_champ_mail).focus();
		}
		if(resultat==1 || resultat==2){
			if(from=='popup'){
				alert("Votre inscription a bien été prise en compte.\n\nL'équipe Certi'Ferme vous remercie.");
				$('#'+id_champ_mail).val('Votre email');
				window.focus();
				$('#popup_pub_certiferme').fadeOut('fast');
			}
			else if(from=='fancybox'){
				//$.fancybox.showActivity();
				$.fancybox("<span style='font-size:14px;color:#FF7B00'>Merci et une bonne visite !</span>");
				setTimeout("$.fancybox.close()", 2500);
			}
		}
	}
	//alert(resultat);
}

/**
 * Javascript trim, ltrim, rtrim
 * Fonctions de suppression des espaces surnuméraires (ou autres caractères)
 * en début et en fin de chaine.
 * trim va faire appel à deux autres méthodes rtrim et ltrim qui éventuellement
 * restent accessibles individuellement.
 *
 * Source :  * http://www.webtoolkit.info/
 *
 * @param   {String}  str       Chaine de caractères à traiter.         OBLIGATOIRE
 * @param   {String}  chars     Chaine à supprimer (par défaut, espace) FACULTATIF
 * @return  {String}
 */
function trim (str, chars){
    return ltrim(rtrim(str, chars), chars);
}

function ltrim (str, chars){
    var car = (chars != undefined) ? chars : "\\s";
    return str.replace(new RegExp("^[" + chars + "]*", "g"), "");
}

function rtrim (str, chars){
    var car = (chars != undefined) ? chars : "\\s";
    return str.replace(new RegExp("[" + chars + "]*$", "g"), "");
}

function animer_pub_cf(){
	setTimeout("$('#popup_pub_certiferme').animate({top: '130px'}, 1000);", 800);
}

function ajouter_aux_favoris() {
	if (navigator.appName != 'Microsoft Internet Explorer'){
		window.sidebar.addPanel("Le village Certi'Ferme","http://www.certiferme.com",""); 
	}else {
		window.external.AddFavorite("http://www.certiferme.com","Le village Certi'Ferme");
	}
} 


function verif_form_ident() {
	var form = document.form_ident;
	var champ_login = document.form_ident.login.value;
	var champ_mdp = $(trim(document.form_ident.mdp.value));
	var err = 0;
	var error_txt='';
	var resultat='.';
	
	if(champ_login==''){err++; error_txt+='Saisissez votre login.<br />'; form.login.focus();}
	if(champ_mdp==''){err++; error_txt+='Saisissez votre mot de passe.'; form.login.focus();}
	if(champ_login!='' && champ_mdp!=''){
		resultat = file('verif_connexion.php?login='+champ_login+'&mdp='+champ_mdp+'&page=index', 'GET', '');
		if(resultat==0){err++; error_txt+='Cet identifiant n\'existe pas<br />'; form.login.value=''; form.login.focus();}
		if(resultat==-1){err++; error_txt+='Votre mot de passe est erroné<br />'; form.mdp.value=''; form.mdp.focus();}
		if(resultat==-2){err++; error_txt+='Votre compte n\'est pas activé.<br />'; form.login.focus();}
		if(resultat==-3){err++;}
	}
	if(err>0) {
		document.getElementById('div_erreur').innerHTML = error_txt;
		if(resultat==-3){ //La personne est inscrite mais ne possède pas de blog
			//document.location = 'ajout/inscription.php';
			document.getElementById('div_erreur').innerHTML += "<form id='form_sans_blog' action='ajout/inscription.php' method='POST'><input type='hidden' name='login_sans_blog' value='"+form.login.value+"' /></form>";
			document.getElementById('form_sans_blog').submit();
		}else{
			document.getElementById('div_erreur').style.display = 'block';
		}
		return false;
	} else {
		return true;
	}
	
}

function connect_ajax(niveau, formulaire, from, url, reload){
	if(formulaire==undefined || formulaire=='') var form=document.form_ident;
	if(url==undefined) var url='';
	if(reload==undefined || reload=='') var reload='0';
	else var form = eval('document.'+formulaire);
	
	var champ_login = $.trim(form.login.value);
	var champ_mdp = $.trim(form.mdp.value);
	var err = 0;
	var error_txt='';
	var resultat='.';
	
	if(champ_login==''){err++; error_txt+='Saisissez votre login.<br />'; form.login.focus();}
	if(champ_mdp==''){err++; error_txt+='Saisissez votre mot de passe.'; form.login.focus();}
	if(champ_login!='' && champ_mdp!=''){
		resultat = file(niveau+'/mon_blog/verif_connexion.php?login='+champ_login+'&mdp='+champ_mdp, 'GET', '');
		if(resultat==0){err++; error_txt+='Cet identifiant n\'existe pas<br />'; form.login.value=''; form.login.focus();}
		if(resultat==-1){err++; error_txt+='Votre mot de passe est erroné<br />'; form.mdp.value=''; form.mdp.focus();}
		if(resultat==-2){err++; error_txt+='Votre compte n\'est pas activé.<br />'; form.login.focus();}
		if(resultat==-3){err++;}
	}
	if(from=='mes_actions'){
		if(err>0) {
			document.getElementById('div_erreur').innerHTML = error_txt;
			document.getElementById('div_erreur').style.display = 'block';
		} else {
			document.getElementById('div_erreur').innerHTML = '';
			document.getElementById('span_login_inscrit').innerHTML = champ_login;
			document.getElementById('formulaire_ident_global').style.display = 'none';
			document.getElementById('div_connexion_inscrit').style.display = 'none';
			document.getElementById('lien_mon_livre_non_connecte').style.display = 'none';
			document.getElementById('lien_mon_livre_connecte').style.display = '';
			document.getElementById('div_presentation_inscrit').style.display = '';
			document.getElementById('div_deconnexion_inscrit').style.display = '';
			document.getElementById('div_compte_inscrit').style.display = '';
			
			document.location.href=document.getElementById('lien_mon_livre_connecte').href;
		}
	}
	else if(from=='mes_actions_accueil'){
		if(err>0) {
			alert(error_txt);
		} else {
			document.location.href=document.getElementById('lien_mon_livre_connecte').href;
		}
	}
	else if(from=='fancy'){
		if(err>0) {
			$('#erreur_formulaire_identification').html(error_txt);
			$('#erreur_formulaire_identification').show();
			$.fancybox.resize();
			$('#formulaire_identification #login').focus();
		}else{
			if(reload=='1') document.location.reload();
			else document.location.href=niveau+'/'+url;
		}
	}
	
}

function deconnect(niveau, type){
	file(niveau+'/destroy.php?t_destroy='+type, 'GET', '');
	document.location.reload();
}

function in_array (needle, haystack, argStrict) {
    // Checks if the given value exists in the array  
    // 
    // version: 911.718
    // discuss at: http://phpjs.org/functions/in_array    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: vlado houba
    // +   input by: Billy
    // +   bugfixed by: Brett Zamir (http://brett-zamir.me)
    // *     example 1: in_array('van', ['Kevin', 'van', 'Zonneveld']);    // *     returns 1: true
    // *     example 2: in_array('vlado', {0: 'Kevin', vlado: 'van', 1: 'Zonneveld'});
    // *     returns 2: false
    // *     example 3: in_array(1, ['1', '2', '3']);
    // *     returns 3: true    // *     example 3: in_array(1, ['1', '2', '3'], false);
    // *     returns 3: true
    // *     example 4: in_array(1, ['1', '2', '3'], true);
    // *     returns 4: false
    var key = '', strict = !!argStrict; 
    if (strict) {
        for (key in haystack) {
            if (haystack[key] === needle) { return true; }
        }
    } else {
        for (key in haystack) {
            if (haystack[key] == needle) { return true; }
        }
    }
     return false;
}

function init_form_newsletter_fancybox(){
	$.fancybox(
		$('#formulaire_newsletter_fancy').html(), {
			'transitionIn'		: 'none',
			'transitionOut'		: 'none',
			'hideOnOverlayClick': false,
			'enableEscapeButton': true,
			'onComplete'		: function() {
				$('#formulaire_newsletter_fancy').remove();
				setTimeout("$('#champ_mail_newsletter_recette').focus();", 200);
			}
		}			
	);
}

function htmlspecialchars_inverse(str){
	str = str.replace(/&amp;/g, "&" );
	str = str.replace(/&lt;/g, "<" );
    str = str.replace(/&gt;/g, ">" );
    return str;
}
function htmlspecialchars(str){
    str = str.replace(/&/g, "&amp;" );
    str = str.replace(/</g, "&lt;" );
    str = str.replace(/>/g, "&gt;" );
    return str;
}

function addslashes(str) {
	str=str.replace(/\'/g,'\\\'');
	str=str.replace(/\"/g,'\\"');
	str=str.replace(/\\/g,'\\\\');
	str=str.replace(/\0/g,'\\0');
	return str;
}
function stripslashes(str) {
	str=str.replace(/\\'/g,'\'');
	str=str.replace(/\\"/g,'"');
	str=str.replace(/\\\\/g,'\\');
	str=str.replace(/\\0/g,'\0');
	return str;
}
