var timer;
var compteur = 0;

function getWindowSize() {
  var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  }
  return new Array(myWidth, myHeight);

}

function getRealPosition(element){
    
    var left = 0;
    var top = 0;
    /*On récupère l'élément*/
    var e = element;
    /*Tant que l'on a un élément parent*/
    while (e.offsetParent != undefined && e.offsetParent != null)
    {
        /*On ajoute la position de l'élément parent*/
        left += e.offsetLeft + (e.clientLeft != null ? e.clientLeft : 0);
        top += e.offsetTop + (e.clientTop != null ? e.clientTop : 0);
        e = e.offsetParent;
    }
    return new Array(left,top);
}


function menuOn(el){
    clearTimeout(timer);
    var content = $('sous-menu').getElementsByTagName("div")[0];
    content.innerHTML = "";

    if(el.getElementsByTagName("ul").length > 0){
        var newUl = el.getElementsByTagName("ul")[0].cloneNode(true);
        content.appendChild(newUl);
        $('sous-menu').style.visibility = "visible";
        disableTimer();
    }else{
        $('sous-menu').style.visibility = "hidden";
    }
}


function hideSousMenu(){
    $('sous-menu').style.visibility = "hidden";
}

function showBulle(link){
    var bulle;
    if(!$('bulle')){
        bulle = document.createElement("div");
        bulle.id = "bulle";
        if($('bookmarks')){
           bulle.className = "opaque";
        }
        document.body.appendChild(bulle);
    }else{
        bulle = $('bulle');
    }

    var linkSpan = link.getElementsByTagName("span");
    if(linkSpan.length > 0){
        bulle.appendChild(linkSpan[0].cloneNode(true));
    }
    var pos = getRealPosition(link);
    bulle.style.left = pos[0]-60+"px";
    //bulle.style.left = "100px";
    bulle.style.top = (pos[1] + link.offsetHeight + 5)+"px";
    //bulle.style.top = "100px";
    bulle.style.display = "block";
}

function hideBulle(){
    $('bulle').style.display = "none";
    $('bulle').innerHTML = "";
}

function launchTimer(){
    if(timer == null){
        timer = setTimeout("hideSousMenu()", 1000);
        compteur++;
    }
}

function disableTimer(){
    if(timer != null){
        clearTimeout(timer);
        timer = null;
        compteur++;
    }
}


document.observe("dom:loaded", function(){

    if($$('.menu-item')){
        $$('.menu-item').each(function(el){
            el.observe("mouseover", function(){
                menuOn(el);
            });
            el.observe("mouseout", function(){
                launchTimer();
            });

        });
    }

    if($('sous-menu')){
        $('sous-menu').observe("mouseover", function(){
            disableTimer();
        });

        $('sous-menu-content').observe("mouseover", function(){
            disableTimer();
        });

        $('sous-menu').observe("mouseout", function(){
            launchTimer();
        });

        $('sous-menu-content').observe("mouseout", function(){
            launchTimer();
        });

        
    }


    if($$('.bulle')){
        $$('.bulle').each(function(el){
            el.observe("mouseover", function(){
                showBulle(el);
            });
            el.observe("mouseout", function(){
                hideBulle();
            });

        });
    }

    if($('right-menu')){
        var windowSize = getWindowSize();
        $('right-menu').style.height = windowSize[1]+"px";
        $('right-content').style.height = windowSize[1]+"px";
    }

});
