document.observe("dom:loaded", function() 
{
	var links = $$('a');
	
	links.each(function(link)
	{
	  /*
		if (!link.hasClassName('noFade'))
		{
			Element.observe(link, 'mouseover', function(e) 
			{
				new Effect.Morph(link, {style: 'color: #ec008c', duration: 0.2});
				Event.stop(e);
			});

			Element.observe(link, 'mouseout', function(e) 
			{
				new Effect.Morph(link, {style: 'color: #00acec', duration: 0.2});
				Event.stop(e);
			});
		}
		*/
		
		if (link.hasClassName('blank'))
		{
			Element.observe(link, 'click', function(e) 
			{
				window.open(link.href);
				Event.stop(e);
			});
		}
		
		if (link.hasClassName('scroll'))
		{
      Element.observe(link, 'click', function(e)
      {
        var target = link.hash.replace('#', '');

        // Scroll to appropriate section.
    		new Effect.ScrollTo($(target), 
    		{ 
    		  duration: 1.0, 
    		  transition: Effect.Transitions.EaseFromTo
    		});
    		Event.stop(e);
      })
	  }
	});

  if (globals.isCommentPreview)
  {
    Element.scrollTo('headingPreview');
  }

});


/* 
transitions.js
Based on Easing Equations v2.0 
(c) 2003 Robert Penner, all rights reserved. 
This work is subject to the terms in http://www.robertpenner.com/easing_terms_of_use.html
Adapted for Scriptaculous by Ken Snyder (kendsnyder ~at~ gmail ~dot~ com) June 2006 
*/

// Overshooting Transitions 

// Elastic (adapted from "EaseOutElastic") 
Effect.Transitions.Elastic = function(pos) { 
    return -1*Math.pow(4,-8*pos) * Math.sin((pos*6-1)*(2*Math.PI)/2) + 1; 
}; 
// SwingFromTo (adapted from "BackEaseInOut") 
Effect.Transitions.SwingFromTo = function(pos) { 
    var s = 1.70158; 
    if ((pos/=0.5) < 1) return 0.5*(pos*pos*(((s*=(1.525))+1)*pos - s)); 
    return 0.5*((pos-=2)*pos*(((s*=(1.525))+1)*pos + s) + 2); 
}; 
// SwingFrom (adapted from "BackEaseIn") 
Effect.Transitions.SwingFrom = function(pos) { 
    var s = 1.70158; 
    return pos*pos*((s+1)*pos - s); 
}; 
// SwingTo (adapted from "BackEaseOut") 
Effect.Transitions.SwingTo = function(pos) { 
    var s = 1.70158; 
    return (pos-=1)*pos*((s+1)*pos + s) + 1; 
};


// Bouncing Transitions 

// Bounce (adapted from "EaseOutBounce") 
Effect.Transitions.Bounce = function(pos) { 
    if (pos < (1/2.75)) { 
        return (7.5625*pos*pos); 
    } else if (pos < (2/2.75)) { 
        return (7.5625*(pos-=(1.5/2.75))*pos + .75); 
    } else if (pos < (2.5/2.75)) { 
        return (7.5625*(pos-=(2.25/2.75))*pos + .9375); 
    } else { 
        return (7.5625*(pos-=(2.625/2.75))*pos + .984375); 
    } 
}; 
// BouncePast (new creation based on "EaseOutBounce") 
Effect.Transitions.BouncePast = function(pos) { 
    if (pos < (1/2.75)) { 
        return (7.5625*pos*pos); 
    } else if (pos < (2/2.75)) { 
        return 2 - (7.5625*(pos-=(1.5/2.75))*pos + .75); 
    } else if (pos < (2.5/2.75)) { 
        return 2 - (7.5625*(pos-=(2.25/2.75))*pos + .9375); 
    } else { 
        return 2 - (7.5625*(pos-=(2.625/2.75))*pos + .984375); 
    } 
};
 
//Gradual Transitions 
 
// EaseFromTo (adapted from "Quart.EaseInOut") 
Effect.Transitions.EaseFromTo = function(pos) { 
    if ((pos/=0.5) < 1) return 0.5*Math.pow(pos,4); 
    return -0.5 * ((pos-=2)*Math.pow(pos,3) - 2);    
}; 
// EaseFrom (adapted from "Quart.EaseIn") 
Effect.Transitions.EaseFrom = function(pos) { 
    return Math.pow(pos,4); 
}; 
// EaseTo (adapted from "Quart.EaseOut") 
Effect.Transitions.EaseTo = function(pos) { 
    return Math.pow(pos,0.25); 
};

// subnav rollover

var timeout    = 200;
var closetimer = 0;
var subnav = 0;

function subnav_open()
{  
	subnav_canceltimer();
	subnav_close();
	subnav = $('subWrap').setStyle({'visibility': 'visible'});
}

function subnav_close()
{
	if(subnav) subnav.setStyle({'visibility': 'hidden'});
}

function subnav_timer()
{  
	closetimer = window.setTimeout(subnav_close, timeout);
}

function subnav_canceltimer()
{  
	if(closetimer)
	{  window.clearTimeout(closetimer);
		closetimer = null;
	}
}

document.onclick = subnav_close;

// home product hovers
function showHover(itemPassed, colourPassed)
{
	$(itemPassed).setStyle({'background':'transparent url(/images/home/products_hover_'+colourPassed+'.png) no-repeat top left'});
}

function hideHover(itemPassed)
{
	$(itemPassed).setStyle({'background':'none'});
}

function showDarkHover(itemPassed)
{
	$(itemPassed).setStyle({'background':'transparent url(/images/home/products_hover_dark.png) no-repeat top left'});
}
