
var ubb_mode_default="adv";		//默认模式，可选 normal, adv, 或 help
var ubb_w=450;
var ubb_h=350;
var ubb_name="UBB代码 - ";
var ubb_now_frm="";
var ubb_now_remark="";
var ubb_dir="";

//UBB
var ubb_var_font=new Array('arial','Book antiqua','Century Gothic','Courier new','Georgia','Impact','Tahoma','Times New Roman','Verdana','宋体','黑体');
var ubb_var_size=new Array('1','2','3','4','5','6','7');
var ubb_var_color=new Array('Black','White','Pink','Red','Yellow','Green','Orange','Purple','Blue','Brown','Teal','Navy','Maroon','#00FFFF','#7FFFD4','#FFE4C4','#7FFF00','#D2691E','#FF7F50','#6495ED','#DC143C','#FF1493','#FF00FF','#FFD700','#DAA520','#808080','#778899','#B0C4DE');

if (ubb_mode_default == "adv")
{ ubb_mode_help = false; ubb_mode_normal = false; ubb_mode_adv = true; }
else if (ubb_mode_default == "help")
{ ubb_mode_help = true; ubb_mode_normal = false; ubb_mode_adv = false; }
else
{ ubb_mode_help = false; ubb_mode_normal = true; ubb_mode_adv = false; }

function ubb_help_mode()
{
  document.write("<input onclick=\"javascript:ubb_mode('2');\" type=radio name=mode value=2");
  if (ubb_mode_help) document.write(" checked");
  document.write("> 提示插入<br>");
  document.write("<input onclick=\"javascript:ubb_mode('0');\" type=radio name=mode value=0");
  if (ubb_mode_adv) document.write(" checked");
  document.write("> 直接插入<br>");
  document.write("<input onclick=\"javascript:ubb_mode('1');\" type=radio name=mode value=1");
  if (ubb_mode_normal) document.write(" checked");
  document.write("> 帮助信息");
}

function ubb_interface(strfrm,strremark,strdir)
{
  if (strfrm!=null) ubb_now_frm=strfrm;
  if (strremark!=null) ubb_now_remark=strremark;
  if (strdir!=null) ubb_dir=strdir;
}

function ubb_load()
{
  if (ubb_now_frm=="" || ubb_now_remark=="" || ubb_dir=="") return true;
  var i=0;
  document.write("<table border=0 cellspacing=2 cellpadding=2>");
  document.write("<tr>");
  document.write("<td><select name=sel_ubb_font size=1 class=sel onchange=\"javascript:ubb_font(this.options[this.selectedIndex].value);this.options[0].selected=true;\">");
  document.write("<option value=''>选择字体</option>");
  for(i=0;i<ubb_var_font.length;i++)
  {
    document.write("<option style=\"font-family:"+ubb_var_font[i]+";\" value='"+ubb_var_font[i]+"'>"+ubb_var_font[i]+"</option>");
  }
  document.write("</select></td>");
  document.write("<td width=3></td>");
  document.write("<td><select name=sel_ubb_size size=1 class=sel onchange=\"javascript:ubb_size(this.options[this.selectedIndex].value);this.options[0].selected=true;\">");
  document.write("<option value=''>大小</option>");
  for(i=0;i<ubb_var_size.length;i++)
  {
    document.write("<option value='"+ubb_var_size[i]+"'>"+ubb_var_size[i]+"</option>");
  }
  document.write("</select></td>");
  document.write("<td width=3></td>");
  document.write("<td><select name=sel_ubb_color size=1 class=sel onchange=\"javascript:ubb_color(this.options[this.selectedIndex].value);this.options[0].selected=true;\">");
  document.write("<option value=''>选择颜色</option>");
  for(i=0;i<ubb_var_color.length;i++)
  {
    document.write("<option style=\"color:"+ubb_var_color[i]+";background:"+ubb_var_color[i]+";\" value='"+ubb_var_color[i]+"'>"+ubb_var_color[i]+"</option>");
  }
  document.write("</select></td>");
  document.write("</tr>");
  document.write("</table>");
  document.write("<table border=0 cellspacing=2 cellpadding=2>");
  document.write("<tr>");
  document.write("<td><a href='javascript:;' onclick=\"javascript:ubb_bold();\"><img alt='插入粗体文本' src='"+ubb_dir+"bold.gif' border=0></a></td>");
  document.write("<td><a href='javascript:;' onclick=\"javascript:ubb_italicize();\"><img alt='插入斜体文本' src='"+ubb_dir+"italicize.gif' border=0></a></td>");
  document.write("<td><a href='javascript:;' onclick=\"javascript:ubb_underline();\"><img alt='插入下划线' src='"+ubb_dir+"underline.gif' border=0></a></td>");
  document.write("<td><a href='javascript:;' onclick=\"javascript:ubb_center();\"><img alt='居中对齐' src='"+ubb_dir+"center.gif' border=0></a></td>");
  document.write("<td><a href='javascript:;' onclick=\"javascript:ubb_fly();\"><img alt='插入文字飞翔' src='"+ubb_dir+"fly.gif' border=0></a></td>");
  document.write("<td><a href='javascript:;' onclick=\"javascript:ubb_move();\"><img alt='插入文字移动' src='"+ubb_dir+"move.gif' border=0></a></td>");
  document.write("<td><a href='javascript:;' onclick=\"javascript:ubb_link();\"><img alt='插入超级链接' src='"+ubb_dir+"url.gif' border=0></a></td>");
  document.write("<td><a href='javascript:;' onclick=\"javascript:ubb_email();\"><img alt='插入邮件地址' src='"+ubb_dir+"email.gif' border=0></a></td>");
  document.write("<td><a href='javascript:;' onclick=\"javascript:ubb_image();\"><img alt='插入图像' src='"+ubb_dir+"image.gif' border=0></a></td>");
  document.write("<td><a href='javascript:;' onclick=\"javascript:ubb_flash();\"><img alt='插入 flash' src='"+ubb_dir+"flash.gif' border=0></a></td>");
  document.write("<td><a href='javascript:;' onclick=\"javascript:ubb_rm();\"><img alt='插入Realplay视频文件' src='"+ubb_dir+"rm.gif' border=0></a></td>");
  document.write("<td><a href='javascript:;' onclick=\"javascript:ubb_mp();\"><img alt='插入Media Player播放文件' src='"+ubb_dir+"mp.gif' border=0></a></td>");
  document.write("<td><a href='javascript:;' onclick=\"javascript:ubb_code();\"><img alt='插入代码' src='"+ubb_dir+"code.gif' border=0></a></td>");
  document.write("<td><a href='javascript:;' onclick=\"javascript:ubb_quote();\"><img alt='插入引用' src='"+ubb_dir+"quote.gif' border=0></a></td>");
  document.write("<td><a href='javascript:;' onclick=\"javascript:ubb_list();\"><img alt='插入列表' src='"+ubb_dir+"list.gif' border=0></a></td>");
  document.write("</tr>");
  document.write("</table>");
}

function ubb_addtext(strcode)
{
  if(document.all)
  {
    eval("ubb_insertAtCaret(document."+ubb_now_frm+"."+ubb_now_remark+",strcode);");
    //ubb_insertAtCaret(document.write_frm.remark, strcode);
    eval("document."+ubb_now_frm+"."+ubb_now_remark+".focus();");
  }
  else
  {
    eval("document."+ubb_now_frm+"."+ubb_now_remark+".value += strcode;");
    //document.write_frm.remark.value += strcode;
    eval("document."+ubb_now_frm+"."+ubb_now_remark+".focus();");
  }
}

/*
function storeCaret(textEl)
{
  if(textEl.createTextRange)
  {
    textEl.caretPos = document.selection.createRange().duplicate();
  }
}
*/

function ubb_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 ubb_mode(strn)
{
  if (strn == 1)
  {
    ubb_mode_adv = false; ubb_mode_normal = false; ubb_mode_help = true;
    alert(ubb_name+"帮助信息\n\n点击相应的代码按钮即可获得相应的说明和提示");
  }
  else if (strn == 0)
  {
    ubb_mode_help = false; ubb_mode_normal = false; ubb_mode_adv = true;
    alert(ubb_name+"直接插入\n\n点击代码按钮后不出现提示即直接插入相应代码");
  }
  else if (strn == 2)
  {
    ubb_mode_help = false; ubb_mode_adv = false; ubb_mode_normal = true;
    alert(ubb_name+"提示插入\n\n点击代码按钮后出现向导窗口帮助您完成代码插入");
  }
}

function ubb_email()
{
  if (ubb_mode_help)
  { alert(ubb_name+"插入邮件地址\n\n插入邮件地址连接！\n例如：\n[email]sinoxz@sinoxz.com[/email]\n[email=sinoxz@sinoxz.com]lintm[/email]"); }
  else if (document.selection && document.selection.type == "Text")
  { var range = document.selection.createRange(); range.text = "[email]" + range.text + "[/email]"; }
  else if (ubb_mode_adv)
  { AddTxt="[email][/email]"; ubb_addtext(AddTxt); }
  else
  { 
    txt2=prompt(ubb_name+"请输入链接显示的文字，如果留空则直接显示邮件地址！",""); 
    if (txt2!=null)
    {
      txt=prompt(ubb_name+"请输入邮件地址！例：lintm@163.com","");      
      if (txt!=null)
      {
        if (txt2=="")
        { AddTxt="[email]"+txt+"[/email]"; }
        else
        { AddTxt="[email="+txt+"]"+txt2+"[/email]"; } 
        ubb_addtext(AddTxt);
      }
    }
  }
}

function ubb_size(size)
{
  if (ubb_mode_help)
  { alert(ubb_name+"设置字号\n\n将标签所包围的文字设置成指定字号！\n例如：[size=3]文字大小为 3[/size]"); }
  else if (document.selection && document.selection.type == "Text")
  { var range = document.selection.createRange(); range.text = "[size=" + size + "]" + range.text + "[/size]"; }
  else if (ubb_mode_adv)
  { AddTxt="[size="+size+"][/size]"; ubb_addtext(AddTxt); }
  else
  {           
    txt=prompt(ubb_name+"请输入要设置为字号 "+size+" 的文字！","文字"); 
    if (txt!=null) { AddTxt="[size="+size+"]"+txt; ubb_addtext(AddTxt); ubb_addtext("[/size]"); }  
  }
}

function ubb_font(font)
{
  if (ubb_mode_help)
  { alert(ubb_name+"设定字体\n\n将标签所包围的文字设置成指定字体！\n例如：[face=仿宋]字体为仿宋[/face]"); }
  else if (document.selection && document.selection.type == "Text")
  { var range = document.selection.createRange(); range.text = "[face=" + font + "]" + range.text + "[/face]"; }
  else if (ubb_mode_adv)
  { AddTxt="[face="+font+"][/face]"; ubb_addtext(AddTxt); }
  else
  {      
    txt=prompt(ubb_name+"请输入要设置成 "+font+" 的文字！","文字");
    if (txt!=null) { AddTxt="[face="+font+"]"+txt; ubb_addtext(AddTxt); ubb_addtext("[/face]"); }  
  }
}


function ubb_bold()
{
  if (ubb_mode_help)
  { alert(ubb_name+"插入粗体文本\n\n将标签所包围的文本变成粗体！\n例如：[b]粗体文本[/b]"); }
  else if (document.selection && document.selection.type == "Text")
  { var range = document.selection.createRange(); range.text = "[b]" + range.text + "[/b]"; }
  else if (ubb_mode_adv)
  { AddTxt="[b][/b]"; ubb_addtext(AddTxt); }
  else
  {  
    txt=prompt(ubb_name+"请输入要设置成粗体的文字！","文字");     
    if (txt!=null) { AddTxt="[b]"+txt; ubb_addtext(AddTxt); ubb_addtext("[/b]"); }       
  }
}

function ubb_italicize()
{
  if (ubb_mode_help)
  { alert(ubb_name+"插入斜体文本\n\n将标签所包围的文本变成斜体！\n例如：[i]斜体文本[/i]"); }
  else if (document.selection && document.selection.type == "Text")
  { var range = document.selection.createRange(); range.text = "[i]" + range.text + "[/i]"; }
  else if (ubb_mode_adv)
  { AddTxt="[i][/i]"; ubb_addtext(AddTxt); }
  else
  {   
    txt=prompt(ubb_name+"请输入要设置成斜体的文字！","文字");     
    if (txt!=null) { AddTxt="[i]"+txt; ubb_addtext(AddTxt); ubb_addtext("[/i]"); }         
  }
}

function ubb_quote()
{
  if (ubb_mode_help)
  { alert(ubb_name+"插入引用\n\n将标签所包围的文本作为引用特殊显示！\n例如：[quote]引用内容[/quote]"); }
  else if (document.selection && document.selection.type == "Text")
  { var range = document.selection.createRange(); range.text = "[quote]" + range.text + "[/quote]"; }
  else if (ubb_mode_adv)
  { AddTxt="\r[quote]\r[/quote]"; ubb_addtext(AddTxt); }
  else
  {
    txt=prompt(ubb_name+"请输入要作为引用显示的文字！","文字");     
    if(txt!=null) { AddTxt="\r[quote]\r"+txt; ubb_addtext(AddTxt); ubb_addtext("\r[/quote]"); }         
  }
}

function ubb_color(color)
{
  if (ubb_mode_help)
  { alert(ubb_name+"插入定义颜色文本\n\n将标签所包围的文本变为制定颜色！\n例如：[color=red]红颜色[/color]"); }
  else if (document.selection && document.selection.type == "Text")
  { var range = document.selection.createRange(); range.text = "[color=" + color + "]" + range.text + "[/color]"; }
  else if (ubb_mode_adv)
  { AddTxt="[color="+color+"][/color]"; ubb_addtext(AddTxt); }
  else
  {
    txt=prompt(ubb_name+"请输入要设置成颜色 "+color+" 的文字！","文字");
    if(txt!=null) { AddTxt="[color="+color+"]"+txt; ubb_addtext(AddTxt); ubb_addtext("[/color]"); }
  }
}

function ubb_center()
{
  if (ubb_mode_help)
  { alert(ubb_name+"居中对齐\n\n将标签所包围的文本居中对齐显示！\n例如：[align=center]内容居中[/align]"); }
  else if (document.selection && document.selection.type == "Text")
  { var range = document.selection.createRange(); range.text = "[center]" + range.text + "[/center]"; }
  else if (ubb_mode_adv)
  { AddTxt="[align=center][/align]"; ubb_addtext(AddTxt); }
  else
  {  
    txt=prompt(ubb_name+"请输入要居中对齐的文字！","文字");     
    if (txt!=null) { AddTxt="\r[align=center]"+txt; ubb_addtext(AddTxt); ubb_addtext("[/align]"); }        
  }
}

function ubb_fly()
{
  if (ubb_mode_help)
  { alert(ubb_name+"插入飞翔文本\n\n将标签所包围的文本变成飞翔！\n例如：[fly]流浪者家园[/fly]"); }
  else if (document.selection && document.selection.type == "Text")
  { var range = document.selection.createRange(); range.text = "[fly]" + range.text + "[/fly]"; }
  else if (ubb_mode_adv)
  { AddTxt="\r[fly][/fly]"; ubb_addtext(AddTxt); }
  else
  {   
    txt=prompt(ubb_name+"请输入要设置成飞翔的文字！","文字");     
    if (txt!=null) { AddTxt="\r[fly]"+txt; ubb_addtext(AddTxt); ubb_addtext("[/fly]"); }
  }
}

function ubb_move()
{
  if (ubb_mode_help)
  { alert(ubb_name+"插入移动文本\n\n将标签所包围的文本变成移动！\n例如：[move]流浪者家园[/move]"); }
  else if (document.selection && document.selection.type == "Text")
  { var range = document.selection.createRange(); range.text = "[move]" + range.text + "[/move]"; }
  else if (ubb_mode_adv)
  { AddTxt="\r[move][/move]"; ubb_addtext(AddTxt); }
  else
  {   
    txt=prompt(ubb_name+"请输入要设置成移动的文字！","文字");     
    if (txt!=null) { AddTxt="\r[move]"+txt; ubb_addtext(AddTxt); ubb_addtext("[/move]"); }
  }
}

function ubb_link()
{
  if (ubb_mode_help)
  { alert(ubb_name+"插入超级链接\n\n插入一个超级连接！\n例如：\n[url]http://www.35me.com/[/url]\n[url=http://www.35me.com/]网站名称[/url]"); }
  else if (ubb_mode_adv)
  { AddTxt="[url][/url]"; ubb_addtext(AddTxt); }
  else
  { 
    txt2=prompt(ubb_name+"请输入链接显示的文字，如果留空则直接显示链接！",""); 
    if (txt2!=null)
    {
      txt=prompt(ubb_name+"请输入 URL！例：http://www.sinoxz.com/","http://");      
      if (txt!=null)
      {
        if (txt2=="")
        { AddTxt="[url]"+txt; ubb_addtext(AddTxt); ubb_addtext("[/url]"); }
        else
        { AddTxt="[url="+txt+"]"+txt2; ubb_addtext(AddTxt); ubb_addtext("[/url]"); }   
      } 
    }
  }
}

function ubb_image()
{
  if (ubb_mode_help)
  { alert(ubb_name+"插入图像\n\n在文本中插入一幅图像！\n例如：[IMG]http://www.35me.com/images/logo.gif[/IMG]"); }
  else if (ubb_mode_adv)
  { AddTxt="[IMG][/IMG]"; ubb_addtext(AddTxt); }
  else
  {  
    txt=prompt(ubb_name+"请输入图像的 URL！例：http://www.35me.com/images/logo.gif","http://");    
    if(txt!=null) { AddTxt="\r[IMG]"+txt; ubb_addtext(AddTxt); ubb_addtext("[/IMG]");
    }       
  }
}

function ubb_code()
{
  if (ubb_mode_help)
  { alert(ubb_name+"插入代码\n\n插入程序或脚本原始代码！\n例如：[code]代码内容[/code]"); }
  else if (document.selection && document.selection.type == "Text")
  { var range = document.selection.createRange(); range.text = "[code]" + range.text + "[/code]"; }
  else if (ubb_mode_adv)
  { AddTxt="\r[code][/code]"; ubb_addtext(AddTxt); }
  else
  {   
    txt=prompt(ubb_name+"请输入要插入的代码！","");     
    if (txt!=null) { AddTxt="\r[code]"+txt; ubb_addtext(AddTxt); ubb_addtext("[/code]"); }
  }
}

function ubb_flash()
{
  if (ubb_mode_help)
  { alert(ubb_name+"插入 Flash\n\n在文本中插入 Flash 动画！\n例如：[FLASH="+ubb_w+","+ubb_h+"]http://www.35me.com/images/banner.swf[/FLASH]"); }
  else if (ubb_mode_adv)
  { AddTxt="[FLASH="+ubb_w+","+ubb_h+"][/FLASH]"; ubb_addtext(AddTxt); }
  else
  {
    stxt=prompt(ubb_name+"请输入 Flash 动画的大校　",ubb_w+","+ubb_h);
    if (stxt!=null)
    {
      txt=prompt(ubb_name+"请输入 Flash 动画的地址！","http://");
      if(txt!=null) { AddTxt="\r[FLASH="+stxt+"]"+txt; ubb_addtext(AddTxt); ubb_addtext("[/FLASH]"); }
    }
  }
}

function ubb_rm()
{
  if (ubb_mode_help)
  { alert(ubb_name+"插入 RM\n\n在文本中插入 Realplay 视频文件！\n例如：[RM="+ubb_w+","+ubb_h+"]http://www.35me.com/images/test.ram[/RM]"); }
  else if (ubb_mode_adv)
  { AddTxt="[RM="+ubb_w+","+ubb_h+"][/RM]"; ubb_addtext(AddTxt); }
  else
  {
    stxt=prompt(ubb_name+"请输入 Realplay 视频文件的大小！",ubb_w+","+ubb_h);
    if (stxt!=null)
    {
      txt=prompt(ubb_name+"请输入 Realplay 视频文件的地址 rstp://等都支持","http://");
      if(txt!=null) { AddTxt="\r[RM="+stxt+"]"+txt; ubb_addtext(AddTxt); ubb_addtext("[/RM]"); }
    }
  }
}

function ubb_mp()
{
  if (ubb_mode_help)
  { alert(ubb_name+"插入 MP\n\n在文本中插入 Windows Media Player 视频文件！\n例如：[MP="+ubb_w+","+ubb_h+"]http://www.35me.com/images/test.wmv[/MP]"); }
  else if (ubb_mode_adv)
  { AddTxt="[MP="+ubb_w+","+ubb_h+"][/MP]"; ubb_addtext(AddTxt); }
  else
  {
    stxt=prompt(ubb_name+"请输入 Windows Media Player 视频文件的大小！",ubb_w+","+ubb_h);
    if (stxt!=null)
    {
      txt=prompt(ubb_name+"请输入 Windows Media Player 视频文件的地址，各种地址头都支持！","http://");    
      if(txt!=null) { AddTxt="\r[MP="+stxt+"]"+txt; ubb_addtext(AddTxt); ubb_addtext("[/MP]"); }
    }
  }
}

function ubb_underline()
{
  if (ubb_mode_help)
  { alert(ubb_name+"插入下划线\n\n给标签所包围的文本加上下划线！\n例如：[u]下划线[/u]"); }
  else if (document.selection && document.selection.type == "Text")
  { var range = document.selection.createRange(); range.text = "[u]" + range.text + "[/u]"; }
  else if (ubb_mode_adv)
  { AddTxt="[u][/u]"; ubb_addtext(AddTxt); }
  else
  {  
    txt=prompt(ubb_name+"请输入要加下划线的文字！","文字");
    if (txt!=null) { AddTxt="[u]"+txt; ubb_addtext(AddTxt); ubb_addtext("[/u]"); }         
  }
}

function ubb_list()
{
  if (ubb_mode_help)
  {
    alert("插入列表项\n\n插入可由浏览器显示来的规则列表项。\n例如：\n[list]\n[*]；列表项 #1\n[*]；列表项 #2\n[*]；列表项 #3\n[/list]");
  }
  else if (ubb_mode_adv)
  {
    AddTxt="\r[list]\r[*]\r[*]\r[*]\r[/list]";
    ubb_addtext(AddTxt);
  }
  else
  {
    txt=prompt("请选择列表格式：字母式列表输入 \"A\"；数字式列表输入 \"1\"。此处也可留空。","");
    while ((txt!="") && (txt!="A") && (txt!="a") && (txt!="1") && (txt!=null))
    {
      txt=prompt("错误：列表格式只能选择输入 \"A\" 或 \"1\"。","");
    }
    if (txt!=null)
    {
      if (txt=="")
      {
        AddTxt="\r[list]\r\n";
      }
      else
      {
        AddTxt="\r[list="+txt+"]\r";
      }
      txt="1";
      while ((txt!="") && (txt!=null))
      {
        txt=prompt("请输入列表项目内容，如果留空表示项目结束。","");
        if (txt!="")
        {
          AddTxt+="[*]"+txt+"\r";
        }
      }
      AddTxt+="[/list]\r\n";
      ubb_addtext(AddTxt);
    }
  }
}
