
var edButtons=new Array();var edLinks=new Array();var edOpenTags=new Array();function edButton(id,display,tagStart,tagEnd,access,open){this.id=id;this.display=display;this.tagStart=tagStart;this.tagEnd=tagEnd;this.access=access;this.open=open;}
edButtons.push(new edButton('ed_hidden','','','',''));edButtons.push(new edButton('ed_bold','b','<strong>','</strong>','b'));edButtons.push(new edButton('ed_italic','i','<em>','</em>','i'));edButtons.push(new edButton('ed_link','link','','</a>','a'));edButtons.push(new edButton('ed_block','b-quote','<blockquote>','</blockquote>','q'));edButtons.push(new edButton('ed_code','code','\`','\`','c'));edButtons.push(new edButton('ed_ul','ul','<ul>\n','</ul>\n\n','u'));edButtons.push(new edButton('ed_ol','ol','<ol>\n','</ol>\n\n','o'));edButtons.push(new edButton('ed_li','li','\t<li>','</li>\n','l'));var extendedStart=edButtons.length;function edLink(display,URL,newWin){this.display=display;this.URL=URL;if(!newWin){newWin=0;}
this.newWin=newWin;}
edLinks[edLinks.length]=new edLink('alexking.org','http://www.alexking.org/');function edShowButton(button,i){if(button.access){var accesskey=' accesskey = "'+button.access+'"'}
else{var accesskey='';}
switch(button.id){case'ed_img':document.write('<input type="button" id="'+button.id+'" '+accesskey+' class="ed_button" onclick="edInsertImage(edCanvas);" value="'+button.display+'" />');break;case'ed_link':document.write('<input type="button" id="'+button.id+'" '+accesskey+' class="ed_button" onclick="edInsertLink(edCanvas, '+i+');" value="'+button.display+'" />');break;default:document.write('<input type="button" id="'+button.id+'" '+accesskey+' class="ed_button" onclick="edInsertTag(edCanvas, '+i+');" value="'+button.display+'"  />');break;}}
function edShowLinks(){var tempStr='<select onchange="edQuickLink(this.options[this.selectedIndex].value, this);"><option value="-1" selected>(Quick Links)</option>';for(i=0;i<edLinks.length;i++){tempStr+='<option value="'+i+'">'+edLinks[i].display+'</option>';}
tempStr+='</select>';document.write(tempStr);}
function edAddTag(button){if(edButtons[button].tagEnd!=''){edOpenTags[edOpenTags.length]=button;document.getElementById(edButtons[button].id).value='/'+document.getElementById(edButtons[button].id).value;}}
function edRemoveTag(button){for(i=0;i<edOpenTags.length;i++){if(edOpenTags[i]==button){edOpenTags.splice(i,1);document.getElementById(edButtons[button].id).value=document.getElementById(edButtons[button].id).value.replace('/','');}}}
function edCheckOpenTags(button){var tag=0;for(i=0;i<edOpenTags.length;i++){if(edOpenTags[i]==button){tag++;}}
if(tag>0){return true;}
else{return false;}}
function edCloseAllTags(){var count=edOpenTags.length;for(o=0;o<count;o++){edInsertTag(edCanvas,edOpenTags[edOpenTags.length-1]);}}
function edQuickLink(i,thisSelect){if(i>-1){var newWin='';if(edLinks[i].newWin==1){newWin=' target="_blank"';}
var tempStr='<a href="'+edLinks[i].URL+'"'+newWin+'>'
+edLinks[i].display
+'</a>';thisSelect.selectedIndex=0;edInsertContent(edCanvas,tempStr);}
else{thisSelect.selectedIndex=0;}}
function edToolbar(){document.write('<div id="ed_toolbar">');for(i=0;i<extendedStart;i++){edShowButton(edButtons[i],i);}
document.write('<input type="button" id="ed_close" class="ed_button" onclick="edCloseAllTags();" value="close tags" />');for(i=extendedStart;i<edButtons.length;i++){edShowButton(edButtons[i],i);}
document.write('</div>');}
function edInsertTag(myField,i){if(document.selection){myField.focus();sel=document.selection.createRange();if(sel.text.length>0){sel.text=edButtons[i].tagStart+sel.text+edButtons[i].tagEnd;}
else{if(!edCheckOpenTags(i)||edButtons[i].tagEnd==''){sel.text=edButtons[i].tagStart;edAddTag(i);}
else{sel.text=edButtons[i].tagEnd;edRemoveTag(i);}}
myField.focus();}
else if(myField.selectionStart||myField.selectionStart=='0'){var startPos=myField.selectionStart;var endPos=myField.selectionEnd;var cursorPos=endPos;var scrollTop=myField.scrollTop;if(startPos!=endPos){myField.value=myField.value.substring(0,startPos)
+edButtons[i].tagStart
+myField.value.substring(startPos,endPos)
+edButtons[i].tagEnd
+myField.value.substring(endPos,myField.value.length);cursorPos+=edButtons[i].tagStart.length+edButtons[i].tagEnd.length;}
else{if(!edCheckOpenTags(i)||edButtons[i].tagEnd==''){myField.value=myField.value.substring(0,startPos)
+edButtons[i].tagStart
+myField.value.substring(endPos,myField.value.length);edAddTag(i);cursorPos=startPos+edButtons[i].tagStart.length;}
else{myField.value=myField.value.substring(0,startPos)
+edButtons[i].tagEnd
+myField.value.substring(endPos,myField.value.length);edRemoveTag(i);cursorPos=startPos+edButtons[i].tagEnd.length;}}
myField.focus();myField.selectionStart=cursorPos;myField.selectionEnd=cursorPos;myField.scrollTop=scrollTop;}
else{if(!edCheckOpenTags(i)||edButtons[i].tagEnd==''){myField.value+=edButtons[i].tagStart;edAddTag(i);}
else{myField.value+=edButtons[i].tagEnd;edRemoveTag(i);}
myField.focus();}}
function edInsertContent(myField,myValue){if(document.selection){myField.focus();sel=document.selection.createRange();sel.text=myValue;myField.focus();}
else if(myField.selectionStart||myField.selectionStart=='0'){var startPos=myField.selectionStart;var endPos=myField.selectionEnd;var scrollTop=myField.scrollTop;myField.value=myField.value.substring(0,startPos)
+myValue
+myField.value.substring(endPos,myField.value.length);myField.focus();myField.selectionStart=startPos+myValue.length;myField.selectionEnd=startPos+myValue.length;myField.scrollTop=scrollTop;}else{myField.value+=myValue;myField.focus();}}
function edInsertLink(myField,i,defaultValue){if(!defaultValue){defaultValue='http://';}
if(!edCheckOpenTags(i)){var URL=prompt('Enter the URL',defaultValue);if(URL){edButtons[i].tagStart='<a href="'+URL+'">';edInsertTag(myField,i);}}
else{edInsertTag(myField,i);}}
function edInsertImage(myField){var myValue=prompt('Enter the URL of the image','http://');if(myValue){myValue='<img src="'
+myValue
+'" alt="'+prompt('Enter a description of the image','')
+'" />';edInsertContent(myField,myValue);}}
function countInstances(string,substr){var count=string.split(substr);return count.length-1;}