MooTools.More={version:"1.2.2.1"};(function(){var b={wait:function(c){return this.chain(function(){this.callChain.delay($pick(c,500),this);}.bind(this));
	}};Chain.implement(b);if(window.Fx){Fx.implement(b);["Css","Tween","Elements"].each(function(c){if(Fx[c]){Fx[c].implement(b);}});}try{Element.implement({chains:function(c){$splat($pick(c,["tween","morph","reveal"])).each(function(d){d=this.get(d);
	if(!d){return;}d.setOptions({link:"chain"});},this);return this;},pauseFx:function(d,c){this.chains(c).get($pick(c,"tween")).wait(d);return this;}});}catch(a){}})();
	Fx.Scroll=new Class({Extends:Fx,options:{offset:{x:0,y:0},wheelStops:true},initialize:function(b,a){this.element=this.subject=$(b);this.parent(a);var d=this.cancel.bind(this,false);
	if($type(this.element)!="element"){this.element=$(this.element.getDocument().body);}var c=this.element;if(this.options.wheelStops){this.addEvent("start",function(){c.addEvent("mousewheel",d);
	},true);this.addEvent("complete",function(){c.removeEvent("mousewheel",d);},true);}},set:function(){var a=Array.flatten(arguments);this.element.scrollTo(a[0],a[1]);
	},compute:function(c,b,a){return[0,1].map(function(d){return Fx.compute(c[d],b[d],a);});},start:function(c,h){if(!this.check(c,h)){return this;}var e=this.element.getSize(),f=this.element.getScrollSize();
	var b=this.element.getScroll(),d={x:c,y:h};for(var g in d){var a=f[g]-e[g];if($chk(d[g])){d[g]=($type(d[g])=="number")?d[g].limit(0,a):a;}else{d[g]=b[g];
	}d[g]+=this.options.offset[g];}return this.parent([b.x,b.y],[d.x,d.y]);},toTop:function(){return this.start(false,0);},toLeft:function(){return this.start(0,false);
	},toRight:function(){return this.start("right",false);},toBottom:function(){return this.start(false,"bottom");},toElement:function(b){var a=$(b).getPosition(this.element);
	return this.start(a.x,a.y);}});

/* A workaround for IE issues in mootools 1.2.1
 * - Recreates FX.Scroll() but utilises 1.2.0's getPosition/getOffset routines.
 */
Fx.Scroll2 = new Class({
 
    'Extends': Fx.Scroll,
 
    'styleString': Element.getComputedStyle,
    'styleNumber': function(element, style) {
        return this.styleString(element, style).toInt() || 0;
    },
    'borderBox': function(element) {
        return this.styleString(element, '-moz-box-sizing') == 'border-box';
    },
    'topBorder': function(element) {
        return this.styleNumber(element, 'border-top-width');
    },
    'leftBorder': function(element) {
        return this.styleNumber(element, 'border-left-width');
    },
    'isBody': function(element) {
        return (/^(?:body|html)$/i).test(element.tagName);
    }, 
    'toElement': function(el) {
        var offset   = {x: 0, y: 0};
        var element  = $(el);
       
        if (this.isBody(element)) {
            return offset;
        }
        var scroll = element.getScrolls();
               
        while (element && !this.isBody(element)){
            offset.x += element.offsetLeft;
            offset.y += element.offsetTop;
           
            if (Browser.Engine.gecko){
                if (!this.borderBox(element)){
                    offset.x += this.leftBorder(element);
                    offset.y += this.topBorder(element);
                }
                var parent = element.parentNode;
                if (parent && this.styleString(parent, 'overflow') != 'visible'){
                    offset.x += this.leftBorder(parent);
                    offset.y += this.topBorder(parent);
                }
            } else if (Browser.Engine.trident || Browser.Engine.webkit){
                offset.x += this.leftBorder(element);
                offset.y += this.topBorder(element);
            }
 
            element = element.offsetParent;
            if (Browser.Engine.trident) {
                while (element && !element.currentStyle.hasLayout) {
                    element = element.offsetParent;
                }
            }
        }
        if (Browser.Engine.gecko && !this.borderBox(element)){
            offset.x -= this.leftBorder(element);
            offset.y -= this.topBorder(element);
        }
       
        var relative = this.element;
        var relativePosition = (relative && (relative = $(relative))) ? relative.getPosition() : {x: 0, y: 0};
        var position = {x: offset.x - scroll.x, y: offset.y - scroll.y};
       
        return this.start(position.x - relativePosition.x, position.y - relativePosition.y);
    }
});


window.addEvent('domready',function()
{	$$('a.main-menu-item').each(function(menu_link)
	{	menu_link.set('text','');
		if(menu_link.getNext())
		{	menu_link.getNext().set('morph', {duration: '200'}).setStyle('opacity','0');
		
			menu_link.getParent().addEvent('mouseover',function()
			{	menu_link.getNext().morph({opacity: 1});
			});
			menu_link.getParent().addEvent('mouseout',function()
			{	menu_link.getNext().morph({opacity: 0});
			});
		}
	});

	//news ticker
	if($('news'))
	{	var scroll = new Fx.Scroll2('news', {
			wait: true,
			duration: 100,
			offset: {'x': 0, 'y': 0}
		});
	}
	$$('#news .next').addEvent('click',function(e)
	{	new Event(e).preventDefault();
		var page = this.getParent().getParent().getParent().getParent().getFirst();
		if(this.getParent().getParent().getParent().getNext())
		{	page = this.getParent().getParent().getParent().getNext();
		}
		scroll.toElement(page);
	});
	$$('#news .previous').addEvent('click',function(e)
	{	new Event(e).preventDefault();
		var page = this.getParent().getParent().getParent().getParent().getLast();
		if(this.getParent().getParent().getParent().getPrevious())
		{	page = this.getParent().getParent().getParent().getPrevious();
		}
		scroll.toElement(page);
	});
	
	//casestudy ticker
	if($('cases'))
	{	var scroll2 = new Fx.Scroll2('cases', {
		wait: true,
		duration: 100,
		offset: {'x': 0, 'y': 0}
		});
	}

	$$('#cases .next').addEvent('click',function(e)
	{	new Event(e).preventDefault();
		var page = this.getParent().getParent().getParent().getParent().getFirst();
		if(this.getParent().getParent().getParent().getNext())
		{	page = this.getParent().getParent().getParent().getNext();
		}
		scroll2.toElement(page);
	});
	$$('#cases .previous').addEvent('click',function(e)
	{	new Event(e).preventDefault();
		var page = this.getParent().getParent().getParent().getParent().getLast();
		if(this.getParent().getParent().getParent().getPrevious())
		{	page = this.getParent().getParent().getParent().getPrevious();
		}
		scroll2.toElement(page);
	});
});