
var SilverIPE=function(el,url,options){this.url=url;var that=this;this.el=(typeof el==='string')?document.getElementById(el):el;this.el.title=(this.el.title==='')?'Click to edit...':this.el.title;this.originalBg=(this.el.style.backgroundColor==='')?'transparent':this.el.style.backgroundColor;this.options={parameterName:'value',method:'POST',highlightColor:'#ededed',borderColor:'#000',savingText:'<img src=\"http://demos111.mootools.net/demos/Group/spinner.gif\" alt=\"loading...\" /> Loading...',saveButtonLabel:'save',cancelButtonLabel:'cancel',textWidth:49,textHeight:3,additionalParameters:{}};this.options=this.mergeObjects(this.options,options||{});this.options.method=this.options.method.toUpperCase();this.el.onmouseover=function(){that.el.style.backgroundColor=that.options.highlightColor;};this.el.onmouseout=function(){that.el.style.backgroundColor=that.originalBg;};this.el.onclick=function(){that.elClicked.call(that);};this.buildElements();};SilverIPE.prototype.buildElements=function(){var parentEl=this.el.parentNode;var that=this;if(this.el.tagName.toLowerCase()==='span'||((this.el.tagName.toLowerCase()==='div'||this.el.tagName.toLowerCase()==='p')&&this.el.style.display==='inline')){this.inputEl=document.createElement("input");this.inputEl.type="text";this.inputEl.size=this.options.textWidth;this.originalDisplay='inline';this.inputEl.className='ipe-input';}
else if((this.el.tagName.toLowerCase()==='div'||this.el.tagName.toLowerCase()==='p')||(this.el.tagName.toLowerCase()&&this.el.style.display==='block'))
{this.inputEl=document.createElement("textarea");this.inputEl.cols=this.options.textWidth;this.inputEl.rows=this.options.textHeight;this.originalDisplay=(this.el.style.display==='')?'block':this.el.style.display;}
this.inputEl.style.display='none';this.inputEl.style.border='1px dashed '+this.options.borderColor;this.inputEl.style.backgroundColor=this.options.highlightColor;parentEl.insertBefore(this.inputEl,this.el.nextSibling);this.saveButton=document.createElement('a');this.saveButton.innerHTML=this.options.saveButtonLabel;this.setCommonStyles(this.saveButton);this.saveButton.className='ipe-save';this.saveButton.onclick=function(){that.saveClicked.call(that);return false;};parentEl.insertBefore(this.saveButton,this.inputEl.nextSibling);this.cancelButton=document.createElement('a');this.cancelButton.innerHTML=this.options.cancelButtonLabel;this.setCommonStyles(this.cancelButton);this.cancelButton.className='ipe-cancel';this.cancelButton.onclick=function(){that.cancelClicked.call(that);return false;};parentEl.insertBefore(this.cancelButton,this.saveButton.nextSibling);};SilverIPE.prototype.cancelClicked=function(){this.hideIpe();};SilverIPE.prototype.saveClicked=function(){if(this.inputEl.value!==this.lastValue)
{this.el.innerHTML=this.options.savingText;this.hideIpe();this.request=this.requestFactory();var that=this;var additionalData=this.extractParams();var data=this.options.parameterName+'='+this.inputEl.value+additionalData;var url=this.options.method==="POST"?this.url:this.url+"?"+data;this.request.onreadystatechange=function(){that.handleRequest.call(that);};this.request.open(this.options.method,url,true);this.request.setRequestHeader('X-Requested-With','XMLHttpRequest');this.request.setRequestHeader('Accept','text/javascript, text/html, application/xml, text/xml, */*');if(this.options.method==="POST"){this.request.setRequestHeader("Content-type","application/x-www-form-urlencoded; charset=utf-8");this.request.setRequestHeader("Content-length",data.length);this.request.setRequestHeader("Connection","close");}
this.request.send(data);}
else{this.cancelClicked();}};SilverIPE.prototype.extractParams=function(){var params="";for(param in this.options.additionalParameters){if(typeof param!=="function"){params=params+"&"+param+"="+this.options.additionalParameters[param];}}
return params;}
SilverIPE.prototype.hideIpe=function(){this.inputEl.style.display='none';this.saveButton.style.display='none';this.cancelButton.style.display='none';this.el.style.display=this.originalDisplay;};SilverIPE.prototype.setCommonStyles=function(el){el.href='#';el.style.display='none';el.style.margin='0 4px';};SilverIPE.prototype.elClicked=function(test){var strValue=this.trimString(this.el.innerHTML);this.inputEl.value=strValue;this.lastValue=this.inputEl.value;this.showIpe();this.inputEl.focus();};SilverIPE.prototype.showIpe=function(){this.el.style.display='none';this.inputEl.style.display='inline';this.saveButton.style.display='inline';this.cancelButton.style.display='inline';};SilverIPE.prototype.highlight=function(el,origColor,highColor){var that=this;setTimeout(function(){that.doHighlight.call(that,el,highColor);},75);setTimeout(function(){that.doHighlight.call(that,el,origColor);},150);setTimeout(function(){that.doHighlight.call(that,el,highColor);},225);setTimeout(function(){that.doHighlight.call(that,el,origColor);},300);};SilverIPE.prototype.doHighlight=function(el,color){el.style.backgroundColor=color;};SilverIPE.prototype.mergeObjects=function(orig,ext){var name;for(name in ext||{}){if(typeof name!=="function"){orig[name]=ext[name];}}
return orig;};SilverIPE.prototype.trimString=function(str){return str.replace(/^\s\s*/,'').replace(/\s\s*$/,'');};SilverIPE.prototype.requestFactory=function(){if(typeof XMLHttpRequest==="undefined")
{XMLHttpRequest=function(){try{return new ActiveXObject("Msxml2.XMLHTTP.6.0");}
catch(e){}
try{return new ActiveXObject("Msxml2.XMLHTTP.3.0");}catch(e){}
try{return new ActiveXObject("Msxml2.XMLHTTP");}catch(e){}
try{return new ActiveXObject("Microsoft.XMLHTTP");}catch(e){}
throw new Error("This browser does not support XMLHttpRequest or XMLHTTP.");};}
var request=new XMLHttpRequest();return request;};SilverIPE.prototype.handleRequest=function(){if(this.request.readyState===4){if(this.request.status===200){this.el.innerHTML=this.request.responseText;this.hideIpe();this.highlight(this.el,this.originalBg,this.options.highlightColor);}
else{this.el.innerHTML='Error '+this.request.status+": "+this.request.statusText;this.highlight(this.el,this.originalBg,'#FF8282');}}};function loadFile(filename,filetype){var fileref;if(filetype=="js"){fileref=document.createElement('script');fileref.setAttribute("type","text/javascript");fileref.setAttribute("src",filename);}
else if(filetype=="css"){fileref=document.createElement("link");fileref.setAttribute("rel","stylesheet");fileref.setAttribute("type","text/css");fileref.setAttribute("href",filename);}
if(typeof fileref!="undefined"){document.getElementsByTagName("head")[0].appendChild(fileref);}}
var webtape={errorMessage:function(where,report){if(!report){report='Oops, something went wrong here...';}
where.fade('out').set('text',report).addClass('error').fade('in').highlight();},successMessage:function(where,report){where.fade('out');if(!report){report='Whoa, something actually worked!';}
if(where.hasClass('error')){where.removeClass('error').setStyle('background-color','#FFFFCC');}
where.set('text',report).addClass('confirm').fade('in').highlight().setStyle('background-color','#FFFFCC');},isEmail:function(email){var emailToTest,regEx=/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;if(typeof email=='object'){emailToTest=email.get('value');}else{emailToTest=email;}
return regEx.test(emailToTest);},isTrue:function(input){if(input==''&&input=='undefined'&&typeof input=='undefined'&&input==' '&&input==null){return false;}else{return true;}},initToolbox:function(){if($('toolbox')&&$('init_toolbox')){new mootabs('toolbox');var toolboxslide=new Fx.Slide('toolbox');toolboxslide.hide();$('init_toolbox').addEvent('click',function(e){e.stop();toolboxslide.toggle();});}},reportError:function(errorMsg,url,lineNumber){var queryParams={'error_msg':errorMsg,'url':url,'line_number':lineNumber,'location':window.location.href,'action':'report_error'};new Request({url:'http://onwebtape.com/process.php',method:'post'}).send(Hash.toQueryString(queryParams));return false;}};window.webtape=webtape;function errorMessage(where,report){if(!report){report='Oops, something went wrong here...';}
where.fade('out').set('text',report).addClass('error').fade('in').highlight();}
function successMessage(where,report){where.fade('out');if(where.hasClass('error')){where.removeClass('error').setStyle('background-color','#FFFFCC');}
where.set('text',report).addClass('confirm').fade('in').highlight().setStyle('background-color','#FFFFCC');}
function generateSlider(){if($('myElement')!==null&&$('knob')!==null){var el=$('myElement');var knob=$('knob');var slide=new Slider(el,knob,{steps:20,offset:9,mode:'vertical',onChange:function(value,who){$('counter').set('html',value);$('fielder').set('value',value);},onComplete:function(step){var log=$('log_res').empty().addClass('ajax-loading');$('myForm').set('send',{onComplete:function(response){log.removeClass('ajax-loading');log.set('html',response);}});$('myForm').send();}});$('who').addEvent('change',function(){var log=$('log_res').empty().addClass('ajax-loading');$('myForm').set('send',{onComplete:function(response){log.removeClass('ajax-loading');log.set('html',response);}});$('myForm').send();});slide.set(10);}}
function generateTabs(){var mootabs=new Class({Implements:Options,options:{width:'380px',height:'310px',changeTransition:'none',duration:1000,mouseOverClass:'active',activateOnLoad:'updates',useAjax:true,ajaxUrl:'../tabs.php',ajaxOptions:{method:'get'},ajaxLoadingText:'<'+'div'+'class="loading"&gt;'+'&lt;'+'img'+'src="http://demos111.mootools.net/demos/Group/spinner.gif" alt="loading..." /&gt;'+'&lt;'+'br'+' /&gt;loading'+'&lt;/'+'div'+'&gt;',evalScripts:true},initialize:function(element,options){this.setOptions(options);this.el=$(element);this.elid=element;this.el.setStyles({height:this.options.height,width:this.options.width});this.titles=$$('#'+this.elid+' ul.mootabs_title li');this.panelHeight=this.el.getSize().y-(this.titles[0].getSize().y+4);this.panels=$$('#'+this.elid+' .mootabs_panel');this.panels.setStyle('height',this.panelHeight);this.titles.each(function(item){item.addEvent('click',function(){item.removeClass(this.options.mouseOverClass);this.activate(item);}.bind(this));item.addEvent('mouseover',function(){if(item!=this.activeTitle){item.addClass(this.options.mouseOverClass);}}.bind(this));item.addEvent('mouseout',function(){if(item!=this.activeTitle){item.removeClass(this.options.mouseOverClass);}}.bind(this));}.bind(this));if(this.options.activateOnLoad!='none'){if(this.options.activateOnLoad=='first'){this.activate(this.titles[0],true);}
else{this.activate(this.options.activateOnLoad,true);}}},activate:function(tab,skipAnim){if(!$defined(skipAnim)){skipAnim=false;}
if($type(tab)=='string'){myTab=$$('#'+this.elid+' ul li').filter('[title='+tab+']');tab=myTab;}
if($type(tab)=='element'){var newTab=tab.get('title');this.panels.removeClass('active');this.activePanel=this.panels.filter('[id='+newTab+']');this.activePanel.addClass('active');if(this.options.changeTransition!='none'&&skipAnim===false){this.panels.filter('[id='+newTab+']').setStyle('height',0);var changeEffect=new Fx.Elements(this.panels.filter('[id='+newTab+']'),{duration:this.options.duration,transition:this.options.changeTransition});changeEffect.start({'0':{'height':[0,this.panelHeight]}});}
this.titles.removeClass('active');tab.addClass('active');this.activeTitle=tab;if(this.options.useAjax){this._getContent();}}},_getContent:function(){this.activePanel.set('html',this.options.ajaxLoadingText);var panel=this.activePanel;var requestURL=this.options.ajaxUrl+'?tab='+this.activeTitle.get('title');var tabRequest=new Request.HTML({url:requestURL,onSuccess:function(html){panel.set('html','');panel.adopt(html);},onFailure:function(){panel.set('text','The request failed.');}});tabRequest.send();},addTab:function(title,label,content){var newTitle=new Element('li',{'title':title});newTitle.appendText(label);this.titles.include(newTitle);$$('#'+this.elid+' ul').adopt(newTitle);newTitle.addEvent('click',function(){this.activate(newTitle);}.bind(this));newTitle.addEvent('mouseover',function(){if(newTitle!=this.activeTitle){newTitle.addClass(this.options.mouseOverClass);}}.bind(this));newTitle.addEvent('mouseout',function(){if(newTitle!=this.activeTitle){newTitle.removeClass(this.options.mouseOverClass);}}.bind(this));var newPanel=new Element('div',{'style':{'height':this.options.panelHeight},'id':title,'class':'mootabs_panel'});if(!this.options.useAjax){newPanel.set('html',content);}
this.panels.include(newPanel);this.el.adopt(newPanel);},removeTab:function(title){if(this.activeTitle.title==title){this.activate(this.titles[0]);}
$$('#'+this.elid+' ul li').filter('[title='+title+']').remove();$$('#'+this.elid+' .mootabs_panel').filter('[id='+title+']').remove();},next:function(){var nextTab=this.activeTitle.getNext();if(!nextTab){nextTab=this.titles[0];}
this.activate(nextTab);},previous:function(){var previousTab=this.activeTitle.getPrevious();if(!previousTab){previousTab=this.titles[this.titles.length-1];}
this.activate(previousTab);}});}
function generateToolbox(){generateTabs();if($('toolbox')!==null){myTabs1=new mootabs('toolbox');if($('init_toolbox')!==null){var toolboxslide=new Fx.Slide('toolbox');toolboxslide.hide();$('init_toolbox').addEvent('click',function(e){e.stop();toolboxslide.toggle();});}}}
function addToggler(trigger,which){var toggler=new Fx.Slide(which);toggler.hide();$(trigger).addEvent('click',function(e){e.stop();toggler.toggle();});}
function stripslashes(str){str=str.replace(/\\'/g,'\'');str=str.replace(/\\"/g,'"');str=str.replace(/\\0/g,'\0');str=str.replace(/\\\\/g,'\\');return str;}
var mootabs=new Class({Implements:Options,options:{width:'380px',height:'310px',changeTransition:'none',duration:1000,mouseOverClass:'active',activateOnLoad:'first',useAjax:true,ajaxUrl:'http://onwebtape.com/tabs.php',ajaxOptions:{method:'get'},ajaxLoadingText:'<'+'div'
+'class="loading"&gt;'
+'&lt;'+'img'+'src="http://demos111.mootools.net/demos/Group/spinner.gif" alt="loading..." /&gt;'
+'&lt;'+'br'+' /&gt;loading'
+'&lt;/'+'div'+'&gt;',evalScripts:true},initialize:function(element,options){this.setOptions(options);this.el=$(element);this.elid=element;this.el.setStyles({height:this.options.height,width:this.options.width});this.titles=$$('#'+this.elid+' ul li');this.panelHeight=this.el.getSize().y-(this.titles[0].getSize().y+4);this.panels=$$('#'+this.elid+' .mootabs_panel');this.panels.setStyle('height',this.panelHeight);this.titles.each(function(item){item.addEvent('click',function(){item.removeClass(this.options.mouseOverClass);this.activate(item);}.bind(this));item.addEvent('mouseover',function(){if(item!=this.activeTitle)
{item.addClass(this.options.mouseOverClass);}}.bind(this));item.addEvent('mouseout',function(){if(item!=this.activeTitle)
{item.removeClass(this.options.mouseOverClass);}}.bind(this));}.bind(this));if(this.options.activateOnLoad!='none')
{if(this.options.activateOnLoad=='first')
{this.activate(this.titles[0],true);}
else
{this.activate(this.options.activateOnLoad,true);}}},activate:function(tab,skipAnim){if(!$defined(skipAnim))
{skipAnim=false;}
if($type(tab)=='string')
{myTab=$$('#'+this.elid+' ul li').filter('[title='+tab+']');tab=myTab;}
if($type(tab)=='element')
{var newTab=tab.get('title');this.panels.removeClass('active');this.activePanel=this.panels.filter('[id='+newTab+']');this.activePanel.addClass('active');if(this.options.changeTransition!='none'&&skipAnim==false)
{this.panels.filter('[id='+newTab+']').setStyle('height',0);var changeEffect=new Fx.Elements(this.panels.filter('[id='+newTab+']'),{duration:this.options.duration,transition:this.options.changeTransition});changeEffect.start({'0':{'height':[0,this.panelHeight]}});}
this.titles.removeClass('active');tab.addClass('active');this.activeTitle=tab;if(this.options.useAjax)
{this._getContent();}}},_getContent:function(){this.activePanel.set('html',this.options.ajaxLoadingText);var panel=this.activePanel;var requestURL=this.options.ajaxUrl+'?tab='+this.activeTitle.get('title');var tabRequest=new Request.HTML({url:requestURL,onSuccess:function(html){panel.set('html','');panel.adopt(html);},onFailure:function(){panel.set('text','The request failed.');}});tabRequest.send();},addTab:function(title,label,content){var newTitle=new Element('li',{'title':title});newTitle.appendText(label);this.titles.include(newTitle);$$('#'+this.elid+' ul').adopt(newTitle);newTitle.addEvent('click',function(){this.activate(newTitle);}.bind(this));newTitle.addEvent('mouseover',function(){if(newTitle!=this.activeTitle)
{newTitle.addClass(this.options.mouseOverClass);}}.bind(this));newTitle.addEvent('mouseout',function(){if(newTitle!=this.activeTitle)
{newTitle.removeClass(this.options.mouseOverClass);}}.bind(this));var newPanel=new Element('div',{'style':{'height':this.options.panelHeight},'id':title,'class':'mootabs_panel'});if(!this.options.useAjax)
{newPanel.set('html',content);}
this.panels.include(newPanel);this.el.adopt(newPanel);},removeTab:function(title){if(this.activeTitle.title==title)
{this.activate(this.titles[0]);}
$$('#'+this.elid+' ul li').filter('[title='+title+']').remove();$$('#'+this.elid+' .mootabs_panel').filter('[id='+title+']').remove();},next:function(){var nextTab=this.activeTitle.getNext();if(!nextTab){nextTab=this.titles[0];}
this.activate(nextTab);},previous:function(){var previousTab=this.activeTitle.getPrevious();if(!previousTab){previousTab=this.titles[this.titles.length-1];}
this.activate(previousTab);}});webtape.comments=new Class({Implements:Options,options:{},initialize:function(options){this.setOptions(options);var self=this;$('comment-form').addEvent('submit',function(e){self.postComment(e);});$$('.comment-reply').each(function(el){var that=this;el.addEvent('click',function(e){that.replyComment(e);});},this);$$('.comment-delete').each(function(el){var that=this;el.addEvent('click',function(e){that.deleteComment(e);});},this);},deleteComment:function(e){e.stop();var el=e.target.set('text','Deleting...');this.is_reply=e.target.getParent('.comment').hasClass('reply');var queryParams={which:el.getProperty('rel'),poster:el.getProperty('alt'),is_facebook:el.getProperty('longdesc'),postid:this.options.postid,type:this.options.type,owner:this.options.owner,action:'comment_delete'};var that=this;var req=new Request({url:'http://onwebtape.com/process.php',method:'post',onComplete:function(response){if(response==1||response=='1'){var classToDelete;if(this.is_reply){classToDelete='comment';}else{classToDelete='comment-holder';}
el.getParent('.'+classToDelete).nix({duration:700},true);this.is_reply=null;}else{webtape.errorMessage($('comment-error'),'Oops, something went wrong here...');}}.bind(this),onFailure:function(xhr){webtape.errorMessage($('comment-error'),'Oops, something went wrong here...');}}).send(Hash.toQueryString(queryParams));},postComment:function(e){e.stop();var form=e.target;var submitButton=e.target.getElement('input[type=submit]');var commentBox=e.target.getElement('textarea');var commentText=commentBox.get('value');submitButton.set('value','adding...').disabled=true;if(commentText==''||commentText==' '){webtape.errorMessage($('error_res'),'Hey, that ain\'t no comment!');submitButton.set('value','add comment!').disabled=false;}else{var that=this;form.set('send',{onComplete:function(response){if(response!='0'&&response!=0){var object=JSON.decode(response);var comment=object.comment;var title=object.title;var comment_id=object.comment_id;var html=object.html;var postid=object.id;var type=object.type;var is_reply=object.is_reply;var reply_to=object.reply_to;var injectAfterElement;if(Boolean(Number(is_reply))){injectAfterElement=$$('div[rel=comment-'+reply_to+']')[0];}else{injectAfterElement=$$('#comments .comment')[0];}
this.html=html;if(webtape.Facebook.isLoggedIn){webtape.Facebook.publishStream({link:'http://onwebtape.com/'+type+'/'+postid,picture:'http://onwebtape.com/images/wt_large.gif',name:'A comment on '+title,caption:'',description:comment,action:{'name':'view full post','link':'http://onwebtape.com/'+type+'/'+postid}});}else{sendData();}
this.removeCommentReplyForm();new Element('div',{'style':'display:none','class':'comment'}).set('html',stripslashes(html)).inject(injectAfterElement,'after').reveal();FB.XFBML.parse();submitButton.set('value','add comment!').disabled=false;commentBox.set('value','');}else{submitButton.set('value','add comment!').disabled=false;webtape.errorMessage($('comment-error'),'Oops, something went wrong here...');}}.bind(this)}).send();function sendData(){FB.XFBML.parse();}}},replyComment:function(e){e.stop();this.removeCommentReplyForm();this.replyButton=e.target;var self=this,newParams={reply_to:this.replyButton.get('rel'),action:'get_reply_form'};var queryParams=$merge(this.options,newParams);new Request({url:'http://onwebtape.com/process.php',method:'post',onComplete:function(response){if(!!response){var self=this;new Element('div',{'class':'comment reply','html':response}).inject(this.replyButton.getParent('.comment'),'after');if(webtape.Facebook.isLoggedIn){webtape.Facebook.publishStream({link:'http://onwebtape.com/'+this.options.type+'/'+this.options.postid,picture:'http://onwebtape.com/images/wt_large.gif',name:'A comment on '+this.options.title,caption:'',description:comment,action:[{'text':'view full post','href':'http://onwebtape.com/'+this.options.type+'/'+this.options.postid}]});}
$('comment-reply-form').addEvent('submit',function(e){self.postComment(e);});}else{alert('fail');}}.bind(this)}).send(Hash.toQueryString(queryParams));},removeCommentReplyForm:function(){if($('comment-reply-form')){$('comment-reply-form').nix({duration:500},true);}}});webtape.upload=new Class({initialize:function(){var self=this;['blog','photo','link'].each(function(type){var that=self;$(type+'_form').addEvent('submit',function(e){e.stop();that.handleSubmit(e);});});window.addEvent('facebook.streamPublish',function(e){self.redirectAfterUpload();});},handleSubmit:function(e){e.stop();this.form=e.target;this.type=this.form.id.replace('_form','');this.toggleSubmit();if(this.isFilledOut()){this.submitForm();}},submitForm:function(){var that=this;var editorContent=tinyMCE.get(this.type+'-body').getContent();var formValues=$(this.type+'_form').toQueryString().parseQueryString();var extraValues={'editor_content':editorContent};var queryParams=$merge(formValues,extraValues);new Request({url:'http://onwebtape.com/process.php',method:'post',onComplete:function(response){var self=that;if(response==0){webtape.errorMessage($('upload-error'),'Hmm, something went wrong here... Are you logged in?');self.toggleSubmit();}else{$('returnID').set('value',response);var ID=$('returnID').get('value');var postToFacebook=$(self.type+'_facebook').checked;if(postToFacebook){var content,imgHref,actionLinks,title=$(self.type+'_title').get('value'),link='http://onwebtape.com/'+self.type+'/'+ID;content=tinyMCE.get(self.type+'-body').getContent()
imgHref=self.getPhotoForFacebookFeed(content,ID);actionLinks={'name':'view full post','link':link};webtape.Facebook.publishStream({link:link,picture:imgHref,name:title,caption:'a '+self.type+' on webtape',description:content.stripTags(),actions:actionLinks});}else{self.redirectAfterUpload();}}}}).send(Hash.toQueryString(queryParams));},getPhotoForFacebookFeed:function(content,postID){if(this.type==='photo'){return'http://onwebtape.com/uploaded/'+postID+'.jpg';}else{var imgTag=content.getTags('img')[0],matchSrcAttr=new RegExp(/src="(.*?)"/),matchedString=matchSrcAttr.exec(imgTag);if(typeof imgTag=='undefined'||matchedString===null){return null;}else{return matchedString[1];}}},redirectAfterUpload:function(){var hiddenID=$('returnID').get('value');var url='http://onwebtape.com/'+this.type+'/'+hiddenID;Cookie.dispose('isUploaded');Cookie.dispose('photo');window.location=url;},isFilledOut:function(which){var title=$(this.type+'_title').get('value');if(title===''||title===' '){webtape.errorMessage($('upload-error'),'How about you put in a little title?');this.toggleSubmit();return false;}else if(this.type==='photo'&&Cookie.read('isUploaded')==null){webtape.errorMessage($('upload-error'),'Did you forget to upload for your photo first?');this.toggleSubmit();return false;}else if(this.type==='link'&&$('link_url').get('value')==''){webtape.errorMessage($('upload-error'),'Oops, you are going to need a URL for your link...');this.toggleSubmit();return false;}else{return true;}},toggleSubmit:function(){var submitButton=this.form.getElement('.save');if(submitButton.disabled){submitButton.set('value','save').disabled=false;}else{submitButton.set('value','saving...').disabled=true;}}});webtape.login=new Class({initialize:function(){if($('login-form')){this.bindLoginHandler();}},bindLoginHandler:function(){var self=this;$('login-form').addEvent('submit',function(e){self.handleLogin(e);});},handleLogin:function(e){e.stop();var loginErrorForm=$('login-error');if(!webtape.isEmail($('login-email'))){webtape.errorMessage(loginErrorForm,'What about a REAL email?');}else if($('login-password').get('value').trim()==''){webtape.errorMessage(loginErrorForm,'Waaayyy secure!');}else{$('login-form').set('send',{onComplete:function(response){if(response=='1'){webtape.successMessage($('login-error'));setTimeout("location.reload(true);",500);}else{webtape.errorMessage($('login-error'));}}}).send();}}});webtape.register=new Class({initialize:function(){if($('register-form')){this.bindregisterHandler();}},bindregisterHandler:function(){var self=this;$('register-form').addEvent('submit',function(e){self.handleRegister(e);});},handleRegister:function(e){e.stop();var loginErrorForm=$('register-error');if(!webtape.isEmail($('register-email'))){webtape.errorMessage(loginErrorForm,'What about a REAL email?');}else if($('register-username').get('value').trim()==''){webtape.errorMessage(loginErrorForm,'But what will we call you?!');}else if($('register-password').get('value').trim()==''){webtape.errorMessage(loginErrorForm,'Waaayyy secure!');}else{$('register-form').set('send',{onComplete:function(response){if(response=='1'){console.log('awesome!');webtape.successMessage($('register-error'));setTimeout("location.reload(true);",500);}else{webtape.errorMessage($('register-error'));}}}).send();}}});var Message=new Class({Implements:[Options,Events],msgChain:null,end:false,isDisplayed:false,windowSize:null,pageSize:null,page:$(document),box:null,boxSize:null,scrollPos:null,windowSize:null,hasVerticalBar:false,hasHorizontalBar:false,boxPos:$empty,tipCheck:true,cancel:false,fx:null,fxOut:null,options:{callingElement:null,top:false,left:false,centered:false,offset:30,width:'auto',icon:null,iconPath:'images/icons/',iconSize:40,fontSize:12,title:null,message:null,delay:0,autoDismiss:true,dismissOnEvent:false,isUrgent:false,callback:null,passEvent:null,stack:true,fxTransition:null,fxDuration:'normal',fxUrgentTransition:Fx.Transitions.Bounce.easeOut,fxOutTransition:null,fxOutDuration:'normal',yesLink:"Yes",noLink:"No"},initialize:function(options){this.setOptions(options);this.box=this;if(this.options.width=='auto')this.options.width='250px';if($chk(this.options.passEvent)&&$defined(this.options.callingElement)){this.options.dismissOnEvent=true;this.options.callingElement.addEvent('mouseout',function(){if(this.isDisplayed)this.dismiss();else this.cancel=true;}.bind(this));}},say:function(title,message,icon,isUrgent,callback){this.setVars(title,message,icon,isUrgent,callback);this.box=this.createBox();this.msgChain=new Chain();this.setMsgChain();},ask:function(title,message,callback,icon,isUrgent){this.options.autoDismiss=false;if($chk(callback))this.options.callback=callback;isUrgent=$defined(isUrgent)?isUrgent:true;this.say(title,message,icon,isUrgent,callback);},tell:function(title,message,icon,isUrgent){isUrgent=$defined(isUrgent)?isUrgent:true;this.options.dismissOnEvent=true;this.say(title,message,icon,isUrgent);},waiter:function(title,message,icon,isCentered){if($chk(isCentered))this.options.centered=isCentered;this.options.autoDismiss=false;this.options.dismissOnEvent=true;this.options.centered=true;this.say(title,message,icon);},tip:function(title,message,icon){this.options.autoDismiss=true;this.options.dismissOnEvent=true;this.say(title,message,icon);},setVars:function(title,message,icon,isUrgent,callback){if($defined(title))this.options.title=title;if($defined(message))this.options.message=message;if($defined(icon))this.options.icon=icon;if($defined(isUrgent))this.options.isUrgent=isUrgent;if($defined(callback))this.options.callback=callback;},setMsgChain:function(){if(!$chk(this.fx)){this.fx=new Fx.Tween(this.box,{link:'chain',onComplete:function(){if((this.options.autoDismiss&&!this.options.dismissOnEvent)||(!this.isDisplayed&&!$chk(this.options.callback)))this.msgChain.callChain();}.bind(this),transition:this.options.fxTransition,duration:this.options.fxDuration});}
var waitTime
if($chk(this.options.callback)||this.options.autoDismiss==false||this.options.dismissOnEvent)waitTime=0;else waitTime=2000;this.msgChain.wait(this.options.delay).chain(function(){if(!this.cancel)this.showMsg();else this.complete();this.fireEvent('onShow');}.bind(this)).wait(waitTime).chain(function(){this.hideMsg();}.bind(this)).callChain();},showMsg:function(){this.setSizes();this.setBoxPosition();if(this.hasVerticalBar)$(document.body).setStyle('overflow','hidden');this.box.setStyles({'opacity':0,'top':this.boxPos.startTop,'left':this.boxPos.startLeft,'z-index':'200'}).fade('in');if(!this.options.isUrgent){this.fx.start('top',this.boxPos.endTop);}else{var urgentFx=new Fx.Tween(this.box,{duration:'long',transition:this.options.fxUrgentTransition});urgentFx.start('top',this.boxPos.endTop);}
this.isDisplayed=true;},dismiss:function(){this.msgChain.callChain();},setBoxPosition:function(){this.boxPos=new Hash();var usePosition=(this.options.top&&this.options.left),startTopPos,startLeftPos,endLeftPos,endTopPos,stackUp=0,stackDown=0,stackPad=3.5,messages,messagesLength=1,heights,mcClass=null,tops;if(this.options.isUrgent){mcClass='[class*=mcUrgent]';}
else if(this.options.top){mcClass='[class*=mcTop]';}
else if($defined(this.options.callingElement)){mcClass='[class*=mcElement]'}
else{mcClass='[class*=mcDefault]';}
if(this.options.stack){messages=$$('[class*=messageClass]'+mcClass+'');messagesInfo=messages.getCoordinates();var heights=new Array();var tops=new Array();messagesInfo.each(function(m){heights.push(m.height);if(m.top>0)tops.push(m.top);});stackUp=this.scrollPos.y+this.windowSize.y-(heights.sum()+stackPad*messages.length);if(stackUp>=tops.min())stackUp=tops.min()-this.boxSize.y-stackPad;stackDown=heights.sum()-this.boxSize.y+(stackPad*messages.length);if(tops.length>0){if(stackDown<=tops[tops.length-1]+heights[heights.length-2]+stackPad)stackDown=tops[tops.length-1]+heights[heights.length-2]+stackPad;}}else{stackUp=this.scrollPos.y+this.windowSize.y-this.boxSize.y-this.options.offset;stackDown=this.options.offset;}
this.options.top?startTopPos=(this.boxSize.y*-1):startTopPos=this.scrollPos.y+this.windowSize.y;this.options.left?startLeftPos=this.options.offset:startLeftPos=this.windowSize.x-this.boxSize.x-this.options.offset;this.options.top?endTopPos=stackDown:endTopPos=(stackUp);if(($chk(this.options.passEvent)&&!this.options.isUrgent)&&!usePosition){var offsetCursor;(this.options.passEvent.page.x+this.boxSize.x>this.windowSize.x)?offsetCursor=(this.boxSize.x*-1)-5:offsetCursor=5;this.boxPos.extend({startTop:this.options.passEvent.page.y-this.options.offset,startLeft:this.options.passEvent.page.x+offsetCursor,endTop:this.options.passEvent.page.y+stackDown-(stackPad*3)});}else if((this.options.isUrgent&&!usePosition)||this.options.centered){this.box.position();this.boxPosition=this.box.getCoordinates();if(this.options.stack&&messages.length>1){stackDown=tops[tops.length-1]+heights[heights.length-2]+stackPad;}else{stackDown=this.boxPosition.top;}
this.boxPos.extend({startTop:this.boxPosition.top-100,startLeft:this.boxPosition.left,endTop:stackDown});}else{this.boxPos.extend({startTop:startTopPos,startLeft:startLeftPos,endTop:endTopPos});}},setSizes:function(){this.boxSize=this.box.getSize();this.boxPosition=this.box.getCoordinates();this.windowSize=this.page.getSize();this.scrollPos=this.page.getScroll();this.pageSize=this.page.getScrollSize();if(this.windowSize.y>=this.pageSize.y)this.hasVerticalBar=true||false
if(this.windowSize.x>=this.pageSize.x)this.hasHorizontalBar=true||false},createBox:function(){var top="",left="",normal="",urgent="",mcElement="",newbox,imageSize,newContent,newTitle,imagesWidth,newClear,p,isComment,newMessage;if(this.options.top){top=" mcTop";}
else if(this.options.isUrgent){urgent=" mcUrgent";}
else if($defined(this.options.callingElement)){mcElement=" mcElement";}
else{normal=' mcDefault';}
newBox=new Element('div',{'class':'msgBox messageClass'+top+normal+urgent+mcElement,'styles':{'max-width':this.options.width,'width':this.options.width}});imageSize=0;if($chk(this.options.icon)){var newIcon=new Element('div',{'class':'msgBoxIcon'});var newImage=new Element('img',{'class':'msgBoxImage','src':this.options.iconPath+this.options.icon,'styles':{'width':this.options.iconSize,'height':this.options.iconSize}});}
if(!$chk(this.options.title)||!$chk(this.options.message))this.getContent();newContent=new Element('div',{'class':'msgBoxContent'}).setStyle('font-size',this.options.fontSize);newTitle=new Element('div',{'class':'msgBoxTitle','html':this.options.title}).setStyle('font-size',this.options.fontSize+4);imageWidth=this.getCSSTotalWidth('msgBoxIcon');newClear=new Element('div',{'class':'clear'});p=new Element('div',{'html':this.options.message+'<br />','styles':{'margin':'0px','width':this.options.width.toInt()-imageWidth}});isComment=this.options.message.indexOf('textarea')>-1;if($chk(this.options.callback)&&!isComment){var yes=this.createLink(this.options.yesLink,true);var no=this.createLink(this.options.noLink,false);yes.inject(p);p.appendText(' | ');no.inject(p);}else if(isComment){var sendLink=this.createLink('Send',true);var cancelLink=this.createLink('Cancel',false);sendLink.inject(p);p.appendText(' | ');cancelLink.inject(p);}else if(this.options.isUrgent||(!this.options.autoDismiss&&!this.options.dismissOnEvent)){var ok=this.createLink('Ok',false);ok.inject(p);}
newMessage=new Element('div',{'class':'msgBoxMessage'});p.inject(newMessage);if($chk(this.options.icon)){newIcon.inject(newBox);newImage.inject(newIcon);}
newContent.inject(newBox);newTitle.inject(newContent);newClear.inject(newContent);newMessage.inject(newContent);newBox.inject(this.page.body);this.box=newBox;return newBox;},createLink:function(html,callMe){var ourLink=new Element('a',{'href':'javascript:','class':'msgBoxLink','html':html,'id':html.replace(" ","_")+'Link','events':{'click':function(){this.msgChain.callChain();if(callMe)this.executeCallback();}.bind(this)}});return ourLink;},getCSSTotalWidth:function(myClass){var dummy=new Element('div',{'id':'dummy','class':myClass});dummy.inject($(document.body));var size=dummy.getComputedSize();dummy.destroy();return size.totalWidth;},executeCallback:function(){if($type(this.options.callback)=='element')this.options.callback.fireEvent('click');else if($type(this.options.callback)=='function')this.options.callback.run();else eval(this.options.callback);},getContent:function(){var title;var msg;if($defined(this.options.callingElement)){var rel=this.options.callingElement.getProperty('rel');var arr;if(!$chk(rel)){arr=this.setError("Expected data in the 'rel' property of this calling element was not defined.")
title=arr[0];msg=arr[1];this.options.autoDismiss=false;}else{arr=rel.split('::');title=arr[0];msg=arr[1];}}
this.options.title=title;this.options.message=msg;},setError:function(msg){var arr=new Array();arr.push("<span style='color:#FF0000'>Error!<\/span>");arr.push(msg);return arr;},complete:function(){this.box.destroy();this.end=true;this.isDisplayed=false;this.fireEvent('onComplete');$(document.body).setStyle('overflow','auto');},hideMsg:function(){if(this.hasVerticalBar)$(document.body).setStyle('overflow','hidden');var position=this.box.getCoordinates();this.box.fade('out');this.fxOut=new Fx.Tween(this.box,{transition:this.options.fxOutTransition,duration:this.options.fxOutDuration});this.fxOut.addEvent('complete',function(){this.complete();}.bind(this));var topPos;this.options.top?topPos=this.boxSize.y*-1:topPos=position.top+this.boxSize.y;this.fxOut.start('top',topPos);}});webtape.post=new Class({Implements:Options,options:{},initialize:function(options){this.setOptions(options);var self=this;if(this.options.sessionUser==this.options.owner){$('post-delete').addEvent('click',function(e){e.stop();new Message({title:'Whoa there!',message:'Are you sure you want to delete your post?',callback:function(){this.deletePost();}.bind(this)}).ask();}.bind(this));$('post-edit').addEvent('click',this.editPost.bind(this));}},updatePost:function(e){var cleanPost=tinyMCE.get('post-body').getContent().replace(/<\/p><br>/g,'</p>').replace(/<p><br>/g,'<p>').replace(/<\/p><br \/>/g,'</p>').replace(/<p><br \/>/g,'<p>');var newParams={action:'post_update',post:cleanPost};var queryParams=$merge(this.options,newParams);var self=this;if(this.options.title.clean()){new Request({url:'http://onwebtape.com/process.php',method:'post',onComplete:function(resp){this.onSuccessfulUpdate(resp);}.bind(this),onFailure:function(resp){this.onFailedUpdate(resp);}.bind(this)}).send(Hash.toQueryString(queryParams));}},onSuccessfulUpdate:function(response){var messageTitle,messageBody;if(response==1){messageTitle='Alrighty';messageBody='Your post has been edited!';}else{messageTitle='Oopsies';messageBody='Something went wrong here. Are you allowed to do this? If you think so, try again.';}
new Message({title:messageTitle,message:messageBody,centered:true}).say();(function(){window.location.reload(true)}).delay(1000);},onFailedUpdate:function(response){new Message({title:'Oopsies',message:'Something terrible happened here...',centered:true}).say();},deletePost:function(){var newParams={action:'post_delete'};var queryParams=$merge(this.options,newParams);new Request({url:'http://onwebtape.com/process.php',method:'post',onComplete:function(resp){this.onSuccessfulDelete(resp);}.bind(this),onFailure:function(resp){this.onFailedDelete(resp);}.bind(this)}).send(Hash.toQueryString(queryParams));},onSuccessfulDelete:function(response){var messageTitle,messageBody;if(response==1){messageTitle='Alrighty';messageBody='Your post has been deleted';}else{messageTitle='Oopsies';messageBody='Something went wrong here. Are you allowed to do this? If you think so, try again.';}
new Message({title:messageTitle,message:messageBody,centered:true}).say();},onFailedDelete:function(resp){new Message({title:'Oopsies',message:'Something terrible happened here...',centered:true}).say();},editPost:function(){webtape.initTinyMce({'mode':'none','elements':'post-body'});tinyMCE.execCommand('mceAddControl',true,'post-body');var title=$('post-title');var self=this;new Element('input',{'value':title.innerHTML,'class':'twenty-bottom','name':'title','id':'post-title'}).replaces(title);new Element('input',{'type':'button','class':'button','value':'update post','id':'post-update','styles':{'margin-top':20},'events':{'click':self.updatePost.bind(self)}}).inject($('comments'),'before');}});webtape.viewmore=new Class({Implements:Options,options:{url:'http://onwebtape.com/process.php',formID:'view-more',limit:20,start:20,page:'home',action:'view_more'},initialize:function(options){this.setOptions(options);this.options.button=$(this.options.formID).getChildren('input[type=submit]')[0];var self=this;this.options.button.addEvent('click',function(e){self.clickCallback(e);});},clickCallback:function(e){e.stop();this.options.button.set('value','loading').disabled=true;this.sendRequest();},sendRequest:function(){var self=this;new Request({url:self.options.url,method:'POST',noCache:true,onComplete:function(response){if(webtape.isTrue(response)){self.displayNewData(response);}
self.options.button.set('value','view more').disabled=false;}}).send(Hash.toQueryString(this.options));},displayNewData:function(response){var post=new Element('div',{'styles':{'display':'none','clear':'both'}}).set('html',response).inject(this.options.formID,'before').reveal();this.options.start=this.options.start+this.options.limit;}});webtape.initTinyMce=function(customParams){var base_tiny_url='http://onwebtape.com/tiny_mce';var defaultParams={theme:"advanced",remove_linebreaks:true,remove_redundant_brs:true,width:620,height:400,theme_advanced_resizing_max_width:619,theme_advanced_resizing_min_height:400,extended_valid_elements:'a[class|name|href|target|title|onclick|rel],script[type|src],iframe[src|style|width|height|scrolling|marginwidth|marginheight|frameborder],img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name]',plugins:"pagebreak,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,preview,media,contextmenu,paste,directionality,nonbreaking,xhtmlxtras,template,wordcount,advlist",theme_advanced_buttons1:"bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,formatselect,fontselect,fontsizeselect",theme_advanced_buttons2:"cut,copy,paste,pastetext,pasteword,|,bullist,numlist,|,outdent,indent,blockquote,|,link,unlink,image,cleanup,code,|,forecolor,backcolor,|,hr,removeformat,|,sub,sup",theme_advanced_buttons3:"",theme_advanced_toolbar_location:"top",theme_advanced_toolbar_align:"left",theme_advanced_statusbar_location:"bottom",theme_advanced_resizing:true,content_css:"http://onwebtape.com/css/new.css",template_external_list_url:base_tiny_url+"/lists/template_list.js",external_link_list_url:base_tiny_url+"lists/link_list.js",external_image_list_url:base_tiny_url+"lists/image_list.js",media_external_list_url:base_tiny_url+"lists/media_list.js",formats:{alignleft:{selector:'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img',classes:'left'},aligncenter:{selector:'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img',classes:'center'},alignright:{selector:'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img',classes:'right'},bold:{inline:'b','classes':'bold'},italic:{inline:'i','classes':'italic'},underline:{inline:'u','classes':'underline',exact:true},strikethrough:{inline:'del'}}}
var params=$merge(defaultParams,customParams);tinyMCE.init(params);};webtape.Facebook={isLoggedIn:false,publishStream:function(params){FB.ui({method:'feed',link:params.link,picture:params.picture,name:params.name,caption:params.caption,description:params.description,display:'popup',actions:params.actions},function(response){FB.XFBML.parse();window.fireEvent('facebook.streamPublish');});},checkStatus:function(){var facebook=this;FB.getLoginStatus(function(response){if(response.authResponse){webtape.Facebook.isLoggedIn=true;window.fireEvent('facebook.logIn');}else{webtape.Facebook.isLoggedIn=false;window.fireEvent('facebook.logOut');}});},logIn:function(){FB.login(function(response){if(response.authResponse){webtape.Facebook.isLoggedIn=true;window.fireEvent('facebook.logIn');}else{webtape.Facebook.isLoggedIn=false;window.fireEvent('facebook.logInFailed');}},{scope:'email'});},logOut:function(){FB.logout(function(response){webtape.Facebook.isLoggedIn=false;window.fireEvent('facebook.logOut');});},loggedIn:function(){webtape.Facebook.isLoggedIn=true;window.fireEvent('facebook.logIn');}};
