YAHOO.namespace('tui');

YAHOO.tui.slideToTab = function(e) {
  // Replace the default link action
  YAHOO.util.Event.stopEvent(e);
  
  // Get the target panel
  var l = YAHOO.util.Event.getTarget(e);
  var pid = l.href.substr(l.href.indexOf('#')+1);
  var panel = document.getElementById(pid);
  if (!panel) { return; }

  // Get its container
  var container = YAHOO.util.Dom.getAncestorByClassName(panel, 'tuisliderbox');
  if (!container) { return; }

  // Mark the current link as selected, mark others as not
  YAHOO.util.Dom.removeClass(YAHOO.util.Dom.getAncestorByTagName(l, 'ul').getElementsByTagName('li'), 'selected');
  YAHOO.util.Dom.addClass(YAHOO.util.Dom.getAncestorByTagName(l, 'li'), 'selected');
  
  // Resize the container vertically to fit the panel
  // Animate the scroll of the container to the panel

  var pagenum = parseInt(pid.replace(/[^\d]+/,''));
  var pdim = YAHOO.util.Dom.getRegion(panel);
  var cdim = YAHOO.util.Dom.getRegion(container);
  
  var anim = new YAHOO.util.Scroll(container, {scroll: {to: [pagenum*(cdim.right - cdim.left), 0]}} , 0.5, YAHOO.util.Easing.easeBoth);
  var anim2 = new YAHOO.util.Anim(container, {height: {to: (pdim.bottom - pdim.top)}}, 0.5, YAHOO.util.Easing.easeBoth);

 

  anim.animate();
  anim2.animate();
 
  
  
}



YAHOO.tui.initAnims = function() {
  // Add the animation behaviour to all navigation links
  var navcontainer = YAHOO.util.Dom.getElementsByClassName('tuislidernav', 'div');
  for (i in navcontainer) {
    YAHOO.util.Event.addListener(navcontainer[i].getElementsByTagName('a'), 'click', YAHOO.tui.slideToTab);
  }
  
  
  // Reduce the slider height to the height of the first panel (or the target panel if one is selected)
  var sliders = YAHOO.util.Dom.getElementsByClassName('tuisliderbox', 'div');
	
 
	
  var targetPanel = false;
  if (window.location.href.indexOf('#tuislider') > 0) {
    var targetPanel = window.location.href.substr(window.location.href.indexOf('#tuislider') + 1);
  } 
  
  for (i in sliders) {
    var panels = YAHOO.util.Dom.getElementsByClassName('tuislider', 'div', sliders[i]);
    var sliderHeight = YAHOO.util.Dom.getRegion(panels[0]).bottom - YAHOO.util.Dom.getRegion(panels[0]).top;
    
    if (targetPanel) {
      for (p in panels) {
        if (panels[p].id && (panels[p].id == targetPanel)) {
          sliderHeight = YAHOO.util.Dom.getRegion(panels[p]).bottom - YAHOO.util.Dom.getRegion(panels[p]).top;
		}
      }
    }
    sliders[i].style.height = sliderHeight + 'px';
	
	
  }
  
  if (!targetPanel) {
    targetPanel = panels[0].id;
  }
  
  
  // Update the nav to reflect the selected page
  if (targetPanel) {
    var navs = YAHOO.util.Dom.getElementsByClassName('tuislidernav', 'div');
    for (n in navs) {
      YAHOO.util.Dom.removeClass(navs[n].getElementsByTagName('li'), 'selected');
      var links = navs[n].getElementsByTagName('a');
      for (l in links) {
        if (links[l].href && (links[l].href.substr(0 - targetPanel.length) == targetPanel)) {
          YAHOO.util.Dom.addClass(YAHOO.util.Dom.getAncestorByTagName(links[l], 'li'), 'selected');
        }
      }
      
    }
  
  }
  
};

YAHOO.util.Event.onContentReady('page_buy-gift-vouchers',YAHOO.tui.initAnims);

