﻿// JScript File
function ShowHideElement(id)
{
    if((document.getElementById(id + "_menu") != null)&&(document.getElementById(id + "_Nav") != null)&&(document.getElementById(id + "_Nav_Corner") != null)&&(document.getElementById(id + "_Nav_Link") != null))
    {
        var elementDiv = document.getElementById(id + "_menu");
        var elementNav = document.getElementById(id + "_Nav");
        var elementNavCorner = document.getElementById(id + "_Nav_Corner");
        var elementNavLink = document.getElementById(id + "_Nav_Link");
        
        if(elementDiv.style.display == 'none')
        {   
            elementDiv.style.display = 'block';
            elementNav.className =  'Nav_on_left';
            elementNavCorner.className =  'Nav_Corner_on' ;
            elementNavLink.className = 'NavLeftOn';
        }
        else
        {   
            elementDiv.style.display = 'none'; 
            elementNav.className =  'Nav_off_left';
            elementNavCorner.className =  'Nav_Corner_off';
            elementNavLink.className = 'NavLeftOff'
        }
    }
}



// Tools
/** Utilitaire ****/

function IncPourcent()
{
    PrctCourant += (1 - PrctCourant) / FacteurFrein;
}

function DecPourcent()
{
    PrctCourant -= PrctCourant / FacteurFrein;
}

function ReglerOpacite(obj, prct)
{
    obj.style.filter = 'alpha(opacity=' + (prct*100) + ')';
}

// Cette fonction a besoin du script "SetSession.js"
function SetSessionMenuGlissant()
{
    SetSession('ACCOR_MenuGlissant', ActionEnCours);
}

// Actions graphiques
function MAJGraphique()
{
    var tmp = PrctCourant * OngletGlissant.width;
 
    // Déplacement du OngletGlissant
    OngletGlissant.style.left = tmp;
     
    // Déformation du bouton d'action
    document.getElementById('MG_MenuAction').width = Math.max(20,tmp);
}

function getStyle(elt,styleProp)
{
    var y = null;

	if (elt.currentStyle)
		y = elt.currentStyle[styleProp];
	else if (window.getComputedStyle)
	    y = document.defaultView.getComputedStyle(elt,null).getPropertyValue(styleProp);
	    
	return y;
}


// 

// Fonction bloquante qui permet de mettre en session une valeur donnée
// retourne false si erreur
function SetSession(name, value)
{
    //alert('key=' + name + '&value=' + value);
    
    // Création de l’objet XMLHttpRequest
    var xhr_object = null;

    if (window.XMLHttpRequest) // Navigateur non-IE
        xhr_object = new XMLHttpRequest();
    else if (window.ActiveXObject) // Internet Explorer
        xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
    else
    {
        // XMLHttpRequest non supporté par le navigateur
        return false;
    }

    /* Initialisation de la requête
    * xhr_object.open( methode, cible, asynchrone)
    *
    *  methode : « POST » ou « GET »
    *    - « POST » envoie les données de manière cachée
    *    - « GET » envoie les données dans la querystring
    *
    * cible : page aspx/asp/php/… 
    *
    * asynchrone : booléen
    *    - true, l’éxécution de la requète est non-bloquante
    *    - false, le navigateur est bloqué tant qu’il n’a pas reçu de réponse
    */
    xhr_object.open("GET", "/SetSession.aspx?key=" + name + "&value=" + value, true);

    // Fonction exécutée lors du changement d’état de xhr_object
    xhr_object.onreadystatechange = function reception()
    {
        /* xhr_object.readyState peut prendre les valeurs suivantes :
         * 0 = non-initialisé.
         * 1 = ouverture, la méthode open() a été appelée avec succès.
         * 2 = envoyée, la méthode send() a été appelée avec succès.
         * 3 = réception en cours.
         * 4 = transfert terminé.
         */
        if(xhr_object.readyState == 4)
        {
          //alert(xhr_object.responseText);
          return true;
        }
    };

    // Eentête de la requête
    //xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

    /* Execution de la requête, envoyez null si la méthode est GET
    *     data est de la forme "var1=XXX&var2=YYY"
    */
    xhr_object.send();
    
    return true;
}