--- Webpacus/root/editor/quicktags.js 2005/11/29 15:29:55 196
+++ Webpacus/root/editor/quicktags.js 2005/11/29 15:30:03 197
@@ -109,38 +109,35 @@
,'e'
);
-function edShowButton(button, i) {
- if (button.id == 'ed_img') {
- return('');
- }
- else if (button.id == 'ed_link') {
- return('');
+function edShowButton(name, button, i) {
+ if (button.id == 'ed_link') {
+ return('');
}
else {
- return('');
+ return('');
}
}
-function edAddTag(button) {
+function edAddTag(name, button) {
if (edButtons[button].tagEnd != '') {
- edOpenTags[edOpenTags.length] = button;
- $( edButtons[button].id ).value = '/' + $( edButtons[button].id ).value;
+ edOpenTags[name][ edOpenTags[name].length ] = button;
+ $( name + '_' + edButtons[button].id ).value = '/' + $( name + '_' + edButtons[button].id ).value;
}
}
-function edRemoveTag(button) {
- for (i = 0; i < edOpenTags.length; i++) {
- if (edOpenTags[i] == button) {
- edOpenTags.splice(i, 1);
- $( edButtons[button].id ).value = $( edButtons[button].id ).value.replace('/', '');
+function edRemoveTag(name, button) {
+ for (i = 0; i < edOpenTags[name].length; i++) {
+ if (edOpenTags[name][i] == button) {
+ edOpenTags[name].splice(i, 1);
+ $( name + '_' + edButtons[button].id ).value = $( name + '_' + edButtons[button].id ).value.replace('/', '');
}
}
}
-function edCheckOpenTags(button) {
+function edCheckOpenTags(name, button) {
var tag = 0;
- for (i = 0; i < edOpenTags.length; i++) {
- if (edOpenTags[i] == button) {
+ for (i = 0; i < edOpenTags[name].length; i++) {
+ if (edOpenTags[name][i] == button) {
tag++;
}
}
@@ -152,10 +149,11 @@
}
}
-function edCloseAllTags() {
- var count = edOpenTags.length;
+function edCloseAllTags( name ) {
+ var count = edOpenTags[name].length;
+ Logger.info('edCloseAllTags '+name+' count:'+count);
for (o = 0; o < count; o++) {
- edInsertTag(edCanvas, edOpenTags[edOpenTags.length - 1]);
+ edInsertTag(name, edOpenTags[name][ edOpenTags[name].length - 1 ]);
}
}
@@ -178,24 +176,32 @@
var toolbar = '';
for (var i = 0; i < edButtons.length; i++) {
- toolbar += edShowButton(edButtons[i], i);
+ toolbar += edShowButton(name, edButtons[i], i);
}
toolbar += '  ';
- toolbar += '';
+ toolbar += '';
div.innerHTML = toolbar;
- Logger.debug('before: '+edActiveToolbar[name]);
+
edActiveToolbar[name] = 1;
- Logger.debug('after: '+edActiveToolbar[name]);
+ edOpenTags[name] = new Array();
+
+ Logger.debug('edActiveToolbar['+name+'] = '+edActiveToolbar[name]);
return false;
}
// insertion code
-function edInsertTag(myField, i) {
+function edInsertTag(name, i) {
+
+ myField = $( name );
+ if (! myField) {
+ Logger.error("can't find "+name);
+ return false;
+ }
var pos = myField.scrollTop;
- Logger.debug('edInsertTag "'+i+'", scrollTop='+pos);
+ Logger.debug('edInsertTag '+name+','+i+'; scrollTop='+pos);
//IE support
if (document.selection) {
@@ -205,13 +211,13 @@
sel.text = edButtons[i].tagStart + sel.text + edButtons[i].tagEnd;
}
else {
- if (!edCheckOpenTags(i) || edButtons[i].tagEnd == '') {
+ if (!edCheckOpenTags(name, i) || edButtons[i].tagEnd == '') {
sel.text = edButtons[i].tagStart;
- edAddTag(i);
+ edAddTag(name, i);
}
else {
sel.text = edButtons[i].tagEnd;
- edRemoveTag(i);
+ edRemoveTag(name, i);
}
}
myField.focus();
@@ -232,18 +238,18 @@
cursorPos += edButtons[i].tagStart.length + edButtons[i].tagEnd.length;
}
else {
- if (!edCheckOpenTags(i) || edButtons[i].tagEnd == '') {
+ if (!edCheckOpenTags(name, i) || edButtons[i].tagEnd == '') {
myField.value = myField.value.substring(0, startPos)
+ edButtons[i].tagStart
+ myField.value.substring(endPos, myField.value.length);
- edAddTag(i);
+ edAddTag(name, 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);
+ edRemoveTag(name, i);
cursorPos = startPos + edButtons[i].tagEnd.length;
}
}
@@ -253,13 +259,13 @@
myField.scrollTop = scrollTop;
}
else {
- if (!edCheckOpenTags(i) || edButtons[i].tagEnd == '') {
+ if (!edCheckOpenTags(name, i) || edButtons[i].tagEnd == '') {
myField.value += edButtons[i].tagStart;
- edAddTag(i);
+ edAddTag(name, i);
}
else {
myField.value += edButtons[i].tagEnd;
- edRemoveTag(i);
+ edRemoveTag(name, i);
}
myField.focus();
}
@@ -297,19 +303,26 @@
if (pos && myField.scrollTop != pos) myField.scrollTop = pos;
}
-function edInsertLink(myField, i, defaultValue) {
+function edInsertLink(name, i, defaultValue) {
+
+ myField = $( name );
+ if (! myField) {
+ Logger.error("can't find "+name);
+ return false;
+ }
+
if (!defaultValue) {
defaultValue = 'http://';
}
- if (!edCheckOpenTags(i)) {
+ if (!edCheckOpenTags(name, i)) {
var URL = prompt('Enter the URL' ,defaultValue);
if (URL) {
edButtons[i].tagStart = '';
- edInsertTag(myField, i);
+ edInsertTag(name, i);
}
}
else {
- edInsertTag(myField, i);
+ edInsertTag(name, i);
}
}