﻿var __isIE = navigator.appVersion.match(/MSIE/);
var __userAgent = navigator.userAgent;
var __isFireFox = __userAgent.match(/firefox/i);
var __isFireFoxOld = __isFireFox && (__userAgent.match(/firefox\/2./i) || __userAgent.match(/firefox\/1./i));
var __isFireFoxNew = __isFireFox && !__isFireFoxOld;

var mnuClockValue = 0;
var mnuTicker;
var mnuFadeDelay = 4;

function afficheChoixEspaceClassement(evt)
{
    if (window.event) 
        evt = window.event; 
    var srcEl = evt.srcElement ? evt.srcElement : evt.target;

    var divAffichagePlace = document.getElementById("EspaceClient_divaffichageplace");

    if (divAffichagePlace.style.display != 'inline')
    {
        var coordSrcElt = getAbsolutePos(srcEl);

        divAffichagePlace.style.display = 'inline';
        divAffichagePlace.style.top = (coordSrcElt.top + srcEl.offsetHeight + (!__isIE ? 3 : 1)) + 'px';
        divAffichagePlace.style.left = ((coordSrcElt.left + (srcEl.offsetWidth / 2)) - (divAffichagePlace.offsetWidth / 2)) + 'px';
        mnuTicker = window.setTimeout("mnuDoTick();", 500);
    }
    else
        mnuClockValue = 0;
}

function __parseBorderWidth(width)
{
    var res = 0;
    if (typeof (width) == "string" && width != null && width != "")
    {
        var p = width.indexOf("px");
        if (p >= 0)
        {
            res = parseInt(width.substring(0, p));
        }
        else
        {
            res = 1;
        }
    }
    return res;
}

function __getBorderWidth(element)
{
    var res = new Object();
    res.left = 0; res.top = 0; res.right = 0; res.bottom = 0;
    if (window.getComputedStyle)
    {
        var elStyle = window.getComputedStyle(element, null);
        res.left = parseInt(elStyle.borderLeftWidth.slice(0, -2));
        res.top = parseInt(elStyle.borderTopWidth.slice(0, -2));
        res.right = parseInt(elStyle.borderRightWidth.slice(0, -2));
        res.bottom = parseInt(elStyle.borderBottomWidth.slice(0, -2));
    }
    else
    {
        res.left = __parseBorderWidth(element.style.borderLeftWidth);
        res.top = __parseBorderWidth(element.style.borderTopWidth);
        res.right = __parseBorderWidth(element.style.borderRightWidth);
        res.bottom = __parseBorderWidth(element.style.borderBottomWidth);
    }

    return res;
}   

function getAbsolutePos(element)
{
    var coord = new Object();
    coord.left = 0; coord.top = 0;
    if (element !== null)
    {
        coord.left = element.offsetLeft;
        coord.top = element.offsetTop;

        var offsetParent = element.offsetParent;
        var parentNode = element.parentNode;
        var borderWidth = null;

        while (offsetParent != null)
        {
            coord.left += offsetParent.offsetLeft;
            coord.top += offsetParent.offsetTop;

            var parentTagName = offsetParent.tagName.toLowerCase();

            if ((__isIE && parentTagName != "table") || (__isFireFoxNew && parentTagName == "td"))
            {
                borderWidth = __getBorderWidth(offsetParent);
                coord.left += borderWidth.left;
                coord.top += borderWidth.top;
            }

            if (offsetParent != document.body && offsetParent != document.documentElement)
            {
                coord.left -= offsetParent.scrollLeft;
                coord.top -= offsetParent.scrollTop;
            }

            if (!__isIE)
            {
                while (offsetParent != parentNode && parentNode !== null)
                {
                    coord.left -= parentNode.scrollLeft;
                    coord.top -= parentNode.scrollTop;

                    if (__isFireFoxOld)
                    {
                        borderWidth = __getBorderWidth(parentNode);
                        coord.left += borderWidth.left;
                        coord.top += borderWidth.top;
                    }
                    parentNode = parentNode.parentNode;
                }
            }

            parentNode = offsetParent.parentNode;
            offsetParent = offsetParent.offsetParent;
        }
    }
    return coord;
}

function mnuDoOnOver()
{
    mnuClockValue = 0;
}

function mnuDoOnLeave()
{
    document.getElementById("EspaceClient_divaffichageplace").style.display = 'none';
}

function mnuDoTick()
{
    if (mnuClockValue >= mnuFadeDelay)
    {
        mnuStopTick();
        document.getElementById("EspaceClient_divaffichageplace").style.display = 'none';
    }
    else 
	{
	    mnuClockValue++;
	    mnuTicker = window.setTimeout("mnuDoTick();", 500);
	}
}

function mnuStopTick()
{
    mnuClockValue = 0;
	clearTimeout(mnuTicker);
}

