﻿// Gere le mouseover en changeant la couleur.
function MouseOver(clientId)
{
    try
    {
        document.getElementById(clientId).style.color = "#cccccc";
    }
    catch(err)
    {
    }
}

// Gere le mouseout en changeant la couleur.
function MouseOut(clientId)
{
    try
    {
        document.getElementById(clientId).style.color = "#a0c83a";
    }
    catch(err)
    {
    }
}

// Affiche ou cache un element.
function ToggleVisible(clientId)
{
    try
    {
        if(document.getElementById(clientId).style.display == "")
        {
            document.getElementById(clientId).style.display = "none";
        }
        else
        {
            document.getElementById(clientId).style.display = "";
        }
    }
    catch(err)
    {
    }
}

//  Fonction qui redimensionne et place l'image de fond
function RedimensionImageFond()
{
    var imageDeFond = document.getElementById("backgroundImage");
    try
    {
        //  L'image de fond prend toute l'écran + 75 pixels.
        //  L'image est positionnée à 75pixels à gauche de l'écran afin que 
        //  la pointe de la planète n'arrive pas directement dans le coin. 
        //  Purement esthétique.
        imageDeFond.width = screen.width + 75;
        if(imageDeFond.height < screen.availHeight)
        {
            imageDeFond.height=screen.availHeight;
        }
    }
    catch(err)
    {
        //  Au cas où...
        imageDeFond.width = 750;
    }
    
    imageDeFond.style.visibility = "visible";
}

//  Fonction qui redimensionne le logo selon la dimension reçue.
function RedimensionLogo(logoHauteur)
{
    try
    {
        document.getElementById("logo").style.visibility = "visible";
        
        document.getElementById("cellLogo").style.width = GetRealLeft2(document.getElementById("tdMenu")) + 215 + "px";
    }
    catch(e)
    {
        //Impossible de retrouver le logo.
    }
}

function RedimensionConteneurPrincipal(conteneurHauteur)
{
    try
    {
        document.getElementById("wrapper").style.height = conteneurHauteur + "px";
        document.getElementById("tdMenu").style.height = (conteneurHauteur - 100) + "px";
    }
    catch(e)
    {
        //Impossible de retrouver le div.
    }
}

//  Configuration de la page.
//  Étape 1:    Redimension du background.
//  Étape 2:    Récupération de la hauteur de l'écran.
//  Étape 3:    Redimension du container blanc.
//  Étape 4:    Redimension du logo.
function ConfigurationPage()
{
    RedimensionImageFond();
    var ecran = screen.height;
    var conteneurHauteur;
    var logoHauteur = 215;
    
    if(ecran < 800)
    {
        logoHauteur = 160;
    }
    else if(ecran < 900)
    {
        logoHauteur = 175;
    }
    else if(ecran < 1000)
    {
        logoHauteur = 185;
    }
    
    conteneurHauteur = GetHeight() - logoHauteur - 100;
    
    if(conteneurHauteur < 300)
    {
        alert("Afin de maximiser l’affichage du site, veuillez agrandir la fenêtre de votre fureteur.");
        conteneurHauteur = 300;
    }
    
    RedimensionConteneurPrincipal(conteneurHauteur);
    RedimensionLogo(logoHauteur);
    
    // Changer l'image de la pub pour l'achat de bac dependant de l'espace disponible.
    if(conteneurHauteur >= 500)
    {
        document.getElementById("imgPubBac").src = "https://www.fondationgdg.org/images/Bouton_encouragez.jpg";
    }
    
    var y1 = document.getElementById("ctl00_menuGdg_tblMenu").offsetHeight;
    
    document.getElementById("tdInMenu").style.height = y1 + "px";
}

//  Fonction qui détermine si le navigateur du client est Chrome, Safari ou Opera
//  Si oui, nécessite des dimensions différentes.
//
//  La variable "nomNavigateur" reçue ressemble à ça:
//  Pour FIREFOX:	Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)
//  Pour CHROME:	Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/530.5 (KHTML, like Gecko) Chrome/2.0.172.43 Safari/530.5
//  Pour IE8:	    Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; MDDR; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729
//  Pour SAFARI:	Mozilla/5.0 (Windows; U; Windows NT 5.1; fr-FR) AppleWebKit/531.9 (KHTML, like Gecko) Version/4.0.3 Safari/531.9.1
//  Pour OPERA:	    Opera/9.80 (Windows NT 5.1; U; fr-CA) Presto/2.2.15 Version/10.00
function Contains(nomNavigateur)
{
    var listeNavigateur = ["chrome","safari","opera"];
    for(var i = 0; i < listeNavigateur.length; i++)
    {
        if(nomNavigateur.toLowerCase().indexOf(listeNavigateur[i])!=-1)
        {
            return true;
        }
    }
    return false;
}

// Obtient la position x de l'image du toit.
function GetRealLeft2(pi_element)
{
    var obj = pi_element;

    xPos   = obj.offsetLeft;
    
	tempEl = obj.offsetParent;
 
	while (tempEl != null)
	{
		xPos  += tempEl.offsetLeft;
		tempEl = tempEl.offsetParent;
	}
	
	return xPos;
}
 
function GetRealTop2(pi_element)
{
    var obj = pi_element;

    yPos   = obj.offsetTop;
	tempEl = obj.offsetParent;
 
	while (tempEl != null)
	{
		yPos  += tempEl.offsetTop;
		tempEl = tempEl.offsetParent;
	}
	
	return yPos;
}

function GetHeight()
{
    var height = 0;
  
    if (typeof(window.innerWidth) == 'number') 
    {
        // Non-IE
        height = window.innerHeight;
    } 
    else if (document.documentElement && 
             (document.documentElement.clientWidth || document.documentElement.clientHeight))
    {
        //IE 6+ in 'standards compliant mode'
        height = document.documentElement.clientHeight;
    } 
    else if (document.body && 
             (document.body.clientWidth || document.body.clientHeight))
    {
        //IE 4 compatible
        height = document.body.clientHeight;
    }
    
    return height;
}

function ValidateNumeric(evt)
{
    var result = false;
    
    var code = (evt.which) ? evt.which : event.keyCode
    
    if ((evt.modifiers && evt.modifiers == 4) || (evt.shiftKey))
    {
        result = false;
    }
    else
    {
        result = ((code >=48 &&
                   code <=57) ||
                   (code >=96 &&
                   code <=105) ||
                   code == 8 ||
                   code == 127 ||
                   code == 9 || 
                   code == 46 ||
                   code == 37 ||
                   code == 39 ||
                   code == 35 || 
                   code == 36);
    }
    
    
    return result;
    
}

function MemeAdresseClick(elementId)
{
    if(document.getElementById(elementId).style.display == "")
    {
        document.getElementById(elementId).style.display = "none";
    }
    else
    {
        document.getElementById(elementId).style.display = "";
    }
}

function PreventSubmitTwice(elementId)
{
    document.getElementById(elementId).disabled=true;
}


function EnableDisableMontant(pi_button, 
                              montantAutreId)
{
    if(pi_button.value == "-1")
    {
        document.getElementById(montantAutreId).disabled = false;
        document.getElementById(montantAutreId).focus();
    }
    else
    {
        document.getElementById(montantAutreId).disabled = true;
        document.getElementById(montantAutreId).value = "";
    }
}

function autotab(current,to)
{
	var temp;
	
	if (current.value.length == current.getAttribute("maxlength"))
	{
		try
		{
			temp = document.getElementById(to);
		}
		catch (ex)
		{
			temp = document.all(to);
		}
		
		temp.focus();
	}
}

function HideTooltip(clientId)
{
    try
    {
        document.getElementById(clientId).style.display = "none";
    }
    catch(err)
    {
    }
}

function DisplayTooltip(clientId, 
                        text,
                        event,
                        left,
                        top)
{
    try
    {
        document.getElementById(clientId).style.left = GetRealLeft2(document.getElementById('ctl00_ContentPlaceHolder1_imgPlan')) + left + 10 + "px";
        document.getElementById(clientId).style.top = event.clientY + "px";
        
        if(document.all) 
        {
            document.getElementById(clientId).innerText = text;
        }
        else
        {
            document.getElementById(clientId).textContent = text;
        }
        
        document.getElementById(clientId).style.display = "";
    }
    catch(err)
    {
    }
}
