
var inviteFriends=stdClass.extend({constructor:function(el,settings){this.base();Object.extend(this.s,{moduleName:'InviteFriends',ceid:null,json:{ver:'0.1',meta:{},data:{},requests:[]}});Object.extend(this.n,{el:el,form:null,submitButton:null,dialog:null});Object.extend(this.c,{requests:[]});this._attachEvents();},elOnClick:function(e){Event.stop(e);new FormDialog({'+zones':{heading:'Loading...',text:'Loading...'},position:{exemplarAnchor:'top right',selfAnchor:'bottom right',exemplar:this.n.el,offsetY:0,offsetX:0},groupId:'InviteDialogs',groupLimit:1,startHidden:true,moduleName:this.s.moduleName,parentThis:this,ceID:this.s.ceid});},_attachEvents:function(){this.eObserve(this.n.el,'click',this.elOnClick.bind(this));}});var shareDialog=null;EventSelectors.register({'a.invitefriends':function(el,index){new inviteFriends(el);}},true);var messageStack=stdClass.extend({constructor:function(el,settings){this.base();Object.extend(this.s,{timer:null,waitTime:10000,effectTime:5000,closeSelector:".close"});Object.extend(this.n,{el:el,childEl:[],tempContainer:document.createElement('div')});Object.extend(this.c,{messageFunctions:{success:this.successMessage.bind(this),error:this.errorMessage.bind(this)}});var eles=this.n.el.getElementsBySelector('ul');for(var x=0;x<eles.length;x++){var childEl={el:eles[x],timer:null}
this.startTimer(childEl);this._attachEvents(childEl);}},closeClicked:function(childEl){this.removeMessage(childEl);},addMessage:function(message,type){if(!this.n.el){return;}
if(typeof(this.c.messageFunctions[type])=="function"){var html=this.c.messageFunctions[type](message);}else{return;}
this.n.tempContainer.innerHTML=html;var childEl={el:this.n.tempContainer.firstChild,timer:null}
this.n.el.appendChild(childEl.el);this._attachEvents(childEl);Element.show(this.n.el);if(window.Effect){Effect.BlindDown(childEl.el,{duration:(this.s.effectTime/1000),afterFinishInternal:function(effect){effect.element.undoClipping();effect.element.style.height='';}});}else{Element.show(childEl.el);}
this.startTimer(childEl);},removeMessage:function(childEl){this.endTimer(childEl);if(window.Effect){Effect.Fade(childEl.el,{duration:(this.s.effectTime/1000)});}else{Element.hide(this.n.el);}},startTimer:function(childEl){this.endTimer(childEl);this.s.timer=setTimeout(this.removeMessage.bind(this,childEl),this.s.waitTime);},endTimer:function(childEl){if(childEl.timer!=null){clearTimeout(childEl.timer);childEl.timer=null;}},successMessage:function(message){var html='<ul class="success">';html+='<li class="title">Success</li>';html+='<li>'+message+'</li>';html+='</ul>';return html;},errorMessage:function(message){var html='<ul class="error">';html+='<li class="title">Error</li>';html+='<li>'+message+'</li>';html+='<li class="close">Close me</li>';html+='</ul>';return html;},_attachEvents:function(childEl){var eles=document.getElementsBySelector(this.s.closeSelector,(childEl.el||this.n.el));for(var x=0;x<eles.length;x++){this.eObserve(eles[x],'click',this.closeClicked.bind(this,childEl));}}});Behaviour.register({'#messagestack':function(el){new messageStack(el);}});Object.extend(Effect,{throbbers:[],Throb:function(node){var throbber={node:node,key:'throbber',throbber:document.createElement('div')}
Element.addClassName(throbber.throbber,"throbber");throbber.node.parentNode.insertBefore(throbber.throbber,throbber.node);var dims=Element.getDimensions(throbber.node);Object.extend(throbber.throbber.style,{position:"absolute",width:dims['width']+"px",height:dims['height']+"px"});if(document.all){throbber.iframe=document.createElement('iframe');Element.addClassName(throbber.iframe,"iFrame");Object.extend(throbber.iframe.style,{position:"absolute",width:dims['width']+"px",height:dims['height']+"px",filter:"alpha(opacity=0)",opacity:"0",zIndex:"2"});if(parseInt(throbber.node.style.zIndex)>1){Object.extend(throbber.iframe.style,{zIndex:parseInt(throbber.node.style.zIndex)+1});}
throbber.throbber.appendChild(throbber.iframe);}
Effect.throbbers.push(throbber);},CancelThrob:function(node){var throbber=null;for(var x=0;x<Effect.throbbers.length;x++){if(Effect.throbbers[x].node==node){throbber=Effect.throbbers.splice(x,1);break;}}
if(!throbber){return;}
throbber=throbber[0];throbber.throbber.parentNode.removeChild(throbber.throbber);}});