// ----------------------------------------------------------------------------------------------
// Chargement de la carte de l'API Google sur la fiche entreprise
// On essaye de charger une adresse très précise, et si on y arrive pas, on charge une adresse
// un peu moins précise, et ainsi de suite, jusqu'à ce que l'API arrive à charger l'adresse
// demandée.
//        var idx = 99; // indice de l'adresse la plus précise qu'on a trouvé
//        var adresse_localisee = false; // flag indiquant si l'adresse demandée a été trouvée
//        var tab_adr = new Array(); // tableau contenant la liste d'adresses de la plus précise à la moins précise

function loadGoogleMaps()
{
    if (GBrowserIsCompatible())
    {
        var geo = new GClientGeocoder(new GGeocodeCache());
        var coeff_zoom = 14;

        function setMarker(adr, index) // index est l'indice de l'adresse recherchée (0 = adresse la plus précise)
        {
            geo.getLatLng(adr, function(point)
            {
                if (rech_gps)
                {
                    point = point_gps;
                }

                if (point)
                {
                    if (index < idx)
                    {
                        idx = index;

                        if (idx < 3)
                            coeff_zoom = 15;
                        if (idx < 2)
                            coeff_zoom = 16;

                        var marker = new GMarker(point);
                        gmap.addOverlay(marker);
                        gmap.setCenter(point, coeff_zoom);

                        adresse_localisee = true;
                    }
                }
            });
        }

        function showAddress()
        {
            for (var i=0 ; i<tab_adr.length ; i++) // On essaye toutes les adresses de la plus précise à la moins précise
            {
                var search = tab_adr[i];

                setMarker(search, i);

                if (adresse_localisee) // Si l'API localise une adresse, on arrête
                    break;
            }
        }

        showAddress();
    }

    // display a warning if the browser was not compatible
    else
    {
        alert("Votre navigateur n'est pas compatible avec l'API Google MAP.");
    }
}

// ----------------------------------------------------------------------------------------------

function taillePolice(id_conteneur, facteur)
{
    var taille = $('#' + id_conteneur).css('font-size');

    taille = parseFloat(taille.replace('px', ''));

    if (taille > 600) // bug IE qui renvoie une taille de police de 644px
        taille = 12;

    taille = taille * facteur;

    $('#' + id_conteneur).css('font-size', taille + 'px');

    EcrireCookie('taille_police', taille);
}

// ----------------------------------------------------------------------------------------------

function EcrireCookie(nom, valeur)
{
    var argv=EcrireCookie.arguments;
    var argc=EcrireCookie.arguments.length;
    var expires=(argc > 2) ? argv[2] : null;
    var path=(argc > 3) ? argv[3] : null;
    var domain=(argc > 4) ? argv[4] : null;
    var secure=(argc > 5) ? argv[5] : false;
    document.cookie=nom+"="+escape(valeur)+
    ((expires==null) ? "" : ("; expires="+expires.toGMTString()))+
    ((path==null) ? "" : ("; path="+path))+
    ((domain==null) ? "" : ("; domain="+domain))+
    ((secure==true) ? "; secure" : "");
}

// ----------------------------------------------------------------------------------------------

function getCookieVal(offset)
{
    var endstr=document.cookie.indexOf (";", offset);
    if (endstr==-1) endstr=document.cookie.length;
    return unescape(document.cookie.substring(offset, endstr));
}

// ----------------------------------------------------------------------------------------------

function LireCookie(nom)
{
    var arg=nom+"=";
    var alen=arg.length;
    var clen=document.cookie.length;
    var i=0;
    while (i<clen)
    {
        var j=i+alen;
        if (document.cookie.substring(i, j)==arg) return getCookieVal(j);
            i=document.cookie.indexOf(" ",i)+1;
        if (i==0) break;
    }
    return null;
}

// ----------------------------------------------------------------------------------------------

function confirmer_action(Message,URL)
{
	if (confirm(Message))
	{
		window.location=URL;
	}
}

// ----------------------------------------------------------------------------------------------
