var SKYLARK={};SKYLARK.setBoundInterval=function(func,dur,bind){return setInterval(function(){func.call(bind)},dur);};SKYLARK.setBoundTimeout=function(func,dur,bind){return setTimeout(function(){func.call(bind)},dur);};SKYLARK.testFor={placeholder:function(){var i=document.createElement('input');return'placeholder'in i;},_capitalizeProperty:function(prop){if(prop.indexOf('-')!=-1){var arr=prop.split('-');arr[0]=arr[0].charAt(0).toUpperCase()+arr[0].slice(1);arr[1]=arr[1].charAt(0).toUpperCase()+arr[1].slice(1);var ret=arr[0]+arr[1];}else{var ret=prop.charAt(0).toUpperCase()+prop.slice(1);}
return ret;},_capitalizePropertyIE9:function(prop){if(prop.indexOf('-')!=-1){var arr=prop.split('-');arr[1]=arr[1].charAt(0).toUpperCase()+arr[1].slice(1);var ret=arr[0]+arr[1];}else{var ret=prop;}
return ret;},property:function(prop){var prop1=SKYLARK.testFor._capitalizeProperty(prop);var prop2=SKYLARK.testFor._capitalizePropertyIE9(prop);var tests=[prop1,'Moz'+prop1,'Webkit'+prop1,'O'+prop1,prop2];var res=false;$.each(tests,function(i,v){if(document.body.style[v]!==undefined)res=true;});return res;},xhrProgress:function(){var xhr=new XMLHttpRequest();return!!(xhr&&('onprogress'in xhr));},uploadProgress:function(){var xhr=new XMLHttpRequest();return!!(xhr&&('upload'in xhr)&&('onprogress'in xhr.upload));}};SKYLARK.Load={xml:function(url,callback){$.get(url,'',function(data){var p=new SKYLARK.XMLParser();var obj=p.parseXML(data);callback(obj);});},image:function(url,callback){var img=new Image();img.onload=callback;img.src=url;},images:function(urls){var counter=0;var max=urls.length;$.each(urls,function(i,url){var img=new Image();img.onload=function(){counter++;$('body').trigger('Load.imageLoaded',[this,counter-1]);if(counter==max)$('body').trigger('Load.allImagesLoaded');}
img.src=url;});}};SKYLARK.XMLParser=function(){this.xmlDocument='';this.xmlObject={};this.xmlEscape=arguments.length==1?arguments[0]:false;this.parseXML=function(xml){if(!xml.documentElement){return false;}
var children=xml.documentElement.childNodes;for(var i=0;i<children.length;i++){if(children[i].nodeType==1)this.parseNode(children[i],this.xmlObject);}
return this.xmlObject;};this.parseNode=function(node,parent){var nodeObj={};var attrs=node.attributes;for(var i=0;i<attrs.length;i++){if(this.xmlEscape){nodeObj['@'+attrs[i].name]=attrs[i].value;}else{nodeObj[attrs[i].name]=attrs[i].value;}}
for(var j=0;j<node.childNodes.length;j++){var v=node.childNodes[j];if(v.nodeType==3){nodeObj.$=$.trim(v.nodeValue);}else if(v.nodeType==4){nodeObj.$=$.trim(v.nodeValue);}else{this.parseNode(v,nodeObj);}}
if(parent[node.nodeName]){if(parent[node.nodeName]instanceof Array){parent[node.nodeName].push(nodeObj);}else{var p=parent[node.nodeName];parent[node.nodeName]=[p,nodeObj];}}else{parent[node.nodeName]=nodeObj;}};};(function($){URL={};URL.hash=window.location.hash;URL.segments=URL.hash.replace('#','')==''?[]:URL.hash.replace('#','').split('/');URL.check=function(){if(window.location.hash!=URL.hash){URL.hash=window.location.hash;$(window).trigger('urlChanged');}};URL.active=function(){window.setInterval(URL.check,500);};})(jQuery);(function($){function SKYLARK_BANNER(con,opts){opts=opts||{};this.options={duration:500,loop:true,hold:5000,slideshow:true,controls:'.banner_controls',caption:'.banner_caption',preset:'default'}
for(prop in this.options){if(opts[prop]!=undefined)this.options[prop]=opts[prop];}
this.container=$(con);this.slides=[];this.current=0;this.int=0;this.caption=this.options.caption===false?$('#nonexistantelement'):$(this.options.caption);var imgs=[];var self=this;this.container.children('.banner_slide').each(function(){var slide={};slide.src=$(this).attr('img');imgs.push($(this).attr('img'));slide.caption=$(this).html();self.slides.push(slide);});this.firstImageAnim=function(img){img=$(img);img.hide();img.css({'position':'absolute','top':0,'left':0});this.container.prepend(img);img.fadeIn(this.options.duration);}
this.nextImageAnim=function(newImg,oldImg){newImg=$(newImg);newImg.hide();newImg.css({'position':'absolute','top':0,'left':0});this.container.prepend(newImg);newImg.fadeIn(this.options.duration);$(oldImg).fadeOut(this.options.duration,function(){$(this).remove();});}
this.prevImageAnim=function(newImg,oldImg){newImg=$(newImg);newImg.hide();newImg.css({'position':'absolute','top':0,'left':0});this.container.prepend(newImg);newImg.fadeIn(this.options.duration);$(oldImg).fadeOut(this.options.duration,function(){$(this).remove();});}
this.hideCaptionAnim=function(el,func,bind){$(el).fadeOut(this.options.duration,function(){func.call(bind)});}
this.showCaptionAnim=function(el){$(el).fadeIn(this.options.duration);}
this.setCaption=function(){this.caption.html(this.slides[this.current].caption);this.showCaptionAnim(this.caption);}
this.goto=function(i){if(i>=this.slides.length||i<0)return;var oldImg=this.slides[this.current].tag;var newImg=this.slides[i].tag;if(i>this.current){this.nextImageAnim(newImg,oldImg);}else{this.prevImageAnim(newImg,oldImg);}
this.container.trigger('Banner.beginTransition',[i]);this.current=i;}
this.gotoNext=function(){var i=this.current+1;if(i>(this.slides.length-1)){if(this.options.loop){i=0;}else{return false;}}
this.goto(i);}
this.gotoPrev=function(){var i=this.current-1;if(i<0){if(this.options.loop){i=this.slides.length-1;}else{return false;}}
this.goto(i);}
this.startSlideshow=function(){this.int=SKYLARK.setBoundInterval(this.gotoNext,this.options.hold,this);}
this.stopSlideshow=function(){clearInterval(this.int);}
this.getOption=function(name){return this.options[name];}
$('body').bind('Load.imageLoaded',{self:this},function(e,img,i){$.each(self.slides,function(i,slide){if(img.src.indexOf(slide.src)!=-1)slide.tag=img;});});$('body').bind('Load.allImagesLoaded',{self:this},function(){self.container.trigger('Banner.begin');self.container.trigger('Banner.beginTransition',0);self.firstImageAnim(self.slides[0].tag);if(self.options.slideshow===true)self.startSlideshow();});if(this.getOption('caption')!==false){this.container.bind('Banner.beginTransition',{self:this},function(e,i){var cap=e.data.self.caption;e.data.self.hideCaptionAnim(cap,e.data.self.setCaption,self);});}
SKYLARK.Load.images(imgs);if(this.options.controls!==false){new SKYLARK_BANNER_CONTROLS(this.options.controls,this);}
if(this.options.preset!=='default'){var obj=SKYLARK_BANNER_PRESETS[this.options.preset];for(prop in obj){this[prop]=obj[prop];}}}
function SKYLARK_BANNER_CONTROLS(con,banner){this.container=$(con);this.banner=banner;var self=this;$.each(this.banner.slides,function(i,slide){self.container.append('<a href="javascript:void(0)" index="'+i+'"><span>'+(i+1)+'</span></a>');});banner.container.bind('Banner.beginTransition',{self:this},function(e,i){self.container.children('a').removeClass('active');self.container.children('a[index='+i+']').addClass('active');});this.container.children('a').click({banner:this.banner},function(e,banner){this.blur();if($(this).hasClass('active'))return;var i=$(this).attr('index');e.data.banner.stopSlideshow();e.data.banner.goto(i);});}
SKYLARK_BANNER_PRESETS={'hammond':{hideCaptionAnim:function(el,func,bind){$(el).attr('fullwidth',$(el).width());$(el).fadeOut(this.options.duration,function(){$(el).clip([0,0,$(el).height(),0]);func.call(bind);});},showCaptionAnim:function(el){$(el).show();$(el).clip([0,$(el).attr('fullwidth'),$(el).height(),0],this.options.duration);}}}
$.fn.banner=function(opts,self){if(this.length==0)return;opts=opts||{};if(self==undefined)self=true;if(self){return new SKYLARK_BANNER(this[0],opts);}else{new SKYLARK_BANNER(this[0],opts);return this;}}})(jQuery);
