function Wiki(){this.cursor;this.editing;this.region;this.IsEdited=false;this.diffRegion;this.mostCurrentRegionContents;this.IsEditingHistory=false;this.versionIndex=0}Wiki.ServerSideScriptURL="wiki.php";Wiki.setOpacity=function(C,A){A=(A==100)?99.999:A;try{C.style.filter="alpha(opacity:"+A+")"}catch(B){}try{C.style.KHTMLOpacity=A/100}catch(B){}try{C.style.MozOpacity=A/100}catch(B){}try{C.style.opacity=A/100}catch(B){}};Wiki.StartWait=function(){if(Wiki.waitIndex){Wiki.waitIndex++}else{Wiki.waitIndex=1}if(Wiki.GetInstance().region){setTimeout("if( Wiki.waitIndex > 0 ) Wiki.setOpacity( Wiki.GetInstance().region, 100 );",100)}};Wiki.StopWait=function(){Wiki.waitIndex--;if(Wiki.waitIndex<=0){Wiki.waitIndex=0;if(Wiki.GetInstance().region){Wiki.setOpacity(Wiki.GetInstance().region,100)}}};Wiki.prototype.Reset=function(){if(this.versionIndex<0&&!this.IsEditingHistory){this.versionIndex=0;this.region.onmousedown=Wiki.ClickRegion;this.region.onmouseup=Wiki.DragSelection;document.onkeydown=null;Wiki.GetCurrentVersion(this.region)}this.IsEdited=false;this.IsEditingHistory=false;this.versionIndex=0;this.cursor=null;this.editing=null;this.region=null};Wiki.prototype.RemoveCoordinateHolders=function(){if(!this.region.AddedHolders){return}var B=this.region.getElementsByTagName("span");var A=B.length;for(var C=A;C>=0;C--){if(B[C]&&B[C].className=="CoordinateHolder"){B[C].parentNode.removeChild(B[C])}}this.region.AddedHolders=false};Wiki.GoToRegion=function(A){if(!/^http:\/\//i.test(document.location+"")){return}var B=new XMLHttpRequest();B.open("POST",Wiki.ServerSideScriptURL,true);B.onreadystatechange=function(){Wiki.GoToRegion_Handler(B,A)};B.setRequestHeader("Content-Type","application/x-www-form-urlencoded");B.send("action=findRegion&region="+escape(A));return false};Wiki.GoToRegion_Handler=function(B,A){if(B.readyState==4){var D=B.responseText;if(/^<response>http:\/\/.*<\/response>$/i.test(D)){document.location=D.match(/(http:\/\/.*)/i)[0];return}else{var C=window.open("","WikiPopup","height=200,width=150");if(D.length<3){D="Welcome to your brand new wiki page!  Click here to start editing :-)"}C.document.write("<div id='"+A+"'>"+D+"</div>");C.document.close();if(C.focus){C.focus()}}}};Wiki.SaveChanges=function(){var C=Wiki.GetInstance();if(!C.region){return}C.RemoveCoordinateHolders();if(!/^http:\/\//i.test(document.location+"")){return}var D;D=(C.region.parentNode.id.match("[0-9]+"));C.region.parentNode.className=C.region.parentNode.className.replace(/IsEditing/,"Saving");var A;A=(C.region.parentNode.id.match("Post[0-9a-z-]{8,100}"));if(A!=null){A=(A+"").replace(/Post/,"");return}var B=new XMLHttpRequest();B.open("POST","/Post.aspx",true);B.onreadystatechange=function(){Wiki.SaveChanges_Handler(B,D)};B.setRequestHeader("Content-Type","application/x-www-form-urlencoded");B.send("Action=updatetext&PostId="+D+"&Content="+encodeURIComponent(Htmlize(C.region.innerHTML)))};Wiki.SaveChanges_Handler=function(req,PostId){if(req.readyState==4){if(req.status==200){var ResponseObject=eval("("+req.responseText+")");var Item=document.getElementById("LiveBlog_Post"+PostId);Item.className=Item.className.replace(/Saving/,"");Item.firstChild.innerHTML=ResponseObject.Content.replace(/&quot;/g,'"');Item.lastChild.innerHTML=Item.lastChild.innerHTML.replace(/by <em>([^<]+).*<\/em>/i,"by <em>$1</em> edited by <em>you</em>");LiveBlog.GetInstance().OnEditPost(Item,Item.parentNode,PostId,ResponseObject.Rank,ResponseObject.Group)}else{return false}}};Wiki.GetCurrentVersion=function(B){Wiki.StartWait();var A=Wiki.GetInstance();if(B){A.GetVersion(0,function(C){Wiki.GetCurrentVersion_Handler(B,C)},B)}else{A.GetVersion(0,this.GetCurrentVersion_Handler)}};Wiki.GetCurrentVersion_Handler=function(A,B){Wiki.StopWait();if(B.length>1){A.innerHTML=B}else{if((A.innerHTML).length<3){A.innerHTML="Here's your new wiki!  Click here to start editing :-)"}}Wiki.InsertCoordinateHolders(A)};Wiki.prototype.GetVersion=function(C,A,D){if(!/^http:\/\//i.test(document.location+"")){return}if(!D){D=Wiki.GetInstance().region}Wiki.StartWait();var B=new XMLHttpRequest();B.open("POST",Wiki.ServerSideScriptURL,true);B.onreadystatechange=function(){Wiki.GetInstance().GetVersion_Handler(B,C,A)};B.setRequestHeader("Content-Type","application/x-www-form-urlencoded");B.send("action=get&region="+escape(D.id)+"&page="+escape(document.location)+"&version="+escape(C))};Wiki.prototype.GetVersion_Handler=function(B,C,A){if(B.readyState==4){Wiki.StopWait();if(this.versionIndex==0){this.mostCurrentRegionContents=B.responseText}this.versionIndex=C;if(A){A(B.responseText)}}};Wiki.DiffRegion=function(B){Wiki.StartWait();var A=Wiki.GetInstance();if(!A.IsEditingHistory){if(!B){B=A.versionIndex-1}A.GetVersion(B,Wiki.DiffRegion_Handler)}else{A.IsEditingHistory=false;A.versionIndex=0;A.RemoveCoordinateHolders();A.editing.data=A.editing.data.substring(0,A.cursor)+A.editing.data.substring(A.cursor+1);A.diffRegion=A.region.innerHTML;Wiki.DiffRegion_Handler(A.mostCurrentRegionContents,false)}};Wiki.DiffRegion_Handler=function(E,A){Wiki.StopWait();if(A==undefined){A=true}var B=Wiki.GetInstance();if(B.editing){B.editing.data=B.editing.data.substring(0,B.cursor)+B.editing.data.substring(B.cursor+1);B.editing=null}if(A&&B.versionIndex==-1){var D=B.region.innerHTML;B.RemoveCoordinateHolders();B.diffRegion=B.region.innerHTML;B.mostCurrentRegionContents=B.region.innerHTML+""}try{B.region.innerHTML=diffString(E,B.diffRegion)}catch(C){throw new Error("diffString function threw an exception.  Stopping diff execution.");return}var F=B.diffRegion+"";B.diffRegion=E;if(A&&B.versionIndex==-1){B.region.onmousedown=function(G){Wiki.GetInstance().versionIndex=0;this.innerHTML=D;this.onmousedown=Wiki.ClickRegion;this.onmouseup=Wiki.DragSelection}}else{B.region.onmousedown=function(G){if(confirm("You are editing an old version of this region.\nYour saved changes will overwrite newer versions.\nAre you sure you want to proceed?")){Wiki.GetInstance().IsEditingHistory=true;this.innerHTML=F;this.onmousedown=Wiki.ClickRegion;this.onmouseup=Wiki.DragSelection}}}document.onkeydown=function(G){if(!G){G=window.event}if(G.keyCode){keyCode=G.keyCode}else{if(G.which){keyCode=G.which}}if(keyCode==113){Wiki.DiffRegion(B.versionIndex-1)}else{Wiki.GetInstance().versionIndex=0;Wiki.GetInstance().region.onmousedown=Wiki.ClickRegion;Wiki.GetInstance().region.onmouseup=Wiki.DragSelection;document.onkeydown=null;Wiki.GetCurrentVersion(Wiki.GetInstance().region);alert("You have been returned to the most recent version.")}}};Wiki.findPosX=function(A){return LiveBlog.findPosX(A)};Wiki.findPosY=function(A){return LiveBlog.findPosY(A)};Wiki.windowState=function(){if(document.all){this.width=document.body.offsetWidth;this.height=document.body.offsetHeight;this.scrollX=document.body.scrollLeft;this.scrollY=document.body.scrollTop}else{this.width=window.innerWidth;this.height=window.innerHeight;this.scrollX=window.pageXOffset;this.scrollY=window.pageYOffset}};Wiki.GetInstance=function(){if(!Wiki.__instance){Wiki.__instance=new Wiki()}return Wiki.__instance};Wiki.BeginEdit=function(A,C){var B=Wiki.GetInstance();B.IsEdited=false;B.editing=A;if(C&&C<B.editing.data.length){}else{C=B.editing.data.length}B.editing.data=B.editing.data.substring(0,C)+"|"+B.editing.data.substring(C);B.cursor=C;document.onkeydown=function(D){return B.KeyHandler(D)};document.onkeypress=function(D){return false}};Wiki.prototype.KeyHandler=function(D){if(!D){D=window.event}if(D.keyCode){keyCode=D.keyCode}else{if(D.which){keyCode=D.which}}this.IsEdited=true;switch(keyCode){case 8:if(this.cursor<=0){this.editing.data=this.editing.data.substring(1);if(this.editing.data.length<=0){if(this.editing.previousSibling&&this.editing.previousSibling.tagName&&this.editing.previousSibling.tagName=="BR"){this.editing.parentNode.removeChild(this.editing.previousSibling)}else{try{var F=this.editing;this.MoveCursorTo(this.editing,"left");F.parentNode.removeChild(F)}catch(N){this.editing.data="|"+this.editing.data;break}}}else{try{this.MoveCursorTo(this.editing,"left")}catch(N){this.editing.data="|"+this.editing.data;break}}}this.editing.data=this.editing.data.substring(0,this.cursor-1)+"|"+this.editing.data.substring(this.cursor+1);this.cursor--;break;case 32:this.AddCharacterInput(this.editing," ");this.SplitEditingNode();this.cursor=0;var L=document.createElement("span");L.className="CoordinateHolder";L.style.position="relative";this.editing.parentNode.insertBefore(L,this.editing);break;case 46:if(this.cursor>=this.editing.data.length-1){if(this.editing.nextSibling&&this.editing.nextSibling.tagName&&this.editing.nextSibling.tagName=="BR"){this.editing.parentNode.removeChild(this.editing.nextSibling);if(this.editing.nextSibling&&this.editing.nextSibling.data==""){this.editing.parentNode.removeChild(this.editing.nextSibling)}}else{var G=(this.editing);G.data=this.editing.data.substring(0,G.data.length-1);try{this.MoveCursorTo(this.editing,"right");if(this.editing.previousSibling&&this.editing.previousSibling.tagName&&this.editing.previousSibling.tagName=="BR"){this.editing.parentNode.removeChild(this.editing.previousSibling)}}catch(N){G.data+="|";break}this.editing.data=this.editing.data.substring(2);try{this.MoveCursorTo(this.editing,"left")}catch(N){this.editing.data="|"+this.editing.data;this.cursor=0}}}else{this.editing.data=this.editing.data.substring(0,this.cursor+1)+this.editing.data.substring(this.cursor+2)}break;case 190:if(D.shiftKey){this.AddCharacterInput(this.editing,">")}else{this.AddCharacterInput(this.editing,".")}break;case 188:if(D.shiftKey){this.AddCharacterInput(this.editing,"<")}else{this.AddCharacterInput(this.editing,",")}break;case 222:if(D.shiftKey){this.AddCharacterInput(this.editing,'"')}else{this.AddCharacterInput(this.editing,"'")}break;case 48:if(D.shiftKey){this.AddCharacterInput(this.editing,")")}else{this.AddCharacterInput(this.editing,"0")}break;case 49:if(D.shiftKey){this.AddCharacterInput(this.editing,"!")}else{this.AddCharacterInput(this.editing,"1")}break;case 50:if(D.shiftKey){this.AddCharacterInput(this.editing,"@")}else{this.AddCharacterInput(this.editing,"2")}break;case 51:if(D.shiftKey){this.AddCharacterInput(this.editing,"#")}else{this.AddCharacterInput(this.editing,"3")}break;case 52:if(D.shiftKey){this.AddCharacterInput(this.editing,"$")}else{this.AddCharacterInput(this.editing,"4")}break;case 53:if(D.shiftKey){this.AddCharacterInput(this.editing,"%")}else{this.AddCharacterInput(this.editing,"5")}break;case 54:if(D.shiftKey){this.AddCharacterInput(this.editing,"^")}else{this.AddCharacterInput(this.editing,"6")}break;case 55:if(D.shiftKey){this.AddCharacterInput(this.editing,"&")}else{this.AddCharacterInput(this.editing,"7")}break;case 56:if(D.shiftKey){this.AddCharacterInput(this.editing,"*")}else{this.AddCharacterInput(this.editing,"8")}break;case 57:if(D.shiftKey){this.AddCharacterInput(this.editing,"(")}else{this.AddCharacterInput(this.editing,"9")}break;case 59:if(D.shiftKey){this.AddCharacterInput(this.editing,":")}else{this.AddCharacterInput(this.editing,";")}break;case 61:if(D.shiftKey){this.AddCharacterInput(this.editing,"+")}else{this.AddCharacterInput(this.editing,"=")}break;case 192:if(D.shiftKey){this.AddCharacterInput(this.editing,"~")}else{this.AddCharacterInput(this.editing,"`")}break;case 219:if(D.shiftKey){this.AddCharacterInput(this.editing,"{")}else{this.AddCharacterInput(this.editing,"[")}break;case 220:if(D.shiftKey){this.AddCharacterInput(this.editing,"|")}else{this.AddCharacterInput(this.editing,"\\")}break;case 221:if(D.shiftKey){this.AddCharacterInput(this.editing,"}")}else{this.AddCharacterInput(this.editing,"]")}break;case 109:if(D.shiftKey){this.AddCharacterInput(this.editing,"_")}else{this.AddCharacterInput(this.editing,"-")}break;case 186:if(D.shiftKey){this.AddCharacterInput(this.editing,":")}else{this.AddCharacterInput(this.editing,";")}break;case 187:if(D.shiftKey){this.AddCharacterInput(this.editing,"+")}else{this.AddCharacterInput(this.editing,"=")}break;case 189:if(D.shiftKey){this.AddCharacterInput(this.editing,"_")}else{this.AddCharacterInput(this.editing,"-")}break;case 191:if(D.shiftKey){this.AddCharacterInput(this.editing,"?")}else{this.AddCharacterInput(this.editing,"/")}break;case 38:var T=this.region.getElementsByTagName("span");var M;var A;if(!(A=this.editing.previousSibling)){A=this.editing.parentNode.previousSibling}for(var H=0;H<T.length;H++){if(T[H].className=="CoordinateHolder"){if(Wiki.findPosY(T[H])<Wiki.findPosY(A)){if(!M||Wiki.findPosY(T[H])!=Wiki.findPosY(M)){M=T[H]}else{if(Wiki.findPosX(T[H])<=Wiki.findPosX(A)){M=T[H]}}}else{break}}}if(M){this.editing.data=this.editing.data.substring(0,this.cursor)+this.editing.data.substring(this.cursor+1);Wiki.BeginEdit(M.nextSibling)}break;case 40:var T=this.region.getElementsByTagName("span");var K;var A;if(!(A=this.editing.previousSibling)){A=this.editing.parentNode.previousSibling}for(var H=T.length-1;H>=0;H--){if(T[H].className=="CoordinateHolder"){if(Wiki.findPosY(T[H])>Wiki.findPosY(A)){if(!K||Wiki.findPosY(T[H])!=Wiki.findPosY(K)){K=T[H]}else{if(Wiki.findPosX(T[H])<=Wiki.findPosX(A)){K=T[H]}}}else{break}}}if(K){this.editing.data=this.editing.data.substring(0,this.cursor)+this.editing.data.substring(this.cursor+1);Wiki.BeginEdit(K.nextSibling)}break;case 37:if(this.cursor>1){this.editing.data=this.editing.data.substring(0,this.cursor-1)+"|"+this.editing.data.charAt(this.cursor-1)+this.editing.data.substring(this.cursor+1);this.cursor--}else{var J=this.editing;if(this.editing.data!="|"){this.editing.data=this.editing.data.substring(0,this.cursor)+this.editing.data.substring(this.cursor+1)}else{this.editing.data=""}try{this.MoveCursorTo(this.editing,"left");if(J.data==""){J.parentNode.removeChild(J)}}catch(N){this.cursor=0;this.editing.data="|"+this.editing.data}}break;case 39:if(this.cursor>=0&&this.cursor<this.editing.data.length-1){this.editing.data=this.editing.data.substring(0,this.cursor)+this.editing.data.charAt(this.cursor+1)+"|"+this.editing.data.substring(this.cursor+2);this.cursor++}else{var J=this.editing;this.editing.data=this.editing.data.substring(0,this.editing.data.length-1);try{this.MoveCursorTo(this.editing,"right");if(J.data==""){J.parentNode.removeChild(J)}}catch(N){this.cursor=this.editing.data.length;this.editing.data+="|"}}break;case 13:this.SplitEditingNode();if(this.editing.previousSibling.data.length<=0){this.editing.previousSibling.data="\n"}var U=document.createElement("br");this.editing.parentNode.insertBefore(U,this.editing);this.cursor=0;break;case 113:Wiki.DiffRegion();break;case 76:if(D.ctrlKey||D.metaKey){var Q;var C;var O=this.editing;while(O=O.parentNode){if(O.tagName=="A"||O.tagName=="a"){Q=prompt("URL (beginning with http://):",O.href);if(Q){O.href=Q}else{if(confirm("Are you sure you want to remove this link?")){var I=O.innerHTML;O.parentNode.insertBefore(document.createTextNode(I),O);O.parentNode.removeChild(O)}}return false}}if((Q=prompt("URL (beginning with http://):","http://"))&&(C=prompt("Description to appear on page:",""))){var S=document.createElement("a");S.appendChild(document.createTextNode(C));if(/^http:\/\//i.test(Q)){S.href=Q}else{S.href=prompt("Your URL must start with http://\nPlease try again:",Q);if(!/^http:\/\//i.test(S.href)){return false}}this.SplitEditingNode();this.editing.parentNode.insertBefore(S,this.editing);this.cursor=0}}else{this.AddCharacterInputFromKeyCode(D,keyCode)}break;case 66:if(D.ctrlKey||D.metaKey){var V=false;var P=this.editing.parentNode;while(P&&P!=this.region){if(P.tagName=="STRONG"){if(this.DepthFirstSearchForData(P,this.editing)||(this.cursor<this.editing.data.length-1&&this.cursor>0)){while(P.childNodes.length>0){P.parentNode.insertBefore(P.firstChild,P)}}else{if(this.cursor>=this.editing.data.length-1){this.editing.data=this.editing.data.substring(0,this.cursor);P.parentNode.insertBefore(document.createTextNode("*"),P.nextSibling);this.MoveCursorTo(this.editing,"right");this.editing.data="|";this.cursor--}else{if(this.cursor<=0){this.editing.data=this.editing.data.substring(1);P.parentNode.insertBefore(document.createTextNode("*"),P);this.MoveCursorTo(this.editing,"left");this.editing.data="|";this.cursor--}}}V=true}P=P.parentNode}if(V){break}this.SplitEditingNode();var R=document.createElement("strong");R.appendChild(document.createTextNode(" "));this.editing.parentNode.insertBefore(R,this.editing);this.editing.data=this.editing.data.substring(1);this.MoveCursorTo(this.editing,"left");this.editing.data=this.editing.data.substring(1);this.cursor--;break}else{this.AddCharacterInputFromKeyCode(D,keyCode)}break;case 73:if(D.ctrlKey||D.metaKey){var E=false;var P=this.editing.parentNode;while(P&&P!=this.region){if(P.tagName=="EM"){if(this.DepthFirstSearchForData(P,this.editing)||(this.cursor<this.editing.data.length-1&&this.cursor>0)){while(P.childNodes.length>0){P.parentNode.insertBefore(P.firstChild,P)}}else{if(this.cursor>=this.editing.data.length-1){this.editing.data=this.editing.data.substring(0,this.cursor);P.parentNode.insertBefore(document.createTextNode("*"),P.nextSibling);this.MoveCursorTo(this.editing,"right");this.editing.data="|";this.cursor--}else{if(this.cursor<=0){this.editing.data=this.editing.data.substring(1);P.parentNode.insertBefore(document.createTextNode("*"),P);this.MoveCursorTo(this.editing,"left");this.editing.data="|";this.cursor--}}}E=true}P=P.parentNode}if(E){break}this.SplitEditingNode();var B=document.createElement("em");B.appendChild(document.createTextNode(" "));this.editing.parentNode.insertBefore(B,this.editing);this.editing.data=this.editing.data.substring(1);this.MoveCursorTo(this.editing,"left");this.editing.data=this.editing.data.substring(1);this.cursor--;break}else{this.AddCharacterInputFromKeyCode(D,keyCode)}break;case 83:if(D.ctrlKey||D.metaKey){if(this.region&&this.IsEdited&&this.region!=this&&confirm("Do you want to save your changes?")){this.editing.data=this.editing.data.substring(0,this.cursor)+this.editing.data.substring(this.cursor+1);Wiki.SaveChanges()}}else{this.AddCharacterInputFromKeyCode(D,keyCode)}break;default:if(/^[A-Z0-9]$/i.test(String.fromCharCode(keyCode))){this.AddCharacterInputFromKeyCode(D,keyCode)}else{}break}D.cancelBubble=true;D.returnValue=false;if(D.stopPropagation){D.stopPropagation()}return false};Wiki.prototype.AddCharacterInputFromKeyCode=function(B,A){if(B.shiftKey){this.AddCharacterInput(this.editing,String.fromCharCode(A).toUpperCase())}else{this.AddCharacterInput(this.editing,String.fromCharCode(A).toLowerCase())}};Wiki.prototype.SplitEditingNode=function(A,B){if(!A){A=this.editing}if(!B){B=this.cursor}A.parentNode.insertBefore(document.createTextNode(A.data.substring(0,B)),A);A.data=A.data.substring(B)};Wiki.prototype.MoveCursorTo=function(A,B){if(A.parentNode==this.region.parentNode){throw new Error("MoveCursorTo: Reached region boundary before being able to move cursor");return}if(B=="left"){foundNode=this.ReverseDepthFirstSearchForData(A.parentNode,A)}else{foundNode=this.DepthFirstSearchForData(A.parentNode,A)}if(foundNode){if(B=="left"){if(foundNode.data.length==0&&this.cursor==0&&foundNode.previousSibling){this.editing=this.ReverseDepthFirstSearchForData(foundNode.parentNode,foundNode.previousSibling);foundNode.parentNode.removeChild(foundNode)}else{this.editing=foundNode}this.editing.data+="|";this.cursor=this.editing.data.length-1;if(this.cursor<0){this.cursor=0}}else{this.editing=foundNode;this.editing.data=this.editing.data.charAt(0)+"|"+this.editing.data.substring(1);this.cursor=1}}else{if(A.parentNode){this.MoveCursorTo(A.parentNode,B)}else{throw new Error("MoveCursorTo: Could not find a parentNode to continue recursion.")}}};Wiki.prototype.ReverseDepthFirstSearchForData=function(B,C){var E=B.childNodes.length-1;if(B==C.parentNode){while(B.childNodes[E]!=C){E--}E--}var D=null;for(;E>=0;E--){if(B.childNodes[E].data){return B.childNodes[E]}else{if(B.childNodes[E].tagName&&B.childNodes[E].tagName=="BR"){D=document.createTextNode("");if(B.childNodes[E+1]!=null){B.childNodes[E+1].parentNode.insertBefore(D,B.childNodes[E+1])}else{B.appendChild(D)}return D}else{var A=this.ReverseDepthFirstSearchForData(B.childNodes[E],C);if(A){return A}}}}return};Wiki.prototype.DepthFirstSearchForData=function(B,C){var E=0;if(B==C.parentNode){while(B.childNodes[E]!=C){E++}E++}var D=null;for(;E<B.childNodes.length;E++){if(B.childNodes[E].data){return B.childNodes[E]}else{if(B.childNodes[E].tagName&&B.childNodes[E].tagName=="BR"){D=document.createTextNode("");if(B.childNodes[E+1]!=null){B.childNodes[E+1].parentNode.insertBefore(D,B.childNodes[E+1])}else{B.appendChild(D)}return D}else{var A=this.DepthFirstSearchForData(B.childNodes[E],C);if(A){return A}}}}return};Wiki.prototype.AddCharacterInput=function(A,B){if(!A.data){A.appendChild(document.createTextNode(B+"|"));this.cursor=B.length}else{A.data=(A.data).substring(0,this.cursor)+B+(A.data).substring(this.cursor);this.cursor+=B.length}};Wiki.ActivateElements=function(){var A=document.getElementsByTagName("div");for(var B=0;B<A.length;B++){if(A[B].tagName=="DIV"&&(A[B].className.match(/Content/)&&A[B].parentNode&&A[B].parentNode.id&&A[B].parentNode.id.match(/LiveBlog_Post/))&&!A[B].innerHTML.match(/(<img|<embed|<object|VideoEmbedHolder)/i)){if(!A[B].id){A[B].id=A[B].parentNode.id+"_Content"}A[B].onmousedown=Wiki.ClickRegion;A[B].onmouseup=Wiki.DragSelection}}};Wiki.DragSelection=function(B){return;if(!B){B=window.event}var A;if(navigator.userAgent.indexOf("Safari")>=0){A=getSelection()}else{A=document.selection?document.selection.createRange().text:document.getSelection()}if(A.length<=0){return}var C=Wiki.GetInstance()};Wiki.prototype.RemoveCursor=function(){this.editing.data=this.editing.data.substring(0,this.cursor)+this.editing.data.substring(this.cursor+1);this.editing=null;this.cursor=null;this.region.className=this.region.className.replace("IsEditing","");var A=this.region.parentNode.getElementsByTagName("a");for(var B=0;B<A.length;B++){if(A[B].className=="Edit"){A[B].parentNode.className=(A[B].parentNode.className+"").replace(/ Button/,"");A[B].innerHTML="Edit";break}}};Wiki.Off=function(B){if(B==null){B=true}var A=Wiki.GetInstance();if(A.editing){A.RemoveCursor();A.RemoveCoordinateHolders()}if(A.region&&A.IsEdited&&B){Wiki.SaveChanges()}if(A.region!=this){document.onkeydown=null;document.onkeypress=null;A.IsEdited=false;A.IsEditingHistory=false;A.versionIndex=0;A.cursor=null;A.editing=null;A.region=null}};Wiki.ClickRegion_Beginning=function(D){var B=Wiki.GetInstance();if(B.editing){B.RemoveCursor()}if(B.region&&B.IsEdited&&B.region!=D){Wiki.SaveChanges()}if(B.region!=D){B.Reset()}B.region=D;var A=new Wiki.windowState();Wiki.InsertCoordinateHolders(B.region);var C=B.FindClosestHolder(1000000,100000000);Wiki.BeginEdit(C.leftOfHolder,C.wordStartPoint);B.region.className+=" IsEditing"};Wiki.ClickRegion=function(E){if(!LiveBlog.GetInstance().AllowedToEdit&&this.parentNode!=null&&!PostUI.IsYourPost(this.parentNode)){return false}var C=Wiki.GetInstance();if(C.editing){C.RemoveCursor()}if(C.region&&C.IsEdited&&C.region!=this){Wiki.SaveChanges()}if(C.region!=this){C.Reset()}C.region=this;if(!E){E=window.event}var B=new Wiki.windowState();Wiki.InsertCoordinateHolders(C.region);var D=C.FindClosestHolder(E.clientX+B.scrollX,E.clientY+B.scrollY);Wiki.BeginEdit(D.leftOfHolder,D.wordStartPoint);C.region.className+=" IsEditing";var A=C.region.parentNode.getElementsByTagName("a");for(var F=0;F<A.length;F++){if(A[F].className=="Edit"){A[F].parentNode.className+=" Button";A[F].innerHTML="Save";break}}};Wiki.prototype.FindClosestHolder=function(C,E){var N=this.region.getElementsByTagName("span");var K;var M;var Q;var L;for(var J=1;J<N.length;J++){if(N[J].className=="CoordinateHolder"){Q=Wiki.findPosX(N[J])-C;L=Math.abs(Wiki.findPosY(N[J])-E);if(!K){M=K;K=N[J]}else{if(K&&L<Math.abs(Wiki.findPosY(K)-E)){M=K;K=N[J]}else{if(K&&L==Math.abs(Wiki.findPosY(K)-E)&&((Q>=0&&Q<Wiki.findPosX(K)-C)||(Q>(Wiki.findPosX(K)-C)&&(Wiki.findPosX(K)-C)<0))){M=K;K=N[J]}}}}}if(!K){K=N[0]}var F=this.ReverseDepthFirstSearchForData(K.parentNode,K);if(M&&Wiki.findPosY(K)==Wiki.findPosY(M)){var B=Wiki.findPosX(M)}else{var P=document.createElement("br");var I=document.createElement("span");I.className="CoordinateHolder";I.style.position="relative";M=F.parentNode.insertBefore(I,F);I.parentNode.insertBefore(P,I);var B=Wiki.findPosX(M);P.parentNode.removeChild(P)}var O=Wiki.findPosX(K)-B;var G=C-B;var A=G/O;var H=F.data.length;var D=(Math.floor(H*A));return{leftOfHolder:F,wordStartPoint:D}};Wiki.InsertCoordinateHolders=function(A){if(!A.AddedHolders){Wiki.HighlightSpaces(A);A.innerHTML=(A.innerHTML).replace(/%%%/g,"<span class='CoordinateHolder' style='position: relative;'></span> ");A.innerHTML="<span class='CoordinateHolder' style='position: relative;'></span>"+A.innerHTML+"<span class='CoordinateHolder' style='position: relative;'></span>";A.AddedHolders=true}};Wiki.HighlightSpaces=function(B){for(var A=0;A<B.childNodes.length;A++){Wiki.HighlightSpaces(B.childNodes[A])}if(B.data){B.data=B.data.replace(/\s+/gi,"%%%")}return};if(typeof XMLHttpRequest=="undefined"){XMLHttpRequest=function(){var A=["MSXML3","MSXML2","Microsoft"];for(var B=0;B<A.length;B++){try{return new ActiveXObject(A[B]+".XMLHTTP")}catch(C){}}throw new Error("No XML component installed")}};