/* 
  Share this button script (c) iPressroom 2008
  v 1.3.0
*/  

// changes current tab
function shareChangeTab() {
  var p = $(this).parents(".shareTabs");
  if (p.length) {
   var i = $(".shareTabsList a", p).index(this);
   
   // hide current
   $(".shareTabsList .active", p).removeClass("active");
   $(".shareTab[class!='hidden']", p).addClass("hidden");
   
   // show new
   $(".shareTab", p).eq(i).removeClass('hidden');
   $(".shareTabsList li", p).eq(i).addClass('active');
  }
  return false;
}

// show send link on demand
function shareShowSend () {
  var p = $(this).parents(".shareTabs"); 
  var ifr = $(".shareTab:eq(1) iframe", p).get(0);
  if (!ifr.src) {
   $(ifr).load(function() {$(".sendLink .loading", p).css('display', 'none'); }); // don't use hide() here
   ifr.src= this.href;
  }
}

// detects enough space for popup
function isSpace(offset, elSpace, allSpace) {
  return (offset+elSpace <= allSpace) || (offset < elSpace);
}

// adds special class on mouseover
function shareHover(evt) {
  if (evt.type == 'mouseenter') {
   var b = $(document);
   var el = $(this);   
   
   $(this)
     .addClass( isSpace(el.offset().left, this.shrPopup.width(), b.width()) ? 'hovered-right' : 'hovered-left')
     .addClass( isSpace(el.offset().top, this.shrPopup.height(), b.height()) ? 'hovered-bottom' : 'hovered-top' )
     .addClass('hovered');
  }
  else 
   $(this).removeClass('hovered hovered-left hovered-right hovered-top hovered-bottom');
}

// dummy iframe update on kiosk popup. IE fix
function iframeHelper(evt) {
 $("iframe", this).css("visibility", "visible");
}

// initial setup
if (typeof jQuery != 'undefined') {
 $(document).ready (
  function () {
   jQuery.each($(".shareThis .shareLink"),
    function () {
     this.shrPopup = $(".sharePop", this);   
     $(this).hover(shareHover, shareHover);
    }
   );
   jQuery.each($(".shareThis .shareTip"),
    function () {
     this.shrPopup = $(".shareTipPop", this);   
     $(this).hover(shareHover, shareHover);
    }
   );

   // ie helper functions
   if (jQuery.browser.msie) {
    $(".shareThis .shareLink").hover(iframeHelper, iframeHelper); 
   };
   
   // tabs events
   $(".shareThis .shareTabsList a").filter(
    function () {
     return $(this).attr("onclick") == undefined;    
    }
   ).click(shareChangeTab);
   $(".shareTabsList a:eq(1)", ".shareThis").click(shareShowSend);
   
   //z-index ie fix
   var z = 100;
   $(".shareThis").each(function() {
    $(this).css("z-index", z--);
   });

   // share options   
   if (typeof(prShareOptions) != 'undefined' )
     $(".shareThisWrap").addClass(prShareOptions.customStyle || "");
   
   // activate first item
   $("a:first", ".shareThis .shareTabsList").click();
  }
 )
}
else {
 // jQuery not found
}



