function PopupCentrer(page,name,largeur,hauteur,options) 
{
    var top=(screen.height-hauteur)/2;
    var left=(screen.width-largeur)/2;
    window.open(page,name,"top="+top+",left="+left+",width="+largeur+",height="+hauteur+","+options);
}
    
function openShadowbox( _page ) {
    Shadowbox.open({player:'iframe',content:_page,height:800,width:950, options:{fadeDuration:0.1, resizeDuration:0.1, animSequence:"sync"}});
}

function closeShadowbox( _goto ) {
    Shadowbox.close();
    
    if(typeof(_goto) != 'undefined')
        document.location.replace(_goto);
}

function is_mail(mail){
    var filter_email=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
    return filter_email.test(mail);
}

var t_res;

function preload( t_img ) 
{
    t_res = new Array()
    for(var i=0;i<t_img.length;i++)
    {
        var el = new Image();
        el.src = t_img[i];
        t_res.push( el );
    }
}


// JavaScript Document
var tab_direction_scroll = new Array();

/***************************************
/ Fonction qui gère les déplacements  des blocs
/ Tous les paramètres sont optionnels et peuvent être remplacés par le booleen false
/ Valeurs possibles
/ sens_scroll : "horizontal" / "vertical" / false
/ direction_scroll : "plus" / "moins" / false
/ timeout_relance : false / un entier représentant le nombre de millisecondes avant le déclanchement
/***************************************/
var nq_scroll = function(id_conteneur, id_contenu, sens_scroll, direction_scroll, timeout_relance) {
    if(!id_conteneur) {id_conteneur = 'nd_conteneur_scroll';}
    if(!id_contenu) {id_contenu = 'nd_contenu_scroll';}
    if(!sens_scroll){
        sens_scroll = 'horizontal';
    }
    if(!direction_scroll){
        direction_scroll = 'plus';
    }
    // on stocke la direction pour ce conteneur pour les futurs appels
    if(typeof(tab_direction_scroll[id_conteneur])=='undefined') {
        tab_direction_scroll[id_conteneur] = direction_scroll;
    }
    if(!timeout_relance){timeout_relance = 0;}
    
    // on commence par récupérer la taille du scroll
    // ensuite on en déduit l'attribut de l'annimation
    // et enfin on calcule la direction pour la prochaine animation du conteneur
    var tabRegionConteneur = Dom.getRegion(id_conteneur);
    var tabRegionContenu = Dom.getRegion(id_contenu);
    if(sens_scroll=='horizontal') {
        var tailleConteneur = tabRegionConteneur['right']-tabRegionConteneur['left'];
        // on calcule l'indice courant et on en déduit l'index suivant
        var index_courant = Math.round(Dom.get(id_conteneur).scrollLeft/tailleConteneur);
        if(tab_direction_scroll[id_conteneur]=='plus'){
            var index_suivant = index_courant+1;
        }
        else {
            var index_suivant = index_courant-1;
        }
        var attributes = {scroll: { to: [index_suivant*tailleConteneur,0]}};
        
        var tailleContenu = tabRegionContenu['right'] - tabRegionContenu['left'];
        if(attributes.scroll.to[0] >= tailleContenu-tailleConteneur) {
            tab_direction_scroll[id_conteneur] = 'moins';
        }
        
        if(attributes.scroll.to[0] ==0)
        {
            tab_direction_scroll[id_conteneur] = 'plus';
        }
    }
    else {
        var tailleConteneur = tabRegionConteneur['bottom']-tabRegionConteneur['top'];
        // on calcule l'indice courant
        var index_courant = Math.round(Dom.get(id_conteneur).scrollTop/tailleConteneur);
        if(tab_direction_scroll[id_conteneur]=='plus'){
            var index_suivant = index_courant+1;
        }
        else {
            var index_suivant = index_courant-1;
        }
        var attributes = {scroll: { to: [0,index_suivant*tailleConteneur]}};
        
        var tailleContenu = tabRegionContenu['bottom'] - tabRegionContenu['top'];
        if(attributes.scroll.to[1] >= tailleContenu-tailleConteneur) {
            tab_direction_scroll[id_conteneur] = 'moins';
        }
        
        if(attributes.scroll.to[1]==0)
        {
            tab_direction_scroll[id_conteneur] = 'plus';
        }
    }
            
    // on anime le scroll
    var anim_scroll_nq = new YAHOO.util.Scroll(id_conteneur, attributes, 1, YAHOO.util.Easing.easeOut);
    anim_scroll_nq.animate();
    
    
    // on relance l'animation si c'est demandé
    if(timeout_relance>0) {
        window.setTimeout('nq_scroll("'+id_conteneur+'", "'+id_contenu+'", "'+sens_scroll+'", false, "'+timeout_relance+'");',timeout_relance);
    }
}


/***************************************
/ Fonction qui parcourt tout les éléments ayant la classe spécifiée de la div spécifiée
/ Elle prend la taille maximale de ces éléments et redimensionne la div conteneur avec cette taille
/ Parametres :
/ id_container
/ content_tagname ('div' / 'td' / 'p' / ...)
/ content_classname
/ resize_width : true / false
/ resize_heigth : true / false
/ animation_duration : 0 pour ne pas animer le resize, temps de l'animation sinon
/***************************************/
var update_container_dimensions = function(id_container, content_tagname, content_classname, resize_width, resize_height, animation_duration) {
    // on déclare les variable qui vont contenir la largeur et la hauteur maximales
    var height=0;
    var width = 0;
    // on récupère tous les contenus du container
    var t_contents = Dom.getElementsBy(function(el){return el.className==content_classname;}, content_tagname, id_container);
    var i,t_current_region,current_width,current_height;
    // on parcourt tous les contenus en ne conservant que la plus grande dimension !
    for(i=0; i<t_contents.length; i++) {
        // on supprime l'éventuelle hauteur et largeur définies
        if(resize_width) {
            Dom.setStyle(t_contents[i], 'width', 'auto');
        }
        if(resize_height) {
            Dom.setStyle(t_contents[i], 'height', 'auto');
        }
        
        // on calcule la région pour avoir la largeur et la hauteur
        t_current_region = Dom.getRegion(t_contents[i]);
        
        // on vérifie si ces dimensions sont supérieures aux précédentes
        if(resize_width) {
            current_width = t_current_region['right']-t_current_region['left'];
            width = Math.max(width,current_width);
        }
        if(resize_height) {
            current_height = t_current_region['bottom']-t_current_region['top'];
            height = Math.max(height,current_height);
        }
    }
    
    // on met tous les contenus à la taille du plus grand contenu
    for(i=0; i<t_contents.length; i++) {
        if(resize_width) {
            Dom.setStyle(t_contents[i], 'width', width+'px');
        }
        if(resize_height) {
            Dom.setStyle(t_contents[i], 'height', height+'px');
        }
    }
    
    // on met pour finir le conteneur à la nouvelle taille
    if(animation_duration==0) {
        if(resize_width) {
            Dom.setStyle(id_container, 'width', width+'px');
        }
        if(resize_height) {
            Dom.setStyle(id_container, 'height', height+'px');
        }
    }
    else {
        var attributes = {};
        if(resize_width) {
            attributes.width = { to: width };
        }
        if(resize_height) {
            attributes.height = { to: height };
        }
        
        var resizeAnim = new YAHOO.util.Anim(id_container, attributes, animation_duration, YAHOO.util.Easing.easeOut);
        resizeAnim.animate();
    }
    
}


/**
*    Souscription a la newsletter
**************************************/
function subscribeNewsLetter(_address)
{
    if( _address != '' ){
        if( is_mail(_address) ){
            AjaxNLSubscribeObject.startRequest(_address);
        }
        else{
            alert("Votre adresse E-mail ne semble pas valide.");
        }
    }
    else{
        alert("Veuillez saisir une adresse E-mail.");
    }
}

var AjaxNLSubscribeObject = {

    handleSuccess:function(o){
        try{
            eval(o.responseText);            
        }catch(e){
            alert("Une erreur c'est produite");    
        }
        
    },

    handleFailure:function(o){
        alert("Une erreur c'est produite");    
    },

    processResult:function(o){

    },

    startRequest:function(_address) {
        YAHOO.util.Connect.asyncRequest('POST', '/subscribe.php', callbackNLSubscribe, 'mail='+escape(_address));
    }

};

/*
 * Define the callback object for success and failure
 * handlers as well as object scope.
 */
var callbackNLSubscribe= {
    success:AjaxNLSubscribeObject.handleSuccess,
    failure:AjaxNLSubscribeObject.handleFailure,
    scope:AjaxNLSubscribeObject
};


/**
*    Affichage div déficients visuels
**************************************/
var b_display_deficient = false;
function displayDeficients()
{
    
    if(b_display_deficient)
    {
        Dom.setStyle('deficient_visuel', 'display', 'none');
        Dom.setStyle('deficient_visuel', 'visibility', 'hidden');
    }
    else
    {
        Dom.setStyle('deficient_visuel', 'display', 'block');
        Dom.setStyle('deficient_visuel', 'visibility', 'visible');        
    }
    b_display_deficient = !b_display_deficient;
}


/**
*    Verification formulaire de l'annuaire
**************************************/
function checkFormAnnuaire(_form)
{
    if(_form.theme.value == ''){
        alert('Veuillez sélectionner une catégorie de recherche.');    
        return false;
    }
    if(_form.recherche.value == '' || _form.recherche.value == 'Votre recherche'){
        alert('Veuillez remplir le champs de recherche.');    
        return false;
    }    
    return true;
}


/**
*    Gestion des onglets des actus
**************************************/
function changeOngletMenu( _id_onglet )
{
    switch(_id_onglet)
    {
        case 0:
            if(Dom.get('onglet_menu_0') != null)
            {
                Dom.setStyle('onglet_menu_0', 'zIndex', '40');
                Dom.setStyle('content_actu_0', 'display', 'block');
                Dom.setStyle('content_actu_0', 'visibility', 'visible');
                Dom.setStyle('puce_actu_0', 'display', 'block');
                Dom.setStyle('puce_actu_0', 'visibility', 'visible');                
            }
            if(Dom.get('onglet_menu_1') != null)
            {
                Dom.setStyle('onglet_menu_1', 'zIndex', '30');
                Dom.setStyle('content_actu_1', 'display', 'none');
                Dom.setStyle('content_actu_1', 'visibility', 'hidden');    
                Dom.setStyle('puce_actu_1', 'display', 'none');
                Dom.setStyle('puce_actu_1', 'visibility', 'hidden');                    
            }
            if(Dom.get('onglet_menu_2') != null)
            {            
                Dom.setStyle('onglet_menu_2', 'zIndex', '20');
                Dom.setStyle('content_actu_2', 'display', 'none');
                Dom.setStyle('content_actu_2', 'visibility', 'hidden');        
                Dom.setStyle('puce_actu_2', 'display', 'none');
                Dom.setStyle('puce_actu_2', 'visibility', 'hidden');                    
            }
            if(Dom.get('onglet_menu_3') != null)
            {            
                Dom.setStyle('onglet_menu_3', 'zIndex', '10');
                Dom.setStyle('content_actu_3', 'display', 'none');
                Dom.setStyle('content_actu_3', 'visibility', 'hidden');    
                Dom.setStyle('puce_actu_3', 'display', 'none');
                Dom.setStyle('puce_actu_3', 'visibility', 'hidden');                    
            }
            break;
        
        case 1:
            if(Dom.get('onglet_menu_0') != null)
            {
                Dom.setStyle('onglet_menu_0', 'zIndex', '30');
                Dom.setStyle('content_actu_0', 'display', 'none');
                Dom.setStyle('content_actu_0', 'visibility', 'hidden');    
                Dom.setStyle('puce_actu_0', 'display', 'none');
                Dom.setStyle('puce_actu_0', 'visibility', 'hidden');                    
            }
            if(Dom.get('onglet_menu_1') != null)
            {
                Dom.setStyle('onglet_menu_1', 'zIndex', '40');
                Dom.setStyle('content_actu_1', 'display', 'block');
                Dom.setStyle('content_actu_1', 'visibility', 'visible');
                Dom.setStyle('puce_actu_1', 'display', 'block');
                Dom.setStyle('puce_actu_1', 'visibility', 'visible');                    
            }
            if(Dom.get('onglet_menu_2') != null)
            {            
                Dom.setStyle('onglet_menu_2', 'zIndex', '20');
                Dom.setStyle('content_actu_2', 'display', 'none');
                Dom.setStyle('content_actu_2', 'visibility', 'hidden');        
                Dom.setStyle('puce_actu_2', 'display', 'none');
                Dom.setStyle('puce_actu_2', 'visibility', 'hidden');                
            }
            if(Dom.get('onglet_menu_3') != null)
            {            
                Dom.setStyle('onglet_menu_3', 'zIndex', '10');
                Dom.setStyle('content_actu_3', 'display', 'none');
                Dom.setStyle('content_actu_3', 'visibility', 'hidden');    
                Dom.setStyle('puce_actu_3', 'display', 'none');
                Dom.setStyle('puce_actu_3', 'visibility', 'hidden');                    
            }            
            break;
        
        case 2:
            if(Dom.get('onglet_menu_0') != null)
            {
                Dom.setStyle('onglet_menu_0', 'zIndex', '20');
                Dom.setStyle('content_actu_0', 'display', 'none');
                Dom.setStyle('content_actu_0', 'visibility', 'hidden');        
                Dom.setStyle('puce_actu_0', 'display', 'none');
                Dom.setStyle('puce_actu_0', 'visibility', 'hidden');                
            }
            if(Dom.get('onglet_menu_1') != null)
            {
                Dom.setStyle('onglet_menu_1', 'zIndex', '30');
                Dom.setStyle('content_actu_1', 'display', 'none');
                Dom.setStyle('content_actu_1', 'visibility', 'hidden');        
                Dom.setStyle('puce_actu_1', 'display', 'none');
                Dom.setStyle('puce_actu_1', 'visibility', 'hidden');                    
            }
            if(Dom.get('onglet_menu_2') != null)
            {            
                Dom.setStyle('onglet_menu_2', 'zIndex', '40');
                Dom.setStyle('content_actu_2', 'display', 'block');
                Dom.setStyle('content_actu_2', 'visibility', 'visible');    
                Dom.setStyle('puce_actu_2', 'display', 'block');
                Dom.setStyle('puce_actu_2', 'visibility', 'visible');                    
            
            }
            if(Dom.get('onglet_menu_3') != null)
            {            
                Dom.setStyle('onglet_menu_3', 'zIndex', '10');
                Dom.setStyle('content_actu_3', 'display', 'none');
                Dom.setStyle('content_actu_3', 'visibility', 'hidden');    
                Dom.setStyle('puce_actu_3', 'display', 'none');
                Dom.setStyle('puce_actu_3', 'visibility', 'hidden');                    
            }                
            break;
        
        case 3:
            if(Dom.get('onglet_menu_0') != null)
            {
                Dom.setStyle('onglet_menu_0', 'zIndex', '10');
                Dom.setStyle('content_actu_0', 'display', 'none');
                Dom.setStyle('content_actu_0', 'visibility', 'hidden');    
                Dom.setStyle('puce_actu_0', 'display', 'none');
                Dom.setStyle('puce_actu_0', 'visibility', 'hidden');                
            }
            if(Dom.get('onglet_menu_1') != null)
            {
                Dom.setStyle('onglet_menu_1', 'zIndex', '20');
                Dom.setStyle('content_actu_1', 'display', 'none');
                Dom.setStyle('content_actu_1', 'visibility', 'hidden');    
                Dom.setStyle('puce_actu_1', 'display', 'none');
                Dom.setStyle('puce_actu_1', 'visibility', 'hidden');                    
            }
            if(Dom.get('onglet_menu_2') != null)
            {            
                Dom.setStyle('onglet_menu_2', 'zIndex', '30');
                Dom.setStyle('content_actu_2', 'display', 'none');
                Dom.setStyle('content_actu_2', 'visibility', 'hidden');        
                Dom.setStyle('puce_actu_2', 'display', 'none');
                Dom.setStyle('puce_actu_2', 'visibility', 'hidden');                    
            }
            if(Dom.get('onglet_menu_3') != null)
            {            
                Dom.setStyle('onglet_menu_3', 'zIndex', '40');
                Dom.setStyle('content_actu_3', 'display', 'block');
                Dom.setStyle('content_actu_3', 'visibility', 'visible');    
                Dom.setStyle('puce_actu_3', 'display', 'block');
                Dom.setStyle('puce_actu_3', 'visibility', 'visible');                
            }                    
            break;    
    }
}




/**
*    Gestion du suggest
**************************************/
function init_suggest()
{
    var oAC;
    var oDS;
    
    var t_color = [];
    t_color['bleu'] = '#1c1a60';
    t_color['rouge'] = '#f02b05';
    t_color['gris'] = '#2e3847';
    t_color['vert'] = '#9cd522';
    
    YAHOO.example.BasicRemote = function() {
        // Use an XHRDataSource
        oDS = new YAHOO.util.XHRDataSource("/tools/suggest_tools.php");
        // Set the responseType
        oDS.responseType = YAHOO.util.XHRDataSource.TYPE_TEXT;
        // Define the schema of the delimited results
        oDS.responseSchema = {
            recordDelim: "\n",
            fieldDelim: ";"
        };
        // Enable caching
        oDS.maxCacheEntries = 5;
    
        // Instantiate the AutoComplete
        oAC = new YAHOO.widget.AutoComplete("recherche_suggest", "suggest_container", oDS);
        
        return {
            oDS: oDS,
            oAC: oAC
        };
    }();
    
        oAC.maxResultsDisplayed = 20; 
        oAC.minQueryLength = 3;
        oAC.setHeader('<div id="suggest_head" class="ie6a2bal"></div>');  
        oAC.setFooter('<div id="suggest_bottom" onclick="Dom.get(\'search\').submit();return false;"></div>');  
            
        oAC.formatResult = function(oResultItem, sQuery, sResultMatch) { 
            var sKey = sResultMatch; 
            
            
            if(sKey == 'section')
            {
                var nomSection = oResultItem[1];
                return "<div class='suggest_content_global'><div class='suggest_content_section'>"+nomSection + "</div></div>"; 
            }
            else
            {	
                var section = oResultItem[1];
                if(section == 'actu')
                {
                    var titre_actu = oResultItem[0];
					var color_actu = oResultItem[3];
                    
                    var image_actu = '';
                    if(oResultItem[2] != '')
                    {
                        image_actu = "<img align='absmiddle' style='margin-top:2px;border:1px solid "+t_color[color_actu]+";' src='/images_"+section+"/suggest/"+oResultItem[2]+"' width='50' height='50' />";
                    }
                    
                    return "<div onclick='gotoSuggest(\""+titre_actu+"\", \"actu\", \""+oResultItem[4]+"\");' class='suggest_content'>"+image_actu+"<div class='suggest_content_desc'>"+titre_actu+"</div></div>"; 
                }
                else if(section == 'gallerie')
                {
                    var titre_gallerie = oResultItem[0];
                    
                    var image_gallerie = '';
                    if(oResultItem[2] != '')
                    {
                        image_gallerie = "<img align='absmiddle' style='margin-top:2px;border:1px solid #A3B4C5;' src='/imagesGallerie_gallerie/"+oResultItem[2]+"' width='50' height='50' />";
                    }
                    
                    return "<div onclick='document.location.replace(\"/diaporama.php\");' class='suggest_content'>"+image_gallerie+"<div class='suggest_content_desc'>"+titre_gallerie+"</div></div>"; 
                }
                else if(section == 'contenu')
                {
                    var titre_contenu = oResultItem[0];
                    
                    var image_contenu = '';
                    if(oResultItem[2] != '')
                    {
                        image_contenu = "<img align='absmiddle' style='margin-top:2px;border:1px solid "+couleur_contenu+"' src='/images_"+section+"/suggest/"+oResultItem[2]+"' width='50' height='50' />";
                    }
                    
                    var couleur_contenu = oResultItem[3];
                    return "<div onclick='gotoSuggest(\""+titre_contenu+"\", \"contenu\", \""+oResultItem[4]+"\");' class='suggest_content'>"+image_contenu+"<div class='suggest_content_desc'>"+titre_contenu+"</div></div>"; 
                }
                else if(section == 'agenda')
                {
                    var titre_contenu = oResultItem[0];
                    
                    var image_contenu = '';
                    if(oResultItem[2] != '')
                    {
                        image_contenu = "<img align='absmiddle' style='margin-top:2px;border:1px solid "+couleur_contenu+"' src='/images_"+section+"/suggest/"+oResultItem[2]+"' width='50' height='50' />";
                    }
                    
                    var couleur_contenu = oResultItem[3];
                    return "<div onclick='gotoSuggest(\""+titre_contenu+"\", \"agenda\", \""+oResultItem[4]+"\");' class='suggest_content'>"+image_contenu+"<div class='suggest_content_desc'>"+titre_contenu+"</div></div>"; 
                }					
                else
                {
                    var titre_autre = oResultItem[0];
                    
                    var image_autre = '';
                    
                    var couleur_autre;
                    switch(section)
                    {
                        case 'a_la_une' :
                            couleur_autre = '#93B495';
                        break;
                        case 'annuaire' :
                            couleur_autre = '#13B4C5';
                        break;
                        case 'publication' :
                            couleur_autre = '#F3B4C5';
                        break;
                    }
                                    
                    if(oResultItem[2] != '')
                    {
                        image_autre = "<img style='border:1px solid "+couleur_autre+"' src='/images_"+section+"/suggest/"+oResultItem[2]+"' />";
                    }
                    
    
                    return "<div onclick='gotoSuggest(\""+titre_autre+"\", \""+section+"\", \""+oResultItem[3]+"\");' class='suggest_content'>"+image_autre+"<div class='suggest_content_desc'>"+titre_autre+"</div></div>"; 
                }
            }
            
        }; 
}


function gotoSuggest(keyWord, section, ID)
{
		document.location.href = 'http://www.mairie-lamotteservolex.fr/'+section+'/'+ID+'/'+keyWord+'/';
    /*Dom.get('recherche_suggest').value = keyWord;
    document.forms['search'].submit();*/
}

     /*__________________________________________________________________________*/
    /*____________________________PRECHARGEMENT_IMAGES__________________________*/
    
    function MM_preloadImages() { //v3.0
          var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
        var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
        if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
    }

    MM_preloadImages('/images/suggest-bottom-hover.png','/images/suggest-bg-hover.png', '');
    
    /*__________________________________________________________________________*/

