var Roar=new Class({Implements:[Options,Events,Chain],options:{duration:3000,position:'upperLeft',container:null,bodyFx:null,itemFx:null,margin:{x:10,y:0},offset:0,className:'roar',onShow:$empty,onHide:$empty,onRender:$empty},initialize:function(a){this.setOptions(a);this.items=[];this.container=$(this.options.container)||document},alert:function(a,b,c){var d=Array.link(arguments,{title:String.type,message:String.type,options:Object.type});var e=[new Element('h3',{'html':$pick(d.title,'')})];if(d.message)e.push(new Element('p',{'html':d.message}));return this.inject(e,d.options)},inject:function(a,b){if(!this.body)this.render();b=b||{};var c=[-this.options.offset,0];var d=this.items.getLast();if(d){c[0]=d.retrieve('roar:offset');c[1]=c[0]+d.offsetHeight+this.options.offset}var e={'opacity':1};e[this.align.y]=c;var f=new Element('div',{'class':this.options.className,'opacity':0}).adopt(new Element('div',{'class':'roar-bg','opacity':1}),a);f.setStyle(this.align.x,0).store('roar:offset',c[1]).set('morph',$merge({unit:'px',link:'cancel',onStart:Chain.prototype.clearChain,transition:Fx.Transitions.Back.easeOut},this.options.itemFx));var g=this.remove.create({bind:this,arguments:[f],delay:10});this.items.push(f.addEvent('click',g));if(this.options.duration){var h=false;var i=(function(){i=null;if(!h)g()}).delay(this.options.duration);f.addEvents({mouseover:function(){h=true},mouseout:function(){h=false;if(!i)g()}})}f.inject(this.body).morph(e);return this.fireEvent('onShow',[f,this.items.length])},remove:function(a){var b=this.items.indexOf(a);if(b==-1)return this;this.items.splice(b,1);a.removeEvents();var c={opacity:0};c[this.align.y]=a.getStyle(this.align.y).toInt()-a.offsetHeight-this.options.offset;a.morph(c).get('morph').chain(a.destroy.bind(a));return this.fireEvent('onHide',[a,this.items.length]).callChain(a)},empty:function(){while(this.items.length)this.remove(this.items[0]);return this},render:function(){this.position=this.options.position;if($type(this.position)=='string'){var a={x:'center',y:'center'};this.align={x:'left',y:'top'};if((/left|west/i).test(this.position))a.x='left';else if((/right|east/i).test(this.position))this.align.x=a.x='right';if((/upper|top|north/i).test(this.position))a.y='top';else if((/bottom|lower|south/i).test(this.position))this.align.y=a.y='bottom';this.position=a}this.body=new Element('div',{'class':'roar-body'}).inject(document.body);if(Browser.Engine.trident4)this.body.addClass('roar-body-ugly');this.moveTo=this.body.setStyles.bind(this.body);this.reposition();if(this.options.bodyFx){var b=new Fx.Morph(this.body,$merge({unit:'px',chain:'cancel',transition:Fx.Transitions.Circ.easeOut},this.options.bodyFx));this.moveTo=b.start.bind(b)}var c=this.reposition.bind(this);window.addEvents({scroll:c,resize:c});this.fireEvent('onRender',this.body)},reposition:function(){var a=document.getCoordinates(),scroll=document.getScroll(),margin=this.options.margin;a.left+=scroll.x;a.right+=scroll.x;a.top+=scroll.y;a.bottom+=scroll.y;var b=($type(this.container)=='element')?this.container.getCoordinates():a;this.moveTo({left:(this.position.x=='right')?(Math.min(b.right,a.right)-margin.x):(Math.max(b.left,a.left)+margin.x),top:(this.position.y=='bottom')?(Math.min(b.bottom,a.bottom)-margin.y):(Math.max(b.top,a.top)+margin.y)})}});var SqueezeBox={presets:{onOpen:$empty,onClose:$empty,onUpdate:$empty,onResize:$empty,onMove:$empty,onShow:$empty,onHide:$empty,size:{x:600,y:450},sizeLoading:{x:200,y:150},marginInner:{x:20,y:20},marginImage:{x:50,y:75},handler:false,target:null,closable:true,closeBtn:true,zIndex:65555,overlayOpacity:0.7,classWindow:'',classOverlay:'',overlayFx:{},resizeFx:{},contentFx:{},parse:false,parseSecure:false,shadow:true,document:null,ajaxOptions:{}},initialize:function(a){if(this.options)return this;this.presets=$merge(this.presets,a);this.doc=this.presets.document||document;this.options={};this.setOptions(this.presets).build();this.bound={window:this.reposition.bind(this,[null]),scroll:this.checkTarget.bind(this),close:this.close.bind(this),key:this.onKey.bind(this)};this.isOpen=this.isLoading=false;return this},build:function(){this.overlay=new Element('div',{id:'sbox-overlay',styles:{display:'none',zIndex:this.options.zIndex}});this.win=new Element('div',{id:'sbox-window',styles:{display:'none',zIndex:this.options.zIndex+2}});if(this.options.shadow){if(Browser.Engine.webkit420){this.win.setStyle('-webkit-box-shadow','0 0 10px rgba(0, 0, 0, 0.7)')}else if(!Browser.Engine.trident4){var b=new Element('div',{'class':'sbox-bg-wrap'}).inject(this.win);var c=function(e){this.overlay.fireEvent('click',[e])}.bind(this);['n','ne','e','se','s','sw','w','nw'].each(function(a){new Element('div',{'class':'sbox-bg sbox-bg-'+a}).inject(b).addEvent('click',c)})}}this.content=new Element('div',{id:'sbox-content'}).inject(this.win);this.closeBtn=new Element('a',{id:'sbox-btn-close',href:'#'}).inject(this.win);this.fx={overlay:new Fx.Tween(this.overlay,$merge({property:'opacity',onStart:Events.prototype.clearChain,duration:250,link:'cancel'},this.options.overlayFx)).set(0),win:new Fx.Morph(this.win,$merge({onStart:Events.prototype.clearChain,unit:'px',duration:750,transition:Fx.Transitions.Quint.easeOut,link:'cancel',unit:'px'},this.options.resizeFx)),content:new Fx.Tween(this.content,$merge({property:'opacity',duration:250,link:'cancel'},this.options.contentFx)).set(0)};$(this.doc.body).adopt(this.overlay,this.win)},assign:function(a,b){return($(a)||$$(a)).addEvent('click',function(){return!SqueezeBox.fromElement(this,b)})},open:function(d,e){this.initialize();if(this.element!=null)this.trash();this.element=$(d)||false;this.setOptions($merge(this.presets,e||{}));if(this.element&&this.options.parse){var f=this.element.getProperty(this.options.parse);if(f&&(f=JSON.decode(f,this.options.parseSecure)))this.setOptions(f)}this.url=((this.element)?(this.element.get('href')):d)||this.options.url||'';this.assignOptions();var g=g||this.options.handler;if(g)return this.setContent(g,this.parsers[g].call(this,true));var h=false;return this.parsers.some(function(a,b){var c=a.call(this);if(c){h=this.setContent(b,c);return true}return false},this)},fromElement:function(a,b){return this.open(a,b)},assignOptions:function(){this.overlay.set('class',this.options.classOverlay);this.win.set('class',this.options.classWindow);if(Browser.Engine.trident4)this.win.addClass('sbox-window-ie6')},close:function(e){var a=($type(e)=='event');if(a)e.stop();if(!this.isOpen||(a&&!$lambda(this.options.closable).call(this,e)))return this;this.fx.overlay.start(0).chain(this.toggleOverlay.bind(this));this.win.setStyle('display','none');this.fireEvent('onClose',[this.content]);this.trash();this.toggleListeners();this.isOpen=false;return this},trash:function(){this.element=this.asset=null;this.content.empty();this.options={};this.removeEvents().setOptions(this.presets).callChain()},onError:function(){this.asset=null;this.setContent('string',this.options.errorMsg||'An error occurred')},setContent:function(a,b){if(!this.handlers[a])return false;this.content.className='sbox-content-'+a;this.applyTimer=this.applyContent.delay(this.fx.overlay.options.duration,this,this.handlers[a].call(this,b));if(this.overlay.retrieve('opacity'))return this;this.toggleOverlay(true);this.fx.overlay.start(this.options.overlayOpacity);return this.reposition()},applyContent:function(a,b){if(!this.isOpen&&!this.applyTimer)return;this.applyTimer=$clear(this.applyTimer);this.hideContent();if(!a){this.toggleLoading(true)}else{if(this.isLoading)this.toggleLoading(false);this.fireEvent('onUpdate',[this.content],20)}if(a){if(['string','array'].contains($type(a)))this.content.set('html',a);else if(!this.content.hasChild(a))this.content.adopt(a)}this.callChain();if(!this.isOpen){this.toggleListeners(true);this.resize(b,true);this.isOpen=true;this.fireEvent('onOpen',[this.content])}else{this.resize(b)}},resize:function(a,b){this.showTimer=$clear(this.showTimer||null);var c=this.doc.getSize(),scroll=this.doc.getScroll();this.size=$merge((this.isLoading)?this.options.sizeLoading:this.options.size,a);var d={width:this.size.x,height:this.size.y,left:(scroll.x+(c.x-this.size.x-this.options.marginInner.x)/2).toInt(),top:(scroll.y+(c.y-this.size.y-this.options.marginInner.y)/2).toInt()};this.hideContent();if(!b){this.fx.win.start(d).chain(this.showContent.bind(this))}else{this.win.setStyles(d).setStyle('display','');this.showTimer=this.showContent.delay(50,this)}return this.reposition()},toggleListeners:function(a){var b=(a)?'addEvent':'removeEvent';this.closeBtn[b]('click',this.bound.close);this.overlay[b]('click',this.bound.close);this.doc[b]('keydown',this.bound.key)[b]('mousewheel',this.bound.scroll);this.doc.getWindow()[b]('resize',this.bound.window)[b]('scroll',this.bound.window)},toggleLoading:function(a){this.isLoading=a;this.win[(a)?'addClass':'removeClass']('sbox-loading');if(a)this.fireEvent('onLoading',[this.win])},toggleOverlay:function(a){var b=this.doc.getSize().x;this.overlay.setStyle('display',(a)?'':'none');this.doc.body[(a)?'addClass':'removeClass']('body-overlayed');if(a){this.scrollOffset=this.doc.getWindow().getSize().x-b;this.doc.body.setStyle('margin-right',this.scrollOffset)}else{this.doc.body.setStyle('margin-right','')}},showContent:function(){if(this.content.get('opacity'))this.fireEvent('onShow',[this.win]);this.fx.content.start(1)},hideContent:function(){if(!this.content.get('opacity'))this.fireEvent('onHide',[this.win]);this.fx.content.cancel().set(0)},onKey:function(e){switch(e.key){case'esc':this.close(e);case'up':case'down':return false}},checkTarget:function(e){return this.content.hasChild(e.target)},reposition:function(){var a=this.doc.getSize(),scroll=this.doc.getScroll(),ssize=this.doc.getScrollSize();this.overlay.setStyles({width:ssize.x+'px',height:ssize.y+'px'});this.win.setStyles({left:(scroll.x+(a.x-this.win.offsetWidth)/2-this.scrollOffset).toInt()+'px',top:(scroll.y+(a.y-this.win.offsetHeight)/2).toInt()+'px'});return this.fireEvent('onMove',[this.overlay,this.win])},removeEvents:function(a){if(!this.$events)return this;if(!a)this.$events=null;else if(this.$events[a])this.$events[a]=null;return this},extend:function(a){return $extend(this,a)},handlers:new Hash(),parsers:new Hash()};SqueezeBox.extend(new Events($empty)).extend(new Options($empty)).extend(new Chain($empty));SqueezeBox.parsers.extend({image:function(a){return(a||(/\.(?:jpg|png|gif)$/i).test(this.url))?this.url:false},clone:function(a){if($(this.options.target))return $(this.options.target);if(this.element&&!this.element.parentNode)return this.element;var b=this.url.match(/#([\w-]+)$/);return(b)?$(b[1]):(a?this.element:false)},ajax:function(a){return(a||(this.url&&!(/^(?:javascript|#)/i).test(this.url)))?this.url:false},iframe:function(a){return(a||this.url)?this.url:false},string:function(a){return true}});SqueezeBox.handlers.extend({image:function(b){var c,tmp=new Image();this.asset=null;tmp.onload=tmp.onabort=tmp.onerror=(function(){tmp.onload=tmp.onabort=tmp.onerror=null;if(!tmp.width){this.onError.delay(10,this);return}var a=this.doc.getSize();a.x-=this.options.marginImage.x;a.y-=this.options.marginImage.y;c={x:tmp.width,y:tmp.height};for(var i=2;i--;){if(c.x>a.x){c.y*=a.x/c.x;c.x=a.x}else if(c.y>a.y){c.x*=a.y/c.y;c.y=a.y}}c.x=c.x.toInt();c.y=c.y.toInt();this.asset=$(tmp);tmp=null;this.asset.width=c.x;this.asset.height=c.y;this.applyContent(this.asset,c)}).bind(this);tmp.src=b;if(tmp&&tmp.onload&&tmp.complete)tmp.onload();return(this.asset)?[this.asset,c]:null},clone:function(a){if(a)return a.clone();return this.onError()},adopt:function(a){if(a)return a;return this.onError()},ajax:function(b){var c=this.options.ajaxOptions||{};this.asset=new Request.HTML($merge({method:'get',evalScripts:false},this.options.ajaxOptions)).addEvents({onSuccess:function(a){this.applyContent(a);if(c.evalScripts!==null&&!c.evalScripts)$exec(this.asset.response.javascript);this.fireEvent('onAjax',[a,this.asset]);this.asset=null}.bind(this),onFailure:this.onError.bind(this)});this.asset.send.delay(10,this.asset,[{url:b}])},iframe:function(a){this.asset=new Element('iframe',$merge({src:a,frameBorder:0,width:this.options.size.x,height:this.options.size.y},this.options.iframeOptions));if(this.options.iframePreload){this.asset.addEvent('load',function(){this.applyContent(this.asset.setStyle('display',''))}.bind(this));this.asset.setStyle('display','none').inject(this.content);return false}return this.asset},string:function(a){return a}});SqueezeBox.handlers.url=SqueezeBox.handlers.ajax;SqueezeBox.parsers.url=SqueezeBox.parsers.ajax;SqueezeBox.parsers.adopt=SqueezeBox.parsers.clone;var SexyAlertBox=new Class({Implements:[Options,Chain],getOptions:function(){return{name:'SexyAlertBox',zIndex:65559,onReturn:false,onReturnFunction:$empty,BoxStyles:{'width':500},OverlayStyles:{'background-color':'#000','opacity':0.7},showDuration:200,showEffect:Fx.Transitions.linear,closeDuration:100,closeEffect:Fx.Transitions.linear,moveDuration:500,moveEffect:Fx.Transitions.Back.easeOut,onShowStart:$empty,onShowComplete:$empty,onCloseStart:$empty,onCloseComplete:function(a){this.options.onReturnFunction(this.options.onReturn)}.bind(this)}},initialize:function(b){this.i=0;this.setOptions(this.getOptions(),b);this.Overlay=new Element('div',{'id':'BoxOverlay','styles':{'display':'none','position':'absolute','top':'0','left':'0','opacity':0,'z-index':this.options.zIndex,'background-color':this.options.OverlayStyles['background-color'],'height':window.getScrollHeight()+'px','width':window.getScrollWidth()+'px'}});this.Content=new Element('div',{'id':this.options.name+'-BoxContenedor'});this.Contenedor=new Element('div',{'id':this.options.name+'-BoxContent'}).adopt(this.Content);this.InBox=new Element('div',{'id':this.options.name+'-InBox'}).adopt(this.Contenedor);this.Box=new Element('div',{'id':this.options.name+'-Box','styles':{'display':'none','z-index':this.options.zIndex+2,'position':'absolute','top':'0','left':'0','width':this.options.BoxStyles['width']+'px'}}).adopt(this.InBox);this.Overlay.injectInside(document.body);this.Box.injectInside(document.body);this.preloadImages();window.addEvent('resize',function(){if(this.options.display==1){this.Overlay.setStyles({'height':window.getScrollHeight()+'px','width':window.getScrollWidth()+'px'});this.replaceBox()}}.bind(this));this.Box.addEvent('keydown',function(a){if(a.key=='esc'){this.options.onReturn=false;this.display(0)}}.bind(this));window.addEvent('scroll',this.replaceBox.bind(this))},preloadImages:function(){},togFlashObjects:function(a){var b=new Array("embed","iframe","object");for(y=0;y<b.length;y++){var c=document.getElementsByTagName(b[y]);for(i=0;i<c.length;i++){c[i].style.visibility=a}}},display:function(a){if(this.Transition)this.Transition.cancel();if(this.options.display==0&&a!=0||a==1){if(Browser.Engine.trident4)$$('select','object','embed').each(function(a){a.style.visibility='hidden'});this.togFlashObjects('hidden');this.Overlay.setStyle('display','block');this.options.display=1;this.fireEvent('onShowStart',[this.Overlay]);this.Transition=new Fx.Tween(this.Overlay,{property:'opacity',duration:this.options.showDuration,transition:this.options.showEffect,onComplete:function(){sizes=window.getSize();scrollito=window.getScroll();this.Box.setStyles({'display':'block','left':(scrollito.x+(sizes.x-this.options.BoxStyles['width'])/2).toInt()});this.replaceBox();this.fireEvent('onShowComplete',[this.Overlay])}.bind(this)}).start(this.options.OverlayStyles['opacity'])}else{if(Browser.Engine.trident4)$$('select','object','embed').each(function(a){a.style.visibility='visible'});this.togFlashObjects('visible');this.queue.delay(500,this);this.Box.setStyles({'display':'none','top':0});this.Content.empty();this.options.display=0;this.fireEvent('onCloseStart',[this.Overlay]);if(this.i==1){this.Transition=new Fx.Tween(this.Overlay,{property:'opacity',duration:this.options.closeDuration,transition:this.options.closeEffect,onComplete:function(){this.fireEvent('onCloseComplete',[this.Overlay])}.bind(this)}).start(0)}}},replaceBox:function(){if(this.options.display==1){sizes=window.getSize();scrollito=window.getScroll();if(this.MoveBox)this.MoveBox.cancel();this.MoveBox=new Fx.Morph(this.Box,{duration:this.options.moveDuration,transition:this.options.moveEffect}).start({'left':(scrollito.x+(sizes.x-this.options.BoxStyles['width'])/2).toInt(),'top':(scrollito.y+(sizes.y-this.Box.offsetHeight)/2).toInt()});this.focusin.delay(this.options.moveDuration,this)}},focusin:function(){if($chk($('BoxAlertBtnOk'))){$('BoxAlertBtnOk').focus()}else if($chk($('BoxPromptInput'))){$('BoxPromptInput').focus()}else if($chk($('BoxConfirmBtnOk'))){$('BoxConfirmBtnOk').focus()}},queue:function(){this.i--;this.callChain()},messageBox:function(a,b,c,d){this.chain(function(){c=$extend({'textBoxBtnOk':'OK','textBoxBtnCancel':'Cancel','textBoxInputPrompt':null,'password':false,'onComplete':$empty},c||{});this.options.onReturnFunction=c.onComplete;this.ContenedorBotones=new Element('div',{'id':this.options.name+'-Buttons'});if(a=='alert'||a=='info'||a=='error'){this.AlertBtnOk=new Element('input',{'id':'BoxAlertBtnOk','type':'submit','value':c.textBoxBtnOk,'styles':{'width':'70px'}});this.AlertBtnOk.addEvent('click',function(){this.options.onReturn=true;this.display(0)}.bind(this));if(a=='alert')this.clase='BoxAlert';else if(a=='error')this.clase='BoxError';else if(a=='info')this.clase='BoxInfo';this.Content.setProperty('class',this.clase).set('html',b);this.AlertBtnOk.injectInside(this.ContenedorBotones);this.ContenedorBotones.injectInside(this.Content);this.display(1)}else if(a=='confirm'){this.ConfirmBtnOk=new Element('input',{'id':'BoxConfirmBtnOk','type':'submit','value':c.textBoxBtnOk,'styles':{'width':'70px'}});this.ConfirmBtnCancel=new Element('input',{'id':'BoxConfirmBtnCancel','type':'submit','value':c.textBoxBtnCancel,'styles':{'width':'70px'}});this.ConfirmBtnOk.addEvent('click',function(){this.options.onReturn=true;this.display(0)}.bind(this));this.ConfirmBtnCancel.addEvent('click',function(){this.options.onReturn=false;this.display(0)}.bind(this));this.Content.setProperty('class','BoxConfirm').set('html',b);this.ConfirmBtnOk.injectInside(this.ContenedorBotones);this.ConfirmBtnCancel.injectInside(this.ContenedorBotones);this.ContenedorBotones.injectInside(this.Content);this.display(1)}else if(a=='prompt'){this.PromptBtnOk=new Element('input',{'id':'BoxPromptBtnOk','type':'submit','value':c.textBoxBtnOk,'styles':{'width':'70px'}});this.PromptBtnCancel=new Element('input',{'id':'BoxPromptBtnCancel','type':'submit','value':c.textBoxBtnCancel,'styles':{'width':'70px'}});a=c.password?'password':'text';this.PromptInput=new Element('input',{'id':'BoxPromptInput','type':a,'value':d,'styles':{'width':'250px'}});this.PromptBtnOk.addEvent('click',function(){this.options.onReturn=this.PromptInput.value;this.display(0)}.bind(this));this.PromptBtnCancel.addEvent('click',function(){this.options.onReturn=false;this.display(0)}.bind(this));this.Content.setProperty('class','BoxPrompt').set('html',b+'<br />');this.PromptInput.injectInside(this.Content);new Element('br').injectInside(this.Content);this.PromptBtnOk.injectInside(this.ContenedorBotones);this.PromptBtnCancel.injectInside(this.ContenedorBotones);this.ContenedorBotones.injectInside(this.Content);this.display(1)}else{this.options.onReturn=false;this.display(0)}});this.i++;if(this.i==1)this.callChain()},alert:function(a,b){this.messageBox('alert',a,b)},info:function(a,b){this.messageBox('info',a,b)},error:function(a,b){this.messageBox('error',a,b)},confirm:function(a,b){this.messageBox('confirm',a,b)},prompt:function(a,b,c){this.messageBox('prompt',a,c,b)}});SexyAlertBox.implement(new Events,new Options);window.addEvent('domready',function(){Sexy=new SexyAlertBox()});