diff --git a/wp-admin/wp-quicktags.js b/wp-admin/wp-quicktags.js
index c682b8b3b6..4f566e9d3f 100644
--- a/wp-admin/wp-quicktags.js
+++ b/wp-admin/wp-quicktags.js
@@ -2,21 +2,161 @@
// by Alex King
// http://www.alexking.org/
-function edButton() {
- this.id = ''; // used to name the toolbar button
- this.display = ''; // label on button
- this.tagStart = ''; // open tag
- this.tagEnd = ''; // close tag
- this.open = 0; // set to -1 if tag does not need to be closed
- this.access = ''; // access key
-}
-
+var edButtons = new Array();
+var edLinks = new Array();
var edOpenTags = new Array();
+function edButton(id, display, tagStart, tagEnd, access, open) {
+ this.id = id; // used to name the toolbar button
+ this.display = display; // label on button
+ this.tagStart = tagStart; // open tag
+ this.tagEnd = tagEnd; // close tag
+ this.access = access; // access key
+ this.open = open; // set to -1 if tag does not need to be closed
+}
+
+/*
+** TODO: Make it so ins and del have proper datetime attributes, formatted as so: **
+1999-02-22T16:03:30-08:00
+
+** Here's my start **
+var now = new Date();
+var datetime = now.getFullYear() + '-' +
+
+*/
+
+edButtons[edButtons.length] = new edButton('ed_strong'
+ ,'B'
+ ,''
+ ,''
+ ,'b'
+ );
+
+edButtons[edButtons.length] = new edButton('ed_em'
+ ,'i'
+ ,''
+ ,''
+ ,'i'
+ );
+
+edButtons[edButtons.length] = new edButton('ed_del'
+ ,'del'
+ ,''
+ ,''
+ ,'d'
+ );
+
+edButtons[edButtons.length] = new edButton('ed_ins'
+ ,'ins'
+ ,''
+ ,''
+ ,'d'
+ );
+
+edButtons[edButtons.length] = new edButton('ed_link'
+ ,'link'
+ ,''
+ ,''
+ ,'a'
+ ); // special case
+
+edButtons[edButtons.length] = new edButton('ed_img'
+ ,'img'
+ ,''
+ ,''
+ ,'m'
+ ,-1
+ ); // special case
+
+edButtons[edButtons.length] = new edButton('ed_ul'
+ ,'ul'
+ ,'
' + ,'' + ,'q' + ); + +edButtons[edButtons.length] = new edButton('ed_pre' + ,'pre' + ,'
' + ,'' + ); + +edButtons[edButtons.length] = new edButton('ed_more' + ,'more' + ,'' + ,'' + ,'t' + ,-1 + ); + +edButtons[edButtons.length] = new edButton('ed_next' + ,'n-page' + ,'' + ,'' + ,'p' + ,-1 + ); + +function edLink() { + this.display = ''; + this.URL = ''; + this.newWin = 0; +} + +edLinks[edLinks.length] = new edLink('WordPress' + ,'http://wordpress.org/' + ); + +edLinks[edLinks.length] = new edLink('alexking.org' + ,'http://www.alexking.org/' + ); + +function edShowButton(button, i) { + if (button.id == 'ed_img') { + document.write(''); + } + else if (button.id == 'ed_link') { + document.write(''); + } + else { + document.write(''); + } +} + +function edShowLinks() { + var tempStr = ''; + document.write(tempStr); +} + function edAddTag(button) { - if (eval('ed' + button + '.tagEnd') != '') { + if (edButtons[button].tagEnd != '') { edOpenTags[edOpenTags.length] = button; - document.getElementById(eval('ed' + button + '.id')).value = '/' + document.getElementById(eval('ed' + button + '.id')).value; + document.getElementById(edButtons[button].id).value = '/' + document.getElementById(edButtons[button].id).value; } } @@ -25,7 +165,7 @@ function edRemoveTag(button) { for (i = 0; i < edOpenTags.length; i++) { if (edOpenTags[i] == button) { edOpenTags.splice(i, 1); - document.getElementById(eval('ed' + button + '.id')).value = document.getElementById(eval('ed' + button + '.id')).value.replace('/', ''); + document.getElementById(edButtons[button].id).value = document.getElementById(edButtons[button].id).value.replace('/', ''); } } } @@ -52,157 +192,21 @@ function edCloseAllTags() { } } -/* -** TODO: Make it so ins and del have proper datetime attributes, formatted as so: ** -1999-02-22T16:03:30-08:00 - -** Here's my start ** -var now = new Date(); -var datetime = now.getFullYear() + '-' + - -*/ - -var ed0 = new edButton(); -ed0.id = 'ed_strong'; -ed0.display = 'B'; -ed0.tagStart = ''; -ed0.tagEnd = ''; -ed0.access = 'b'; - -var ed1 = new edButton(); -ed1.id = 'ed_em'; -ed1.display = 'i'; -ed1.tagStart = ''; -ed1.tagEnd = ''; -ed1.access = 'i'; - -var ed2 = new edButton(); -ed2.id = 'ed_del'; -ed2.display = 'del'; -ed2.tagStart = '
'; -ed9.tagEnd = ''; -ed9.access = 'q'; - -var ed10 = new edButton(); -ed10.id = 'ed_pre'; -ed10.display = 'pre'; -ed10.tagStart = '
'; -ed10.tagEnd = ''; -ed10.access = ''; - -var ed11 = new edButton(); -ed11.id = 'ed_more'; -ed11.display = 'more'; -ed11.tagStart = ''; -ed11.tagEnd = ''; -ed11.access = 't'; - -var ed12 = new edButton(); -ed12.id = 'ed_next'; -ed12.display = 'n-page'; -ed12.tagStart = ''; -ed12.tagEnd = ''; -ed12.access = 'p'; - -var edButtonCount = 13; - -function edShowButton(button, i) { - if (button.id == 'ed_img') { - document.write(''); - } - else if (button.id == 'ed_link') { - document.write(''); - } - else { - document.write(''); - } -} - -function edLink() { - this.display = ''; - this.URL = ''; - this.newWin = 0; -} - -var edLink0 = new edLink; -edLink0.display = 'WordPress'; -edLink0.URL = 'http://wordpress.org/'; - -var edLink1 = new edLink; -edLink1.display = 'alexking.org'; -edLink1.URL = 'http://www.alexking.org/'; - -var edLinkCount = 2; - -function edShowLinks() { - var tempStr = ''; - document.write(tempStr); -} - function edQuickLink(i, thisSelect) { if (i > -1) { var newWin = ''; - if (eval('edLink' + i + '.newWin') == 1) { + if (edLinks[i].newWin == 1) { newWin = ' target="_blank"'; } - var tempStr = '' + eval('edLink' + i + '.display') + ''; + var tempStr = '' + + edLinks[i].display + + ''; + thisSelect.selectedIndex = 0; edInsertContent(edCanvas, tempStr); } - thisSelect.selectedIndex = 0; + else { + thisSelect.selectedIndex = 0; + } } function edSpell(myField) { @@ -225,14 +229,14 @@ function edSpell(myField) { word = prompt('Enter a word to look up:', ''); } if (word != '') { - window.open('http://dictionary.reference.com/search?q=' + word); + window.open('http://dictionary.reference.com/search?q=' + escape(word)); } } function edToolbar() { document.write('