
var AjaxForm=new Class({Implements:[Options,Events],options:{submit:'button',indicator:'.loading',message:'message',errorClass:'error',onComplete:function(bSuccess,oResponse){this.setFormMessaging(oResponse);}},initialize:function(form,options){this.setOptions(options);this.oForm=$(form);this.oFormFx=new Fx.Tween(this.oForm,{'property':'opacity','transition':Fx.Transitions.Quad.easeInOut});this.oIndicator=this.oForm.getElement(this.options.indicator);this.oIndicator.setStyle('visibility','hidden');if($type(this.options.message)!==false&&$type(this.options.message)!==undefined&&$(this.options.message)){this.oMessage=$(this.options.message);this.oMessageFx=new Fx.Tween(this.oMessage,{'property':'opacity','transition':Fx.Transitions.Quad.easeInOut});this.oMessage.setStyle('display','none');this.oMessageFx.set(0);}else{this.oMessage=null;}
var self=this;this.oForm.set('send',{onComplete:function(){self.oIndicator.setStyle('visibility','hidden');if(this.isSuccess()){try{var oResponse=JSON.decode(this.response.text);}catch(e){var oResponse={'status':'error','message':'There was a server error with your request, please try again.'};}}else{var oResponse={'status':'error','message':'There was a server error with your request, please try again.'};}
self.fireEvent('complete',[this.isSuccess(),oResponse]);},url:this.options.url});this.oForm.getElement(this.options.submit).addEvent('click',function(e){e.preventDefault();self.oIndicator.setStyle('visibility','visible');self.oForm.send();});},setFormMessaging:function(oResponse){var self=this;if(oResponse.status=='success'){this.setFormMessage(oResponse.message);}else{var aFields=this.oForm.getElements('input, select, textarea');aFields.each(function(item){var sName=item.name;if(oResponse.errors&&oResponse.errors[sName]){item.addClass(self.options.errorClass);item.set('value',oResponse.errors[sName]);}else{item.removeClass(self.options.errorClass);}});}},setFormMessage:function(sMessage){var self=this;this.oMessage.set('text',sMessage);this.oFormFx.start(0).chain(function(){self.oForm.setStyle('display','none');self.oMessage.setStyle('display','block');self.oMessageFx.start(1);});}});var CaptionHover=new Class({Implements:Options,options:{caption:'.caption',delta:15},initialize:function(item,options){if(!item)return;this.item=$(item);this.setOptions(options);this.caption=this.item.getElement(this.options.caption);this.startHeight=this.currentHeight();this.startTop=this.currentTop();this.fx=new Fx.Morph(this.caption,{duration:'short',link:'cancel'});this.item.addEvents({'mouseenter':this.mouseenter.bind(this),'mouseleave':this.mouseleave.bind(this)});},currentTop:function(){return this.caption.getStyle('top').toInt();},currentHeight:function(){return this.caption.getStyle('height').toInt();},mouseenter:function(){this.fx.start({'top':[this.currentTop(),this.startTop-this.options.delta],'height':[this.currentHeight(),this.startHeight+this.options.delta]});},mouseleave:function(){this.fx.start({'top':[this.currentTop(),this.startTop],'height':[this.currentHeight(),this.startHeight]});}});var Lightbox=new Class({Implements:Options,options:{lightbox:'lightbox',overlay:'overlay',close:'a.closeIcon, a.closeWindow, a.close'},initialize:function(content,options)
{this.content=$(content);if(!this.content)return;this.setOptions(options);this.lightbox=$(this.options.lightbox);this.overlay=$(this.options.overlay);if(Browser.Engine.presto){this.content.setStyles({'display':'block','visibility':'hidden'});}
this.width=this.content.getStyle('width').toInt();this.height=this.content.getStyle('height').toInt();if(Browser.Engine.presto){this.content.setStyles({'display':'none','visibility':'visible'});}
this.lightbox.empty();this.lightbox.appendChild(this.content);this.content.setStyle('display','block');if(!this.width||!this.height){var size=this.content.getSize();this.width=size.x;this.height=size.y;}
if(this.options.close){this.content.getElements(this.options.close).each(function(x){x.addEvent('click',function(event){event.stop();this.hide();}.bind(this))}.bind(this));}},visible:function()
{return(this.lightbox.getStyle('display')!='none');},show:function(target)
{if(window.lightbox.load)
if(window.lightbox.load(target)===false)
return;if(this.overlay.getStyle('position')=='absolute')
{this.overlay.setStyles({width:(document.body.scrollHeight>document.body.offsetHeight?document.body.scrollWidth:document.body.offsetWidth)+'px',height:(document.body.scrollHeight>document.body.offsetHeight?document.body.scrollHeight:document.body.offsetHeight)+'px'});}
var x=Math.round((((document.documentElement.clientWidth||document.body.clientWidth))-this.width)/2);var y=Math.round((((document.documentElement.clientHeight||document.body.clientHeight))-this.height)/2);if(this.lightbox.getStyle('position')=='absolute')
{x+=(window.pageXOffset||(document.documentElement.scrollLeft||document.body.scrollLeft));y+=(window.pageYOffset||(document.documentElement.scrollTop||document.body.scrollTop));}
var scroll=window.getScroll();var pos=$('content').getPosition();if(scroll.y>pos.y){var items=$('content').getElements('.item');if(items&&items.length>3){for(var k=1;k<=Math.ceil(items.length/3);k++){pos=items[k*3].getPosition();if(pos.y>=scroll.y){break;}}}else{pos.y=scroll.y;}}
this.lightbox.setStyles({top:pos.y+'px'});this.lightbox.fade('hide');this.overlay.fade('hide');this.lightbox.setStyle('display','block');this.overlay.setStyle('display','block');this.lightbox.fade('in');var overlayFx=new Fx.Morph(this.overlay,{duration:'medium'});overlayFx.start({'opacity':[0.0,0.8]}).chain(function(){this.overlay.addEvent('click',this.hide.bind(this));if(window.lightbox.onopen)
window.lightbox.onopen();}.bind(this));},hide:function()
{var lightboxFx=new Fx.Morph(this.lightbox,{duration:'short'});lightboxFx.start({'opacity':[1.0,0.0]}).chain(function(){this.lightbox.setStyle('display','none');}.bind(this));var overlayFx=new Fx.Morph(this.overlay,{duration:'short'});overlayFx.start({'opacity':[0.5,0.0]}).chain(function(){this.overlay.removeEvent('click',this.hide.bind(this));this.overlay.setStyle('display','none');if(window.lightbox.onclose)
window.lightbox.onclose();}.bind(this));},top:function(y)
{var cur=this.lightbox.getStyle('top').toInt();if(!y)return cur;this.lightbox.setStyle('top',(cur+y)+'px');return(cur+y);}});var FancySelect=new Class({Implements:[Events,Options],options:{selectReplace:"ul",optionReplace:"li",replacedClass:"replaced",selectedIndicator:".selected",selectedClass:"current",fxOptions:{},onReplace:Class.empty,onOpen:Class.empty,onClose:Class.empty,onChange:Class.empty,onSelect:Class.empty},initialize:function(form_el,select_query,options){this.oForm=$(form_el);if($type(select_query)===false||$type(select_query)===undefined){if(this.oForm.getElement('select')){this.oSelect=this.oForm.getElement('select');}}else{this.oSelect=this.oForm.getElement(select_query);}
this.setOptions(options);if(this.oSelect){var self=this;var oSel=this.oSelect.getSelected();var aOpts=this.oSelect.getChildren();if(!oSel){oSel=aOpts[0];}
var oReplace=new Element(this.options.selectReplace);var aLinks=[];aOpts.each(function(item){var oEl=new Element(self.options.optionReplace);var oLink=new Element("a",{"href":self.oForm.action+"?"+self.oSelect.name+"="+item.value,"text":item.get("text"),"events":{"click":function(e){self.select(e);}}});oLink.store("value",item.value);oEl.grab(oLink);if(item.value==oSel[0].value){oNewSel=oLink;}
oReplace.grab(oEl);aLinks.push(oLink);});oReplace.addEvents({"mouseenter":function(){self.isOver=true;},"mouseleave":function(){self.isOver=false;}});this.oReplace=oReplace.replaces(this.oSelect);var oSubmit=this.oForm.getElement("input[type=submit]");if(oSubmit){oSubmit.dispose();}
this.oFx=new Fx.Slide(this.oReplace,this.options.fxOptions);this.oFx.addEvent('start',function(){if(this.open){self.fireEvent('close');}else{self.fireEvent('open');}});this.oFx.addEvent('complete',function(){self.ready=true;if(this.open){self.oSelected.focus();}});this.oFx.hide();this.oSelected=this.oForm.getElement(this.options.selectedIndicator);this.oSelected.addEvents({'click':function(e){e.preventDefault();this.focus();self.toggle(e);},'blur':function(e){if(!self.isOver&&self.oFx.open){self.close();}}});this.fireEvent("replace");this.setSelected(oNewSel);this.fireEvent("select");}else{return false;}},toggle:function(e){this.oFx.toggle();},setSelected:function(el){var selVal=el.retrieve("value");var self=this;this.oReplace.getChildren().each(function(item){var oOpt=item.getElement("a");var val=oOpt.retrieve("value");if(val==selVal){item.addClass(self.options.selectedClass);self.oSelected.set("text",oOpt.get("text"));}else{item.removeClass(self.options.selectedClass);}});},select:function(e){this.setSelected(e.target);this.fireEvent('select');this.close();},open:function(e){this.oFx.slideIn();this.fireEvent('open');},close:function(e){this.oFx.slideOut();this.oSelected.blur();this.fireEvent('close');}});var FormDefault=new Class({initialize:function(element,defaultValue){element=$(element);element.addEvents({'focus':function(){if(this.value==defaultValue){this.value='';}
this.select();},'blur':function(){if(this.value==''){this.value=defaultValue;}}});element.value=defaultValue;}});function spamsux(name,domain){document.location="mailto:"+name+"@"+domain;}
window.addEvent("domready",function(){var repositionFooter=function(){var size=$('footer').getSize();$('container').setStyle('margin-bottom','-'+size.y+'px');$('clearfooter').setStyle('height',size.y+'px');}
var toggleFooter=function(){var fx=new Fx.Morph('footer',{duration:'short',transition:Fx.Transitions.Quad.easeInOut});if(Browser.Engine.trident&&Browser.Engine.version<=4){$('footer').toggleClass('collapsed');$('footer').setStyle('visibility','hidden');repositionFooter();$('footer').setStyle('visibility','visible');return;}
fx.start({'opacity':[1.0,0.0]}).chain(function(){$('footer').toggleClass('collapsed');repositionFooter();var scroll=new Fx.Scroll(window);scroll.toBottom();this.start({'opacity':[0.0,1.0]});});};$('footer').getElement('a.collapse').addEvent('click',function(event){event.stop();toggleFooter();});$('footer').getElement('a.expand').addEvent('click',function(event){event.stop();toggleFooter();});window.lightbox=new Lightbox('popover');$$('#content .item').each(function(item){if(item.id||item.getElement('a.thumbnail')){new CaptionHover(item);}
if(item.id){item.getElement('.thumbnail').addEvent('click',function(event,item){if(event)event.stop();window.lightbox.show(item);}.bindWithEvent(this,item));item.getElement('h3').addEvent('click',function(item){window.lightbox.show(item);}.bind(this,item));}});var oShoutSlide=new Fx.Slide($('shoutForm'),{duration:'short',transition:Fx.Transitions.Quad.easeInOut});oShoutSlide.hide();$('shoutForm').setStyle('visibility','visible');$$('#shout .says, #shout a.bubble').each(function(link){link.addEvent('click',function(event){if(event)event.stop();oShoutSlide.toggle();});});$$('#footer form, #shout form').each(function(form){var inputs=form.getElements('input[type!=submit], textarea');inputs.each(function(input){input.addEvents({'focus':function(){if(this.value==this.defaultValue){this.value='';}
$(this).removeClass('error');},'blur':function(){if(!this.value.trim()){this.value=this.defaultValue;}}});});if(Browser.Engine.trident&&Browser.Engine.version<=4){document.addEvent('click',function(event){inputs.each(function(input){if(event.target==input){if(input.value==input.defaultValue){input.value='';}
$(input).removeClass('error');}
else if(!input.value.trim()){input.value=input.defaultValue;}});});}
form.addEvent('submit',function(event,x){x.each(function(input){if(!input.value.trim()||input.value==input.defaultValue){event.stop();}});}.bindWithEvent(form,new Array(inputs)));});var oAjaxForm=new AjaxForm('form-info',{message:'form-info-message',submit:'input.submit',url:'/forms/submit/',onComplete:function(bSuccess,oResponse){if(oResponse.status=='success'){this.oForm.reset();}else{if(oResponse.message){this.setFormMessage(oResponse.message);}else{this.setFormMessaging(oResponse);}}}});var oShoutForm=new AjaxForm('form-shout',{message:'shout-message',submit:'input.submit',url:'/forms/submit/',onComplete:function(bSuccess,oResponse){if(oResponse.status=='success'){oShoutSlide.slideOut();this.oForm.reset();$("shout-name").set("html",'<a href="javascript:void(0)">'+oResponse.fields.name+' SAYS</a>');$("shout-text").set("text",oResponse.fields.shout);$("shout-name").removeClass('sIFR-replaced');$("shout-text").removeClass('sIFR-replaced');if(window.shoutFonts)
window.shoutFonts();}else{if(oResponse.message){this.setFormMessage(oResponse.message);}else{this.setFormMessaging(oResponse);}}}});});