function TextBox(id,characterLimit,charactersRemainingId){this.id=id;this.characterLimit=characterLimit;this.charactersRemainingId=charactersRemainingId;this.getElement=function(){return document.getElementById(this.id);};this.getValue=function(){return this.getElement().value};this.setValue=function(value){this.getElement().value=TextBox.htmlDecode(value);this.updateCharacters();};this.isKeyPressAllowed=function(e){if(!e)e=window.event;var bc=(this.getCharactersRemaining()>0)||(e.keyCode!=undefined&&TextBox.ALLOWABLE_KEY_PRESSES[e.keyCode]!=undefined);if(!bc){if(e.preventDefault)e.preventDefault();}return bc};this.updateCharacters=function(){var charactersRemaining=this.getCharactersRemaining();if(charactersRemaining<0){var bd=this.getValue().substring(0,this.characterLimit);this.setValue(bd);charactersRemaining=0}this.setCharactersRemaining(charactersRemaining);};this.getCharactersRemaining=function(){return this.characterLimit-this.getValue().length};this.setCharactersRemaining=function(charactersRemaining){document.getElementById(this.charactersRemainingId).innerHTML=charactersRemaining};var bb={};bb.textBox=this;bb['#'+id]=function(element){var textBox=this.textBox;function onKeyPress(e){return textBox.isKeyPressAllowed(e);}function onKeyUp(){textBox.updateCharacters();}Behaviour.addEvent(element,'keypress',onKeyPress);Behaviour.addEvent(element,'keyup',onKeyUp);};Behaviour.register(bb);}TextBox.ALLOWABLE_KEY_PRESSES={'8':true,'46':true,'35':true,'36':true,'37':true,'38':true,'39':true,'40':true};TextBox.htmlDecode=function(html){html=html.replace(/&amp;/g,'&');html=html.replace(/&lt;/g,'<');html=html.replace(/&gt;/g,'>');html=html.replace(/&quot;/g,'"');html=html.replace(/&nbsp;/g,' ');return html};PulseEditor={panelId:'x-pulse-editor',textBox:new TextBox('x-item-content',0,'x-char-remaining'),reload:function(){window.location.reload();},onFailure:function(){window.location.href='http://www.xanga.com/sorry.aspx'},saveChanges:function(){var body=this.textBox.getValue();if(body.match(/\S/)!=null){this.prepareCallback(this.id,body,this.getPrivacy());if(this.id){this.updatePulse();}else{this.createPulse();}this.hide();}else alert(this.emptyMessage);},getRadioButton:function(privacy){id='x-mod-opts-privacy-'+privacy;return document.getElementById(id);},getPrivacy:function(){return this.getRadioButton('public').checked?1:0},setPrivacy:function(privacy){if(privacy==1)this.getRadioButton('public').checked=true;else this.getRadioButton('private').checked=true},showAddPanel:function(element){var pulseEditor=window.PulseEditor;pulseEditor.textBox.setValue('');pulseEditor.setPrivacy(1);delete pulseEditor.id;pulseEditor.toggleDisplayMode('add','edit');pulseEditor.show(element);},showEditPanel:function(element){var pulseEditor=window.PulseEditor;pulseEditor.id=pulseEditor.getPulseIdFromElement(element);var privacy=pulseEditor.getPrivacyFromElement(element);var body=document.getElementById('itembody-'+pulseEditor.id).innerHTML;pulseEditor.textBox.setValue(body);pulseEditor.setPrivacy(privacy);pulseEditor.toggleDisplayMode('edit','add');pulseEditor.show(element);},setOverlayDisplay:function(display){document.getElementById('x-hovpanel-bg').style.display=display},clearOverlay:function(){PulseEditor.setOverlayDisplay('none');},getCurrentYPos:function(){if(document.body&&document.body.scrollTop){return document.body.scrollTop}if(document.documentElement&&document.documentElement.scrollTop){return document.documentElement.scrollTop}if(window.pageYOffset){return window.pageYOffset}return 0},show:function(element){this.setOverlayDisplay('block');var x;var y;if(element){y=PulseEditor.getCurrentYPos()+120}else{y=120}var editorPanel=document.getElementById(this.panelId);editorPanel.style.top=y+'px';editorPanel.style.display='block';setTimeout(function(){PulseEditor.textBox.getElement().focus();},10);},hide:function(){var editorPanel=document.getElementById(PulseEditor.panelId);editorPanel.style.display='none';setTimeout(PulseEditor.clearOverlay,100);},toggleDisplayMode:function(showType,hideType){this.setEditorDisplayMode(showType,'block');this.setEditorDisplayMode(hideType,'none');},setEditorDisplayMode:function(type,displayMode){document.getElementById('x-modsettings-title-'+type).style.display=displayMode},htmlEncode:function(text){text=text.replace(/&/g,'&amp;');text=text.replace(/</g,'&lt;');text=text.replace(/>/g,'&gt;');text=text.replace(/"/g,'&quot;');text=text.replace(/  /g,' &nbsp;');return text},getPulseIdFromElement:function(element){var ba=element.id.match(/(\d+)$/);if(ba!=null)return ba[1]},getPrivacyFromElement:function(element){var ba=element.id.match(/1-\d+$/);if(ba!=null)return 1;else return 0},prepareCallback:function(id,body,privacy){document.getElementById(this.ids.id).value=id;document.getElementById(this.ids.body).value=body;document.getElementById(this.ids.privacy).value=privacy},behaviours:{'a.x-addnew':function(element){Behaviour.addEvent(element,'click',function(){PulseEditor.showAddPanel(element);return false},true);},'a.edit':function(element){Behaviour.addEvent(element,'click',function(){PulseEditor.showEditPanel(element);return false},true);},'input#x-pulseeditor-save':function(element){Behaviour.addEvent(element,'click',function(){PulseEditor.saveChanges();return false},true);Behaviour.addEvent(element,'mouseover',Behaviour.Helper.createSetClassNameFunction(element,'x-button x-savepressed'));Behaviour.addEvent(element,'mouseout',Behaviour.Helper.createSetClassNameFunction(element,'x-button x-save'));},'input#x-pulseeditor-cancel':function(element){Behaviour.addEvent(element,'mouseover',Behaviour.Helper.createSetClassNameFunction(element,'x-button x-cancelpressed'));Behaviour.addEvent(element,'mouseout',Behaviour.Helper.createSetClassNameFunction(element,'x-button x-cancel'));}}};Behaviour.register(PulseEditor.behaviours);PulseBlog={onSuccess:function(){window.location.reload(true);},onFailure:function(){window.location.href='http://www.xanga.com/sorry.aspx'},behaviours:{'a.delete':function(element){;function deletePulse(){if(confirm(PulseBlog.deleteConfirmationMessage)){id=PulseEditor.getPulseIdFromElement(element);PulseEditor.prepareCallback(id);PulseEditor.deletePulse();}}Behaviour.addEvent(element,'click',deletePulse,true);}}};Behaviour.register(PulseBlog.behaviours);