﻿var yToolbars = new Array();
var YInitialized = false;
var EditorMode = "HTML";     
function document.onreadystatechange(){
  if (YInitialized) return;
  YInitialized = true;
  var i,curr;
  for (i=0; i<document.body.all.length; i++)
  {
    curr=document.body.all[i];
    if (curr.className == "yToolbar")
    {
      InitTB(curr);
      yToolbars[yToolbars.length] = curr;
    }
  }
}
function InitBtn(btn)
{
  btn.onmouseover = BtnMouseOver;
  btn.onmouseout = BtnMouseOut;
  btn.onmousedown = BtnMouseDown;
  btn.onmouseup = BtnMouseUp;
  btn.ondragstart = YCancelEvent;
  btn.onselectstart = YCancelEvent;
  btn.onselect = YCancelEvent;
  btn.YUSERONCLICK = btn.onclick;
  btn.onclick = YCancelEvent;
  btn.YINITIALIZED = true;
  return true;
}
function InitTB(y)
{
  y.TBWidth = 0;
  if (! PopulateTB(y)) return false;
  y.style.posWidth = y.TBWidth;
  return true;
}

function YCancelEvent()
{
  event.returnValue=false;
  event.cancelBubble=true;
  return false;
}
function PopulateTB(y)
{
  var i, elements, element;
  elements = y.children;
  for (i=0; i<elements.length; i++) {
    element = elements[i];
    if (element.tagName == "SCRIPT" || element.tagName == "!") continue;
    switch (element.className) {
      case "Btn":
if (element.YINITIALIZED == null) {
  if (! InitBtn(element))
  return false;
}
element.style.posLeft = y.TBWidth;
y.TBWidth += element.offsetWidth + 1;
break;
      case "TBGen":
element.style.posLeft = y.TBWidth;
y.TBWidth += element.offsetWidth + 1;
break;
      case "TBSep":
element.style.posLeft = y.TBWidth + 2;
y.TBWidth += SEP_PADDING;
break;
      case "TBHandle":
element.style.posLeft = 2;
y.TBWidth += element.offsetWidth + HANDLE_PADDING;
break;
      default:
return false;
      }
  }
  y.TBWidth += 1;
  return true;
}
function BtnMouseOver()
{
  if (event.srcElement.tagName != "IMG") return false;
  var image = event.srcElement;
  var element = image.parentElement;
  if (image.className == "Ico") element.className = "BtnMouseOverUp";
  else if (image.className == "IcoDown") element.className = "BtnMouseOverDown";
  event.cancelBubble = true;
}
function BtnMouseOut()
{
  if (event.srcElement.tagName != "IMG") {
    event.cancelBubble = true;
    return false;
  }
  var image = event.srcElement;
  var element = image.parentElement;
  yRaisedElement = null;
  element.className = "Btn";
  image.className = "Ico";
  event.cancelBubble = true;
}
function BtnMouseDown()
{
  if (event.srcElement.tagName != "IMG") {
    event.cancelBubble = true;
    event.returnValue=false;
    return false;
  }
  var image = event.srcElement;
  var element = image.parentElement;
  element.className = "BtnMouseOverDown";
  image.className = "IcoDown";
  event.cancelBubble = true;
  event.returnValue=false;
  return false;
}
function BtnMouseUp()
{
  if (event.srcElement.tagName != "IMG") {
    event.cancelBubble = true;
    return false;
  }
  var image = event.srcElement;
  var element = image.parentElement;
  if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()");
  element.className = "BtnMouseOverUp";
  image.className = "Ico";
  event.cancelBubble = true;
  return false;
}

function UserDialog(what)
{
  HtmlEdit.document.execCommand(what, true);
  HtmlEdit.focus();
}
function format(what,opt)
{
  if (opt=="removeFormat")
  {
    what=opt;
    opt=null;
  }
  if (opt==null) HtmlEdit.document.execCommand(what);
  else HtmlEdit.document.execCommand(what,"",opt);
  HtmlEdit.focus();
}

function foreColor()
{
  var arr = showModalDialog("Toolbar/inc/selcolor.htm", "", "dialogWidth:18.5em; dialogHeight:17.5em; status:0");
  if (arr != null) format('forecolor', arr);
  else HtmlEdit.focus();
}
function InsertTable()
{
  HtmlEdit.focus();
  var range = HtmlEdit.document.selection.createRange();
  var arr = showModalDialog("inc/table.htm", "", "dialogWidth:300pt;dialogHeight:236pt;help:0;status:0");
  if (arr != null){
 range.pasteHTML(arr);
  }
  HtmlEdit.focus();
}
function getFace()
{
  HtmlEdit.focus();
  var range = HtmlEdit.document.selection.createRange();
  var arr = showModalDialog("Toolbar/inc/face.htm", "", "dialogWidth:180pt;dialogHeight:120pt;help:0;status:0");
  if (arr != null){
 range.pasteHTML(arr);
  }
  HtmlEdit.focus();
}
function img(){
url=prompt("请输入图片文件地址:","http://");
if(!url || url=="http://") return;
HtmlEdit.focus();
var range=HtmlEdit.document.selection.createRange();
range.pasteHTML("<img border=0 src="+url+" height=120 width=120>");
}

function ChangeMode(img)
{
    if (EditorMode == "HTML")
    {
        HtmlEdit.document.body.innerText = HtmlEdit.document.body.innerHTML;
        EditorMode = "TEXT";
        img.src = "toolbar/images/txt.gif";
        img.alt = "切换成HTML编辑状态";
    }
    else
    {
        HtmlEdit.document.body.innerHTML = HtmlEdit.document.body.innerText;
        EditorMode = "HTML";
        img.src = "toolbar/images/htm.gif";
        img.alt = "切换成HTML源码状态";
    }
}

 function FillEdit(){
          var bodyTag="<head><style type=\"text/css\">body {font-size: 9pt}</style><meta http-equiv=Content-Type content=\"text/html; charset=gb2312\"></head><BODY bgcolor=\"#FFFFFF\" MONOSPACE>" + document.getElementById('GContent').value + "</body></html>"
          HtmlEdit.document.open();
          HtmlEdit.document.write(bodyTag);
          HtmlEdit.document.close();
          HtmlEdit.document.designMode="On";
        }
        
function GetCityPoint(city, language)
{
   window.open("Toolbar/inc/MapPoint.aspx?c="+city+"&l="+language, "", "dialogWidth:1000px;dialogHeight:600px;help:0;status:0");
}

function ChangeEditHtml(city,title,x,y)
{
    HtmlEdit.focus();
    var range = HtmlEdit.document.selection.createRange();     
    range.pasteHTML("[map]"+city+","+title+","+x+","+y+"[/map]");
    HtmlEdit.focus();
}
