var Lib={};Lib.Core=new Class({setProperties:function(o){this._setGlobalProperties();if($chk(o)){for(var option in o){if(o.hasOwnProperty(option)){this[option]=o[option]}}}this.initCustomEvents();return this},_setGlobalProperties:function(){if(typeof this._name!=='undefined'&&typeof LibOptions!=='undefined'){if(typeof LibOptions[this._name]!=='undefined'){for(var option in LibOptions[this._name]){if(LibOptions[this._name].hasOwnProperty(option)){this[option]=LibOptions[this._name][option]}}}}return this},invokeEvent:function(str,args){var method='invoke'+str.capitalize();if($chk(this[method])){this[method](args)}},initCustomEvents:function(events){var e=[];if($chk(events)){e=events}else if($chk(this.CustomEvents)&&!$chk(this._customEventsInitialized)){e=this.CustomEvents.flatten();this._customEventsInitialized=true}e.each(function(event){this.initCustomEvent(event)}.bind(this));return this},initCustomEvent:function(e){var cap=e.capitalize();this['invoke'+cap]=function(args){if($chk(this['do'+cap])){this['do'+cap](args)}}.bind(this);this['do'+cap]=function(args){args=($chk(args))?args:null;this.fireEvent(e,args)}.bind(this)}});Lib.CustomEvents={ShowHide:['beforeShow','afterShow','beforeHide','afterHide'],Click:['onClick'],Resize:['beforeResize','afterResize']};Lib.Fx={defaults:{duration:'normal',transition:Fx.Transitions.Sine.easeInOut,wait:true,fps:24},morph:function(el,duration,args){var d=duration||'normal';var a=Object.merge(this.defaults,args,{duration:d});return new Fx.Morph(el,a)},tween:function(el,duration,args){var d=duration||'normal';var a=Object.merge(this.defaults,args,{duration:d});return new Fx.Tween(el,a)}};Lib.Utils={body:null,html:null,ishim:null,offscreenHolder:null,removeScroll:function(){if(!Browser.firefox18){this.curScrollTop=window.getScroll().y;this.html.setStyle('overflow','hidden')}},restoreScroll:function(){if(!Browser.firefox18){if($chk(this.curScrollTop)){window.scrollTo(0,this.curScrollTop)}this.html.setStyle('overflow','')}},isChrome:function(){return navigator.userAgent.toLowerCase().indexOf('chrome')>-1},getQueryStringVal:function(val){var lc=location.search.substring(1);var qs=lc.split("&");for(var i=0;i<qs.length;i++){var cur=qs[i].split("=");if(cur[0]==val){return cur[1]}}return false},getQueryStringVals:function(defaults){var lc=location.search.substring(1),qs=lc.split("&"),len=qs.length,result={},i;for(i=0;i<len;i++){var cur=qs[i].split("=");if(typeof cur[1]!=='undefined'){result[cur[0]]=cur[1]}}if(defaults){for(var key in defaults){if(typeof result[key]==='undefined'){result[key]=defaults[key]}}}return result},getWindowCenter:function(){var winCoords=window.getCoordinates(),scroll=window.getScroll(),left=(winCoords.width/2)+scroll.x,top=(winCoords.height/2)+scroll.y;return{x:left,y:top}},getCenterCoords:function(width,height){var winCenter=this.getWindowCenter(),left=winCenter.x-(width/2),top=winCenter.y-(height/2);return{x:left,y:top}},dimsFromCoords:function(coords){var w=coords.right-coords.left;var h=coords.bottom-coords.top;return{width:w,height:h}},compassPoints:['N','S','E','W'],directions:['top','bottom','left','right'],dirComplements:{'top':'bottom','bottom':'top','left':'right','right':'left'},compassComplements:{'N':'S','S':'N','E':'W','W':'E'},dirToCompass:{'top':'N','bottom':'S','right':'E','left':'W'},compassToDir:{'N':'top','S':'bottom','E':'right','W':'left'}};Lib.Cookies={getCookie:function(c_name){if(document.cookie.length>0){c_start=document.cookie.indexOf(c_name+"=");if(c_start!=-1){c_start=c_start+c_name.length+1;c_end=document.cookie.indexOf(";",c_start);if(c_end==-1){c_end=document.cookie.length}return unescape(document.cookie.substring(c_start,c_end))}}return""},setCookie:function(name,value,days){var exdate=new Date();exdate.setDate(exdate.getDate()+days);document.cookie=name+"="+value+((days==null)?"":";expires="+exdate.toGMTString())+";path=/;"},getParam:function(name,subname){var aSplit=new Array();aSplit=name.split("&");for(t=0;t<aSplit.length;t++){var aSplit2=new Array();aSplit2=aSplit[t].split("=");if(aSplit2[0]==subname){return aSplit2[1]}}}};window.addEvent('domready',function(){Lib.Utils.body=$$('body')[0];Lib.Utils.html=$$('html')[0];Lib.Utils.offscreenHolder=new Element('div',{'class':'lib_offscreen_holder','styles':{'left':-9999,'display':'none'}});Lib.Utils.body.adopt(Lib.Utils.offscreenHolder);Lib.Utils.elementMeasurer=new Element('div',{'class':'lib_element_measurer','styles':{'left':-9999,'top':0,'visibility':'hidden','float':'left'}});Lib.Utils.body.adopt(Lib.Utils.elementMeasurer)});Lib.Console={log:function(value){var el=$('console');if(el){if(!$chk(value)){value='empty string'}el.adopt((new Element('br')));el.appendText(value)}}};Lib.HtmlTemplates={Layers:{standard:'<div class="layer hidden T:25 R:0 B:15 L:0"><h4 class="rounded gray_gif"><span><span><span class="left lib_title"></span><span class="right"><a href="javascript:void(0);" class="close layer_close">Close</a></span><span class="fixer"></span></span></span></h4><div class="lib_content"></div><div class="bottom"><div><div></div></div></div></div>'},Tooltips:{standard:'<div class="tip tip_pad_top T:10 R:10 B:10 L:10 Carat:21 Extra:11"><div class="top"><div><div></div></div></div><div class="middle"><div class="pad"><div class="lib_content"></div></div></div><div class="bottom"><div><div></div></div></div><div class="tip_carat"></div></div>'}};Array.implement({adjust:function(startValue){var len=this.length,idx=null,ar=[];for(var i=0;i<len;i++){if(this[i]===startValue){idx=i;break}}if($chk(idx)){ar[0]=startValue;var old=idx;if(old===len-1){old=0}else{old=old+1}var knew=1;do{ar[knew]=this[old];knew=knew+1;if(old===len-1){old=0}else{old=old+1}}while(old!==idx);return ar}else{throw new Error('value does not exist in array');}}});Element.implement({getInlineStyles:function(){var styles={};for(var s in this.style){styles[s]=this.style[s]}return styles},cacheStyles:function(s){this.store('cachedStyles',s);return s},getCachedStyles:function(){return this.retrieve('cachedStyles')},hiddenStyles:{width:1,height:1,left:'-1000em',top:'-1000em',overflow:'hidden',position:'absolute'},makeHidden:function(){if(!this.hasClass('hidden')){this.cacheStyles(this.getInlineStyles());this.setStyles(this.hiddenStyles);this.addClass('hidden')}return this},removeHidden:function(){var me=this;if(this.hasClass('hidden')){var cs=this.getCachedStyles(),styles={};if(!$chk(cs)){cs=this.getInlineStyles()}for(var hs in this.hiddenStyles){styles[hs]=($chk(cs)&&$chk(cs[hs]))?cs[hs]:null;if(styles[hs]===null&&(hs==='top')){styles[hs]=0}}this.setStyles(styles);this.removeClass('hidden')}return this},applyTempStyles:function(styles){var original={};for(var s in styles){original[s]=this.style[s]}this.setStyles(styles);return original},show:function(){this.removeHidden();return this},hide:function(){this.makeHidden();return this},getAllDimensions:function(){var dims={};dims.scrollSize=this.getScrollSize();dims.scroll=this.getScroll();dims.position=this.getPosition();dims.coordinates=this.getCoordinates();var centerx=dims.coordinates.left+(dims.coordinates.width/2);var centery=dims.coordinates.top+(dims.coordinates.height/2);var N={x:centerx,y:dims.coordinates.top};var NE={x:dims.coordinates.right,y:dims.coordinates.top};var E={x:dims.coordinates.right,y:centery};var SE={x:dims.coordinates.right,y:dims.coordinates.bottom};var S={x:centerx,y:dims.coordinates.bottom};var SW={x:dims.coordinates.left,y:dims.coordinates.bottom};var W={x:dims.coordinates.left,y:centery};var NW={x:dims.coordinates.left,y:dims.coordinates.top};var boxW=dims.coordinates.width-(dims.coordinates.width-this.getStyle('width').toInt());var boxH=dims.coordinates.height-(dims.coordinates.height-this.getStyle('height').toInt());dims.centerPoint={x:centerx,y:centery};dims.compass={N:N,NE:NE,E:E,SE:SE,S:S,SW:SW,W:W,NW:NW};dims.boxSize={width:boxW,height:boxH};return dims},measure:function(width){var me=this;var m=Lib.Utils.elementMeasurer;try{m.empty();if($chk(width)){m.setStyle('width',width)}var temp=me.clone();m.adopt(temp);var dims=temp.getAllDimensions();m.empty();m.setStyle('width','');return dims}catch(e){throw new Error('The element measurer does not exist. '+e);}},highlightSpecial:function(color,hold){var hold=hold||0,color=color||'#cc6666',initialColor=this.getStyle('background-color'),transition=Lib.Fx.tween(this,'normal',{property:'background-color'});initialColor=initialColor=='transparent'?'#ffffff':initialColor;transition.start(initialColor,color).chain(function(){var me=this;setTimeout(function(){me.start(color,initialColor)},hold)});return this}});String.implement({makeDom:function(){var wrapper=new Element('div',{'class':'lib_elements_wrapper'});wrapper.set('html',this);Lib.Utils.offscreenHolder.adopt(wrapper);return wrapper}});Number.implement({isEven:function(){if(this%2==0){return true}else{return false}},maxDecimals:function(decimals){var multiplier=Math.pow(10,decimals);return parseInt(this*multiplier,10)/multiplier}});Lib.IFillable=new Class({loader:null,content:null,contentSize:{width:0,height:0},contentHolder:null,contentWrapper:null,padding:{top:0,right:0,bottom:0,left:0},initFillable:function(){this.initCustomEvent('onContentLoad');this.titleHolder=this.el.getElement('.lib_title');this.contentHolder=this.el.getElement('.lib_content');this.contentWrapper=new Element('div',{'class':'lib_content_wrapper',styles:{'overflow':'hidden','position':'relative','zoom':1}});this.contentWrapper.wraps(this.contentHolder);this._initLoader();this._initPadding();return this},_initPadding:function(){var klass=this.el.getProperty('class'),reT=/T:(\d*)/,reR=/R:(\d*)/,reB=/B:(\d*)/,reL=/L:(\d*)/,resT=reT.exec(klass),resR=reR.exec(klass),resB=reB.exec(klass),resL=reL.exec(klass);this.padding.top=$chk(resT)?resT[1].toInt():0;this.padding.right=$chk(resR)?resR[1].toInt():0;this.padding.bottom=$chk(resB)?resB[1].toInt():0;this.padding.left=$chk(resL)?resL[1].toInt():0;return this},_initLoader:function(){this.loader=new Lib.Loader(this.contentWrapper);return this},showLoader:function(indicator){this.loader.show(indicator);return this},hideLoader:function(){this.loader.hide();return this},hideContent:function(){this.content.setStyle('visibility','hidden');return this},showContent:function(){this.content.setStyle('visibility','');return this},fill:function(){this.fillContent().fillTitle();return this},empty:function(){this.emptyTitle().emptyContent();return this},fillContent:function(content){this.emptyContent();if($chk(content)){this.setContent(content)}this.contentHolder.adopt(this.content);return this},emptyContent:function(){this.contentHolder.empty();return this},fillTitle:function(title){if($chk(title)){this.setTitle(title)}if($chk(this.titleHolder)){this.emptyTitle();this.titleHolder.set('html',this.title)}return this},emptyTitle:function(){if($chk(this.titleHolder)){this.titleHolder.empty()}return this},setContent:function(content){if(typeOf(content)==='string'){var re=/^#(.*)/;if(content.match(re)){var res=re.exec(content)[1];this.content=$(res).get('html').makeDom()}else{this.content=content.makeDom()}}else if(content.get('tag')==='iframe'||content.get('tag')==='img'){this.content=content}else{this.content=content.clone()}return this},getContent:function(){return this.content},setTitle:function(title){this.title=title;return this},setContentSize:function(width,height){this.contentSize={width:width,height:height};return this},getContentSize:function(){return this.contentSize},getContentDimensions:function(){return this.content.getAllDimensions()},resizeContentHolder:function(width,height){this.contentHolder.setStyles({width:width,height:height});this.setContentSize(width,height);return this},resizeContentWrapper:function(width,height){this.contentWrapper.setStyles({width:width,height:height});return this},resizeContentToElement:function(){var h=this.size.height-this.padding.top-this.padding.bottom,w=this.size.width-this.padding.left-this.padding.right;this.content.setStyles({width:w,height:h});return this},getSizeWithContentCoords:function(width,height){var h=this.padding.top+this.padding.bottom+height,w=this.padding.left+this.padding.right+width;return{width:w,height:h}},measure:function(contentWidth,contentHeight){var validWidth=this.isValidDimension(contentWidth),validHeight=this.isValidDimension(contentHeight),content={width:contentWidth,height:contentHeight};if(!validWidth){content.width=''}if(!validHeight){content.height=''}return this.measureElementAndContent(content.width,content.height)},measureElementAndContent:function(contentWidth,contentHeight){var original={},holderOriginal={},cOriginal={},wrapperOriginal={},clearDiv=null,elWidth=0,elHeight=0,cWidth=0,cHeight=0;original=this.el.applyTempStyles({'width':'','height':'','visibility':'hidden','display':''});wrapperOriginal=this.contentWrapper.applyTempStyles({'width':'','height':''});holderOriginal=this.contentHolder.applyTempStyles({'float':'right','width':contentWidth,'height':contentHeight,'border':'1px solid black'});clearDiv=new Element('div',{styles:{'clear':'both','height':0,'line-height':0,'overflow':'hidden'}});this.el.removeClass('hidden');clearDiv.inject(this.contentHolder,'after');cWidth=this.contentHolder.offsetWidth;cHeight=this.contentHolder.offsetHeight;elHeight=(this.el.offsetHeight-this.el.getStyle('padding-top').toInt()-this.el.getStyle('padding-bottom').toInt());elWidth=cWidth+this.padding.right+this.padding.left;this.el.addClass('hidden');clearDiv.destroy();this.el.setStyles(original);this.contentHolder.setStyles(holderOriginal);this.contentWrapper.setStyles(wrapperOriginal);return{element:{width:elWidth-2,height:elHeight-2},content:{width:cWidth-2,height:cHeight-2}}},isValidDimension:function(d){return $chk(d)&&typeOf(d)==='number'&&d>1}});Lib.IToggleable=new Class({shim:null,startCoords:'windowCenter',endCoords:'elementCenter',initToggleable:function(){this.initCustomEvents(Lib.CustomEvents.ShowHide).initTransitions().initShim().initTogglers();return this},initTogglers:function(){var me=this;this.toggler=new Lib.Toggler(this.el,{transition:this.transition});this.toggler.addEvents({beforeShow:function(){var coords={top:me.toggler.transitionShow.top[1],left:me.toggler.transitionShow.left[1],width:me.toggler.transitionShow.width[1],height:me.toggler.transitionShow.height[1]};me.showShim(coords)},afterShow:function(){me.visible=true;me.invokeEvent('afterShow')},afterHide:function(){me.visible=false;me.hideShim();me.invokeEvent('afterHide')}});return this},initShim:function(){if(Browser.ie4){this.shim=new Lib.Ishim(this.el);this.shim.el.setStyle('z-index',999)}return this},initTransitions:function(){this.transition=Lib.Fx.morph(this.el,150);this.loaderTransition=Lib.Fx.morph(this.loader,'long');return this},show:function(args){this.toggler.show();return this},hide:function(){this.toggler.hide();return this},showShim:function(coords){var coords=coords||null;if($chk(this.shim)){this.shim.show(coords)}return this},hideShim:function(){if($chk(this.shim)){this.shim.hide()}return this},updateTransitions:function(show,hide){this.updateShowTransition(show);this.updateHideTransition(hide);return this},setStartCoords:function(coords){var me=this;coords=coords||this.startCoords;var c=typeOf(coords)==='string'?(function(){return me.coordsFromString(coords)})():coords;this.startCoords=c;return this},setEndCoords:function(coords){var me=this;coords=coords||this.endCoords;var c=typeOf(coords)==='string'?(function(){return me.coordsFromString(coords)})():coords;this.endCoords=c;return this},coordsFromString:function(which){var coords={};switch(which){case"elementCenter":coords=Lib.Measure.getCenterCoords(this.getSize().width,this.getSize().height);break;case"windowCenter":coords=Lib.Measure.getWindowCenter();break;default:coords={x:0,y:0};break}return coords},isVisible:function(){return this.visible},updateShowTransition:function(obj){this.toggler.transitionShow=obj;return this},updateHideTransition:function(obj){this.toggler.transitionHide=obj;return this}});Lib.IResizable=new Class({initResizable:function(){this.initCustomEvents(Lib.CustomEvents.Resize)},setSize:function(width,height){this.size={width:width,height:height};return this},getSize:function(){return this.size},resize:function(width,height){var curHeight=height;this.invokeEvent('beforeResize',[width,height]);this.el.setStyles({width:width,height:height});if(typeOf(curHeight)==='string'){curHeight=this.el.getSize().y}this.setSize(width,curHeight);this.invokeEvent('afterResize',[width,height]);return this}});Lib.Measure={getWindowCenter:function(){var winCoords=window.getCoordinates(),scroll=window.getScroll(),left=(winCoords.width/2)+scroll.x,top=(winCoords.height/2)+scroll.y;return{x:left,y:top}},getCenterCoords:function(width,height){var winCenter=this.getWindowCenter(),left=winCenter.x-(width/2),top=winCenter.y-(height/2);return{x:left,y:top}},dimsFromCoords:function(coords){var w=coords.right-coords.left;var h=coords.bottom-coords.top;return{width:w,height:h}},correctDimensions:function(width,height,coords,margin){var dims={width:width,height:height,x:coords.x,y:coords.y,correction:false},winCoords=window.getCoordinates(),scroll=window.getScroll(),bottom=dims.y+height.round(),margin=margin||0;if(Browser.firefox18){scroll={x:0,y:0}}var barrierBottom=(winCoords.height-margin)+scroll.y,barrierTop=margin+scroll.y,tDiff=barrierTop-dims.y,bDiff=bottom-barrierBottom,diff=tDiff+bDiff;if(diff>0){dims.height=height-diff;if(dims.y<barrierTop){dims.y=barrierTop}dims.correction=true}return dims},getPixelsInView:function(coords){var win=window.getCoordinates();var scroll=window.getScroll();var shownWidth=win.width-Math.max((coords.left-scroll.x),0)-Math.max((win.right-(coords.right-scroll.x)),0);var shownHeight=win.height-Math.max((coords.top-scroll.y),0)-Math.max((win.bottom-(coords.bottom-scroll.y)),0);var pix=shownWidth*shownHeight;return pix>0?pix:0}};Lib.SpaceNegotiator={offsets:{top:[0,0],right:[0,0],bottom:[0,0],left:[0,0]},results:{top:{top:0,left:0},right:{top:0,left:0},bottom:{top:0,left:0},left:{top:0,left:0}},extraPadding:0,negotiate:function(attemptedDir,targetSize,fenceCoords,offsets,extraPadding){var me=this;extra=extraPadding||0;offsets=Object.merge(this.offsets,offsets);var positions=this.getPositions(offsets,targetSize.width,targetSize.height,fenceCoords,extra);return this.calculate(attemptedDir,positions,targetSize,extra)},calculate:function(attemptedDir,pos,targetSize,extra){var pixels=0;var winner=null;var fallbacks=[];var dirs=Lib.Utils.directions.adjust(attemptedDir);var makeWinner=function(dir){var dims=Lib.Utils.dimsFromCoords(pos[dir]);var width=dims.width;var height=dims.height;var fallbacks=[];if(dir==='top'||dir==='bottom'){height=dims.height-extra}else{width=dims.width-extra}winner={dir:dir,top:pos[dir].top,left:pos[dir].left,bottom:pos[dir].bottom,right:pos[dir].right,width:width,height:height}};for(var i=0,len=dirs.length;i<len;i++){var dir=dirs[i];if(dir==='top'||dir==='bottom'){pixels=(targetSize.width*targetSize.height)+(extra*targetSize.width)}else{pixels=(targetSize.width*targetSize.height)+(extra*targetSize.height)}var pixelsInView=this.getPixelsInView(pos[dir]);var allVisible=true;if(pixelsInView<pixels){allVisible=false}if(attemptedDir===dir&&allVisible){makeWinner(attemptedDir);break}else if(allVisible&&dir==Lib.Utils.dirComplements[attemptedDir]){makeWinner(dir);break}else if(pos[dir].top>0&&pos[dir].left>0){fallbacks.push({dir:dir,pixels:pixelsInView})}}if(!$chk(winner)){var px=0;var wn=attemptedDir;fallbacks.each(function(fb){if(fb.pixels>px){px=fb.pixels;wn=fb.dir}});makeWinner(wn)}return winner},getPixelsInView:function(coords){var win=window.getCoordinates();var scroll=window.getScroll();var shownWidth=win.width-Math.max((coords.left-scroll.x),0)-Math.max((win.right-(coords.right-scroll.x)),0);var shownHeight=win.height-Math.max((coords.top-scroll.y),0)-Math.max((win.bottom-(coords.bottom-scroll.y)),0);var pix=shownWidth*shownHeight;return pix>0?pix:0},getPositions:function(offsets,w,h,fence,extra){var pos=Object.merge(this.results,{});pos.top.top=fence.top-(h+extra)-offsets.top[1];pos.top.left=fence.left+offsets.top[0];pos.top.right=pos.top.left+w;pos.top.bottom=pos.top.top+h+extra;pos.right.top=fence.top+offsets.right[1];pos.right.left=fence.right+offsets.right[0];pos.right.right=pos.right.left+w+extra;pos.right.bottom=pos.right.top+h;pos.bottom.top=fence.bottom+offsets.bottom[1];pos.bottom.left=fence.left+offsets.bottom[0];pos.bottom.right=pos.bottom.left+w;pos.bottom.bottom=pos.bottom.top+h+extra;pos.left.top=fence.top+offsets.left[1];pos.left.left=fence.left-(w+extra)-offsets.left[0];pos.left.right=pos.left.left+w+extra;pos.left.bottom=pos.left.top+h;return pos}};Lib.Trigger=new Class({Implements:[Lib.Core,Chain,Events],triggers:null,friends:[],over:null,out:null,click:null,blurTimeout:null,stopCurrentEvent:Function.from(),initialize:function(triggers,o){var me=this;this.triggers=triggers;this.setProperties(o).bindEvents()},bindEvents:function(){if($chk(this.over)){this.bindOver(this.over)}if($chk(this.out)){this.bindOut(this.out)}if($chk(this.click)){this.bindClick(this.click)}if($chk(this.focus)){this.bindFocus(this.focus)}if($chk(this.blur)){this.bindBlur(this.blur)}},bindEvent:function(which,fn){var me=this;this.triggers.each(function(trig,index){trig.addEvent(which,function(event){me.friends.include(this);me.currentEvent=event;if(me.isFriend(event,this,which)){return me.stopCurrentEvent()}if(which==='blur'||which==='focus'){var self=this,timeoutFunc=function(){fn.attempt(index,self)};clearTimeout(me.blurTimeout);me.blurTimeout=setTimeout(timeoutFunc,10)}else{fn.attempt(index,this)}})})},bindOver:function(fn){this.bindEvent('mouseover',fn);this.bindEvent('focus',fn)},bindOut:function(fn){this.bindEvent('mouseout',fn);this.bindEvent('blur',fn)},bindFocus:function(fn){this.bindEvent('focus',fn)},bindBlur:function(fn){this.bindEvent('blur',fn)},bindClick:function(fn){this.triggers.each(function(trig,index){trig.addEvents({'click':function(event){fn.attempt(index,this);event.stop()},'keydown':function(event){if(event.key=='enter'){window.location=this.href;event.stop()}}})})},isFriend:function(event,trigger,eventType){var bool=false;this.friends.each(function(f){if(f==event.target&&f!==trigger){bool=true}if(f==event.relatedTarget){bool=true}if(f.hasChild(event.relatedTarget)){bool=true}if(f.hasChild(event.target)&&eventType!=='mouseout'&&f!==trigger){bool=true}});return bool},makeFriends:function(friends){this.friends=friends},removeFriends:function(){this.friends=[]},stopCurrentEvent:function(){this.currentEvent.stop();return},invoke:function(which){}});Lib.IFrameManager={count:1,curFrameId:'lib_iframe_1',iframes:{},holder:null,create:function(args){var me=this;var frameId='lib_iframe_'+me.count;var iframe=new IFrame({'id':frameId,'name':frameId,'src':args.path,'frameborder':'0','scrolling':'no','marginheight':'0','marginwidth':'0',styles:args.styles,onload:function(doc){me.doOnload(doc,this,frameId,args)}});this.count=this.count+1;this.iframes[frameId]={};this.iframes[frameId]['frame']=iframe;return iframe},doOnload:function(doc,win,frameId,args){var frame=this.iframes[frameId]['frame'];if(typeOf(args.load)==='function'){args.load.call(frame,doc,win)}}};Object.append(Lib.IFrameManager,Lib.Core);Lib.Ishim=new Class({Implements:[Lib.Core,Events,Chain],path:'',parent:null,el:null,coords:{top:0,left:0,width:'auto',height:'auto'},zIndex:100000,initialize:function(parent){this.parent=parent||null;this.initShim().initToggler().initCoords()},initShim:function(){this.el=Lib.IFrameManager.create({path:gn_iframe,styles:{'position':'absolute','top':0,'left':0,'cursor':'pointer','opacity':.01,'filter':'progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=1)','z-index':this.zIndex,'display':'none','overflow':'hidden'}});Lib.Utils.body.adopt(this.el);return this},initToggler:function(){this.toggler=new Lib.Toggler(this.el);return this},initCoords:function(){if($chk(this.parent)){this.coords=this.getParentDims()}},getParentDims:function(){var c={};if($chk(this.parent)){c=this.parent.getCoordinates()}else{c=this.coords}return{top:c.top,left:c.left,width:c.width,height:c.height}},reposition:function(coords){var c=Object.merge(this.getParentDims(),coords);this.el.setStyles({top:c.top,left:c.left,width:c.width,height:c.height})},show:function(coords){if($chk(coords)){this.reposition(coords)}else{this.reposition()}this.toggler.show()},hide:function(){this.reposition({top:0,left:0,width:0,height:0});this.toggler.hide()}});Lib.Toggler=new Class({Implements:[Lib.Core,Chain,Events],el:null,visible:false,transition:null,transitionShow:{},transitionHide:{},CustomEvents:[Lib.CustomEvents.ShowHide,Lib.CustomEvents.Click],initialize:function(el,o){this.setElement(el).setProperties(o).initType()},initType:function(){var hidden=false;var displaynone=false;var type=$chk(this.type)?this.type:'displaynone';if(this.el.hasClass('hidden')){hidden=true}if(this.el.getStyle('display')=='none'){displaynone=true}if(hidden&&!displaynone){type='hidden'}if(hidden&&displaynone){type='both'}this.type=type;return this},getTransitionKeys:function(){var show=[];var hide=[];for(var key in this.transitionShow){show.push(key)}for(var key2 in this.transitionHide){hide.push(key2)}return{show:show,hide:hide}},toggle:function(which){var me=this;var state=typeOf(which)=="string"?(which.capitalize()):(this.isVisible()?"Hide":"Show");var visible=state=="Show"?true:false;this.invokeEvent('before'+state);if(this.transition==null){this.toggleStates(visible);this.visible=visible;this.invokeEvent('after'+state)}else{this.transition.cancel();this.transition.removeEvents('complete');this.transition.addEvent('complete',function(){if(!visible){me.toggleStates(visible)}me.visible=visible;me.invokeEvent('after'+state)});this.el.setStyle('overflow','hidden');this.transition.start(this['transition'+state]);if(visible){if($chk(this.transitionShow.opacity)){this.el.setStyle('visibility','hidden')}me.toggleStates(visible)}}return this},show:function(){this.toggle('show');return this},hide:function(){this.toggle('hide');return this},isVisible:function(){return this.visible===true?true:false},setElement:function(el){this.el=el;return this},makeHidden:function(){this.el.makeHidden()},removeHidden:function(){this.el.removeHidden()},makeDisplaynone:function(){this.el.setStyle('display',null)},removeDisplaynone:function(){this.el.setStyle('display','none')},toggleStates:function(visible){switch(this.type){case"displaynone":this[(visible?'make':'remove')+'Displaynone']();break;case"hidden":this[(visible?'remove':'make')+'Hidden']();break;case"both":this[(visible?'make':'remove')+'Displaynone']();this[(visible?'remove':'make')+'Hidden']();break}}});Lib.Loader=new Class({Implements:[Lib.Core],transition:null,initialize:function(parent,o){this.setProperties(o);this.parent=parent;this.el=this.loader||new Element('div',{'class':'lib_loading'});this.parent.setStyle('position','relative');this.parent.adopt(this.el);this.initToggler()},initToggler:function(){this.toggler=new Lib.Toggler(this.el,{transition:Lib.Fx.morph(this.el),transitionShow:{'opacity':[1,1]},transitionHide:{'opacity':[1,0]}});return this},show:function(){this.toggler.show();return this},hide:function(){this.toggler.hide();return this}});Lib.Overlay=new Class({Implements:[Lib.Core,Chain,Events],CustomEvents:[Lib.CustomEvents.ShowHide,Lib.CustomEvents.Click],opacity:0.75,color:'#000',hideOnClick:false,el:null,shim:null,click:Function.from(true),visible:false,fade:false,initialize:function(o){this.setProperties(o).initElement().initShim().initToggler().bindResizeEvent().bindClickEvent().bindShowHideEvents()},initElement:function(){var me=this;this.el=new Element('DIV',{'class':'lib_overlay',styles:{position:'absolute',top:0,left:0,'background-color':me.color,cursor:'pointer',opacity:me.opacity,'filter':"alpha(opacity="+(me.opacity*100)+")",'z-index':1000,display:'none',width:'100%',height:'100%',overflow:'hidden'}});Lib.Utils.body.adopt(this.el);return this},initShim:function(){if(Browser.ie4){this.shim=new Lib.Ishim(this.el)}return this},initToggler:function(){var me=this;this.toggler=new Lib.Toggler(this.el);if(this.fade===true){this.toggler.transition=Lib.Fx.morph(me.el);this.toggler.transitionShow={'opacity':[0,me.opacity]};this.toggler.transitionHide={'opacity':[0,0]}}return this},bindResizeEvent:function(){var me=this;window.addEvent('resize',function(){me.refresh()});return this},bindClickEvent:function(){var me=this;this.el.addEvent('click',function(){if(me.hideOnClick===true){me.hide()}me.invokeEvent('onClick')});return this},bindShowHideEvents:function(){var me=this;this.toggler.addEvent('afterShow',function(){me.visible=true;me.invokeEvent('afterShow')});this.toggler.addEvent('afterHide',function(){me.visible=false;me.invokeEvent('afterHide')});return this},show:function(){var me=this;this.fireEvent('beforeShow');this.refresh();this.toggler.show();if($chk(this.shim)){this.shim.show()}return this},hide:function(){var me=this;this.fireEvent('beforeHide');this.toggler.hide();if($chk(this.shim)){this.shim.hide()}return this},refresh:function(){var height=Lib.Utils.body.getScrollSize().y,width=Lib.Utils.body.getScrollSize().x;if(Browser.ie4){width=width-2}else if(Browser.safari||Browser.chrome){if(height>Lib.Utils.body.getSize().y){width=width-17}}this.el.setStyles({'height':height,'width':width});if($chk(this.shim)){this.shim.reposition()}return this},isVisible:function(){return this.visible},setColor:function(color){this.color=color;this.el.setStyle('background-color',color)}});Lib.Tabs=new Class({Implements:[Lib.Core,Events,Chain],tabs:[],contents:[],activeTab:null,activeTabIndex:0,activeContent:null,initialize:function(o){this.setProperties(o).initActiveTab().initActiveContent().initTriggers()},initActiveTab:function(){for(var i=0,len=this.tabs.length;i<len;i++){if(this.tabs[i].hasClass('active')){this.activeTab=this.tabs[i];this.activeTabIndex=i}else{this.contents[i].addClass('hidden')}}return this},initActiveContent:function(){this.activeContent=this.contents[this.activeTabIndex];return this},initTriggers:function(){var me=this;this.tabs.each(function(t,index){t.addEvent('click',function(e){me.switchTabs(t,index);e.preventDefault()})});return this},switchTabs:function(newTab,index){if(newTab!==this.activeTab){this.removeActiveTab();this.setActiveTab(newTab);this.removeActiveContent();this.activeTabIndex=index;this.setActiveContent(this.contents[index])}return this},setActiveTab:function(tab){tab.addClass('active');this.activeTab=tab},removeActiveTab:function(){if(this.activeTab!=null)this.activeTab.removeClass('active');this.activeTab=null},setActiveContent:function(content){this.activeContent=content;this.activeContent.show()},removeActiveContent:function(){this.activeContent.hide();this.activeContent=null},parseTabId:function(tab){var re=/#(.+)/;return re.exec(this.activeTab)[1]},getContentById:function(id){var content=null;this.contents.each(function(c){if(c.getProperty('id')===id){content=c;return}});return content}});Lib.Layer=new Class({Implements:[Lib.Core,Events,Chain],CustomEvents:[Lib.CustomEvents.ShowHide,'onContentLoad'],chrome:null,overlay:null,hideScroll:false,useLoader:true,useOverlay:true,hideOnOverlayClick:true,_name:"Layer",_visible:false,_currentlyShowing:false,_currentlyHiding:false,initialize:function(o){this.setProperties(o)._initOverlay()._initEvents();if(this.hideScroll){this.chrome.fitToScreen=true}return this},_initOverlay:function(){this.overlay=this.overlay||Lib.Utils.overlay;return this},_initEvents:function(){var me=this;this.doAfterShow=function(){if(me._isFinishedShowing()){me._currentlyShowing=false;me._visible=true;if(me.hideOnOverlayClick){me.overlay.addEvent('click',me._delegateOverlayClick)}me.hideLoader();me.fireEvent('afterShow')}};this.doAfterHide=function(){if(me._isFinishedHiding()){me._currentlyHiding=false;me._visible=false;if(me.hideScroll){Lib.Utils.restoreScroll()}me.hideLoader();me.chrome.reset();me.fireEvent('afterHide')}};return this},_resetTempEvents:function(){var me=this;this.chrome.removeEvents('afterShow');this.chrome.removeEvents('afterHide');this.chrome.removeEvents('closeClick');this.overlay.removeEvents('afterShow');this.overlay.removeEvents('afterHide');this.overlay.removeEvents('click');this._delegateAfterShow=function(){me.invokeEvent('afterShow')};this._delegateAfterHide=function(){me.invokeEvent('afterHide')};this._delegateCloseClick=function(){me.hide()};this._delegateOverlayClick=function(){if(!me.isHiding()){me.overlay.hide();me.hide(false)}};this.chrome.addEvents({afterShow:me._delegateAfterShow,afterHide:me._delegateAfterHide,closeClick:me._delegateCloseClick});this.overlay.addEvents({afterShow:me._delegateAfterShow,afterHide:me._delegateAfterHide});return this},show:function(args){var me=this;if(!this.isShowing()){this._currentlyShowing=true;this._currentlyHiding=false;args.contentSize=Object.merge({width:'auto',height:'auto'},args.contentSize);this._resetTempEvents();this.chrome.fillTitle(args.title);this.handleShow(args)}return this},handleShow:function(args){var me=this;this.chrome.fillContent(args.content).refresh(args);this.invokeEvent('beforeShow',args.base);this.invokeEvent('onContentLoad',this.chrome.getContent());this.showLoader();if(this.hideScroll){Lib.Utils.removeScroll()}if(this.useOverlay){this.overlay.show()}this.chrome.show();return this},hide:function(hideOverlay){if(!this.isHiding()){this._currentlyHiding=true;this._currentlyShowing=false;this.overlay.removeEvents('click');this.invokeEvent('beforeHide');this.chrome.contentHolder.setStyle('overflow','hidden');this.showLoader();if(hideOverlay!==false&&$chk(this.overlay)){this.overlay.hide()}this.chrome.hide()}return this},showLoader:function(){if(this.useLoader){this.chrome.showLoader()}return this},hideLoader:function(){if(this.useLoader){this.chrome.hideLoader()}return this},isVisible:function(){return this._visible},isShowing:function(){return this._currentlyShowing},isHiding:function(){return this._currentlyHiding},_isFinishedShowing:function(){return((this.useOverlay&&this.overlay.isVisible())||!this.useOverlay)&&this.chrome.isVisible()},_isFinishedHiding:function(){return((this.useOverlay&&!this.overlay.isVisible())||!this.useOverlay)&&!this.chrome.isVisible()},resume:function(){}});Lib.LayerImage=new Class({Extends:Lib.Layer,initialize:function(o){this.parent(o)},handleShow:function(args){var me=this;this.invokeEvent('beforeShow',args.base);args.content=new Asset.image(args.content,{onload:function(){me.invokeEvent('onContentLoad');var dims=this.getProperties('width','height');args.contentWidth=dims.width.toInt();args.contentHeight=dims.height.toInt();me._postLoad(args)}});this.showLoader(false);return this},_postLoad:function(args){this.chrome.fillContent(args.content).refresh(args);if(this.hideScroll){Lib.Utils.removeScroll()}if(this.useOverlay){this.overlay.show()}this.chrome.show(args)}});Lib.LayerHtml=new Class({Extends:Lib.Layer,initialize:function(o){this.parent(o)},handleShow:function(args){var chromeSize,contentSize;this.chrome.setContent(args.content).fill();if($chk(args.contentSize)){contentSize=args.contentSize}else{var m=this.chrome.getContentSize();contentSize={width:m.width,height:m.height}}this.chrome.resizeContentHolder(contentSize.width,contentSize.height);if($chk(args.chromeSize)){chromeSize=args.chromeSize}else{chromeSize=this.chrome.getSizeWithContentCoords(contentSize.width,contentSize.height)}this.invokeEvent('afterContentLoad');this.chrome.resize(chromeSize.width,chromeSize.height);this.showLoader(false);this.setStartCoords(this.startCoords);this.setEndCoords(this.endCoords);this.updateTransitions();this.invokeEvent('beforeShow');if(this.hideScroll){Lib.Utils.removeScroll()}if(this.useOverlay){this.overlay.show()}this.chrome.show()}});Lib.LayerIFrame=new Class({Extends:Lib.Layer,initialize:function(o){this.parent(o)},handleShow:function(args){var me=this,useWidth=true,useHeight=true;if(typeOf(args.contentSize.width)!=='number'){useWidth=false;args.contentSize.width=400}if(typeOf(args.contentSize.height)!=='number'){useHeight=false;args.contentSize.height=300}this.doAfterShow=function(){if(me._isFinishedShowing()){me.visible=true;if(me.hideOnOverlayClick){me.overlay.addEvent('click',me._delegateOverlayClick)}me.fireEvent('afterShow');me._currentlyShowing=false}};var chromeAfterPreprocess=function(){setTimeout(function(){me.chrome.fill()},500);me.chrome.removeEvent('afterShow',chromeAfterPreprocess)};if($chk(args.isXHR)&&args.isXHR===true){chromeAfterPreprocess=function(title,content){me.chrome.fillTitle(title);me.iframe=Lib.IFrameManager.create({path:content,load:function(doc,win){me.iframeLoad(this,doc,win,args,useWidth,useHeight)}});setTimeout(function(){me.chrome.fillContent(me.iframe)},500);me.chrome.removeEvent('afterShow',chromeAfterPreprocess)};this.resume=chromeAfterPreprocess}else{this.iframe=Lib.IFrameManager.create({path:args.content,load:function(doc,win){me.iframeLoad(this,doc,win,args,useWidth,useHeight)}});this.chrome.setContent(this.iframe)}this.chrome.addEvent('afterShow',chromeAfterPreprocess);this.showLoader();this.chrome.refresh(args);this.invokeEvent('beforeShow',args.base);if(this.hideScroll){Lib.Utils.removeScroll()}if(this.useOverlay){this.overlay.show()}this.chrome.show()},iframeLoad:function(frame,doc,win,args,useWidth,useHeight){var me=this,holder=null,thebody=null,back=null,isMooDoc=false;this.invokeEvent('onContentLoad');try{if(doc.getElement('body')){isMooDoc=true}}catch(e){}if(isMooDoc){thebody=doc.getElement('body');holder=doc.getElement('#layer_holder');back=doc.getElement('#layer_back');if(back){back.setStyle('display','none')}}(function(){me.hideLoader()}).delay(2000);if(holder){var iCoords=holder.getStyles('width','height'),x=iCoords.width.toInt(),y=iCoords.height.toInt(),cSize=me.chrome.getSizeWithContentCoords(x,y);me.chrome.hideContent();(function(){me.chrome.resizeContentHolder(x,y);var correctedSize=Lib.Measure.correctDimensions(cSize.width,cSize.height,me.chrome.endCoords,me.chrome.margin);if(correctedSize.correction&&me.chrome.fitToScreen){correctedSize.width=correctedSize.width+16;me.chrome.contentWrapper.setStyles({'overflow-y':'auto','width':x+16});me.chrome.contentHolder.setStyles({'margin-right':16})}else{correctedSize.width=cSize.width;correctedSize.height=cSize.height}me.resizeToCenter(correctedSize.width,correctedSize.height,x,y);setTimeout(function(){frame.setStyles({width:x,height:y});me.chrome.showContent()},800)}).delay(1000)}else{var defaultWidth=useWidth?args.contentSize.width:600,defaultHeight=useHeight?args.contentSize.height:400;(function(){var cSize=me.chrome.getSizeWithContentCoords(defaultWidth,defaultHeight);me.chrome.resizeContentHolder(defaultWidth,defaultHeight);me.resizeToCenter(cSize.width,cSize.height,defaultWidth,defaultHeight);if(!useWidth||!useHeight){}frame.setStyles({width:defaultWidth,height:defaultHeight})}).delay(1000)}},resizeToCenter:function(width,height,contentWidth,contentHeight){var startSize=this.chrome.getSize(),startCoords=this.chrome.el.getCoordinates(),coords=Lib.Measure.getCenterCoords(width,height),animation=new Fx.Elements([this.chrome.el,this.chrome.contentWrapper]);this.chrome.setSize(width,height);animation.start({'0':{width:[startSize.width,width],height:[startSize.height,height],left:[startCoords.left,coords.x],top:[startCoords.top,coords.y]},'1':{width:contentWidth,height:contentHeight}})}});Lib.LayerSWF=new Class({Extends:Lib.Layer,initialize:function(o){this.parent(o)},handleShow:function(args){var me=this;this.invokeEvent('beforeShow',args.base);this.doAfterShow=function(){if(me._isFinishedShowing()){me.visible=true;me.overlay.addEvent('click',me._delegateOverlayClick);me.fireEvent('afterShow');me._currentlyShowing=false}};var chromeAfterPreprocess=function(){setTimeout(function(){var tempHolder=new Element('div',{id:'lib_temporary_flash_holder'});me.chrome.contentHolder.adopt(tempHolder);var flashvars1={xmlSrc:'xml/videos.xml',stopFixingURL:'true'};var params1={allowScriptAccess:'always',scale:'noscale',base:'../assets/layers/samples/flash/',wmode:'transparent'};swfobject.embedSWF.apply(null,["../assets/layers/samples/flash/swf/guidedTour.swf",'lib_temporary_flash_holder',"742","366","9.0.0","expressInstall.swf",flashvars1,params1]);var flashContent=me.chrome.contentHolder.getFirst();me.chrome.setContent(flashContent);setTimeout(function(){me.hideLoader()},500)},500);me.chrome.removeEvent('afterShow',chromeAfterPreprocess)};this.chrome.addEvent('afterShow',chromeAfterPreprocess);this.showLoader(true);this.chrome.refreshMeasurements(args.contentSize.width,args.contentSize.height);this.chrome.setStartCoords(args.startCoords);this.chrome.setEndCoords(args.endCoords);this.chrome.updateTransitions();this.invokeEvent('beforeShow',args.base);if(this.hideScroll){Lib.Utils.removeScroll()}if(this.useOverlay){this.overlay.show()}this.chrome.show()}});Lib.LayerFactory={create:function(type,args){switch(type){case"html":return new Lib.Layer(args);case"iframe":return new Lib.LayerIFrame(args);case"image":return new Lib.LayerImage(args);case"swf":return new Lib.LayerSWF(args);break;default:return new Lib.Layer(args)}}};Lib.LayerManager={layers:{},chromes:{},types:['html','image','iframe','swf'],current:null,init:function(){this.initChromes()},initChromes:function(){for(var layer in Lib.HtmlTemplates.Layers){this.chromes[layer]=new Lib.LayerChrome(Lib.HtmlTemplates.Layers[layer]);this.initLayer(this.chromes[layer],layer)}},initLayer:function(chrome,name){for(var i=0,len=this.types.length;i<len;i++){var type=this.types[i];this.layers[type+name.capitalize()]=Lib.LayerFactory.create(type,{chrome:chrome})}},show:function(type,args){var style="Standard";if($chk(args.style)){style=args.style.capitalize()}for(var i=0,len=this.types.length;i<len;i++){if(type===this.types[i]){this.current=this.layers[type+style];return this.layers[type+style].show(args)}}},hide:function(args){if(this.current!==null){this.current=null;return this.current.hide(args)}},resume:function(title,content){if(this.current!==null){this.current.resume(title,content)}return this},addEvent:function(e,fn,type,style){var me=this,style=$chk(style)?style.capitalize():'Standard';window.addEvent('domready',function(){if($chk(type)){me.layers[type+style].addEvent(e,fn)}else{for(var l in me.layers){me.layers[l].addEvent(e,fn)}}})},removeEvent:function(e,type,fn,style){var style=$chk(style)?style.capitalize():'Standard';if($chk(type)){this.layers[type+style].removeEvent(e,fn)}else{for(var l in me.layers){me.layers[l].removeEvent(e,fn)}}}};Lib.Tooltip=new Class({Implements:[Lib.Core,Events,Chain],CustomEvents:[Lib.CustomEvents.ShowHide],chrome:null,initialize:function(o){this.setProperties(o)},show:function(type,args){var me=this;args.contentSize=Object.merge({width:null,height:null},args.contentSize);var doShow=function(){clearTimeout(me.hideTimeout);clearTimeout(me.showTimeout);me.showTimeout=function(){me.curBase=args.base;me.invokeEvent('beforeShow',args.base);me.chrome.fillContent(args.content).refresh(args);var pos=me.findEndPosition(args.base,args.direction,me.chrome.getSize());args.endCoords={x:pos.left,y:pos.top};me.chrome.changeDirection(Lib.Utils.dirComplements[pos.dir]);me.chrome.refresh(args);me.chrome.show()}.delay(700)};this.hide();doShow()},hide:function(){var me=this;clearTimeout(this.hideTimeout);clearTimeout(this.showTimeout);this.hideTimeout=function(){me.invokeEvent('beforeHide');me.chrome.hide()}.delay(150)},findEndPosition:function(base,direction,chromeSize){var baseDims=base.getAllDimensions();var lHolder=$('layerContentScrollerId');if(lHolder&&(Browser.ie4||Browser.ie5)){var s=lHolder.getScroll().y;baseDims.coordinates.top=baseDims.coordinates.top+s}var offsets=this.getOffsets(baseDims,chromeSize),position=Lib.SpaceNegotiator.negotiate(direction,{width:chromeSize.width,height:chromeSize.height},baseDims.coordinates,offsets,this.chrome.extraPadding);return position},getOffsets:function(baseDims,chromeSize){var me=this,offsets={};Lib.Utils.directions.each(function(dir){var baseCenter=baseDims.compass[Lib.Utils.dirToCompass[dir]],center=baseCenter.x,edge=baseDims.coordinates.left,centerToEdge=center-edge,whichOffset='left';offsets[dir]=[(me.chrome.caratPos-centerToEdge)*-1,0];if(dir=='left'||dir=='right'){center=baseCenter.y;edge=baseDims.coordinates.top;centerToEdge=center-edge;offsets[dir]=[0,(me.chrome.caratPos-centerToEdge)*-1]}if(me.chrome.caratPos<centerToEdge){offsets[dir]=[0,0]}});return offsets}});Lib.TooltipManager={tooltip:null,eventQueue:[],_paused:false,chromes:[],init:function(){this.initChromes();this.tooltip=new Lib.Tooltip({chrome:this.chromes['standard']})},initChromes:function(){for(var tip in Lib.HtmlTemplates.Tooltips){this.chromes[tip]=new Lib.TooltipChrome(Lib.HtmlTemplates.Tooltips[tip],tip)}},show:function(type,args){this.tooltip.chrome=$chk(args.chrome)?this.chromes[args.chrome]:this.chromes['standard'];if(!this._paused){this.tooltip.show(type,args)}},hide:function(type,args){this.tooltip.hide(type,args)},addEvent:function(e,fn){var me=this;window.addEvent('domready',function(){me.tooltip.addEvent(e,fn)})},removeEvent:function(e,fn){this.tooltip.removeEvent(e,fn)},removeEvents:function(e){this.tooltip.removeEvents(e)},pause:function(){this._paused=true},resume:function(){this._paused=false},addEventToQueue:function(e){}};Lib.Slideshow=new Class({Implements:[Lib.Core,Chain,Events],_currentIndex:0,_speed:2000,initialize:function(o){this.setProperties(o)._initEvents()._initItems()._initCurrentIndex();return this},_initEvents:function(){var me=this;this.chrome.addEvents({back:function(){me.back();me.pause()},next:function(){me.next();me.pause()},goTo:function(index){me.goTo(index);me.pause()}});return this},_initItems:function(){var items=this.chrome.el.getElement('.lib_ss_items');if(items){this._items=items.getElements('*')}return this},_initCurrentIndex:function(){var i,trackers=this.chrome.trackers;for(var i=0,len=trackers.length;i<len;i++){if(trackers[i].hasClass('active')){this.goTo(i);break}}return this},back:function(){if(this.atBeginning()){this.goTo(this.getUpperBound())}else{this.goTo(this._currentIndex-1)}return this},next:function(){if(this.atEnd()){this.goTo(0)}else{this.goTo(this._currentIndex+1)}return this},goTo:function(index){var me=this;if(this.withinBounds(index)){this._currentIndex=index;var item=new Asset.image(this._items[index].src,{onload:function(){me.chrome.canvas.empty().adopt(item);me.chrome.switchTracker(index)}})}else{throw new Error('Out of bounds.');}},play:function(continuous){var me=this,continuous=continuous||false;this._player=setInterval(function(){if(!me.atEnd()){me.next()}else if(me.atEnd()&&continuous){me.goTo(0)}else{me.pause()}},this._speed)},pause:function(){clearInterval(this._player)},atEnd:function(){return this._currentIndex===this.getUpperBound()},atBeginning:function(){return this._currentIndex===0},getUpperBound:function(){return this._items.length-1},withinBounds:function(index){return index<this._items.length&&index>=0},refreshNavigation:function(){if(this.atEnd()){this.chrome.deactivateNext()}if(!this.atEnd()){this.chrome.activateNext()}if(this.atBeginning()){this.chrome.deactivateBack()}if(!this.atBeginning()){this.chrome.activateBack()}}});Lib.Manager={};Lib.Manager.Sliders={sliders:[],add:function(slider){this.sliders.push(slider);return this},get:function(id){for(var i=0,len=this.sliders.length;i<len;i++){if(this.sliders[i].el.get('id')===id){return this.sliders[i]}}return null}};Lib.SliderMarker=new Class({tickEl:null,valueEl:null,value:0,width:0,align:'normal',Implements:[Lib.Core,Events],initialize:function(el,args){this.el=el;this.setProperties(args);this.initTickEl();this.initValueEl();this.initValue();this.initWidth();return this},initTickEl:function(){this.tickEl=this.el.getElement('[class*=sliderMarkerTick::]');return this},initValueEl:function(){this.valueEl=this.el.getElement('[class*=sliderMarkerValue::]');return this},initValue:function(){if(this.valueEl){this.valueEl.set('html',this.value)}return this},initWidth:function(){var size=1;if(this.valueEl){this.valueEl.setStyle('float','right');size=this.valueEl.getSize().x;this.valueEl.setStyle('float','')}else{this.tickEl.setStyle('float','right');size=this.tickEl.getSize().x;this.tickEl.setStyle('float','')}this.width=size;this.el.setStyle('width',this.width)},getValue:function(){return this.value},getPosition:function(){return this.el.getCoordinates().x},getCenterOffset:function(){return this.width/2},getWidth:function(){return this.width},moveTo:function(value,center){center=typeof center==='undefined'?true:false;if(!center){this.el.setStyle('left',value)}else{this.el.setStyle('left',value-this.getCenterOffset())}return this},render:function(){this.el.setStyle('visibility','visible');return this}});Lib.SliderHandle=new Class({Implements:[Lib.Core,Events],CustomEvents:['drag','release','start','change'],drag:null,draggable:true,orientation:'horizontal',visible:true,value:0,offset:0,offsetStyle:'left',draggable:true,centerOffset:0,maxPrimary:0,minPrimary:0,maxSecondary:0,minSecondary:0,snap:1,bars:{upper:null,lower:null},initialize:function(el,args){this.el=el;this.setProperties(args);this.initCenterOffset();if(this.draggable){this.initDrag();this.initDragEvents();this.initKeyEvents()}if(!this.visible){this.el.setStyle('visibility','hidden')}return this},initDrag:function(){var limit={};if(this.orientation==='horizontal'){limit={x:[this.minPrimary,this.maxPrimary],y:[this.minSecondary,this.maxSecondary]}}else{limit={y:[this.minPrimary,this.maxPrimary],x:[this.minSecondary,this.maxSecondary]}}if(this.drag===null){this.drag=new Drag(this.el,{limit:limit,snap:this.snap})}return this},initDragEvents:function(){this.drag.addEvent('start',function(e){this.drag.document.removeEvent('mousemove',this.drag.bound.drag);var doDrag=function(e){Lib.TooltipManager.pause();this.invokeEvent('drag',[this,this.el,this.drag,e])}.bind(this);this.drag.document.addEvents({mousemove:doDrag,mouseup:function(){this.drag.document.removeEvent('mousemove',doDrag);Lib.TooltipManager.resume()}.bind(this)})}.bind(this));return this},initKeyEvents:function(){var func=function(e){if(e.key==='left'){this.down()}else if(e.key==='right'){this.up()}};this.el.addEvent('focus',function(){window.addEvent('keydown',func.bind(this))}.bind(this));this.el.addEvent('blur',function(){window.removeEvent('keydown',func)}.bind(this))},initCenterOffset:function(){var dims=this.el.getAllDimensions();this.centerOffset=(dims.coordinates.right-dims.coordinates.left)/2;this.maxPrimary=this.maxPrimary-this.centerOffset;this.minPrimary=this.minPrimary-this.centerOffset;return this},getValue:function(){return this.value},setValue:function(value){this.value=value;return this},setOffset:function(offset){this.offset=offset-this.getCenterOffset();this.el.setStyle(this.offsetStyle,(this.offset)+'px');return this},getOffset:function(){return this.offset},getCenterOffset:function(){return this.centerOffset},getYoungerHandle:function(){if($chk(this.bars.lower)){return this.bars.lower.minHandle}return null},getElderHandle:function(){if($chk(this.bars.upper)){return this.bars.upper.maxHandle}return null},getYoungerBar:function(){if($chk(this.bars.lower)){return this.bars.lower}return null},getElderBar:function(){if($chk(this.bars.upper)){return this.bars.upper}return null},getNextBar:function(direction){return direction==='up'?this.getElderBar():this.getYoungerBar()},getPreviousBar:function(direction){return direction==='up'?this.getYoungerBar():this.getElderBar()},getNextHandle:function(direction){return direction==='up'?this.getElderHandle():this.getYoungerHandle()},getPreviousHandle:function(direction){return direction==='up'?this.getYoungerHandle():this.getElderHandle()},up:function(){this.goTo(this.getValue()+1);return this},down:function(){this.goTo(this.getValue()-1);return this},increaseBy:function(value,force){force=force||false;this.goTo(this.getValue()+value,force);return this},decreaseBy:function(value){this.goTo(this.getValue()-value);return this},goTo:function(value,force){force=force||false;this.invokeEvent('start',[this,value]);return this},show:function(){if(this.visible){this.el.setStyle('visibility','visible')}},_forceGoTo:function(value,offset){this.setValue(value);this.setOffset(offset);this.invokeEvent('change',[this,this.getValue()])},setLowerBar:function(bar){this.bars.lower=bar;return this},setUpperBar:function(bar){this.bars.upper=bar;return this}});Lib.SliderBar=new Class({Implements:[Lib.Core,Events],CustomEvents:['change'],maxHandle:null,minHandle:null,lastUsedHandle:null,offset:0,offsetStyle:'left',values:{max:0,min:0,size:0},valueStyle:'width',range:{min:0,max:0},size:{min:null,max:null},updateClass:null,updateItems:[],updateItemsSize:[],isUnlimited:false,initialize:function(el,args){this.el=el;this.setProperties(args);this.initMinMaxSize();this.initUpdateItems();this.minHandle.setUpperBar(this);this.maxHandle.setLowerBar(this);this.maxHandle.addEvent('change',function(){this.refresh()}.bind(this));this.minHandle.addEvent('change',function(){this.refresh()}.bind(this))},initMinMaxSize:function(){if(this.size.min===null){this.size.min=0}if(this.size.max===null){this.size.max=this.getMax()}return this},initUpdateItems:function(){if(typeOf(this.updateClass)==='string'){this.updateItems=$$('[class*='+this.updateClass+'::]');this.updateItems.each(function(item){var els=item.getElements('[class*=barSize::]');els.each(function(el){this.updateItemsSize.push(el)}.bind(this))}.bind(this))}return this},setMaxHandle:function(handle){this.maxHandle=handle},setMinHandle:function(handle){this.minHandle=handle},refresh:function(){var max=this.getHighValue(),min=this.getLowValue(),maxOrMin='min',unlimited=unlimited||false,size,internalSize;internalSize=(this.maxHandle.getOffset()-this.minHandle.getOffset());if(internalSize<0){internalSize=0}size=(this.getHighValue()-this.getLowValue());this.values={max:max,min:min,size:size};this.el.setStyle(this.offsetStyle,this.minHandle.getOffset()+this.minHandle.getCenterOffset());this.el.setStyle(this.valueStyle,internalSize);this.el.setStyle('visibility','visible');this.maxHandle.show();this.minHandle.show();this.invokeEvent('change',[this,this.values]);this.refreshUpdateItems();return this},refreshUpdateItems:function(){this.updateItemsSize.each(function(item){if(item.get('tag')==='input'){item.set('value',this.values.size)}else{if(this.isUnlimited){item.set('html','Unlimited')}else{item.set('html',this.values.size)}}}.bind(this))},getLowValue:function(){return $chk(this.minHandle)?this.minHandle.getValue():this.range.min},getHighValue:function(){return $chk(this.maxHandle)?this.maxHandle.getValue():this.range.max},getValues:function(){return this.values},getSize:function(){return this.size},hasMaxSize:function(){return this.getSize().max<(this.getMax()-this.getMin())},hasMinSize:function(){return this.getSize().min>0},getMin:function(){return this.range.min},getMax:function(){return this.range.max},getMaxSize:function(){return this.size.max},getMinSize:function(){return this.size.min},makeUnlimited:function(){this.isUnlimited=true;this.refreshUpdateItems();this.invokeEvent('change',[this,this.values]);return this},removeUnlimited:function(){this.isUnlimited=false;this.refreshUpdateItems();this.invokeEvent('change',[this,this.values]);return this},isValidValue:function(value){return value>=this.getMin()&&value<=this.getMax()},isValidHandleMove:function(handle,value){if(this.isValidValue(value)){if(this.isMinHandle(handle)&&value<=this.getHighValue()&&(this.getHighValue()-value)<=this.getSize().max&&(this.getHighValue()-value)>=this.getSize().min){return true}else if(this.isMaxHandle(handle)&&value>=this.getLowValue()&&(value-this.getLowValue())<=this.getSize().max&&(value-this.getLowValue())>=this.getSize().min){return true}}return false},isValidPosition:function(min,max){return this.isValidValue(min)&&this.isValidValue(max)&&max-min<=this.getSize().max&&max-min>=this.getSize().min},willCausePull:function(value){return(value-this.getLowValue())>this.getSize().max},usesHandle:function(handle){return this.isMaxHandle(handle)||this.isMinHandle(handle)},isMaxHandle:function(handle){return handle===this.maxHandle},isMinHandle:function(handle){return handle===this.minHandle}});Lib.SliderHandleMove=new Class({Implements:[Lib.Core],value:0,offset:0,handle:null,maxTick:0,tick:0,sliderWidth:0,numValues:0,sliderRange:{min:0,max:0},initialize:function(o){this.setProperties(o);this.initTicks()},initTicks:function(){this._intTick=(this.sliderWidth/this.numValues).maxDecimals(4);this._maxIntTick=this._intTick*this.numValues;return this},move:function(handle,value,force){this.handle=handle;this.value=value;force=force||false;var valid=true,moveBy=value-handle.getValue(),direction=(moveBy<0)?'down':'up',finalValue=value,ehs=[],eh=this.handle.getElderHandle(),yhs=[],yh=this.handle.getYoungerHandle();if(force){this._doMove(this.handle,value);return}while(eh){ehs.push(eh);eh=eh.getElderHandle()}while(yh){yhs.push(yh);yh=yh.getYoungerHandle()}if(direction==='up'){if(ehs.length>0){var last=ehs[ehs.length-1];if((last.getValue()+moveBy)<=this.sliderRange.max){ehs.each(function(h){this._doMove(h,h.getValue()+moveBy)}.bind(this));this._doMove(this.handle,value)}else{moveBy=this.sliderRange.max-last.getValue();ehs.each(function(h){this._doMove(h,h.getValue()+moveBy)}.bind(this));this._doMove(this.handle,this.handle.getValue()+moveBy)}}else{if(value>this.sliderRange.max){this._doMove(this.handle,this.sliderRange.max)}else{this._doMove(this.handle,value)}}}else{if(yhs.length>0){var toMove=[];yhs.each(function(h){if(value<h.getValue()){toMove.push(h)}});if(value<this.sliderRange.min){value=this.sliderRange.min}toMove.each(function(h){this._doMove(h,value)}.bind(this))}else{if(value<this.sliderRange.min){value=this.sliderRange.min}}ehs.each(function(h){var val=h.getValue()-(this.handle.getValue()-value);this._doMove(h,val)}.bind(this));this._doMove(this.handle,value)}},_doMove:function(handle,value){handle._forceGoTo(value,this.valueToIntTick(value));return},nearestIntTick:function(num){return(Math.round(num.toInt()/this._intTick)*this._intTick).maxDecimals(4)},intTickToValue:function(intTick){return Math.round((intTick*this.numValues)/this._maxIntTick)+this.sliderRange.min},valueToIntTick:function(value){return(((value-this.sliderRange.min)*this._maxIntTick)/this.numValues).maxDecimals(4)}});Lib.Slider=new Class({Implements:[Lib.Core,Events],bars:[],handles:[],markers:[],range:{},orientation:'horizontal',value:0,numValues:0,_intTick:0,_curIntTick:0,_maxIntTick:0,_queue:[],_queueing:false,initialize:function(el,args){this.el=el;this.setProperties(args);this.setWidth(this.el.getAllDimensions().boxSize.width);this.mover=new Lib.SliderHandleMove({sliderWidth:this.getWidth(),sliderRange:this.range,numValues:this.getNumValues()});this.resetters.each(function(r){this.bindResetterEvents(r)}.bind(this))},positionMarkers:function(){this.markers.each(function(m){var val=m.getValue(),moveTo=0;if(m.align==='right'){moveTo=this.getWidth()-m.getWidth();m.moveTo(moveTo,false)}else if(typeOf(val)==='number'){moveTo=this.mover.valueToIntTick(val);m.moveTo(moveTo)}if(m.tickEl){m.tickEl.setStyle('visibility','visible')}if(m.valueEl){m.valueEl.setStyle('visibility','visible')}}.bind(this))},refresh:function(){this.positionMarkers();this.bars.each(function(bar){var maxVal=bar.start.min+bar.start.size,maxOffset=this.mover.valueToIntTick(maxVal),minVal=bar.start.min,minOffset=this.mover.valueToIntTick(minVal);this.mover.move(bar.maxHandle,maxVal,true);this.mover.move(bar.minHandle,minVal,true);bar.refresh()}.bind(this));this.checkUnlimited()},bindResetterEvents:function(resetter){resetter.addEvent('click',function(){this.refresh()}.bind(this));return this},bindHandleEvents:function(handle){handle.addEvents({drag:function(handle,handleEl,handleDrag,e){this.onHandleDrag(handle,handleEl,handleDrag,e)}.bind(this),start:function(handle,value){this.mover.move(handle,value)}.bind(this)});return this},onHandleDrag:function(handle,handleEl,handleDrag,e){var offset=e.page.x-this.el.getCoordinates().left,value=this.mover.intTickToValue(offset),unlimited=false;this.mover.move(handle,value);this.checkUnlimited()},addBar:function(bar){this.bars.push(bar);return this},addHandle:function(handle){this.handles.push(handle);this.bindHandleEvents(handle);return this},addMarker:function(marker){this.markers.push(marker);return this},addResetter:function(resetter){this.resetters.push(resetter);this.bindResetterEvents(resetter);return this},setWidth:function(w){this.width=w;return this},getWidth:function(){return this.width},getMin:function(){return this.range.min},getMax:function(){return this.range.max},getSize:function(){return this.range.max-this.range.min},getNumValues:function(){return this.range.max-this.range.min},getBar:function(id){for(var i=0,len=this.bars.length;i<len;i++){if(this.bars[i].el.get('id')===id){return this.bars[i]}}return null},checkUnlimited:function(){var unlimited=false;for(var i=0,len=this.bars.length;i<len;i++){if(this.bars[i].getHighValue()>=this.unlimitedWhen){unlimited=true;break}}if(unlimited){for(var i=0,len=this.bars.length;i<len;i++){this.bars[i].makeUnlimited()}}else{for(var i=0,len=this.bars.length;i<len;i++){this.bars[i].removeUnlimited()}}return this}});Lib.Chrome=new Class({Implements:[Lib.Core,Chain,Events],el:null,initialize:function(el){this.initEl(el)},initEl:function(el){var me=this;this.el=$$(el)[0];return this},getSize:function(){return this.size},getScrollSize:function(){return{width:this.el.getScrollSize().x,height:this.el.getScrollSize().y}},getCoordinates:function(){return this.el.getCoordinates()},getAllDimensions:function(){return this.el.getAllDimensions()}});Lib.LayerChrome=new Class({Extends:Lib.Chrome,Implements:[Lib.IFillable,Lib.IToggleable,Lib.IResizable],CustomEvents:['closeClick'],fitToScreen:false,margin:50,initialize:function(el){this.parent(el);this.initCustomEvents().initCloseEvent().initFillable().initToggleable().initResizable()},initCloseEvent:function(el){var me=this;this.el.getElements('.layer_close').addEvent('click',function(){me.invokeEvent('closeClick')});return this},refresh:function(args){Lib.Chrome.RefreshStrategy.fillableToggleable.apply(this,['layer',args])},reset:function(){this.contentWrapper.setStyles({overflow:'hidden',position:'relative',height:'',width:''});this.contentHolder.setStyles({overflow:'',width:'',height:''});this.el.setStyles({width:'',height:''})}});Lib.TooltipChrome=new Class({Extends:Lib.Chrome,Implements:[Lib.IFillable,Lib.IResizable,Lib.IToggleable],name:'standard',carat:null,caratPos:0,extraPadding:0,contentWidth:200,contentHeight:40,contentMinWidth:40,contentMinHeight:0,correctDimensions:false,initialize:function(el,name){this.parent(el);this.name=name;this.initExtraEls();this.initExtraPadding();this.initCaratPos();this.initFillable();this.initResizable();this.initToggleable()},initExtraEls:function(el){this.carat=this.el.getElement('.tip_carat');return this},initExtraPadding:function(){var klass=this.el.getProperty('class'),re=/Extra:(\d*)/,res=re.exec(klass);if($chk(res)&&$chk(res[1])){this.extraPadding=res[1].toInt()}return this},initCaratPos:function(){var klass=this.el.getProperty('class'),re=/Carat:(\d*)/,res=re.exec(klass);if($chk(res)&&$chk(res[1])){this.caratPos=res[1]}return this},changeDirection:function(dir){var me=this,klass=this.el.getProperty('class');var tipklass='tip_pad_';if(this.name!=='standard'){tipklass='tip_'+this.name+'_pad_'}Lib.Utils.directions.each(function(dir){var old=tipklass+dir;var re=new RegExp(old);if(re.test(klass)){me.el.removeClass(old)}});this.el.addClass(tipklass+dir);return this},refresh:function(args){Lib.Chrome.RefreshStrategy.fillableToggleable.apply(this,['tooltip',args]);return this},reset:function(){this.contentWrapper.setStyles({overflow:'hidden',position:'relative',height:'',width:''});this.contentHolder.setStyles({overflow:'',width:'',height:''});this.el.setStyles({width:'',height:''})}});Lib.SlideshowChrome=new Class({Extends:Lib.Chrome,CustomEvents:['next','back','goTo'],_currentTracker:null,initialize:function(el){this.parent(el);this.initCustomEvents()},initEl:function(el){var me=this;this.el=$$(el)[0];this.trackers=this.el.getElements('.lib_ss_track');this.setTracker(0);this.trackers.each(function(t,index){t.addEvent('click',function(){me.invokeEvent('goTo',index)})});this.canvas=this.el.getElement('.lib_ss_canvas');this.backEls=this.el.getElements('.lib_ss_back');this.nextEls=this.el.getElements('.lib_ss_next');this.nextEls.each(function(ne){me.bindClickEvent('next',ne)});this.backEls.each(function(be){me.bindClickEvent('back',be)});return this},bindClickEvent:function(which,el){var me=this;el.addEvent('click',function(){me.invokeEvent(which)})},switchTracker:function(index){if(index>=0&&index<this.trackers.length){this._currentTracker.removeClass('active');this.setTracker(index);this._currentTracker.addClass('active')}},deactivateBack:function(){this.backEls.each(function(be){be.removeEvents('click').removeClass('active')})},activateBack:function(){var me=this;this.deactivateBack();this.backEls.each(function(be){me.bindClickEvent('back',be);be.addClass('active')})},deactivateNext:function(){this.nextEls.each(function(ne){ne.removeEvents('click').removeClass('active')})},activateNext:function(){var me=this;this.deactivateNext();this.nextEls.each(function(ne){me.bindClickEvent('next',ne);ne.addClass('active')})},setTracker:function(index){this._currentTracker=this.trackers[index]}});Lib.Chrome.RefreshStrategy={fillableToggleable:function(type,args){var show={},hide={},measurements={},correctedSize={};measurements=this.measure(args.contentSize.width,args.contentSize.height);if(type==='tooltip'&&(Browser.ie)){measurements.element.height=measurements.element.height-4}this.setSize(measurements.element.width,measurements.element.height);this.resizeContentHolder(measurements.content.width,measurements.content.height);this.resizeContentWrapper(measurements.content.width,measurements.content.height);this.setStartCoords(args.startCoords);this.setEndCoords(args.endCoords);if(type=='layer'){correctedSize=Lib.Measure.correctDimensions(measurements.element.width,measurements.element.height,this.endCoords,this.margin);if(correctedSize.correction){if(this.fitToScreen){correctedSize.width=correctedSize.width+16;this.resizeContentHolder(measurements.content.width,measurements.content.height);this.resizeContentWrapper(measurements.content.width,measurements.content.height);var newH=(measurements.content.height-(measurements.element.height-correctedSize.height));this.contentWrapper.setStyles({height:newH,width:measurements.content.width+16,'overflow-y':'auto'});this.contentHolder.setStyles({'margin-right':16})}else{correctedSize.width=measurements.element.width;correctedSize.height=measurements.element.height}}}else{correctedSize.width=measurements.element.width;correctedSize.height=measurements.element.height;correctedSize.x=this.endCoords.x;correctedSize.y=this.endCoords.y}this.resize(correctedSize.width,correctedSize.height);show={'width':[correctedSize.width,correctedSize.width],'height':[correctedSize.height,correctedSize.height],'left':[correctedSize.x,correctedSize.x],'top':[correctedSize.y,correctedSize.y],'opacity':[0,1]};hide={'width':[1,1],'height':[1,1],'left':-999,'opacity':[0,0]};this.updateTransitions(show,hide);return this}};Lib.Bootstrapper={init:function(){window.addEvent('domready',function(){Lib.Bootstrapper.HtmlTemplates.init();Lib.Bootstrapper.BackgroundCache.init();Lib.TooltipManager.init();Lib.Bootstrapper.Tooltips.init();if(typeof Lib.HtmlTemplates.Tooltips.alternate!=='undefined'){Lib.Bootstrapper.Tooltips.initAlt()}Lib.Bootstrapper.Tabs.init();Lib.Bootstrapper.Slider.init()})},parseParams:function(str,namespace){var reGroup=/(?:\w|\d)*\:\:(\w|\d|\:)[^ ]*/g,reValues=/((?:\w|\d)[^:]*):((?:\w|\d)[^:]*)/g,reGetNamespace=/((?:\w|\d)*)\:\:/,reIsInteger=/^\d*$/,tempRe=null,match=null,namespace=namespace||null,tests=[],results={};if(namespace!==null){tempRe=new RegExp(namespace+"\:\:.[^ ]*");tests[0]=tempRe.exec(str)}else{while(match=reGroup.exec(str)){tests.push(match[0])}}if(tests.length==1){var test=tests[0],ns=reGetNamespace.exec(test),res=results;while(match=reValues.exec(test)){if(reIsInteger.test(match[2])){match[2]=match[2].toInt()}else if(match[2]==='true'||match[2]==='false'){match[2]=(match[2]==='true')?true:false}res[match[1]]=match[2]}}else{tests.each(function(test){var ns=reGetNamespace.exec(test),res=results[ns[1]]={};while(match=reValues.exec(test)){if(reIsInteger.test(match[2])){match[2]=match[2].toInt()}else if(match[2]==='true'||match[2]==='false'){match[2]=(match[2]==='true')?true:false}res[match[1]]=match[2]}})}return results},Tooltips:{init:function(){var me=this,tooltips=$$('.tip'),tip_triggers=$$('.tooltip');var tt_chrome_trigger=new Lib.Trigger([Lib.HtmlTemplates.Tooltips.standard],{out:function(){Lib.TooltipManager.hide();this.removeFriends()}});var doShow=function(triggerObj,trigger,tip){var t=Lib.TooltipManager.tooltip;if(($chk(t)&&t.chrome.isVisible()&&t.curBase==trigger)){clearTimeout(triggerObj.blurTimeout)}else{var info=me.parse(trigger,tip);var chrome=Lib.Bootstrapper.parseParams(trigger.get('class'),'tooltipLauncher');info.chrome=chrome.chrome;(function(){Lib.TooltipManager.show('html',info)}).delay(40)}};tip_triggers.each(function(tt,index){var friends=[tt,Lib.HtmlTemplates.Tooltips.standard],curTip=tooltips[index];var trig=new Lib.Trigger([tt],{friends:friends,over:function(){tt_chrome_trigger.makeFriends([this]);doShow(trig,this,curTip)},out:function(){Lib.TooltipManager.hide();tt_chrome_trigger.removeFriends()}});curTip.getElements('a').each(function(a){a.addEvent('focus',function(){doShow(trig,tt,curTip)})})})},initAlt:function(){var me=this,tooltips=$$('.tip_alt'),tip_triggers=$$('.tooltip_alt');var tt_chrome_trigger=new Lib.Trigger([Lib.HtmlTemplates.Tooltips.alternate],{out:function(){Lib.TooltipManager.hide();this.removeFriends()}});var doShow=function(triggerObj,trigger,tip){var t=Lib.TooltipManager.tooltip;if(($chk(t)&&t.chrome.isVisible()&&t.curBase==trigger)){clearTimeout(triggerObj.blurTimeout)}else{var info=me.parse(trigger,tip);var chrome=Lib.Bootstrapper.parseParams(trigger.get('class'),'tooltipLauncher');info.chrome=chrome.chrome;(function(){Lib.TooltipManager.show('html',info)}).delay(40)}};tip_triggers.each(function(tt,index){var friends=[tt,Lib.HtmlTemplates.Tooltips.alternate],curTip=tooltips[index];var trig=new Lib.Trigger([tt],{friends:friends,over:function(){tt_chrome_trigger.makeFriends([this]);doShow(trig,this,curTip)},out:function(){Lib.TooltipManager.hide();tt_chrome_trigger.removeFriends()}});curTip.getElements('a').each(function(a){a.addEvent('focus',function(){doShow(trig,tt,curTip)})})})},parse:function(trigger,tip){var dims=trigger.getAllDimensions(),contentSize={width:tip.style.width.toInt(),height:tip.style.height.toInt()},content=tip.get('html').makeDom(),direction='top',href=trigger.getProperty('href'),rel=trigger.getProperty('rel'),klass=trigger.getProperty('class');var id='';if(href&&href.match('#.+')){id=href.replace('#','')}else if(rel&&rel.match('#')){id=rel.replace('#','')}else if(klass&&klass.match('#')){var re=/\#(.[^\s]+)/;var res=re.exec(klass);if(res[1]){id=res[1]}}if(isNaN(contentSize.height)){contentSize.height='auto'}if(id.length>0){tip=$(id);content=tip.get('html').makeDom()}for(var i=0,len=Lib.Utils.directions.length;i<len;i++){var dir=Lib.Utils.directions[i];if(trigger.hasClass(dir)){direction=dir;break}else if(tip.hasClass(dir)){direction=dir}}return{content:content,contentSize:contentSize,direction:direction,startCoords:{x:dims.centerPoint.x,y:dims.centerPoint.y},base:trigger}}},Layers:{init:function(){var me=this,layer_triggers=new Lib.Trigger($$('.launcher'),{click:function(){var stuff=me.parse(this);var contentSize={width:stuff.contentWidth,height:stuff.contentHeight};Lib.LayerManager.show(stuff.type,{content:stuff.content,title:stuff.title,startCoords:'windowCenter',endCoords:'elementCenter',contentSize:contentSize,base:stuff.base,style:stuff.style})}})},parse:function(trigger){var type='html',style='standard',href=trigger.get('href'),rel=trigger.get('rel'),klass=trigger.get('class'),titleProp=trigger.get('title'),content=null,contentWidth=null,contentHeight='auto',title='';if(href){if(href.match('#')){var el=$(href.replace('#',''));content=el.getFirst().clone();contentWidth=el.getFirst().style.width.toInt();contentHeight=el.getFirst().style.height.toInt();if($chk(el.style.width)){contentWidth=el.getStyle('width').toInt()}if($chk(el.style.height)){contentHeight=el.getStyle('height').toInt()}}else if(href.match(/(.jpg|.gif|.png)/)){type='image';content=href}else if(href.match(/\.swf/)){type='swf';content=href;contentWidth=742;contentHeight=366}else if(rel&&rel.match('#')){var el=$(rel.replace('#',''));content=el.getFirst().clone();contentWidth=el.getFirst().style.width.toInt();contentHeight=el.getFirst().style.height.toInt();if($chk(el.style.width)){contentWidth=el.getStyle('width').toInt()}if($chk(el.style.height)){contentHeight=el.getStyle('height').toInt()}}else{type='iframe';content=href}}if(klass&&klass.match('layer::')){var reW=/width:(\d+)/.exec(klass);var reH=/height:(\d+)/.exec(klass);if(reW&&reW[1]){contentWidth=reW[1].toInt()}if(reH&&reH[1]){contentHeight=reH[1].toInt()}}else if(rel&&rel.match('layer::')){var reW=/width:(\d+)/.exec(rel);var reH=/height:(\d+)/.exec(rel);if(reW&&reW[1]){contentWidth=reW[1].toInt()}if(reH&&reH[1]){contentHeight=reH[1].toInt()}}if(trigger.get('class').match('chrome')){var re=/chrome:(.[^\s]+)/;style=re.exec(trigger.get('class'))[1]}if(titleProp){title=titleProp}return{title:title,content:content,contentWidth:contentWidth,contentHeight:contentHeight,type:type,style:style,base:trigger}}},Tabs:{init:function(){if($('togglers')){var tab_tabs=new Lib.Tabs({tabs:$('togglers').getElements('a'),contents:$$('.toggled')})}if($('togglers_local')){var local_tabs=new Lib.Tabs({tabs:$('togglers_local').getElements('a'),contents:$$('.toggled_local')})}if($('togglers_alt_lg')){new Lib.Tabs({tabs:$('togglers_alt_lg').getElements('a'),contents:$$('.toggled_alt_lg')})}if($('togglers_alt_sm')){new Lib.Tabs({tabs:$('togglers_alt_sm').getElements('a'),contents:$$('.toggled_alt_sm')})}if($('togglers_alt_lg_1')){new Lib.Tabs({tabs:$('togglers_alt_lg_1').getElements('a'),contents:$$('.toggled_alt_lg_1')})}if($('togglers_alt_lg_2')){new Lib.Tabs({tabs:$('togglers_alt_lg_2').getElements('a'),contents:$$('.toggled_alt_lg_2')})}if($('togglers_alt_lg_3')){new Lib.Tabs({tabs:$('togglers_alt_lg_3').getElements('a'),contents:$$('.toggled_alt_lg_3')})}if($('togglers_alt_lg_4')){new Lib.Tabs({tabs:$('togglers_alt_lg_4').getElements('a'),contents:$$('.toggled_alt_lg_4')})}if($$('.colorSwitchers')){var els=$$('.colorSwitchers');var swatches=$$('.colorSwitched');els.each(function(el,index){new Lib.Tabs({tabs:els[index].getElements('a'),contents:swatches[index].getElements('div')})})}var tabs=$$('[class*=tabs::]');if(tabs){tabs.each(function(t){var p=Lib.Bootstrapper.Tabs.parse(t);if(p){var tab_tabs=new Lib.Tabs({tabs:t.getElements('a'),contents:$$('.'+p)})}})}},parse:function(tab){var re1=/tabs\:\:.[^\s]*/,re2=/set\:(.*)/;var res1=re1.exec(tab.get('class'));var res2=re2.exec(res1);if(res2&&typeof res2[1]!=='undefined'){return res2[1]}return false}},Slideshow:{init:function(slideshow){var ss=($chk(slideshow))?[slideshow]:$$('.lib_ss'),objs=[];if(ss){ss.each(function(el){var slideshow=new Lib.Slideshow({chrome:(new Lib.SlideshowChrome(el))});objs.push(slideshow)})}return objs.length===1?objs[0]:objs}},Slider:{init:function(){var sliders=$$('[class*=slider::]');sliders.each(function(slider){var v=Lib.Bootstrapper.parseParams(slider.get('class'),'slider'),unlimitedWhen=(typeof v.unlimitedWhen!=='undefined')?v.unlimitedWhen:null,resetters=[];if(typeof v.reset!=='undefined'){var r=$$('[class*='+v.reset+'::]');r.each(function(rs){resetters.push(r)})}var s=new Lib.Slider(slider,{range:{min:v.min,max:v.max},unlimitedWhen:unlimitedWhen,resetters:resetters});Lib.Manager.Sliders.add(s);Lib.Bootstrapper.Slider.build(slider,s)})},build:function(el,slider){var values={};bars=[],handles=[];values.bars=[],values.handles=[];bars=el.getElements('[class*=sliderBar::]');markers=el.getElements('[class*=sliderMarker::]');markers.each(function(marker){var klass=marker.get('class'),v=Lib.Bootstrapper.parseParams(klass,'sliderMarker'),value=v.value,align=(typeof v.align!=='undefined')?v.align:'normal';slider.addMarker(new Lib.SliderMarker(marker,{value:value,align:align}))});bars.each(function(bar){var klass=bar.get('class'),v=Lib.Bootstrapper.parseParams(klass,'sliderBar'),sliderSize=slider.getSize(),maxHandle=null,minHandle=null,min=(typeof v.min!=='undefined')?v.min:slider.getMin(),max=(typeof v.max!=='undefined')?v.max:slider.getMax(),maxSize=(typeof v.maxSize!=='undefined')?v.maxSize:sliderSize,minSize=(typeof v.minSize!=='undefined')?v.minSize:0,minStart=(typeof v.minStart!=='undefined')?v.minStart:0,sizeStart=(typeof v.sizeStart!=='undefined')?v.sizeStart:0,updateClass=(typeof v.update!=='undefined')?v.update:null;for(var i=0,len=handles.length;i<len;i++){if(handles[i].el.get('class').match(v.maxHandle)){maxHandle=handles[i]}else if(handles[i].el.get('class').match(v.minHandle)){minHandle=handles[i]}}if(maxHandle===null){var el=slider.el.getElement('[class*='+v.maxHandle+'::]'),props=Lib.Bootstrapper.parseParams(el.get('class'),v.maxHandle),visible=(typeof props.visible!=='undefined')?props.visible:true;draggable=(typeof props.draggable!=='undefined')?props.draggable:true;maxHandle=new Lib.SliderHandle(el,{maxPrimary:slider.getWidth(),minSecondary:-4,maxSecondary:-4,orientation:slider.orientation,visible:visible,draggable:draggable});slider.addHandle(maxHandle);handles.push(maxHandle)}if(minHandle===null){var el=slider.el.getElement('[class*='+v.minHandle+'::]'),props=Lib.Bootstrapper.parseParams(el.get('class'),v.minHandle),visible=(typeof props.visible!=='undefined')?props.visible:true;minHandle=new Lib.SliderHandle(el,{maxPrimary:slider.getWidth(),minSecondary:-4,maxSecondary:-4,orientation:slider.orientation,visible:visible});slider.addHandle(minHandle);handles.push(minHandle)}slider.addBar(new Lib.SliderBar(bar,{maxHandle:maxHandle,minHandle:minHandle,range:{min:min,max:max},size:{min:minSize,max:maxSize},start:{min:minStart,size:sizeStart},updateClass:updateClass}))});slider.refresh();return slider}},HtmlTemplates:{init:function(obj){if(obj&&typeOf(obj)==='object'){Lib.Bootstrapper.HtmlTemplates.inject(obj)}else{if(typeof LibOptions!=='undefined'&&typeof LibOptions.HtmlTemplates!=='undefined'&&typeof LibOptions.HtmlTemplates.Tooltips!=='undefined'){Lib.HtmlTemplates.Tooltips=Object.merge(Lib.HtmlTemplates.Tooltips,LibOptions.HtmlTemplates.Tooltips)}Lib.Bootstrapper.HtmlTemplates.inject(Lib.HtmlTemplates)}},inject:function(obj){for(var item in obj){if(typeOf(obj[item])==='string'){var dom=obj[item].makeDom(),pl_wrapper=new Element('div',{'class':'pl'});obj[item]=dom.getFirst();Lib.Utils.body.adopt(pl_wrapper);pl_wrapper.adopt(obj[item]);dom.destroy()}else if(typeOf(obj[item])==='object'){Lib.Bootstrapper.HtmlTemplates.init(obj[item])}else{throw new Error('the HtmlTemplates are not setup correctly');}}}},Overlay:{init:function(){Lib.Utils.overlay=new Lib.Overlay({fade:true})}},BackgroundCache:{init:function(){if(Browser.ie4){try{document.execCommand("BackgroundImageCache",false,true)}catch(err){}}}}};Lib.Bootstrapper.init();


