﻿// Fichier JScript
        var AfficheFiltre = false;
        
        // Navigateur
        var X_navigateur = navigator.appName.toLowerCase();
        var X_Platform   = navigator.platform.toLowerCase();
        var X_version    = navigator.appVersion.toLowerCase();

        // Version de Internet Explorer
        if(X_navigateur == 'microsoft internet explorer'){
            X_version_deb = X_version.indexOf('(') + 1;
            X_version_fin = X_version.indexOf(')');
            X_version     = X_version.substring(X_version_deb, X_version_fin);
            XtabTmp       = X_version.split(';');
            for(i in XtabTmp){
                if(XtabTmp[i].indexOf('msie') > -1){
                    X_version = parseInt(XtabTmp[i].replace('msie', ''));
                    break;
                }
            }
        }
        
        var DocRef = '';
        if(DocRef == ''){if(document.documentElement && document.documentElement.clientWidth){DocRef = document.documentElement;}else{DocRef = document.body;}}

        // Gestion du filtre au onresize et onscroll
        function gestion_filtre(){
            
            if(AfficheFiltre){show();PositionPopupFiltre();}
        }

        // Affiche le filtre
        var X_largeur = 0;
        var X_hauteur = 0;
        function show(){
	        var X_block = document.getElementById('filtre');
	        var X_block1 = document.getElementById('page');
	        if(X_block && X_block1){

	            X_largeur = X_block1.offsetWidth;
	            X_hauteur = X_block1.offsetHeight;
        		
		        X_block.style.width = X_largeur + 'px';
		        X_block.style.height = X_hauteur + 'px';
		        X_block.style.display = 'block';

		        AfficheFiltre = true;
	        }
        }

        // Calcule la position de la popup_filtre
        function PositionPopupFiltre(){
            var X_block2 = document.getElementById('popup_filtre');
            if(X_block2){
                var X_block2Top = (parseInt(DocRef.clientHeight) - parseInt(X_block2.offsetHeight)) /2;
                X_block2.style.top = parseInt(DocRef.scrollTop) + parseInt(X_block2Top) + 'px';
                var X_block2Left = (parseInt(DocRef.clientWidth) - parseInt(X_block2.offsetWidth)) /2;
		        X_block2.style.left = parseInt(DocRef.scrollLeft) + parseInt(X_block2Left) + 'px';
            }
        }

        // Cache le filtre et popup_filtre
        function hide(){
            // Efface Popup
            var X_block1 = document.getElementById('popup_filtre');
	        if(X_block1){
		        X_block1.style.display = 'none';
	        }

            //efface erreur
            var X_block1 = document.getElementById('popup_erreur_message');
	        if(X_block1){
		        X_block1.style.display = 'none';
	        }

            //efface notification
            var X_block1 = document.getElementById('popup_notification');
	        if(X_block1){
		        X_block1.style.display = 'none';
	        }

            //efface notification
            var X_block1 = document.getElementById('popup_email_ami');
	        if(X_block1){
		        X_block1.style.display = 'none';
	        }
	        
            //efface avertissement
            var X_block1 = document.getElementById('popup_avertissement');
	        if(X_block1){
		        X_block1.style.display = 'none';
	        }	
	        
	        //efface info cylindre
	        var X_block1 = document.getElementById('popup_cylindre');
	        if(X_block1){
		        X_block1.style.display = 'none';
	        }          	        

            // Efface filtre
	        var X_block = document.getElementById('filtre');
	        if(X_block){
		        AfficheFiltre = false;
		        X_block.style.display = 'none';

		        // Affiche les SELECT si < IE7
	            if(X_navigateur == 'microsoft internet explorer' && X_version < 7){
    		        gestion_select('visible');
	            }
	        }
        }

        //affiche la popup d'erreur avec le message en parametre
        function show_erreur(msg) {
            document.getElementById('popup_erreur_texte').innerHTML=msg;
            show_popup('erreur');
        }

        //affiche la popup d'erreur avec le message en parametre
        function show_erreur_without_filter(msg) {
            document.getElementById('popup_erreur_texte').innerHTML=msg;
            show_popup('erreur_without_filter');
        }
        
        
        //affiche la popup de notification avec le message en parametre
        function show_info(msg) {
            document.getElementById('popup_notification_texte').innerHTML=msg;
            show_popup('notification');
        }
        
        
        function show_avertissement(){
            show_popup('avertissement');
        }
        
         function show_cylindre(){
            show_popup('cylindre');
        }

        function show_email(){
            show_popup('email');
        }

        // Affiche le popup_filtre
        function show_popup(X_contenu){
	        var X_block = document.getElementById('popup_filtre');
	        if(X_block){
       	        var X_block2 = document.getElementById('popup_erreur_titre');
	            switch (X_contenu){
	                case 'erreur' :
	                    show();
	                    var X_block1 = document.getElementById('popup_erreur_message');
	                    if(X_block1){X_block1.style.display = 'block';}
                    break;
	                case 'erreur_without_filter' :
	                    var X_block1 = document.getElementById('popup_erreur_message');
	                    if(X_block1){X_block1.style.display = 'block';}
                    break;                    
	                case 'email' :
	                    show();	                
	                    var X_block1 = document.getElementById('popup_email_ami');
	                    if(X_block1){X_block1.style.display = 'block';}
        	            if(X_block2){X_block2.innerHTML = '';}
                    break;

	                case 'notification' :
	                    show();	                
	                    var X_block1 = document.getElementById('popup_notification');
	                    if(X_block1){X_block1.style.display = 'block';}
                    break;

	                case 'avertissement' :
	                    show();	                
	                    var X_block1 = document.getElementById('popup_avertissement');
	                    if(X_block1){X_block1.style.display = 'block';}
                    break;
                    case 'cylindre' :
	                    show();	                
	                    var X_block1 = document.getElementById('popup_cylindre');
	                    if(X_block1){X_block1.style.display = 'block';}
                    break;
	            }
    	        
	            X_block.style.visibility = 'hidden'
	            X_block.style.display = 'block';
		        PositionPopupFiltre();
	            X_block.style.visibility = 'visible'
        		
		        // Efface les SELECT si < IE7
	            if(X_navigateur == 'microsoft internet explorer' && X_version < 7){
	                gestion_select('hidden');
		        }
	        }
        }

        // Affiche ou Cache les SELECT de la page
        function gestion_select(X_option){
            var X_balises = document.getElementsByTagName('select');
            if(X_option == 'hidden'){
		        for(i=0; i<X_balises.length; i++){
                   X_balises[i].style.visibility = X_option;
                }
                // Position de la POPUP
/*                var X_block = document.getElementById('popup_filtre');
                var PosTopPopup = getTop(X_block);
                var PosLeftPopup = getLeft(X_block);
                var PosWidthPopup = getWidth(X_block);
                var PosHeightPopup = getHeight(X_block);
                var PosBottomPopup = PosTopPopup + PosHeightPopup;
                var PosRightPopup = PosLeftPopup + PosWidthPopup;
    		    //alert('popup = ' + PosTopPopup + ' ' + PosRightPopup + ' ' + PosBottomPopup + ' ' + PosLeftPopup + ' ');

		        for(i=0; i<X_balises.length; i++){
                    // Position de la BALISE(SELECT)
                    var PosTopBalise = getTop(X_balises[i]);
                    var PosLeftBalise = getLeft(X_balises[i]);
                    var PosWidthBalise = getWidth(X_balises[i]);
                    var PosHeightBalise = getHeight(X_balises[i]);
                    var PosBottomBalise = PosTopBalise + PosHeightBalise;
                    var PosRightBalise = PosLeftBalise + PosWidthBalise;
        		    //alert('select = ' + PosTopBalise + ' ' + PosRightBalise + ' ' + PosBottomBalise + ' ' + PosLeftBalise + ' ');
                    
                    //(Top ou Bottom) && (Left || Right) BALISE(SELECT) Sous la popup
                    if( ((PosTopBalise >= PosTopPopup && PosTopBalise <= PosBottomPopup) || (PosBottomBalise >= PosTopPopup && PosBottomBalise <= PosBottomPopup)) && ((PosLeftBalise >= PosLeftPopup && PosLeftBalise <= PosRightPopup) || (PosRightBalise >= PosTopPopup && PosRightBalise <= PosRightPopup)) ){
                        X_balises[i].style.visibility = X_option;
                    }
		        }
		        */
            }else{
		        for(i=0; i<X_balises.length; i++){
                    X_balises[i].style.visibility = X_option;
                }
            }
        }

        //Fonction permettant de connaître la position d'un objet
        //par rapport au bord gauche de la page.
        //Cet objet peut être à l'intérieur d'un autre objet.
        function getLeft(MyObject){
            if (MyObject.offsetParent)
                return (MyObject.offsetLeft + getLeft(MyObject.offsetParent));
            else 
                return (MyObject.offsetLeft);
        } 

        //Fonction permettant de connaître la position d'un objet
        //par rapport au bord haut de la page.
        //Cet objet peut être à l'intérieur d'un autre objet.
        function getTop(MyObject){
            if (MyObject.offsetParent)
                return (MyObject.offsetTop + getTop(MyObject.offsetParent));
            else
                return (MyObject.offsetTop);
        }

        //Fonction permettant de connaître la largeur d'un objet
        function getWidth(MyObject){
            return (MyObject.offsetWidth);
        }

        //Fonction permettant de connaître la Hauteur d'un objet
        function getHeight(MyObject){
            return (MyObject.offsetHeight);
        }
        
/*************************************************************************************************************************************/
/* FUNCTION SUR LES NODES                                                                                                            */
/*************************************************************************************************************************************/
function Contains(t, elt) {
	for (var i=0;i<t.length;i++) if (t[i]==elt) return true;
	return false;
}
function $(o) {
	return (typeof o=='string') ? o=document.getElementById(o) : o;
}
function $t(o) {
	return $(o).tagName ? $(o).tagName.toLowerCase() : '';
}
function $c(o,t) {
	var at = t ? t.toLowerCase().split('|') : null;
	var a=new Array;
	if (!$(o).childNodes) return null;
	for (var i=0;i<$(o).childNodes.length;i++) {
		if (!at) { if ($(o).childNodes[i].tagName) a[a.length]=$(o).childNodes[i]; }
		else if (Contains(at,$t($(o).childNodes[i]))) a[a.length]=$(o).childNodes[i];
	}
	return a;
}
function $p(o,t) {
	if (!o) return null;
	var at = t ? t.toLowerCase().split('|') : null;
	return $t(o)=='body' ? null : (Contains(at,$t(o)) ? $(o) : $p($(o).parentNode, t));
}
function GetSrcElt(e){
	if(!e){e = window.e;}
	if(e.srcElement){return e.srcElement;}
	if(e.target){return e.target;}
	return null;
}
/*************************************************************************************************************************************/
