- /******************************************************************************
- Crossday Discuz! Board - BB Code Insert
- Modified by: Comsenz Inc. (http://www.comsenz.com), Weiming Bianzhou
- Based upon: XMB CodeInsert (http://www.xmbforum.com), matt
- *******************************************************************************/
- defmode = "normalmode"; // default mode (normalmode, advmode, helpmode)
- if (defmode == "advmode") {
- helpmode = false;
- normalmode = false;
- advmode = true;
- } else if (defmode == "helpmode") {
- helpmode = true;
- normalmode = false;
- advmode = false;
- } else {
- helpmode = false;
- normalmode = true;
- advmode = false;
- }
- function chmode(swtch){
- if (swtch == 1){
- advmode = false;
- normalmode = false;
- helpmode = true;
- alert(help_mode);
- } else if (swtch == 0) {
- helpmode = false;
- normalmode = false;
- advmode = true;
- alert(adv_mode);
- } else if (swtch == 2) {
- helpmode = false;
- advmode = false;
- normalmode = true;
- alert(normal_mode);
- }
- }
- function AddText(NewCode) {
- document.all ? insertAtCaret(document.input.message, NewCode) : document.input.message.value += NewCode;
- setfocus();
- }
- function storeCaret(textEl){
- if(textEl.createTextRange){
- textEl.caretPos = document.selection.createRange().duplicate();
- }
- }
- function insertAtCaret(textEl, text){
- if (textEl.createTextRange && textEl.caretPos){
- var caretPos = textEl.caretPos;
- caretPos.text += caretPos.text.charAt(caretPos.text.length - 2) == ' ' ? text + ' ' : text;
- } else if(textEl) {
- textEl.value += text;
- } else {
- textEl.value = text;
- }
- }
- function getSelectedText() {
- var post = document.input.message;
- var selected = '';
- if(post.isTextEdit){
- post.focus();
- var sel= document.selection;
- var rng= sel.createRange();
- rng.colapse;
- if((sel.type =="Text" || sel.type == "None") && rng !=null){
- if(rng.text.length > 0) selected = rng.text;
- }
- }
- return selected;
- }
- function alipay() {
- if (helpmode) {
- alert(alipay_help);
- } else if (advmode) {
- AddTxt = "\r[payto]\r[seller][/seller]\r[subject][/subject]\r[body][/body]\r[url][/url]\r[type][/type]\r[/payto][list]";
- AddText(AddTxt);
- } else {
- var re=/^[\w.-]+@([0-9a-z][\w-]+\.)+[a-z]{2,3}$/i;
- txt = prompt(alipay_normal_account,"");
- if(txt != null) {
- while(!re.test(txt)) {
- txt = prompt(alipay_normal_account_error,"");
- if(txt == null) return;
- }
- var promptHint = new Array(alipay_normal_merchandise, alipay_normal_description, alipay_normal_price, alipay_normal_homepage, alipay_normal_type, alipay_normal_transport);
- var promptValue = new Array("subject", "body", "price", "url", "type", "transport");
- var AddTxt = "[payto]\r\n(seller)" + txt + "(/seller)\r\n";
- for(i = 0; i < promptHint.length; i++) {
- var txt = prompt(promptHint[i], "");
- if(txt == null) break;
- AddTxt+="("+promptValue[i]+")"+txt+"(/"+promptValue[i]+")\r\n";
- }
- if(txt!=null) {
- AddTxt+="[/payto]";
- AddText(AddTxt);
- }
- }
- }
- }
- function email() {
- if (helpmode) {
- alert(email_help);
- } else if (getSelectedText()) {
- var range = document.selection.createRange();
- range.text = "[email]" + range.text + "[/email]";
- } else if (advmode) {
- AddTxt="[email] [/email]";
- AddText(AddTxt);
- } else {
- txt2=prompt(email_normal,"");
- if (txt2!=null) {
- txt=prompt(email_normal_input,"name@domain.com");
- if (txt!=null) {
- if (txt2=="") {
- AddTxt="[email]"+txt+"[/email]";
- } else {
- AddTxt="[email="+txt+"]"+txt2+"[/email]";
- }
- AddText(AddTxt);
- }
- }
- }
- }
- function chsize(size) {
- if (helpmode) {
- alert(fontsize_help);
- } else if (getSelectedText()) {
- var range = document.selection.createRange();
- range.text = "[size=" + size + "]" + range.text + "[/size]";
- } else if (advmode) {
- AddTxt="[size="+size+"] [/size]";
- AddText(AddTxt);
- } else {
- txt=prompt(fontsize_normal,text_input);
- if (txt!=null) {
- AddTxt="[size="+size+"]"+txt;
- AddText(AddTxt);
- AddText("[/size]");
- }
- }
- }
- function chfont(font) {
- if (helpmode){
- alert(font_help);
- } else if (getSelectedText()) {
- var range = document.selection.createRange();
- range.text = "[font=" + font + "]" + range.text + "[/font]";
- } else if (advmode) {
- AddTxt="[font="+font+"] [/font]";
- AddText(AddTxt);
- } else {
- txt=prompt(font_normal,text_input);
- if (txt!=null) {
- AddTxt="[font="+font+"]"+txt;
- AddText(AddTxt);
- AddText("[/font]");
- }
- }
- }
- function bold() {
- if (helpmode) {
- alert(bold_help);
- } else if (getSelectedText()) {
- var range = document.selection.createRange();
- range.text = "[b]" + range.text + "[/b]";
- } else if (advmode) {
- AddTxt="[b] [/b]";
- AddText(AddTxt);
- } else {
- txt=prompt(bold_normal,text_input);
- if (txt!=null) {
- AddTxt="[b]"+txt;
- AddText(AddTxt);
- AddText("[/b]");
- }
- }
- }
- function italicize() {
- if (helpmode) {
- alert(italicize_help);
- } else if (getSelectedText()) {
- var range = document.selection.createRange();
- range.text = "[i]" + range.text + "[/i]";
- } else if (advmode) {
- AddTxt="[i] [/i]";
- AddText(AddTxt);
- } else {
- txt=prompt(italicize_normal,text_input);
- if (txt!=null) {
- AddTxt="[i]"+txt;
- AddText(AddTxt);
- AddText("[/i]");
- }
- }
- }
- function quote() {
- if (helpmode){
- alert(quote_help);
- } else if (getSelectedText()) {
- var range = document.selection.createRange();
- range.text = "[quote]" + range.text + "[/quote]";
- } else if (advmode) {
- AddTxt="\r[quote]\r[/quote]";
- AddText(AddTxt);
- } else {
- txt=prompt(quote_normal,text_input);
- if(txt!=null) {
- AddTxt="\r[quote]\r"+txt;
- AddText(AddTxt);
- AddText("\r[/quote]");
- }
- }
- }
- function chcolor(color) {
- if (helpmode) {
- alert(color_help);
- } else if (getSelectedText()) {
- var range = document.selection.createRange();
- range.text = "[color=" + color + "]" + range.text + "[/color]";
- } else if (advmode) {
- AddTxt="[color="+color+"] [/color]";
- AddText(AddTxt);
- } else {
- txt=prompt(color_normal,text_input);
- if(txt!=null) {
- AddTxt="[color="+color+"]"+txt;
- AddText(AddTxt);
- AddText("[/color]");
- }
- }
- }
- function center() {
- if (helpmode) {
- alert(center_help);
- } else if (getSelectedText()) {
- var range = document.selection.createRange();
- range.text = "[align=center]" + range.text + "[/align]";
- } else if (advmode) {
- AddTxt="[align=center] [/align]";
- AddText(AddTxt);
- } else {
- txt=prompt(center_normal,text_input);
- if (txt!=null) {
- AddTxt="\r[align=center]"+txt;
- AddText(AddTxt);
- AddText("[/align]");
- }
- }
- }
- function hyperlink() {
- if (helpmode) {
- alert(link_help);
- } else if (advmode) {
- AddTxt="[url] [/url]";
- AddText(AddTxt);
- } else {
- txt2=prompt(link_normal,"");
- if (txt2!=null) {
- txt=prompt(link_normal_input,"http://");
- if (txt!=null) {
- if (txt2=="") {
- AddTxt="[url]"+txt;
- AddText(AddTxt);
- AddText("[/url]");
- } else {
- AddTxt="[url="+txt+"]"+txt2;
- AddText(AddTxt);
- AddText("[/url]");
- }
- }
- }
- }
- }
- function image() {
- if (helpmode){
- alert(image_help);
- } else if (advmode) {
- AddTxt="[img] [/img]";
- AddText(AddTxt);
- } else {
- txt=prompt(image_normal,"http://");
- if(txt!=null) {
- AddTxt="\r[img]"+txt;
- AddText(AddTxt);
- AddText("[/img]");
- }
- }
- }
- function flash() {
- if (helpmode){
- alert(flash_help);
- } else if (advmode) {
- AddTxt="[swf] [/swf]";
- AddText(AddTxt);
- } else {
- txt=prompt(flash_normal,"http://");
- if(txt!=null) {
- AddTxt="\r[swf]"+txt;
- AddText(AddTxt);
- AddText("[/swf]");
- }
- }
- }
- function code() {
- if (helpmode) {
- alert(code_help);
- } else if (getSelectedText()) {
- var range = document.selection.createRange();
- range.text = "[code]" + range.text + "
复制代码 ";
} else if (advmode) {
AddTxt="\r";
AddText(AddTxt);
} else {
txt=prompt(code_normal,"");
if (txt!=null) {
AddTxt="\r- "+txt;
- AddText(AddTxt);
- AddText("
复制代码 ");
}
}
}
function list() {
if (helpmode) {
alert(list_help);
} else if (advmode) {
AddTxt="\r";
AddText(AddTxt);
} else {
txt=prompt(list_normal,"");
while ((txt!="") && (txt!="A") && (txt!="a") && (txt!="1") && (txt!=null)) {
txt=prompt(list_normal_error,"");
}
if (txt!=null) {
if (txt=="") {
AddTxt="\r\r\n";
} else {
AddTxt="\r[list="+txt+"]\r";
}
txt="1";
while ((txt!="") && (txt!=null)) {
txt=prompt(list_normal_input,"");
if (txt!="") {
AddTxt+="- "+txt+"\r";
}
}
AddTxt+=" \r\n";
AddText(AddTxt);
}
}
}
function underline() {
if (helpmode) {
alert(underline_help);
} else if (getSelectedText()) {
var range = document.selection.createRange();
range.text = "" + range.text + "";
} else if (advmode) {
AddTxt=" ";
AddText(AddTxt);
} else {
txt=prompt(underline_normal,text_input);
if (txt!=null) {
AddTxt=""+txt;
AddText(AddTxt);
AddText("");
}
}
}
function setfocus() {
document.input.message.focus();
}
[/code] |