$(function () {
    $('.date_has_event').each(function () {
        // options
        var distance = 10;
        var time = 250;
        var hideDelay = 500;

        var hideDelayTimer = null;

        // tracker
        var beingShown = false;
        var shown = false;

        var trigger = $(this);
        var popup = $('.events ul', this).css('opacity', 0);
      
        // set the mouseover and mouseout on both element
        $([trigger.get(0), popup.get(0)]).mouseover(function () {
            // stops the hide event if we move from the trigger to the popup element
            if (hideDelayTimer) clearTimeout(hideDelayTimer);

            // don't trigger the animation again if we're being shown, or already visible
            if (beingShown || shown) {
                return;
            } else {
                beingShown = true;
              
                //alert($(window).width()+"  "  + $("#content").width() );
                milieuEcran = parseInt($(window).width()/2); 
                milieuHEcran = parseInt($(window).height()/2);
               // alert(milieuEcran);
              //  alert(trigger.width());
                pos = trigger.findPos();
                //retourne le coordonnées via
                //   alert(pos.x);
                if(pos.x >= milieuEcran ){
                  positionXPopup = -160  ; 
                  if ( $.browser.msie ) {  
                    positionXPopup = -100  ;  
                  }
                  //alert("Plus grand");
                }else{
                  //alert("Plus petit");
                    positionXPopup = 25 ; // milieuEcran - pos.x - 100   ; 
                    if ( $.browser.msie ) {  
                     positionXPopup = -10  ;  
                   }
                }
                
                if ( $.browser.msie ) {  
                    positionHPopup = 25  ;  
                }else{
                    if(pos.y <= milieuHEcran ){
                      positionHPopup = -150  ; 
                      //alert("Plus grand");
                    }else{
                      //alert("Plus petit");
                        positionHPopup = -5 ; // milieuEcran - pos.x - 100   ; 
                    }                          
                }
                
                
                
                //positionXPopup += 300 ;
                //positionXPopup = milieuEcran-100; 
                //positionXPopup = (pos.x - milieuEcran ) - 100 ;
               // alert(positionXPopup);   
                //et
                //   alert(pos.y);
                // reset position of popup box
                popup.css({
                    bottom: positionHPopup ,
                    left: positionXPopup ,                    
                    display: 'block' // brings the popup back in to view
                })

                // (we're using chaining on the popup) now animate it's opacity and position
                .animate({
                    bottom: '+=' + distance + 'px',
                    opacity: 1
                }, time, 'swing', function() {
                    // once the animation is complete, set the tracker variables
                    beingShown = false;
                    shown = true;
                });
            }
        }).mouseout(function () {
            // reset the timer if we get fired again - avoids double animations
            if (hideDelayTimer) clearTimeout(hideDelayTimer);

            // store the timer so that it can be cleared in the mouseover if required
            hideDelayTimer = setTimeout(function () {
                hideDelayTimer = null;
                popup.animate({
                    bottom: '-=' + distance + 'px',
                    opacity: 0
                }, time, 'swing', function () {
                    // once the animate is complete, set the tracker variables
                    shown = false;
                    // hide the popup entirely after the effect (opacity alone doesn't do the job)
                    popup.css('display', 'none');
                });
            }, hideDelay);
        });
    });
});
/*
jQuery.fn.center = function () {
    this.css("position","absolute");
   // this.css("top", ( $(window).height() - this.height() ) / 2+$(window).scrollTop() + "px");
    this.css("left", ( $(window).width() - this.width() ) / 2+$(window).scrollLeft() + "px");
   // alert(( $(window).width() - this.width() ) / 2+$(window).scrollLeft());
    return this;
}
*/

jQuery.fn.extend({
   findPos : function() {
       obj = jQuery(this).get(0);
       var curleft = obj.offsetLeft || 0;
       var curtop = obj.offsetTop || 0;
       while (obj = obj.offsetParent) {
                curleft += obj.offsetLeft
                curtop += obj.offsetTop
       }
       return {x:curleft,y:curtop};
   }
});

