var tooltipEvent = false;

var htmlClickHandlerForTooltip = function(event) {
  if (!tooltipEvent) {
    $('.tooltipable .faqs .tooltipLayer .tooltip').hide();
  }
  tooltipEvent = false;
  event.stopPropagation();
}

$(document).ready(function() {

  $('html').click(htmlClickHandlerForTooltip);
  $('.tooltipable .faqs .tooltipLayer .tooltip').click(function(){tooltipEvent = true;});

  /****************************************************************************
  ****************************************************************************
  *
  * Tooltips
  *
  ****************************************************************************
  ***************************************************************************/
    $('.tooltipable .content .slide').mouseover(function(){
      $('#main').css('zIndex','1000');
      var parentObj = $(this).parents('div.moduleContainer').eq(0);
      if (parentObj.hasClass('t940') == true){
        parentObj = $(this).parents('div.product_overview').eq(0);
      }
      var no = ($(this).parent().find('.slide').index(this))+1;
      var offset = $(this).offset().left-$(this).parents('.content').eq(0).offset().left;
      showTooltip(parentObj.find('.tooltipLayer .no_'+no), offset);
    })

    $('.tooltipLayer .tooltip').mouseover(function(){
      $('#main').css('zIndex','1000');
      showTooltip($(this),null);
    })

    $('.tooltipable .content .slide').mouseout(function(){
      var no = ($(this).parent().find('.slide').index(this))+1;
      hideTooltip($(this).parents('div.moduleContainer').find('.tooltipLayer .no_'+no));
      $('#main').css('zIndex','30');
    })

    $('.tooltipLayer .tooltip').mouseleave(function(){
      if ($(this).parents('.moduleContainer').eq(0).hasClass('teaser_icon_list')){
        return false;
      } else {
        hideTooltip($(this));
      }
      $('#main').css('zIndex','30');
    })

    var showTooltip = function($elem, offset){
      $off = $elem.parents('.moduleContainer').eq(0).offset();
      $off2 = $elem.offset();
      $elem.css('display', 'block');
      if (offset != null){
        if ($elem.parents('.moduleContainer').eq(0).hasClass('content_slider360')){
          $elem.css('left', $off2.left+60+'px');
          $elem.find('.arrow').css('left', offset+20+'px');
        } else if ($elem.parents('.moduleContainer').eq(0).hasClass('teaser_icon_list')){
          $elem.css('left', 60+'px').css('bottom', -offset+275+'px');
        } else {
          $elem.css('left', offset+60+'px');
        }
      }     
    }

    var hideTooltip = function($elem){
      $elem.css('display', 'none');
    }


  /****************************************************************************
  ****************************************************************************
  *
  * Tooltip FAQ Model
  *
  ****************************************************************************
  ***************************************************************************/
    $('.tooltipable .faqs ul li').click(function(){
      $('.tooltipable .faqs .tooltipLayer .tooltip .close').click();
      var parentObj = $(this).parents('div.moduleContainer').eq(0);
      var no = (parentObj.find('li').index(this))+1;
      var o1 = $(this).offset();
      var o2 = parentObj.offset();
      var dy = o1.top - o2.top;      
      showTooltip(parentObj.find('.tooltipLayer .no_'+no), dy);
      parentObj.find('.tooltipLayer .no_'+no+' .text').jScrollPane({showArrows:true, scrollbarWidth:18});
      return false;
    })

    $('.tooltipable .faqs .tooltipLayer .tooltip .close').click(function(){
      $(this).parents('.tooltip').eq(0).css('display', 'none');
      tooltipEvent = false;
      return false;
    })



  /****************************************************************************
  ****************************************************************************
  *
  * Product Description Icons
  *
  ****************************************************************************
  ***************************************************************************/

    $('.product_description .icons ul li').mouseover(function(){
      var title = $(this).find('a').attr('title');
      var tooltip = $(this).parents('.icons').eq(0).find('.tooltip_description');
      $off = $(this).parents('.moduleContainer').eq(0).offset();
      $off2 = $(this).offset();
      var diff = $off2.left - $off.left;
      tooltip.find('.content').html(title);
      tooltip.css('left', diff-100+'px').css('display', 'block');
    })
    
    $('.product_description .icons ul li').mouseout(function(){
      var tooltip = $(this).parents('.icons').eq(0).find('.tooltip_description');
      tooltip.css('display', 'none');
    })

});


