var mouseX = 0;
var mouseY = 0;
$(document).ready(function() {
  $('#announcementBox').addClass('readyShow');
  $('#announcementBox')
    .jqDrag('.jqDrag')
    .jqResize('.jqResize')
    .jqm({
      trigger:'#announcementTrigger',
      overlay: 0,
      onShow: function(h) {
        /* callback executed when a trigger click. Show notice */
        $('#announcementBox').removeClass('readyShow');
        h.w.slideDown("",function() { if (!(mouseX >= $('#announcementBox').offset().left && mouseX <= $('#announcementBox').offset().left + $('#announcementBox').width() && mouseY >= $('#announcementBox').offset().top && mouseY <= $('#announcementBox').offset().top + $('#announcementBox').height())) setAnnouncementVisibility(false); else $('#announcementBox').addClass('readyShow'); }); 
        },
      onHide: function(h) {
        /* callback executed on window hide. Hide notice, overlay. */
        $('#announcementBox').removeClass('readyShow');
        h.w.slideUp("slow",function() { if(h.o) h.o.remove(); if (mouseX >= $('#announcementTrigger').offset().left && mouseX <= $('#announcementTrigger').offset().left + $('#announcementTrigger').width() && mouseY >= $('#announcementTrigger').offset().top && mouseY <= $('#announcementTrigger').offset().top + $('#announcementTrigger').height()) setAnnouncementVisibility(true); else $('#announcementBox').addClass('readyShow'); }); } 
      });
   $(document).mousemove(function(e){
      mouseX = e.pageX;
      mouseY = e.pageY;
   }); 
   $('#announcementTrigger').bind('mouseenter', function() {
     if ($('#announcementBox').hasClass('readyShow'))
       setAnnouncementVisibility(true);
   });
   $('#announcementBox').bind('mouseleave', function() {
     if ($('#announcementBox').hasClass('readyShow'))
       setAnnouncementVisibility(false);
   });
});

function setAnnouncementVisibility(show) {
    if (show)
    {
        $('#announcementPanel').positionBy({ target: $('#announcementPanel').parent()[0],
                                             targetPos: 0,
                                             elementPos: 0,
                                             force: true
                                          });
        $('#announcementBox').jqmShow();
    }
    else
    {
        $('#announcementBox').jqmHide();
    }
}
