var GB_ROOT_DIR = "http://www.motorevue.com/fonction-js/greybox/";

//Variable de stockage du tableau de pubs
var tabPub = new Array();

function masquer_pub() {
    if(document.getElementById('pub_flotante_conteur')) {
        document.getElementById('pub_flotante_conteur').style.display = "none";
    }
}

function valider_recherche(){
    if (document.getElementById('rech_motcle').value == ""){
        alert("Vous devez entrer un mot cle");
        return false;
    }
    else {
        return true;
    }
}

function fin_masquer_pub() {
    setTimeout('masquer_pub()', 7000);
}

function fbs_click() {
    u = location.href;
    t = document.title;
    window.open('http://www.facebook.com/sharer.php?u=' + encodeURIComponent(u)
                    + '&t=' + encodeURIComponent(t), 'sharer',
                    'toolbar=0,status=0,width=626,height=436');
    return false;
}


function popup(loc, larg, haut) {
    var left = parseInt((screen.availWidth / 2) - (larg / 2));
    var top = parseInt((screen.availHeight / 2) - (haut / 2));
    var windowFeatures = "menubar=0,resizable=1,scrollbars=yes,width=" + larg
                    + ",height=" + haut + ",status,resizable,left=" + left + ",top="
                    + top + "screenX=" + left + ",screenY=" + top;
    nouvelle_fenetre = window.open(loc, "", windowFeatures);
    if (parseInt(navigator.appVersion) > 2) {
            nouvelle_fenetre.focus();
    }
}


function init_global() {
    if (document.getElementById('consultes') != null && document.getElementById('commentes') != null) {
            hauteur_bloc = Math.max(document.getElementById('consultes').offsetHeight,
                                    document.getElementById('commentes').offsetHeight);
            document.getElementById('consultes').style.height = hauteur_bloc + "px";
            document.getElementById('commentes').style.height = hauteur_bloc + "px";
    }
    if (document.getElementById('pub_flotante_conteur') != null) {
        setTimeout("masquer_pub()", 5000);
    }
}
function validation_sondage() {
    var nbelement = 15;
    //var numOfElements = document.formsondage.elements.length;
    //alert("il y a: "+numOfElements);
    var statut = true;
    for (i = 0; i < nbelement; i++) {
        if (!document.getElementById('reponse' + i).checked) {
            statut = false;
        } else {
            statut = true;
            break;
        }
    }
    if (statut != true) {
        alert("Merci de selectionner une reponse !");
        return false;
    } else {
        return true;
    }
}

function autofitIframe(id) {
    parent.document.getElementById(id).height = document.getElementById("mon_tableau").offsetHeight;
}

//==============================================================================
//Contr�le de donn�es
//==============================================================================
function isEmpty(value){
var retour;

if(value=="")
	  retour = true;
else if(value==0)
	  retour = true;
else
	  retour = false;

return retour;
}
function isEmail(value){
var re=/^[a-z0-9](\.?[a-z0-9_-])*[@]([a-z0-9_-]+\.)+([a-z]{2,4})$/i;
return re.test(value)?true:false;
}
function isFRPhoneNumber(value){
var re=/^(\d{2}(\ |-)?){5}$/;
return re.test(value)?true:false;
}
function isNumeric(value){
var re=/^\d+$/;
return re.test(value)?true:false;
}
function isFloat(value){
	var re=/^\d+([.]\d+)?$/;
	test =  re.test(value)?true:false;
	if(test == false)
	{
		var re2=/^\d+([,]\d+)?$/;
		test =  re2.test(value)?true:false;
	}
	return test;
}
function isFRPostalCode(value){
var re=/^\d{5}$/;
return re.test(value)?true:false;
}

function getFRDateObject(sDate){
var t1=sDate.split("/");
return new Date(t1[2], t1[1]-1, t1[0]);
}
function getFRDateString(dDate){
return (dDate.getDate()<10?"0":"")+dDate.getDate()
 +"/"+((dDate.getMonth()+1)<10?"0":"")+(dDate.getMonth()+1)
 +"/"+dDate.getFullYear();
}
function isFRDateEqual(sDate1, sDate2){
if(!isFRDate(sDate1)||!(isFRDate(sDate2))) return false;
return isDateEqual(getFRDateObject(sDate1), getFRDateObject(sDate2));
}
function isDateEqual(dDate1, dDate2){
return dDate1.getTime()==dDate2.getTime();
}
function isFRDateBefore(sDate1, sDate2){
if(!isFRDate(sDate1)||!(isFRDate(sDate2))) return false;
return isDateBefore(getFRDateObject(sDate1), getFRDateObject(sDate2));
}
function isDateBefore(dDate1, dDate2){
return dDate1.getTime()<dDate2.getTime();
}
function isFRDateAfter(sDate1, sDate2){
if(!isFRDate(sDate1)||!(isFRDate(sDate2))) return false;
return isDateAfter(getFRDateObject(sDate1), getFRDateObject(sDate2));
}
function isDateAfter(dDate1, dDate2){
return dDate1.getTime()>dDate2.getTime();
}
function isFRDate(value){
if(!/^(\d{1,2}\/){2}\d{4}$/.test(value)) return false;
var v=value.split("/");
return isDate(v[0], v[1], v[2]);
}
function isDate(jj, mm, aaaa){
if(!isNumeric(jj)||!isNumeric(mm)||!isNumeric(aaaa)) return false;
if(jj<1||jj>31||mm<1||mm>12) return false;
if(mm==2){
 if(jj==30||jj==31) return false;
 if(jj==29) return (aaaa%4==0&&aaaa%100!=0)||aaaa%400==0;
}
else if(jj==31) return !(mm==4||mm==6||mm==9||mm==11);
else if(aaaa < 1900) return false;
return true;
}
function isMinuscule(chara){
return /^[a-z���������������������������]$/.test(chara)?true:false;
}
function isMajuscule(chara){
return /^[A-Z��������������������������]$/.test(chara)?true:false;
}
function isAlphabetical(value){
var re=/^[A-Z��������������������������a-z���������������������������\s'\-]+$/;
return re.test(value)?true:false;
}
function isAlphanumeric(value){
var re=/^[A-Z��������������������������a-z���������������������������\s\S,'0-9\-]+$/;
return re.test(value)?true:false;
}

//==============================================================================
//R�cup�ration des donn�es
//==============================================================================

//radio
function getRadioValue(radioName){
var lg=radioName.length;
var ret="";
for(var i=0;i<lg;i++)
 if(radioName[i].checked){ret=radioName[i].value;break;}
return(ret);
}

//text, password, hidden, textarea, file
function getTextValue(textName){
return textName.value;
}

//checkbox
function getCheckboxValue(checkboxName){
var lg=checkboxName.length;
var ret="";
for(var i=0;i<lg;i++)
 if(checkboxName[i].checked==true){ret+=checkboxName[i].value + "\n";}
return(ret);
}

//select
function getSelectValue(selectName){
return(selectName.options[selectName.selectedIndex].text);
}

//select
function getSelectValueId(selectName){
return(selectName.options[selectName.selectedIndex].value);
}

//***************************************************************************
//M�thodes utilitaires
//***************************************************************************

//Convertit les centimes d'euro en euros
function convertCtsToEuros(cts){
var l=cts.length;
switch(l){
 case 0:return "0,00";
 case 1:return "0,0"+cts;
 case 2:return "0,"+cts;
 default:return cts.substr(0, l-2)+","+cts.substr(l-2, l);
}
}

//Initialise tous les objets du formulaire
function initialize(form){
with(form){
 for(var i=0;i<elements.length;i++)
   if(elements[i].type=="text"||elements[i].type=="textarea")
     elements[i].value="";
   else if(elements[i].type.substring(0,6)=="select")
     elements[i].selectedIndex=0;
}
}

//Encode tous les champs de type texte du formulaire
function escapeText(form){
with(form){
 for(var i=0;i<elements.length;i++)
   if(elements[i].type=="text"||elements[i].type=="textarea")
     elements[i].value=escape(elements[i].value);
}
}

//D�code tous les champs de type texte du formulaire
function unescapeText(form){
with(form){
 for(var i=0;i<elements.length;i++)
   if(elements[i].type=="text"||elements[i].type=="textarea")
     elements[i].value=unescape(elements[i].value);
}
}

//Formate tous les champs de type texte du formulaire
function formatText(form){
with(form){
 for(var i=0;i<elements.length;i++)
   if(elements[i].type=="text"||elements[i].type=="textarea")
     elements[i].value=getTrim(elements[i].value);
}
}

//Supprime les espaces de d�but, de fin, et s�pare les mots par un espace
function getTrim(chaine){
var tab=chaine.split(" ");
var trim="";
for(var i=0;i<tab.length;i++){
 if(tab[i]!=""){
   if(trim!="") trim+=" ";
   trim+=tab[i];
 }
}
return trim;
}

//Retourne le dernier �l�ment de la pile sous forme de cha�ne de caract�res, et la mise � jour de la pile
//Le r�sultat est un tableau :
//- indice 0 : dernier �l�ment,
//- indice 1 : la pile ot�e du dernier �l�ment.
function removeLast(stack, delimiter){
var i=stack.lastIndexOf(delimiter);
return i==-1
 ? new Array(stack, "")
 : new Array(stack.substr(i+1,stack.length), stack.substr(0,i));
}
function removeFirst(stack, delimiter){
var i=stack.indexOf(delimiter);
return i==-1
 ? new Array(stack, "")
 : new Array(stack.substr(0,i), stack.substr(i+1,stack.length));
}
function IsSiret(siret) {
	 var estValide;
	 if ( (siret.length != 14) || (isNaN(siret)) )
	 	estValide = false;
	 else {
		 // Donc le SIRET est un num�rique � 14 chiffres
		 // Les 9 premiers chiffres sont ceux du SIREN (ou RCS), les 4 suivants
		 // correspondent au num�ro d'�tablissement
		 // et enfin le dernier chiffre est une clef de LUHN.
		 var somme = 0;
		 var tmp;
		 for (var cpt = 0; cpt<siret.length; cpt++) {
			 if ((cpt % 2) == 0) { // Les positions impaires : 1er, 3�, 5�, etc...
				 tmp = siret.charAt(cpt) * 2; // On le multiplie par 2
				 if (tmp > 9)
					tmp -= 9; // Si le r�sultat est sup�rieur � 9, on lui soustrait 9
			 }else
				tmp = siret.charAt(cpt);

			 somme += parseInt(tmp);
		}
		if ((somme % 10) == 0)
			estValide = true; // Si la somme est un multiple de 10 alors le SIRET est valide
		else
			estValide = false;
	 }
	 return estValide;
}
//met en forme des chiffres
/* Made by Mathias Bynens <http://mathiasbynens.be/> */
function number_format(a, b, c, d) {
	 a = Math.round(a * Math.pow(10, b)) / Math.pow(10, b);
	 e = a + '';
	 f = e.split('.');
	 if (!f[0]) {
	  f[0] = '0';
	 }
	 if (!f[1]) {
	  f[1] = '';
	 }
	 if (f[1].length < b) {
	  g = f[1];
	  for (i=f[1].length + 1; i <= b; i++) {
	   g += '0';
	  }
	  f[1] = g;
	 }
	 if(d != '' && f[0].length > 3) {
	  h = f[0];
	  f[0] = '';
	  for(j = 3; j < h.length; j+=3) {
	   i = h.slice(h.length - j, h.length - j + 3);
	   f[0] = d + i +  f[0] + '';
	  }
	  j = h.substr(0, (h.length % 3 == 0) ? 3 : (h.length % 3));
	  f[0] = j + f[0];
	 }
	 c = (b <= 0) ? '' : c;
	 return f[0] + c + f[1];
}

function tel_format(NumTel)
{
	var Tel = NumTel;
	var j = 0;
	
	if(NumTel.charAt(0) == "+")
	{
		Tel = "("+ Tel.substring(0,3) +")&nbsp;"+ Tel.substring(3,Tel.length);
		j = 11;
	}
	
	for(i=j ; i < Tel.length; i+=8)
	{
		Tel = Tel.substring(0,i)+"&nbsp;"+ Tel.substring(i,Tel.length);
	}
	return (Tel);
} 
//permet d'afficher_masquer un champ en fonction du contenu d'un autre
function afficher_masquer(tester,target,type_champ,value_tester)
{
    champ_tester = document.getElementById(''+tester);
    champ_target = document.getElementById(''+target);

    switch(type_champ)
    {
        case 'checkbox':
            if(champ_tester.checked == true) {
                champ_target.style.display = 'inline';
                champ_target.style.visibility = 'visible';
            } else {
                champ_target.style.display = 'none';
                champ_target.style.visibility = 'hidden';
            }
        break;
        case 'select-table_element':
            if(value_tester.inArray(champ_tester.value) != -1) {
                champ_target.style.visibility = 'visible';
                champ_target.style.display = '';
            } else {
                champ_target.style.visibility = 'hidden';
                champ_target.style.display = 'none';
            }
        break;
        case 'href':
            if(champ_target.style.display == 'none')
        {
                champ_target.style.display = 'inline';
                champ_target.style.visibility = 'visible';
            } else {
                champ_target.style.display = 'none';
                champ_target.style.visibility = 'hidden';
            }
        break;
    }
}

Array.prototype.inArray = function(valeur) {
    for (var i in this) {if (this[i] === valeur) return i;}
    return -1;
}

$(document).ready(function() {

    jQuery.getJSON('http://publicite.editions-lariviere.fr/ecommerce-publicite/publicite-json.php?callback=?',
        {pubs: tabPub},
        function(data) {

            var tabPubRecuesTemp = new Array();

            jQuery.each(data, function(k,v) {
                jQuery('#'+k).writeCapture().html(v);
                tabPubRecuesTemp[k] = 1;

            });

            jQuery.each(tabPub, function(index, value) {
                valueTemp = value.substring(value.indexOf("pub-"));

                if(tabPubRecuesTemp[valueTemp] != 1) {
                    jQuery('#'+valueTemp).css("display", "none");
                }
            });

        }

    );

    jQuery('a[rel*=external]').click(function() {
        return !window.open($(this).attr("href"));
    });

    xOffset = 10;
    yOffset = 30;
    
    $("a.preview").hover(function(e){
        $("body").append("<p id='preview'><img src='"+ this.href +"' alt='Couverture' /></p>");
        $("#preview")
            .css("top",(e.pageY - xOffset) + "px")
            .css("left",(e.pageX + yOffset) + "px")
            .show();
    },
    function(){
        $("#preview").remove();
    });

    $("a.preview").mousemove(function(e){
        $("#preview")
            .css("top",(e.pageY - xOffset) + "px")
            .css("left",(e.pageX + yOffset) + "px");
    });
    
});
