﻿$(document).ready(function(){
  initBehaviour();
});

function initBehaviour()
{
  initExternalLink();
  initStopFlicker();  
  initActAsLinkHover();
  initButtonHover();
  initSmoothScroll();
  initSubNav();
  initSearchText();
  initFormEnhancements();
  initPopups();
  initSocial();
} // initBehaviour()

function initExternalLink()
{
  $("a.externalLink").live("click", function(){ window.open(this.href); return false; });
} // initExternalLink()

function initStopFlicker()
{
  try { document.execCommand("BackgroundImageCache", false, true); } catch(err) {}
} // initStopFlicker()

function initActAsLinkHover()
{
  $(".actAsLink").hover(
    function(){ $(this).addClass("actAsLinkHover"); }, // over
    function(){ $(this).removeClass("actAsLinkHover"); } // out
  );
  if($.browser.opera) { $("label.actAsLink").one("click", function(){ $(this).find("input").trigger("click"); }); }
} // initActAsLinkHover()

function initButtonHover()
{
  $(".btnHover").hover(
    function(){ $(this).addClass("btnHoverHover"); }, // over
    function(){ $(this).removeClass("btnHoverHover"); } // out
  );
} // initButtonHover()

function initSmoothScroll()
{
	$("a[href*=#]").click(function(){
		if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) 
		{
			var target = $(this.hash);
			target = target.length && target || $("[name=" + this.hash.slice(1) +"]");
			if (target.length) 
			{
        var targetOffset = target.offset().top;
        $("html,body").animate({scrollTop: targetOffset}, "slow");
        return false;
			}
		}
	});
} // initSmoothScroll()

function initSubNav()
{
	$("div.navWrapper ul.nav li.topLevel div.subNavWrapper").each(function(){
	  navWidth = 0;
	  $(this).find("div.section:last").addClass("sectionLast");
	  $(this).find("div.section").each(function(){ 
	    navWidth += parseInt($(this).css("width").replace("px","")); 
	  });
	  navWidth += parseInt($(this).find("div.subNav").css("padding-left").replace("px",""));
	  navWidth += parseInt($(this).find("div.subNav").css("padding-right").replace("px",""));
	  $(this).css("width", navWidth + "px");
	});
  $("div.navWrapper ul.nav li.topLevel").hover(
    function(){
      $(this).find("div.subNavWrapper").css("visibility", "visible");
      $(this).find("a:first").addClass("hover");
    },
    function(){
      $(this).find("div.subNavWrapper").css("visibility", "hidden");
      $(this).find("a:first").removeClass("hover");
    }
  );
} // initSubNav()

function initSearchText()
{
  var text = "Search";
  $("input.txtSearch")
    .focus(function(){
      if($(this).val() == text) $(this).val("");
    })
    .blur(function(){
      if($(this).val() == "") $(this).val(text);
    }
  );
} // initSearchText()

function initFormEnhancements()
{
  if($.browser.msie)
  {
    $("input.txt").focus(function(){$(this).addClass("txtFocus")}).blur(function(){$(this).removeClass("txtFocus")});
    $("textarea.txt").focus(function(){$(this).addClass("txtFocus")}).blur(function(){$(this).removeClass("txtFocus")});
    $("select.ddl").focus(function(){$(this).addClass("ddlFocus")}).blur(function(){$(this).removeClass("ddlFocus")});
  }
} // initFormEnhancements()

function initPopups()
{
  $("div.popupWrapper p.close a").after(" or Esc key");
  
  $("a.popup").live("click", function(){
    var queryString = $(this).attr("href").substring(1);
    var querys = queryString.split("&");
    for(i=0; i<querys.length; i++)
    {
      query = querys[i].split("=");
      if(query[0] == "popup") popup = "div." + query[1];
    }
    if(popup)
    {
      if($(popup).hasClass("popupSendToFriend"))
      {
        pageTracker._trackPageview("FROM: Send to friend - " + document.title);
      }
      $(popup).fadeIn(250);
      $("html,body") .animate({scrollTop: 0}, "slow");
      $(popup + " p.close a").live("click", function(){
        $(popup).fadeOut(250);
        return false;
      });
    }
    return false;
  });
  
  $(document).keyup(function(e){
    var key = e.keyCode ? e.keyCode : e.which;
    if(key == 27)
    {
      if($("div.popupWrapper:visible").size() > 0)
      {
        popup = "div." + $("div.popupWrapper:visible").attr("class").replace("popupWrapper ", "");
        $(popup).fadeOut(250);
      }
    }
  });

} // initPopups()

function initSocial()
{
  $("div.bannerWrapper ul.social")
    .append("<li class=\"print\"><a href=\"#\" title=\"Print this page\">Print</a></li>")
    .append("<li class=\"favourites\"><a href=\"#\" title=\"Add to favourites\">Add to favourites</a></li>");
    
  // print
  $("div.bannerWrapper ul.social li.print a").live("click", function(){
    window.print();
    pageTracker._trackPageview("PRINT: " + document.title);
    return false;
  });
  
  // favourites
  $("div.bannerWrapper ul.social li.favourites a").live("click", function(){
    title = document.title;
    url = location.href;
    if ($.browser.mozilla) window.sidebar.addPanel(title, url, "");
    else if($.browser.msie) window.external.AddFavorite(url, title);
    else alert("Press CTRL+D, or CMD+D on Mac, to add this page to your favourites.");
    pageTracker._trackPageview("ADD TO FAVOURITES: " + document.title);
    return false;
  });
} // initSocial()