/*
Name: Common Javascript
Version: 1.2 (01.04.2011)
Author: David Crowe - cleardrop.com
*/

window.addEvent('domready', function() {
	newWin();
	sparkle();
	//searchBox();
	if ($('socialslides')) {
		socialslides();
	} else if ($('fundraisingslides')) {
		fundraisingslides();
	} else if ($('venueslides')) {
		venueslides();
	} else if ($('committeeList')) {
		committeeList();
	}
});

/* !search box */

function searchBox() {
	var sb = $('term');
	var ph = sb.get('value');
	sb.addEvent('focus', function() {
		if (sb.get('value')==ph) sb.set('value','');
	});
	sb.addEvent('blur', function() {
		if (sb.get('value')=='') sb.set('value',ph);
	});
}

/* !contact */

function committeeList() {
	$$('#committeeList a').each(function(a) {
		a.addEvent('click', function() {
			$('recipientID').set('value', a.get('html'));
		});
	});
}

/* !sparkle */

function sparkle() {
	var aSparkle = new Element('div', {
		'id': 'sparkle',
		'styles': {
			'top': 5,
			'left': 115
		}
	});
	aSparkle.inject('header');
	$('sparkle').fade('out');
	interval = setInterval("sparkleMove()", 2000);
}
function sparkleMove() {
		var rx = $random(115,865);
		$('sparkle').set('styles', {
			'top': 15,
			'left': rx
		});
		$('sparkle').fade('show');
		$('sparkle').fade('out');
	}
	
/* !slideshows */

function socialslides() {
	var data = {
		'81st-birthday.jpg': { caption: 'CMTS 81st Birthday' },
		'80th-party.jpg': { caption: 'CMTS 80th Birthday Party' },
		'easter-egg-hunt-2010.jpg': { caption: 'Easter Egg Hunt' },
		'easter-egg-hunt-2010-2.jpg': { caption: 'Easter Egg Hunt' },
		'sports-day-2010.jpg': { caption: 'Sports Day 2010' },
		'sports-day-2010-2.jpg': { caption: 'Sports Day 2010' },
		'carnival-2010.jpg': { caption: 'Clacton Carnival' },
		'cmts-vs-cads-bowling.jpg': { caption: 'CMTS vs CADS Bowling (we won!)' },
		'sports-day-2011.jpg': { caption: 'Sports Day 2011' },
		'sports-day-2011-2.jpg': { caption: 'Sports Day 2011' },
		'sports-day-2011-3.jpg': { caption: 'Harry\'s Team' },
		'sports-day-2011-4.jpg': { caption: 'Gabrielle\'s Winning Team' }
	};
	var slides = new Slideshow("socialslides", data, {thumbnails: false, captions: true, controller: false, hu: "/images/social/", delay: 3000, duration: 1000});
}

function fundraisingslides() {
	var data = {
		'table-top-sale-2010.jpg': { caption: 'Table Top Sale' },
		'table-top-sale-2010-2.jpg': { caption: 'Table Top Sale' },
		'fashion-show-2011.jpg': { caption: 'Fashion Show' },
		'fashion-show-2011-2.jpg': { caption: 'Fashion Show' }
	};
	var slides = new Slideshow("fundraisingslides", data, {thumbnails: false, captions: true, controller: false, hu: "/images/fundraising/", delay: 3000, duration: 1000});
}

function venueslides() {
	var data = {
		'main-hall.jpg': { caption: 'Main Hall' },
		'green-room.jpg': { caption: 'Green Room' }
	};
	var slides = new Slideshow("venueslides", data, {thumbnails: false, captions: true, controller: false, hu: "/images/venue/", delay: 3000, duration: 1000});
}

/* !accordian */

window.addEvent( 'domready', function() {
	if ($('accordion')) {
		var thisAccordion = new Accordion($('accordion'), 'a.toggler', 'div.show-info', {
			opacity: true,
			//height: false,
			duration: 200,
			alwaysHide: true,
			display: -1
		});
	}
});

/* !currentNav */

function currentNav() {
	path = document.location.href.split('/').getLast();
	$$('#nav a[href="/' + path + '"]').addClass('current');
}

/* !newWin */

function newWin() {
	$$('a[href]').each(function(a) {
		if ((!a.href.indexOf('http://') && !a.href.match('^http://([^.]+[.])?(' + document.domain + ')') && !a.href.match('c-m-t-s.') && !a.href.match('clactontheatre.co.uk')) || a.href.match('.wmv|.pdf|https://')) {
			a.onclick = function(event) {
				event = new Event(event);
				if (event.shift || event.alt || event.control || event.meta) {
					return true;
				} else {
					window.open(this.href);
					return false;
				}
			};
		}
	});
}

/* !zebraStripes */

function zebraStripes() {
	var z;
	$$('.zebra tr').each(function(tr) {
		z = (z) ? false : true;
		if (z) tr.addClass('alt');
	});
}


Slideshow=new Class({Implements:[Chain,Events,Options],options:{captions:false,center:true,classes:[],controller:false,delay:2000,duration:750,fast:false,height:false,href:'',hu:'/',linked:false,loader:{'animate':['images/loader-#.png',12]},loop:true,match:/\?slide=(\d+)$/,overlap:true,paused:false,quick:false,random:false,replace:[/\.(.{3})$/,'t.$1'],resize:true,slide:0,thumbnails:false,transition:function(p){return-(Math.cos(Math.PI*p)-1)/2;},width:false},initialize:function(el,data,options){this.setOptions(options);this.slideshow=$(el);if(!this.slideshow)
return;this.slideshow.set('styles',{'display':'block','position':'relative'});var keys=['slideshow','first','prev','play','pause','next','last','images','captions','controller','thumbnails','hidden','visible','inactive','active','loader'];var values=keys.map(function(key,i){return this.options.classes[i]||key;},this);this.classes=values.associate(keys);this.classes.get=function(){var str='.'+this.slideshow;for(var i=0,l=arguments.length;i<l;i++)
str+=('-'+this[arguments[i]]);return str;}.bind(this.classes)
var anchor=this.slideshow.getElement('a')||new Element('a');if(!this.options.href)
this.options.href=anchor.get('href')||'';if(this.options.hu.substr(-1)!='/')
this.options.hu+='/';if(!data){data={};this.slideshow.getElements(this.classes.get('images')+' img').each(function(img){var el=img.getParent();var href=el.get('href')||'';var src=img.get('src').split('/').getLast();data[src]={caption:img.get('alt'),href:href};});}
this.load(data);if(!this.data.images.length)
return;var match=window.location.href.match(this.options.match);this.counter=0;this.slide=(this.options.match&&match)?match[1]%this.data.images.length:this.options.slide;this.paused=this.stopped=false;if(!this.options.overlap)
this.options.duration*=2;var el=this.slideshow.getElement('img');this.a=this.image=(el)?el:new Element('img');this.a.set({'src':this.options.hu+this.data.images[this.slide],'styles':{'display':'block','position':'absolute','zIndex':1}});var image=this.a.getSize();this.width=(this.options.width||image.x);this.height=(this.options.height||image.y);if(this.options.width||this.options.height)
this._resize(this.a,image.x,image.y);var el=this.slideshow.getElement(this.classes.get('images'));var images=(el)?el.empty():new Element('div',{'class':this.classes.get('images').substr(1)}).inject(this.slideshow);images.set({'styles':{'display':'block','height':this.height,'overflow':'hidden','position':'relative','width':this.width}});this.slideshow.store('images',images);if(this.data.hrefs[this.slide])
anchor.set('href',this.data.hrefs[this.slide]);anchor.clone().grab(this.a).inject(images);this.b=this.a.clone().setStyle('visibility','hidden');anchor.clone().grab(this.b).inject(images);this.events=$H({'keydown':[],'keyup':[],'mousemove':[]});if(this.options.loader)
this.loader();if(this.options.captions)
this.captions();if(this.options.controller)
this.controller();if(this.options.thumbnails)
this.thumbnails();var keyup=function(e){switch(e.key){case'left':this.prev(e.shift);break;case'right':this.next(e.shift);break;case'space':this.pause();break;}}.bind(this);this.events.keyup.push(keyup);document.addEvent('keyup',keyup);if(this.options.paused)
this.pause();if(this.data.images.length>1)
this.loaded(this.options.quick);},load:function(data){this.showed={'array':[],'i':0};if($type(data)=='array'){this.options.captions=false;data=new Array(data.length).associate(data);}
this.data={'images':[],'captions':[],'hrefs':[],'thumbnails':[]};for(image in data){var obj=data[image]||{};var caption=(obj.caption)?obj.caption.trim():'';var href=(obj.href)?obj.href.trim():((this.options.linked)?this.options.hu+image:this.options.href);var thumbnail=(obj.thumbnail)?obj.thumbnail.trim():image.replace(this.options.replace[0],this.options.replace[1]);this.data.images.push(image);this.data.captions.push(caption);this.data.hrefs.push(href);this.data.thumbnails.push(thumbnail);}
if(this.options.thumbnails&&this.slideshow.retrieve('thumbnails'))
this.thumbnails();if(this.slideshow.retrieve('images')){[this.a,this.b].each(function(img){['morph','tween'].each(function(p){if(this.retrieve(p))this.get(p).cancel();},img);});this.slide=this.transition=0;this.go(0);}
return this.data.images.length;},preload:function(fast){if(this.preloader.complete&&$time()>this.delay&&$time()>this.transition){if(this.stopped){if(this.options.captions)
this.slideshow.retrieve('captions').get('morph').cancel().start(this.classes.get('captions','hidden'));this.pause(1);return;}
this.image=(this.counter%2)?this.b:this.a;this.image.set({'src':this.preloader.get('src'),'styles':{'height':'auto','visibility':'hidden','width':'auto','zIndex':this.counter}});this._resize(this.image,this.preloader.width,this.preloader.height);var anchor=this.image.getParent();if(this.data.hrefs[this.slide])
anchor.set('href',this.data.hrefs[this.slide]);else
anchor.erase('href');if(this.options.loader)
this.slideshow.retrieve('loader').fireEvent('hide');if(this.options.captions)
this.slideshow.retrieve('captions').fireEvent('update',fast);if(this.options.thumbnails)
this.slideshow.retrieve('thumbnails').fireEvent('update',fast);this.show(fast);this.loaded();}
else{if($time()>this.delay&&this.options.loader)
this.slideshow.retrieve('loader').fireEvent('show');this.timer=(this.paused)?null:this.preload.delay(100,this,fast);}},show:function(fast){if(!this.image.retrieve('morph')){var options=(this.options.overlap)?{'duration':this.options.duration,'link':'cancel'}:{'duration':this.options.duration/2,'link':'chain'};$$(this.a,this.b).set('morph',$merge(options,{'transition':this.options.transition}));}
this._center(this.image);var hidden=this.classes.get('images',((this.direction=='left')?'next':'prev'));var visible=this.classes.get('images','visible');if(fast)
this.image.get('morph').cancel().set(visible);else{var img=(this.counter%2)?this.a:this.b;if(this.options.overlap){img.get('morph').set(visible);this.image.get('morph').set(hidden).start(visible);}
else{var fn=function(hidden,visible){this.image.get('morph').set(hidden).start(visible);}.pass([hidden,visible],this);var hidden=this.classes.get('images',((this.direction=='left')?'prev':'next'));img.get('morph').set(visible).start(hidden).chain(fn);}}},loaded:function(quick){this.counter++;if(this.paused){this.delay=Number.MAX_VALUE;this.transition=0;}
else{this.delay=(quick)?0:$time()+this.options.duration+this.options.delay;this.transition=(quick||this.options.fast)?0:$time()+this.options.duration;}
this.direction='left';if(this.slide+1==this.data.images.length&&!this.options.loop&&!this.options.random)
this.stopped=true;if(this.options.random){this.showed.i++;if(this.showed.i>=this.showed.array.length){var n=this.slide;if(this.showed.array.getLast()!=n)this.showed.array.push(n);while(this.slide==n)
this.slide=$random(0,this.data.images.length-1);}
else
this.slide=this.showed.array[this.showed.i];}
else
this.slide=(this.slide+1)%this.data.images.length;if(this.preloader)this.preloader.destroy();this.preloader=new Asset.image(this.options.hu+this.data.images[this.slide]);this.preload();},first:function(){this.prev(true);},go:function(n,direction){if((this.slide-1+this.data.images.length)%this.data.images.length==n||$time()<this.transition)
return;$clear(this.timer);this.delay=0;this.direction=(direction)?direction:((n<this.slide)?'right':'left');this.slide=n;if(this.preloader)this.preloader.destroy();this.preloader=new Asset.image(this.options.hu+this.data.images[this.slide]);this.preload(this.options.fast||this.paused);},last:function(){this.next(true);},next:function(last){var n=(last)?this.data.images.length-1:this.slide;this.go(n,'left');},pause:function(p){if($chk(p))
this.paused=(p)?false:true;if(this.paused){this.paused=this.stopped=false;this.delay=this.transition=0;this.timer=this.preload.delay(100,this);[this.a,this.b].each(function(img){['morph','tween'].each(function(p){if(this.retrieve(p))this.get(p).resume();},img);});if(this.options.controller)
this.slideshow.getElement('.'+this.classes.pause).removeClass(this.classes.play);}
else{this.paused=true;this.delay=Number.MAX_VALUE;this.transition=0;$clear(this.timer);[this.a,this.b].each(function(img){['morph','tween'].each(function(p){if(this.retrieve(p))this.get(p).pause();},img);});if(this.options.controller)
this.slideshow.getElement('.'+this.classes.pause).addClass(this.classes.play);}},prev:function(first){if(first)
var n=0;else{if(this.options.random){if(this.showed.i<2)
return;this.showed.i-=2;var n=this.showed.array[this.showed.i];}
else
var n=(this.slide-2+this.data.images.length)%this.data.images.length;}
this.go(n,'right');},loader:function(){if(this.options.loader===true)
this.options.loader={};var loader=new Element('div',{'class':this.classes.get('loader').substr(1),'morph':$merge(this.options.loader,{'link':'cancel'})}).store('hidden',false).store('i',1).inject(this.slideshow.retrieve('images'));if(this.options.loader.animate){for(var i=0;i<this.options.loader.animate[1];i++)
img=new Asset.image(this.options.loader.animate[0].replace(/#/,i));if(Browser.trident4&&this.options.loader.animate[0].contains('png'))
loader.setStyle('backgroundImage','none');}
loader.set('events',{'animate':function(){var loader=this.slideshow.retrieve('loader');var i=(loader.retrieve('i').toInt()+1)%this.options.loader.animate[1];loader.store('i',i);var img=this.options.loader.animate[0].replace(/#/,i);if(Browser.trident4&&this.options.loader.animate[0].contains('png'))
loader.style.filter='progid:DXImageTransform.Microsoft.AlphaImageLoader(src="'+img+'", sizingMethod="scale")';else
loader.setStyle('backgroundImage','url('+img+')');}.bind(this),'hide':function(){var loader=this.slideshow.retrieve('loader');if(!loader.retrieve('hidden')){loader.store('hidden',true).morph(this.classes.get('loader','hidden'));if(this.options.loader.animate)
$clear(loader.retrieve('timer'));}}.bind(this),'show':function(){var loader=this.slideshow.retrieve('loader');if(loader.retrieve('hidden')){loader.store('hidden',false).morph(this.classes.get('loader','visible'));if(this.options.loader.animate)
loader.store('timer',function(){this.fireEvent('animate');}.periodical(50,loader));}}.bind(this)});this.slideshow.retrieve('loader',loader).fireEvent('hide');},captions:function(){if(this.options.captions===true)
this.options.captions={};var el=this.slideshow.getElement(this.classes.get('captions'));var captions=(el)?el.empty():new Element('div',{'class':this.classes.get('captions').substr(1)}).inject(this.slideshow);captions.set({'events':{'update':function(fast){var captions=this.slideshow.retrieve('captions');var empty=(this.data.captions[this.slide]=='');if(fast){var p=(empty)?'hidden':'visible';captions.set('html',this.data.captions[this.slide]).get('morph').cancel().set(this.classes.get('captions',p));}
else{var fn=(empty)?$empty:function(n){this.slideshow.retrieve('captions').set('html',this.data.captions[n]).morph(this.classes.get('captions','visible'))}.pass(this.slide,this);captions.get('morph').cancel().start(this.classes.get('captions','hidden')).chain(fn);}}.bind(this)},'morph':$merge(this.options.captions,{'link':'chain'})});this.slideshow.retrieve('captions',captions).fireEvent('update');},controller:function(){if(this.options.controller===true)
this.options.controller={};var el=this.slideshow.getElement(this.classes.get('controller'));var controller=(el)?el.empty():new Element('div',{'class':this.classes.get('controller').substr(1)}).inject(this.slideshow);var ul=new Element('ul').inject(controller);$H({'first':'⇧←','prev':'←','pause':'space','next':'→','last':'⇧→'}).each(function(accesskey,action){var li=new Element('li',{'class':this.classes[action]}).inject(ul);var a=this.slideshow.retrieve(action,new Element('a',{'title':((action=='pause')?this.classes.play.capitalize()+' / ':'')+this.classes[action].capitalize()+' ['+accesskey+']'}).inject(li));a.set('events',{'click':function(action){this[action]();}.pass(action,this),'mouseenter':function(active){this.addClass(active);}.pass(this.classes.active,a),'mouseleave':function(active){this.removeClass(active);}.pass(this.classes.active,a)});},this);controller.set({'events':{'hide':function(hidden){if(!this.retrieve('hidden'))
this.store('hidden',true).morph(hidden);}.pass(this.classes.get('controller','hidden'),controller),'show':function(visible){if(this.retrieve('hidden'))
this.store('hidden',false).morph(visible);}.pass(this.classes.get('controller','visible'),controller)},'morph':$merge(this.options.controller,{'link':'cancel'})}).store('hidden',false);var keydown=function(e){if(e.key.test(/left|right|space/)){var controller=this.slideshow.retrieve('controller');if(controller.retrieve('hidden'))
controller.get('morph').set(this.classes.get('controller','visible'));switch(e.key){case'left':this.slideshow.retrieve((e.shift)?'first':'prev').fireEvent('mouseenter');break;case'right':this.slideshow.retrieve((e.shift)?'last':'next').fireEvent('mouseenter');break;default:this.slideshow.retrieve('pause').fireEvent('mouseenter');}}}.bind(this);this.events.keydown.push(keydown);var keyup=function(e){if(e.key.test(/left|right|space/)){var controller=this.slideshow.retrieve('controller');if(controller.retrieve('hidden'))
controller.store('hidden',false).fireEvent('hide');switch(e.key){case'left':this.slideshow.retrieve((e.shift)?'first':'prev').fireEvent('mouseleave');break;case'right':this.slideshow.retrieve((e.shift)?'last':'next').fireEvent('mouseleave');break;default:this.slideshow.retrieve('pause').fireEvent('mouseleave');}}}.bind(this);this.events.keyup.push(keyup);var mousemove=function(e){var images=this.slideshow.retrieve('images').getCoordinates();if(e.page.x>images.left&&e.page.x<images.right&&e.page.y>images.top&&e.page.y<images.bottom)
this.slideshow.retrieve('controller').fireEvent('show');else
this.slideshow.retrieve('controller').fireEvent('hide');}.bind(this);this.events.mousemove.push(mousemove);document.addEvents({'keydown':keydown,'keyup':keyup,'mousemove':mousemove});this.slideshow.retrieve('controller',controller).fireEvent('hide');},thumbnails:function(){if(this.options.thumbnails===true)
this.options.thumbnails={};var el=this.slideshow.getElement(this.classes.get('thumbnails'));var thumbnails=(el)?el.empty():new Element('div',{'class':this.classes.get('thumbnails').substr(1)}).inject(this.slideshow);thumbnails.setStyle('overflow','hidden');var ul=new Element('ul',{'tween':{'link':'cancel'}}).inject(thumbnails);this.data.thumbnails.each(function(thumbnail,i){var li=new Element('li').inject(ul);var a=new Element('a',{'events':{'click':function(i){this.go(i);return false;}.pass(i,this),'loaded':function(){this.data.thumbnails.pop();if(!this.data.thumbnails.length){var div=thumbnails.getCoordinates();var props=thumbnails.retrieve('props');var limit=0,pos=props[1],size=props[2];thumbnails.getElements('li').each(function(li){var li=li.getCoordinates();if(li[pos]>limit)limit=li[pos];},this);thumbnails.store('limit',div[size]+div[props[0]]-limit);}}.bind(this)},'href':this.options.hu+this.data.images[i],'morph':$merge(this.options.thumbnails,{'link':'cancel'}),'title':this.data.captions[i]}).inject(li);var img=new Asset.image(this.options.hu+thumbnail,{'onload':function(){this.fireEvent('loaded');}.bind(a)}).inject(a);},this);thumbnails.set('events',{'scroll':function(n,fast){var div=this.getCoordinates();var ul=this.getElement('ul').getPosition();var props=this.retrieve('props');var axis=props[3],delta,pos=props[0],size=props[2];var tween=this.getElement('ul').get('tween',{'property':pos});if($chk(n)){var li=this.getElements('li')[n].getCoordinates();var delta=div[pos]+(div[size]/2)-(li[size]/2)-li[pos]
var value=(ul[axis]-div[pos]+delta).limit(this.retrieve('limit'),0);if(fast)
tween.set(value);else
tween.start(value);}
else{var area=div[props[2]]/3,page=this.retrieve('page'),velocity=-0.2;if(page[axis]<(div[pos]+area))
delta=(page[axis]-div[pos]-area)*velocity;else if(page[axis]>(div[pos]+div[size]-area))
delta=(page[axis]-div[pos]-div[size]+area)*velocity;if(delta){var value=(ul[axis]-div[pos]+delta).limit(this.retrieve('limit'),0);tween.set(value);}}}.bind(thumbnails),'update':function(fast){var thumbnails=this.slideshow.retrieve('thumbnails');thumbnails.getElements('a').each(function(a,i){if(i==this.slide){if(!a.retrieve('active',false)){a.store('active',true);var active=this.classes.get('thumbnails','active');if(fast)a.get('morph').set(active);else a.morph(active);}}
else{if(a.retrieve('active',true)){a.store('active',false);var inactive=this.classes.get('thumbnails','inactive');if(fast)a.get('morph').set(inactive);else a.morph(inactive);}}},this);if(!thumbnails.retrieve('mouseover'))
thumbnails.fireEvent('scroll',[this.slide,fast]);}.bind(this)})
var div=thumbnails.getCoordinates();thumbnails.store('props',(div.height>div.width)?['top','bottom','height','y']:['left','right','width','x']);var mousemove=function(e){var div=this.getCoordinates();if(e.page.x>div.left&&e.page.x<div.right&&e.page.y>div.top&&e.page.y<div.bottom){this.store('page',e.page);if(!this.retrieve('mouseover')){this.store('mouseover',true);this.store('timer',function(){this.fireEvent('scroll');}.periodical(50,this));}}
else{if(this.retrieve('mouseover')){this.store('mouseover',false);$clear(this.retrieve('timer'));}}}.bind(thumbnails);this.events.mousemove.push(mousemove);document.addEvent('mousemove',mousemove);this.slideshow.retrieve('thumbnails',thumbnails).fireEvent('update',true);},destroy:function(p){this.events.each(function(array,e){array.each(function(fn){document.removeEvent(e,fn);});});this.pause(1);if(this.options.loader)
$clear(this.slideshow.retrieve('loader').retrieve('timer'));if(this.options.thumbnails)
$clear(this.slideshow.retrieve('thumbnails').retrieve('timer'));Element.Storage[this.slideshow.uid]={};if(p)
$try(this.slideshow[p]());},_center:function(img){if(this.options.center){var size=img.getSize();img.set('styles',{left:(size.x-this.width)/-2,top:(size.y-this.height)/-2});}},_resize:function(img,w,h){if(this.options.resize){var dh=this.height/h;var dw=this.width/w;var delta=(dw>dh)?dw:dh;img.set('styles',{height:Math.ceil(h*delta),width:Math.ceil(w*delta)});}}});

/*
---
description:     LazyLoad

authors:
  - David Walsh (http://davidwalsh.name)

license:
  - MIT-style license

requires:
  core/1.2.1:   '*'

provides:
  - LazyLoad
...
*/
var LazyLoad=new Class({Implements:[Options,Events],options:{range:200,image:"blank.gif",resetDimensions:true,elements:"img",container:window,fireScroll:true,mode:"vertical"},initialize:function(a){this.setOptions(a);this.container=document.id(this.options.container);this.elements=$$(this.options.elements);var b=(this.options.mode=="vertical"?"y":"x");this.containerDimension=this.container.getSize()[b];this.start=0;this.elements=this.elements.filter(function(d){if(d.getPosition(this.container)[b]>this.containerDimension+this.options.range){d.store("oSRC",d.get("src")).set("src",this.options.image);if(this.options.resetDimensions){d.store("oWidth",d.get("width")).store("oHeight",d.get("height")).set({width:"",height:""});}return true;}},this);var c=function(){var d=this.container.getScroll()[b];if(d>this.start){this.elements=this.elements.filter(function(e){if((this.container.getScroll()[b]+this.options.range+this.containerDimension)>=e.getPosition(this.container)[b]){if(e.retrieve("oSRC")){e.set("src",e.retrieve("oSRC"));}if(this.options.resetDimensions){e.set({width:e.retrieve("oWidth"),height:e.retrieve("oHeight")});}this.fireEvent("load",[e]);return false;}return true;},this);this.start=d;}this.fireEvent("scroll");if(!this.elements.length){this.container.removeEvent("scroll",c);this.fireEvent("complete");}}.bind(this);this.container.addEvent("scroll",c);if(this.options.fireScroll){this.container.fireEvent("scroll");}}});

//MooTools More, <http://mootools.net/more>. Copyright (c) 2006-2008 Valerio Proietti, <http://mad4milk.net>, MIT Style License.

Fx.Slide=new Class({Extends:Fx,options:{mode:"vertical"},initialize:function(B,A){this.addEvent("complete",function(){this.open=(this.wrapper["offset"+this.layout.capitalize()]!=0);
if(this.open&&Browser.Engine.webkit419){this.element.dispose().inject(this.wrapper);}},true);this.element=this.subject=$(B);this.parent(A);var C=this.element.retrieve("wrapper");
this.wrapper=C||new Element("div",{styles:$extend(this.element.getStyles("margin","position"),{overflow:"hidden"})}).wraps(this.element);this.element.store("wrapper",this.wrapper).setStyle("margin",0);
this.now=[];this.open=true;},vertical:function(){this.margin="margin-top";this.layout="height";this.offset=this.element.offsetHeight;},horizontal:function(){this.margin="margin-left";
this.layout="width";this.offset=this.element.offsetWidth;},set:function(A){this.element.setStyle(this.margin,A[0]);this.wrapper.setStyle(this.layout,A[1]);
return this;},compute:function(E,D,C){var B=[];var A=2;A.times(function(F){B[F]=Fx.compute(E[F],D[F],C);});return B;},start:function(B,E){if(!this.check(arguments.callee,B,E)){return this;
}this[E||this.options.mode]();var D=this.element.getStyle(this.margin).toInt();var C=this.wrapper.getStyle(this.layout).toInt();var A=[[D,C],[0,this.offset]];
var G=[[D,C],[-this.offset,0]];var F;switch(B){case"in":F=A;break;case"out":F=G;break;case"toggle":F=(this.wrapper["offset"+this.layout.capitalize()]==0)?A:G;
}return this.parent(F[0],F[1]);},slideIn:function(A){return this.start("in",A);},slideOut:function(A){return this.start("out",A);},hide:function(A){this[A||this.options.mode]();
this.open=false;return this.set([-this.offset,0]);},show:function(A){this[A||this.options.mode]();this.open=true;return this.set([0,this.offset]);},toggle:function(A){return this.start("toggle",A);
}});Element.Properties.slide={set:function(B){var A=this.retrieve("slide");if(A){A.cancel();}return this.eliminate("slide").store("slide:options",$extend({link:"cancel"},B));
},get:function(A){if(A||!this.retrieve("slide")){if(A||!this.retrieve("slide:options")){this.set("slide",A);}this.store("slide",new Fx.Slide(this,this.retrieve("slide:options")));
}return this.retrieve("slide");}};Element.implement({slide:function(D,E){D=D||"toggle";var B=this.get("slide"),A;switch(D){case"hide":B.hide(E);break;case"show":B.show(E);
break;case"toggle":var C=this.retrieve("slide:flag",B.open);B[(C)?"slideOut":"slideIn"](E);this.store("slide:flag",!C);A=true;break;default:B.start(D,E);
}if(!A){this.eliminate("slide:flag");}return this;}});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(E,D,C){var B=[];var A=2;A.times(function(F){B.push(Fx.compute(E[F],D[F],C));
});return B;},start:function(C,H){if(!this.check(arguments.callee,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);}});Fx.Elements=new Class({Extends:Fx.CSS,initialize:function(B,A){this.elements=this.subject=$$(B);
this.parent(A);},compute:function(G,H,I){var C={};for(var D in G){var A=G[D],E=H[D],F=C[D]={};for(var B in A){F[B]=this.parent(A[B],E[B],I);}}return C;
},set:function(B){for(var C in B){var A=B[C];for(var D in A){this.render(this.elements[C],D,A[D],this.options.unit);}}return this;},start:function(C){if(!this.check(arguments.callee,C)){return this;
}var H={},I={};for(var D in C){var F=C[D],A=H[D]={},G=I[D]={};for(var B in F){var E=this.prepare(this.elements[D],B,F[B]);A[B]=E.from;G[B]=E.to;}}return this.parent(H,I);
}});var Drag=new Class({Implements:[Events,Options],options:{snap:6,unit:"px",grid:false,style:true,limit:false,handle:false,invert:false,preventDefault:false,modifiers:{x:"left",y:"top"}},initialize:function(){var B=Array.link(arguments,{options:Object.type,element:$defined});
this.element=$(B.element);this.document=this.element.getDocument();this.setOptions(B.options||{});var A=$type(this.options.handle);this.handles=(A=="array"||A=="collection")?$$(this.options.handle):$(this.options.handle)||this.element;
this.mouse={now:{},pos:{}};this.value={start:{},now:{}};this.selection=(Browser.Engine.trident)?"selectstart":"mousedown";this.bound={start:this.start.bind(this),check:this.check.bind(this),drag:this.drag.bind(this),stop:this.stop.bind(this),cancel:this.cancel.bind(this),eventStop:$lambda(false)};
this.attach();},attach:function(){this.handles.addEvent("mousedown",this.bound.start);return this;},detach:function(){this.handles.removeEvent("mousedown",this.bound.start);
return this;},start:function(C){if(this.options.preventDefault){C.preventDefault();}this.fireEvent("beforeStart",this.element);this.mouse.start=C.page;
var A=this.options.limit;this.limit={x:[],y:[]};for(var D in this.options.modifiers){if(!this.options.modifiers[D]){continue;}if(this.options.style){this.value.now[D]=this.element.getStyle(this.options.modifiers[D]).toInt();
}else{this.value.now[D]=this.element[this.options.modifiers[D]];}if(this.options.invert){this.value.now[D]*=-1;}this.mouse.pos[D]=C.page[D]-this.value.now[D];
if(A&&A[D]){for(var B=2;B--;B){if($chk(A[D][B])){this.limit[D][B]=$lambda(A[D][B])();}}}}if($type(this.options.grid)=="number"){this.options.grid={x:this.options.grid,y:this.options.grid};
}this.document.addEvents({mousemove:this.bound.check,mouseup:this.bound.cancel});this.document.addEvent(this.selection,this.bound.eventStop);},check:function(A){if(this.options.preventDefault){A.preventDefault();
}var B=Math.round(Math.sqrt(Math.pow(A.page.x-this.mouse.start.x,2)+Math.pow(A.page.y-this.mouse.start.y,2)));if(B>this.options.snap){this.cancel();this.document.addEvents({mousemove:this.bound.drag,mouseup:this.bound.stop});
this.fireEvent("start",this.element).fireEvent("snap",this.element);}},drag:function(A){if(this.options.preventDefault){A.preventDefault();}this.mouse.now=A.page;
for(var B in this.options.modifiers){if(!this.options.modifiers[B]){continue;}this.value.now[B]=this.mouse.now[B]-this.mouse.pos[B];if(this.options.invert){this.value.now[B]*=-1;
}if(this.options.limit&&this.limit[B]){if($chk(this.limit[B][1])&&(this.value.now[B]>this.limit[B][1])){this.value.now[B]=this.limit[B][1];}else{if($chk(this.limit[B][0])&&(this.value.now[B]<this.limit[B][0])){this.value.now[B]=this.limit[B][0];
}}}if(this.options.grid[B]){this.value.now[B]-=(this.value.now[B]%this.options.grid[B]);}if(this.options.style){this.element.setStyle(this.options.modifiers[B],this.value.now[B]+this.options.unit);
}else{this.element[this.options.modifiers[B]]=this.value.now[B];}}this.fireEvent("drag",this.element);},cancel:function(A){this.document.removeEvent("mousemove",this.bound.check);
this.document.removeEvent("mouseup",this.bound.cancel);if(A){this.document.removeEvent(this.selection,this.bound.eventStop);this.fireEvent("cancel",this.element);
}},stop:function(A){this.document.removeEvent(this.selection,this.bound.eventStop);this.document.removeEvent("mousemove",this.bound.drag);this.document.removeEvent("mouseup",this.bound.stop);
if(A){this.fireEvent("complete",this.element);}}});Element.implement({makeResizable:function(A){return new Drag(this,$merge({modifiers:{x:"width",y:"height"}},A));
}});Drag.Move=new Class({Extends:Drag,options:{droppables:[],container:false},initialize:function(C,B){this.parent(C,B);this.droppables=$$(this.options.droppables);
this.container=$(this.options.container);if(this.container&&$type(this.container)!="element"){this.container=$(this.container.getDocument().body);}C=this.element;
var D=C.getStyle("position");var A=(D!="static")?D:"absolute";if(C.getStyle("left")=="auto"||C.getStyle("top")=="auto"){C.position(C.getPosition(C.offsetParent));
}C.setStyle("position",A);this.addEvent("start",function(){this.checkDroppables();},true);},start:function(B){if(this.container){var D=this.element,J=this.container,E=J.getCoordinates(D.offsetParent),F={},A={};
["top","right","bottom","left"].each(function(K){F[K]=J.getStyle("padding-"+K).toInt();A[K]=D.getStyle("margin-"+K).toInt();},this);var C=D.offsetWidth+A.left+A.right,I=D.offsetHeight+A.top+A.bottom;
var H=[E.left+F.left,E.right-F.right-C];var G=[E.top+F.top,E.bottom-F.bottom-I];this.options.limit={x:H,y:G};}this.parent(B);},checkAgainst:function(B){B=B.getCoordinates();
var A=this.mouse.now;return(A.x>B.left&&A.x<B.right&&A.y<B.bottom&&A.y>B.top);},checkDroppables:function(){var A=this.droppables.filter(this.checkAgainst,this).getLast();
if(this.overed!=A){if(this.overed){this.fireEvent("leave",[this.element,this.overed]);}if(A){this.overed=A;this.fireEvent("enter",[this.element,A]);}else{this.overed=null;
}}},drag:function(A){this.parent(A);if(this.droppables.length){this.checkDroppables();}},stop:function(A){this.checkDroppables();this.fireEvent("drop",[this.element,this.overed]);
this.overed=null;return this.parent(A);}});Element.implement({makeDraggable:function(A){return new Drag.Move(this,A);}});Hash.Cookie=new Class({Extends:Cookie,options:{autoSave:true},initialize:function(B,A){this.parent(B,A);
this.load();},save:function(){var A=JSON.encode(this.hash);if(!A||A.length>4096){return false;}if(A=="{}"){this.dispose();}else{this.write(A);}return true;
},load:function(){this.hash=new Hash(JSON.decode(this.read(),true));return this;}});Hash.Cookie.implement((function(){var A={};Hash.each(Hash.prototype,function(C,B){A[B]=function(){var D=C.apply(this.hash,arguments);
if(this.options.autoSave){this.save();}return D;};});return A;})());var Color=new Native({initialize:function(B,C){if(arguments.length>=3){C="rgb";B=Array.slice(arguments,0,3);
}else{if(typeof B=="string"){if(B.match(/rgb/)){B=B.rgbToHex().hexToRgb(true);}else{if(B.match(/hsb/)){B=B.hsbToRgb();}else{B=B.hexToRgb(true);}}}}C=C||"rgb";
switch(C){case"hsb":var A=B;B=B.hsbToRgb();B.hsb=A;break;case"hex":B=B.hexToRgb(true);break;}B.rgb=B.slice(0,3);B.hsb=B.hsb||B.rgbToHsb();B.hex=B.rgbToHex();
return $extend(B,this);}});Color.implement({mix:function(){var A=Array.slice(arguments);var C=($type(A.getLast())=="number")?A.pop():50;var B=this.slice();
A.each(function(D){D=new Color(D);for(var E=0;E<3;E++){B[E]=Math.round((B[E]/100*(100-C))+(D[E]/100*C));}});return new Color(B,"rgb");},invert:function(){return new Color(this.map(function(A){return 255-A;
}));},setHue:function(A){return new Color([A,this.hsb[1],this.hsb[2]],"hsb");},setSaturation:function(A){return new Color([this.hsb[0],A,this.hsb[2]],"hsb");
},setBrightness:function(A){return new Color([this.hsb[0],this.hsb[1],A],"hsb");}});function $RGB(C,B,A){return new Color([C,B,A],"rgb");}function $HSB(C,B,A){return new Color([C,B,A],"hsb");
}function $HEX(A){return new Color(A,"hex");}Array.implement({rgbToHsb:function(){var B=this[0],C=this[1],J=this[2];var G,F,H;var I=Math.max(B,C,J),E=Math.min(B,C,J);
var K=I-E;H=I/255;F=(I!=0)?K/I:0;if(F==0){G=0;}else{var D=(I-B)/K;var A=(I-C)/K;var L=(I-J)/K;if(B==I){G=L-A;}else{if(C==I){G=2+D-L;}else{G=4+A-D;}}G/=6;
if(G<0){G++;}}return[Math.round(G*360),Math.round(F*100),Math.round(H*100)];},hsbToRgb:function(){var C=Math.round(this[2]/100*255);if(this[1]==0){return[C,C,C];
}else{var A=this[0]%360;var E=A%60;var F=Math.round((this[2]*(100-this[1]))/10000*255);var D=Math.round((this[2]*(6000-this[1]*E))/600000*255);var B=Math.round((this[2]*(6000-this[1]*(60-E)))/600000*255);
switch(Math.floor(A/60)){case 0:return[C,B,F];case 1:return[D,C,F];case 2:return[F,C,B];case 3:return[F,D,C];case 4:return[B,F,C];case 5:return[C,F,D];
}}return false;}});String.implement({rgbToHsb:function(){var A=this.match(/\d{1,3}/g);return(A)?hsb.rgbToHsb():null;},hsbToRgb:function(){var A=this.match(/\d{1,3}/g);
return(A)?A.hsbToRgb():null;}});var Group=new Class({initialize:function(){this.instances=Array.flatten(arguments);this.events={};this.checker={};},addEvent:function(B,A){this.checker[B]=this.checker[B]||{};
this.events[B]=this.events[B]||[];if(this.events[B].contains(A)){return false;}else{this.events[B].push(A);}this.instances.each(function(C,D){C.addEvent(B,this.check.bind(this,[B,C,D]));
},this);return this;},check:function(C,A,B){this.checker[C][B]=true;var D=this.instances.every(function(F,E){return this.checker[C][E]||false;},this);if(!D){return ;
}this.checker[C]={};this.events[C].each(function(E){E.call(this,this.instances,A);},this);}});var Asset=new Hash({javascript:function(F,D){D=$extend({onload:$empty,document:document,check:$lambda(true)},D);
var B=new Element("script",{src:F,type:"text/javascript"});var E=D.onload.bind(B),A=D.check,G=D.document;delete D.onload;delete D.check;delete D.document;
B.addEvents({load:E,readystatechange:function(){if(["loaded","complete"].contains(this.readyState)){E();}}}).setProperties(D);if(Browser.Engine.webkit419){var C=(function(){if(!$try(A)){return ;
}$clear(C);E();}).periodical(50);}return B.inject(G.head);},css:function(B,A){return new Element("link",$merge({rel:"stylesheet",media:"screen",type:"text/css",href:B},A)).inject(document.head);
},image:function(C,B){B=$merge({onload:$empty,onabort:$empty,onerror:$empty},B);var D=new Image();var A=$(D)||new Element("img");["load","abort","error"].each(function(E){var F="on"+E;
var G=B[F];delete B[F];D[F]=function(){if(!D){return ;}if(!A.parentNode){A.width=D.width;A.height=D.height;}D=D.onload=D.onabort=D.onerror=null;G.delay(1,A,A);
A.fireEvent(E,A,1);};});D.src=A.src=C;if(D&&D.complete){D.onload.delay(1);}return A.setProperties(B);},images:function(D,C){C=$merge({onComplete:$empty,onProgress:$empty},C);
if(!D.push){D=[D];}var A=[];var B=0;D.each(function(F){var E=new Asset.image(F,{onload:function(){C.onProgress.call(this,B,D.indexOf(F));B++;if(B==D.length){C.onComplete();
}}});A.push(E);});return new Elements(A);}});var Sortables=new Class({Implements:[Events,Options],options:{snap:4,opacity:1,clone:false,revert:false,handle:false,constrain:false},initialize:function(A,B){this.setOptions(B);
this.elements=[];this.lists=[];this.idle=true;this.addLists($$($(A)||A));if(!this.options.clone){this.options.revert=false;}if(this.options.revert){this.effect=new Fx.Morph(null,$merge({duration:250,link:"cancel"},this.options.revert));
}},attach:function(){this.addLists(this.lists);return this;},detach:function(){this.lists=this.removeLists(this.lists);return this;},addItems:function(){Array.flatten(arguments).each(function(A){this.elements.push(A);
var B=A.retrieve("sortables:start",this.start.bindWithEvent(this,A));(this.options.handle?A.getElement(this.options.handle)||A:A).addEvent("mousedown",B);
},this);return this;},addLists:function(){Array.flatten(arguments).each(function(A){this.lists.push(A);this.addItems(A.getChildren());},this);return this;
},removeItems:function(){var A=[];Array.flatten(arguments).each(function(B){A.push(B);this.elements.erase(B);var C=B.retrieve("sortables:start");(this.options.handle?B.getElement(this.options.handle)||B:B).removeEvent("mousedown",C);
},this);return $$(A);},removeLists:function(){var A=[];Array.flatten(arguments).each(function(B){A.push(B);this.lists.erase(B);this.removeItems(B.getChildren());
},this);return $$(A);},getClone:function(B,A){if(!this.options.clone){return new Element("div").inject(document.body);}if($type(this.options.clone)=="function"){return this.options.clone.call(this,B,A,this.list);
}return A.clone(true).setStyles({margin:"0px",position:"absolute",visibility:"hidden",width:A.getStyle("width")}).inject(this.list).position(A.getPosition(A.getOffsetParent()));
},getDroppables:function(){var A=this.list.getChildren();if(!this.options.constrain){A=this.lists.concat(A).erase(this.list);}return A.erase(this.clone).erase(this.element);
},insert:function(C,B){var A="inside";if(this.lists.contains(B)){this.list=B;this.drag.droppables=this.getDroppables();}else{A=this.element.getAllPrevious().contains(B)?"before":"after";
}this.element.inject(B,A);this.fireEvent("sort",[this.element,this.clone]);},start:function(B,A){if(!this.idle){return ;}this.idle=false;this.element=A;
this.opacity=A.get("opacity");this.list=A.getParent();this.clone=this.getClone(B,A);this.drag=new Drag.Move(this.clone,{snap:this.options.snap,container:this.options.constrain&&this.element.getParent(),droppables:this.getDroppables(),onSnap:function(){B.stop();
this.clone.setStyle("visibility","visible");this.element.set("opacity",this.options.opacity||0);this.fireEvent("start",[this.element,this.clone]);}.bind(this),onEnter:this.insert.bind(this),onCancel:this.reset.bind(this),onComplete:this.end.bind(this)});
this.clone.inject(this.element,"before");this.drag.start(B);},end:function(){this.drag.detach();this.element.set("opacity",this.opacity);if(this.effect){var A=this.element.getStyles("width","height");
var B=this.clone.computePosition(this.element.getPosition(this.clone.offsetParent));this.effect.element=this.clone;this.effect.start({top:B.top,left:B.left,width:A.width,height:A.height,opacity:0.25}).chain(this.reset.bind(this));
}else{this.reset();}},reset:function(){this.idle=true;this.clone.destroy();this.fireEvent("complete",this.element);},serialize:function(){var C=Array.link(arguments,{modifier:Function.type,index:$defined});
var B=this.lists.map(function(D){return D.getChildren().map(C.modifier||function(E){return E.get("id");},this);},this);var A=C.index;if(this.lists.length==1){A=0;
}return $chk(A)&&A>=0&&A<this.lists.length?B[A]:B;}});var Tips=new Class({Implements:[Events,Options],options:{onShow:function(A){A.setStyle("visibility","visible");
},onHide:function(A){A.setStyle("visibility","hidden");},showDelay:100,hideDelay:100,className:null,offsets:{x:16,y:16},fixed:false},initialize:function(){var C=Array.link(arguments,{options:Object.type,elements:$defined});
this.setOptions(C.options||null);this.tip=new Element("div").inject(document.body);if(this.options.className){this.tip.addClass(this.options.className);
}var B=new Element("div",{"class":"tip-top"}).inject(this.tip);this.container=new Element("div",{"class":"tip"}).inject(this.tip);var A=new Element("div",{"class":"tip-bottom"}).inject(this.tip);
this.tip.setStyles({position:"absolute",top:0,left:0,visibility:"hidden"});if(C.elements){this.attach(C.elements);}},attach:function(A){$$(A).each(function(D){var G=D.retrieve("tip:title",D.get("title"));
var F=D.retrieve("tip:text",D.get("rel")||D.get("href"));var E=D.retrieve("tip:enter",this.elementEnter.bindWithEvent(this,D));var C=D.retrieve("tip:leave",this.elementLeave.bindWithEvent(this,D));
D.addEvents({mouseenter:E,mouseleave:C});if(!this.options.fixed){var B=D.retrieve("tip:move",this.elementMove.bindWithEvent(this,D));D.addEvent("mousemove",B);
}D.store("tip:native",D.get("title"));D.erase("title");},this);return this;},detach:function(A){$$(A).each(function(C){C.removeEvent("mouseenter",C.retrieve("tip:enter")||$empty);
C.removeEvent("mouseleave",C.retrieve("tip:leave")||$empty);C.removeEvent("mousemove",C.retrieve("tip:move")||$empty);C.eliminate("tip:enter").eliminate("tip:leave").eliminate("tip:move");
var B=C.retrieve("tip:native");if(B){C.set("title",B);}});return this;},elementEnter:function(B,A){$A(this.container.childNodes).each(Element.dispose);
var D=A.retrieve("tip:title");if(D){this.titleElement=new Element("div",{"class":"tip-title"}).inject(this.container);this.fill(this.titleElement,D);}var C=A.retrieve("tip:text");
if(C){this.textElement=new Element("div",{"class":"tip-text"}).inject(this.container);this.fill(this.textElement,C);}this.timer=$clear(this.timer);this.timer=this.show.delay(this.options.showDelay,this);
this.position((!this.options.fixed)?B:{page:A.getPosition()});},elementLeave:function(A){$clear(this.timer);this.timer=this.hide.delay(this.options.hideDelay,this);
},elementMove:function(A){this.position(A);},position:function(D){var B=window.getSize(),A=window.getScroll();var E={x:this.tip.offsetWidth,y:this.tip.offsetHeight};
var C={x:"left",y:"top"};for(var F in C){var G=D.page[F]+this.options.offsets[F];if((G+E[F]-A[F])>B[F]){G=D.page[F]-this.options.offsets[F]-E[F];}this.tip.setStyle(C[F],G);
}},fill:function(A,B){(typeof B=="string")?A.set("html",B):A.adopt(B);},show:function(){this.fireEvent("show",this.tip);},hide:function(){this.fireEvent("hide",this.tip);
}});var SmoothScroll=new Class({Extends:Fx.Scroll,initialize:function(B,C){C=C||document;var E=C.getDocument(),D=C.getWindow();this.parent(E,B);this.links=(this.options.links)?$$(this.options.links):$$(E.links);
var A=D.location.href.match(/^[^#]*/)[0]+"#";this.links.each(function(G){if(G.href.indexOf(A)!=0){return ;}var F=G.href.substr(A.length);if(F&&$(F)){this.useLink(G,F);
}},this);if(!Browser.Engine.webkit419){this.addEvent("complete",function(){D.location.hash=this.anchor;},true);}},useLink:function(B,A){B.addEvent("click",function(C){this.anchor=A;
this.toElement(A);C.stop();}.bind(this));}});var Slider=new Class({Implements:[Events,Options],options:{onTick:function(A){if(this.options.snap){A=this.toPosition(this.step);
}this.knob.setStyle(this.property,A);},snap:false,offset:0,range:false,wheel:false,steps:100,mode:"horizontal"},initialize:function(E,A,D){this.setOptions(D);
this.element=$(E);this.knob=$(A);this.previousChange=this.previousEnd=this.step=-1;this.element.addEvent("mousedown",this.clickedElement.bind(this));if(this.options.wheel){this.element.addEvent("mousewheel",this.scrolledElement.bindWithEvent(this));
}var F,B={},C={x:false,y:false};switch(this.options.mode){case"vertical":this.axis="y";this.property="top";F="offsetHeight";break;case"horizontal":this.axis="x";
this.property="left";F="offsetWidth";}this.half=this.knob[F]/2;this.full=this.element[F]-this.knob[F]+(this.options.offset*2);this.min=$chk(this.options.range[0])?this.options.range[0]:0;
this.max=$chk(this.options.range[1])?this.options.range[1]:this.options.steps;this.range=this.max-this.min;this.steps=this.options.steps||this.full;this.stepSize=Math.abs(this.range)/this.steps;
this.stepWidth=this.stepSize*this.full/Math.abs(this.range);this.knob.setStyle("position","relative").setStyle(this.property,-this.options.offset);C[this.axis]=this.property;
B[this.axis]=[-this.options.offset,this.full-this.options.offset];this.drag=new Drag(this.knob,{snap:0,limit:B,modifiers:C,onDrag:this.draggedKnob.bind(this),onStart:this.draggedKnob.bind(this),onComplete:function(){this.draggedKnob();
this.end();}.bind(this)});if(this.options.snap){this.drag.options.grid=Math.ceil(this.stepWidth);this.drag.options.limit[this.axis][1]=this.full;}},set:function(A){if(!((this.range>0)^(A<this.min))){A=this.min;
}if(!((this.range>0)^(A>this.max))){A=this.max;}this.step=Math.round(A);this.checkStep();this.end();this.fireEvent("tick",this.toPosition(this.step));return this;
},clickedElement:function(C){var B=this.range<0?-1:1;var A=C.page[this.axis]-this.element.getPosition()[this.axis]-this.half;A=A.limit(-this.options.offset,this.full-this.options.offset);
this.step=Math.round(this.min+B*this.toStep(A));this.checkStep();this.end();this.fireEvent("tick",A);},scrolledElement:function(A){var B=(this.options.mode=="horizontal")?(A.wheel<0):(A.wheel>0);
this.set(B?this.step-this.stepSize:this.step+this.stepSize);A.stop();},draggedKnob:function(){var B=this.range<0?-1:1;var A=this.drag.value.now[this.axis];
A=A.limit(-this.options.offset,this.full-this.options.offset);this.step=Math.round(this.min+B*this.toStep(A));this.checkStep();},checkStep:function(){if(this.previousChange!=this.step){this.previousChange=this.step;
this.fireEvent("change",this.step);}},end:function(){if(this.previousEnd!==this.step){this.previousEnd=this.step;this.fireEvent("complete",this.step+"");
}},toStep:function(A){var B=(A+this.options.offset)*this.stepSize/this.full*this.steps;return this.options.steps?Math.round(B-=B%this.stepSize):B;},toPosition:function(A){return(this.full*Math.abs(this.min-A))/(this.steps*this.stepSize)-this.options.offset;
}});var Scroller=new Class({Implements:[Events,Options],options:{area:20,velocity:1,onChange:function(A,B){this.element.scrollTo(A,B);}},initialize:function(B,A){this.setOptions(A);
this.element=$(B);this.listener=($type(this.element)!="element")?$(this.element.getDocument().body):this.element;this.timer=null;this.coord=this.getCoords.bind(this);
},start:function(){this.listener.addEvent("mousemove",this.coord);},stop:function(){this.listener.removeEvent("mousemove",this.coord);this.timer=$clear(this.timer);
},getCoords:function(A){this.page=(this.listener.get("tag")=="body")?A.client:A.page;if(!this.timer){this.timer=this.scroll.periodical(50,this);}},scroll:function(){var B=this.element.getSize(),A=this.element.getScroll(),E=this.element.getPosition(),D={x:0,y:0};
for(var C in this.page){if(this.page[C]<(this.options.area+E[C])&&A[C]!=0){D[C]=(this.page[C]-this.options.area-E[C])*this.options.velocity;}else{if(this.page[C]+this.options.area>(B[C]+E[C])&&B[C]+B[C]!=A[C]){D[C]=(this.page[C]-B[C]+this.options.area-E[C])*this.options.velocity;
}}}if(D.y||D.x){this.fireEvent("change",[A.x+D.x,A.y+D.y]);}}});var Accordion=new Class({Extends:Fx.Elements,options:{display:0,show:false,height:true,width:false,opacity:true,fixedHeight:false,fixedWidth:false,wait:false,alwaysHide:false},initialize:function(){var C=Array.link(arguments,{container:Element.type,options:Object.type,togglers:$defined,elements:$defined});
this.parent(C.elements,C.options);this.togglers=$$(C.togglers);this.container=$(C.container);this.previous=-1;if(this.options.alwaysHide){this.options.wait=true;
}if($chk(this.options.show)){this.options.display=false;this.previous=this.options.show;}if(this.options.start){this.options.display=false;this.options.show=false;
}this.effects={};if(this.options.opacity){this.effects.opacity="fullOpacity";}if(this.options.width){this.effects.width=this.options.fixedWidth?"fullWidth":"offsetWidth";
}if(this.options.height){this.effects.height=this.options.fixedHeight?"fullHeight":"scrollHeight";}for(var B=0,A=this.togglers.length;B<A;B++){this.addSection(this.togglers[B],this.elements[B]);
}this.elements.each(function(E,D){if(this.options.show===D){this.fireEvent("active",[this.togglers[D],E]);}else{for(var F in this.effects){E.setStyle(F,0);
}}},this);if($chk(this.options.display)){this.display(this.options.display);}},addSection:function(E,C,G){E=$(E);C=$(C);var F=this.togglers.contains(E);
var B=this.togglers.length;this.togglers.include(E);this.elements.include(C);if(B&&(!F||G)){G=$pick(G,B-1);E.inject(this.togglers[G],"before");C.inject(E,"after");
}else{if(this.container&&!F){E.inject(this.container);C.inject(this.container);}}var A=this.togglers.indexOf(E);E.addEvent("click",this.display.bind(this,A));
if(this.options.height){C.setStyles({"padding-top":0,"border-top":"none","padding-bottom":0,"border-bottom":"none"});}if(this.options.width){C.setStyles({"padding-left":0,"border-left":"none","padding-right":0,"border-right":"none"});
}C.fullOpacity=1;if(this.options.fixedWidth){C.fullWidth=this.options.fixedWidth;}if(this.options.fixedHeight){C.fullHeight=this.options.fixedHeight;}C.setStyle("overflow","hidden");
if(!F){for(var D in this.effects){C.setStyle(D,0);}}return this;},display:function(A){A=($type(A)=="element")?this.elements.indexOf(A):A;if((this.timer&&this.options.wait)||(A===this.previous&&!this.options.alwaysHide)){return this;
}this.previous=A;var B={};this.elements.each(function(E,D){B[D]={};var C=(D!=A)||(this.options.alwaysHide&&(E.offsetHeight>0));this.fireEvent(C?"background":"active",[this.togglers[D],E]);
for(var F in this.effects){B[D][F]=C?0:E[this.effects[F]];}},this);return this.start(B);}});
