1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| function MM_findObj(n, d) { //v4.0
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && document.getElementById) x=document.getElementById(n); return x;
}
function getInsertedTag(previousText,selectedText,tagStart,tagEnd) {
if (selectedText.length==0) {
var escTagStart = tagStart.replace("[","\\[").replace("]","\\]");
var escTagEnd = tagEnd.replace("[","\\[").replace("]","\\]");
var searchTagStart = new RegExp(escTagStart,"gi"); resultStart = previousText.match(searchTagStart);
var searchTagEnd = new RegExp(escTagEnd,"gi"); resultEnd = previousText.match(searchTagEnd);
numTagsStart = (resultStart==null)?0:resultStart.length;
numTagsEnd = (resultEnd==null)?0:resultEnd.length;
if ( numTagsEnd >= numTagsStart )
return tagStart;
else
return tagEnd;
}
else {
return tagStart + selectedText + tagEnd;
}
}
function insertTagAtCursor(myField, myTag, bbMode) {
//IE support
tagStart = "["+myTag+"]"; tagEnd = "[/"+myTag+"]";
if (document.selection) {
myField.focus();
sel = document.selection.createRange();
sel.text = getInsertedTag(myField.value.substring(0, sel.startOffset),sel.text,tagStart,tagEnd);
}
//MOZILLA/NETSCAPE support
else if (myField.selectionStart || myField.selectionStart == '0') {
var startPos = myField.selectionStart;
var endPos = myField.selectionEnd;
var myValue = getInsertedTag(myField.value.substring(0, startPos),myField.value.substring(startPos, endPos),tagStart,tagEnd);
myField.value = myField.value.substring(0, startPos)
+ myValue
+ myField.value.substring(endPos, myField.value.length);
myField.selectionEnd=startPos+myValue.length;
myField.focus();
} else {
myField.value += getInsertedTag(myField.value,"",tagStart,tagEnd);
myField.focus();
}
} |
Partager