(function(b){b.fn.tabby=function(h){e(this);var g=b.extend({},b.fn.tabby.defaults,h);var f=b.fn.tabby.pressed;return this.each(function(){$this=b(this);var i=b.meta?b.extend({},g,$this.data()):g;$this.bind("keydown",function(j){var k=b.fn.tabby.catch_kc(j);if(16==k){f.shft=true}if(17==k){f.ctrl=true;setTimeout("$.fn.tabby.pressed.ctrl = false;",1000)}if(18==k){f.alt=true;setTimeout("$.fn.tabby.pressed.alt = false;",1000)}if(9==k&&!f.ctrl&&!f.alt){j.preventDefault;f.last=k;setTimeout("$.fn.tabby.pressed.last = null;",0);c(b(j.target).get(0),f.shft,i);return false}}).bind("keyup",function(j){if(16==b.fn.tabby.catch_kc(j)){f.shft=false}}).bind("blur",function(j){if(9==f.last){b(j.target).one("focus",function(k){f.last=null}).get(0).focus()}})})};b.fn.tabby.catch_kc=function(f){return f.keyCode?f.keyCode:f.charCode?f.charCode:f.which};b.fn.tabby.pressed={shft:false,ctrl:false,alt:false,last:null};function e(f){if(window.console&&window.console.log){window.console.log("textarea count: "+f.size())}}function c(h,f,g){var i=h.scrollTop;if(h.setSelectionRange){a(h,f,g)}else{if(document.selection){d(h,f,g)}}h.scrollTop=i}b.fn.tabby.defaults={tabString:String.fromCharCode(9)};function a(u,l,q){var f=u.selectionStart;var n=u.selectionEnd;if(f==n){if(l){if("\t"==u.value.substring(f-q.tabString.length,f)){u.value=u.value.substring(0,f-q.tabString.length)+u.value.substring(f);u.focus();u.setSelectionRange(f-q.tabString.length,f-q.tabString.length)}else{if("\t"==u.value.substring(f,f+q.tabString.length)){u.value=u.value.substring(0,f)+u.value.substring(f+q.tabString.length);u.focus();u.setSelectionRange(f,f)}}}else{u.value=u.value.substring(0,f)+q.tabString+u.value.substring(f);u.focus();u.setSelectionRange(f+q.tabString.length,f+q.tabString.length)}}else{var k=u.value.split("\n");var h=new Array();var g=0;var v=0;var r=false;for(var t in k){v=g+k[t].length;h.push({start:g,end:v,selected:(g<=f&&v>f)||(v>=n&&g<n)||(g>f&&v<n)});g=v+1}var p=0;for(var t in h){if(h[t].selected){var m=h[t].start+p;if(l&&q.tabString==u.value.substring(m,m+q.tabString.length)){u.value=u.value.substring(0,m)+u.value.substring(m+q.tabString.length);p-=q.tabString.length}else{if(!l){u.value=u.value.substring(0,m)+q.tabString+u.value.substring(m);p+=q.tabString.length}}}}u.focus();var j=f+((p>0)?q.tabString.length:(p<0)?-q.tabString.length:0);var s=n+p;u.setSelectionRange(j,s)}}function d(x,s,l){var m=document.selection.createRange();if(x==m.parentElement()){if(""==m.text){if(s){var y=m.getBookmark();m.moveStart("character",-l.tabString.length);if(l.tabString==m.text){m.text=""}else{m.moveToBookmark(y);m.moveEnd("character",l.tabString.length);if(l.tabString==m.text){m.text=""}}m.collapse(true);m.select()}else{m.text=l.tabString;m.collapse(false);m.select()}}else{var n=m.text;var f=n.length;var r=n.split("\r\n");var q=document.body.createTextRange();q.moveToElementText(x);q.setEndPoint("EndToStart",m);var h=q.text;var t=h.split("\r\n");var w=h.length;var k=document.body.createTextRange();k.moveToElementText(x);k.setEndPoint("StartToEnd",m);var p=k.text;var u=document.body.createTextRange();u.moveToElementText(x);u.setEndPoint("StartToEnd",q);var g=u.text;var j=b(x).html();b("#r3").text(w+" + "+f+" + "+p.length+" = "+j.length);if((w+g.length)<j.length){t.push("");w+=2;if(s&&l.tabString==r[0].substring(0,l.tabString.length)){r[0]=r[0].substring(l.tabString.length)}else{if(!s){r[0]=l.tabString+r[0]}}}else{if(s&&l.tabString==t[t.length-1].substring(0,l.tabString.length)){t[t.length-1]=t[t.length-1].substring(l.tabString.length)}else{if(!s){t[t.length-1]=l.tabString+t[t.length-1]}}}for(var z=1;z<r.length;z++){if(s&&l.tabString==r[z].substring(0,l.tabString.length)){r[z]=r[z].substring(l.tabString.length)}else{if(!s){r[z]=l.tabString+r[z]}}}if(1==t.length&&0==w){if(s&&l.tabString==r[0].substring(0,l.tabString.length)){r[0]=r[0].substring(l.tabString.length)}else{if(!s){r[0]=l.tabString+r[0]}}}if((w+f+p.length)<j.length){r.push("");f+=2}q.text=t.join("\r\n");m.text=r.join("\r\n");var v=document.body.createTextRange();v.moveToElementText(x);if(0<w){v.setEndPoint("StartToEnd",q)}else{v.setEndPoint("StartToStart",q)}v.setEndPoint("EndToEnd",m);v.select()}}}})(jQuery);(function(P){var N="function",H="password",z="maxLength",x="type",v=true,w="",A=false,F="watermark",G,O=F,K="watermarkClass",E="watermarkFocus",I="watermarkSubmit",M="watermarkMaxLength",J="watermarkPassword",y="watermarkText",C=":data("+O+")",L=":text,:password,:search,textarea",D=["Page_ClientValidate"],B=A;P.extend(P.expr[":"],{search:function(a){return"search"===(a.type||w)},data:function(j,c,b){var e,a=/^((?:[^=!^$*]|[!^$*](?!=))+)(?:([!^$*]?=)(.*))?$/.exec(b[3]);if(a){e=P(j).data(a[1]);if(e!==G){if(a[2]){e=w+e;switch(a[2]){case"=":return e==a[3];case"!=":return e!=a[3];case"^=":return e.slice(0,a[3].length)==a[3];case"$=":return e.slice(-a[3].length)==a[3];case"*=":return e.indexOf(a[3])!==-1}}return v}}return A}});P.watermark={version:"3.0.6",options:{className:F,useNative:v},hide:function(b){P(b).filter(C).each(function(){P.watermark._hide(P(this))})},_hide:function(a,i){var p=a.val()||w,h=a.data(y)||w,o=a.data(M)||0,g=a.data(K);if(h.length&&p==h){a.val(w);if(a.data(J)){if((a.attr(x)||w)==="text"){var f=a.data(J)||[],d=a.parent()||[];if(f.length&&d.length){d[0].removeChild(a[0]);d[0].appendChild(f[0]);a=f}}}if(o){a.attr(z,o);a.removeData(M)}if(i){a.attr("autocomplete","off");window.setTimeout(function(){a.select()},1)}}g&&a.removeClass(g)},show:function(b){P(b).filter(C).each(function(){P.watermark._show(P(this))})},_show:function(d){var c=d.val()||w,f=d.data(y)||w,b=d.attr(x)||w,a=d.data(K);if((c.length==0||c==f)&&!d.data(E)){B=v;if(d.data(J)){if(b===H){var g=d.data(J)||[],i=d.parent()||[];if(g.length&&i.length){i[0].removeChild(d[0]);i[0].appendChild(g[0]);d=g;d.attr(z,f.length)}}}if(b==="text"||b==="search"){var h=d.attr(z)||0;if(h>0&&f.length>h){d.data(M,h);d.attr(z,f.length)}}a&&d.addClass(a);d.val(f)}else{P.watermark._hide(d)}},hideAll:function(){if(B){P.watermark.hide(L);B=A}},showAll:function(){P.watermark.show(L)}};P.fn.watermark=function(e,d){var b="string";if(!this.length){return this}var a=A,c=typeof e===b;if(typeof d==="object"){a=typeof d.className===b;d=P.extend({},P.watermark.options,d)}else{if(typeof d===b){a=v;d=P.extend({},P.watermark.options,{className:d})}else{d=P.watermark.options}}if(typeof d.useNative!==N){d.useNative=d.useNative?function(){return v}:function(){return A}}return this.each(function(){var g="dragleave",j="dragenter",k=this,i=P(k);if(!i.is(L)){return}if(i.data(O)){if(c||a){P.watermark._hide(i);c&&i.data(y,e);a&&i.data(K,d.className)}}else{if(d.useNative.call(k,i)){if((w+i.css("-webkit-appearance")).replace("undefined",w)!==w&&(i.attr("tagName")||w)!=="TEXTAREA"){c&&i.attr("placeholder",e);return}}i.data(y,c?e:w);i.data(K,d.className);i.data(O,1);if((i.attr(x)||w)===H){var m=i.wrap("<span>").parent(),n=P(m.html().replace(/type=["']?password["']?/i,'type="text"'));n.data(y,i.data(y));n.data(K,i.data(K));n.data(O,1);n.attr(z,e.length);n.focus(function(){P.watermark._hide(n,v)}).bind(j,function(){P.watermark._hide(n)}).bind("dragend",function(){window.setTimeout(function(){n.blur()},1)});i.blur(function(){P.watermark._show(i)}).bind(g,function(){P.watermark._show(i)});n.data(J,i);i.data(J,n)}else{i.focus(function(){i.data(E,1);P.watermark._hide(i,v)}).blur(function(){i.data(E,0);P.watermark._show(i)}).bind(j,function(){P.watermark._hide(i)}).bind(g,function(){P.watermark._show(i)}).bind("dragend",function(){window.setTimeout(function(){P.watermark._show(i)},1)}).bind("drop",function(l){var o=l.originalEvent.dataTransfer.getData("Text");i.val().replace(o,w)===i.data(y)&&i.val(o);i.focus()})}if(k.form){var f=k.form,h=P(f);if(!h.data(I)){h.submit(P.watermark.hideAll);if(f.submit){h.data(I,f.submit);f.submit=function(l,o){return function(){var p=o.data(I);P.watermark.hideAll();if(p.apply){p.apply(l,Array.prototype.slice.call(arguments))}else{p()}}}(f,h)}else{h.data(I,1);f.submit=function(l){return function(){P.watermark.hideAll();delete l.submit;l.submit()}}(f)}}}}P.watermark._show(i)})};D.length&&P(function(){for(var f,e,b=D.length-1;b>=0;b--){f=D[b];e=window[f];if(typeof e===N){window[f]=function(c){return function(){P.watermark.hideAll();return c.apply(null,Array.prototype.slice.call(arguments))}}(e)}}})})(jQuery);$.fn.tabby.defaults.tabString="    ";var updatePreview=function(c,a){var g=$(a).children().remove().end().html("").text("");var d=c.split("\n");var b="";var e=false;var f=function(){if(b==""){return}if(b[0]=="\n"){b=b.slice(1,b.length-1)}if(b[b.length-1]=="\n"){b=b.slice(0,b.length-1)}if(!e){$(b.split("\n")).each(function(){var l=this.toString();if(l!=""){$('<div class="text">').text(l).appendTo(g)}})}else{var j=b.match(/^~(.+)/);if(j==null){language="text"}else{language=j[1];b=b.replace(/^~(.+)/,"")}var k;for(var h in SyntaxHighlighter.brushes){var i=SyntaxHighlighter.brushes[h];$(i.aliases).each(function(){if(this.toLowerCase()==language.toLowerCase()){k=new i()}if(k!=null){return false}});if(k!=null){break}}if(k==null){k=new SyntaxHighlighter.brushes.Xml()}k.init({toolbar:false});g.append($(k.getHtml(b)))}b=""};$(d).each(function(){if(!e&&(this.slice(0,4)==$.fn.tabby.defaults.tabString)){f();e=true}else{if(e&&(this.slice(0,4)!=$.fn.tabby.defaults.tabString)){f();e=false}}if(e){b+=this.replace($.fn.tabby.defaults.tabString,"")+"\n"}else{b+=this+"\n"}});f()};(function(a){var b=a('<div class="section"><textarea class="editor" name="Code" rows="2"></textarea><a class="showLanguages" href="languages">language list</a></div><div class="section languages hidden"></div><div class="section code"></div><div class="section"><input name="Who" class="who small" type="text" /><input name="Email" class="email normal" type="text" /></div><div class="section"><button class="tweetButton" name="Tweet" value="true" type="submit">Post and Tweet</button><button class="postButton" type="submit">Post</button></div>');a.fn.editor=function(c){var c=a.extend({code:"",who:"",email:"",postCaption:"Just Post",tweetCaption:"Post and Tweet"},c);a(this).each(function(){var d=b.clone();a(this).replaceWith(d);a(d).find("textarea").width(a("#main").width()-14).val(c.code).end().find(".postButton").text(c.postCaption).end().find(".tweetButton").text(c.tweetCaption).end().find(".who").val(c.who).watermark("@twitter or name").end().find(".email").val(c.email).watermark("notification email").end().find("a.showLanguages").click(function(f){f.preventDefault();a(this).slideUp(null,function(){var j="";for(var g in SyntaxHighlighter.brushes){if(j!=""){j+=", "}var h=SyntaxHighlighter.brushes[g].aliases;j+="<strong>"+h[0]+"</strong>";for(var k=1;k!=h.length;k++){j+=", "+h[k]}}a(d).filter(".languages").append(j).slideDown()})}).end();var e=null;a("textarea.editor",d).tabby().keyup(function(){e=(new Date()).getTime();setTimeout(function(){if(((new Date).getTime()-e)<999){return}updatePreview(a("textarea.editor",d).val(),a(d).filter(".code"))},1000)});updatePreview(a("textarea.editor",d).val(),a(d).filter(".code"))})}})(jQuery);
