/* (c) Scientec Internet Applications + Media GmbH - www.scientec.de */

MO1 = (navigator.appName.indexOf("Netscape") != -1 && navigator.userAgent.indexOf("Gecko") != -1 && navigator.userAgent.indexOf("Netscape") == -1 && document.getElementById)? true:false;
NS4 = (navigator.appName.indexOf("Netscape") != -1 && document.layers)? true:false;
NS6 = (navigator.appName.indexOf("Netscape") != -1 && document.getElementById && !MO1)? true:false;
IE4 = (navigator.appName.indexOf("Microsoft") != -1 && document.all && !document.getElementById)? true:false;
IE5 = (navigator.appName.indexOf("Microsoft") != -1 && document.all && document.getElementById)? true:false;
IE6 = (navigator.appName.indexOf("Microsoft") != -1 && document.all && document.getElementById && document.implementation)? true:false;
var linkObject = "";
if (IE5)
{
  document.onmouseup=Editor;
  document.onkeydown=KeyDown;
}
if (NS6 || MO1)
{
  document.addEventListener("mouseup", function(event){Editor(event)}, true);
  document.addEventListener("keydown", function(event){KeyDown(event)}, true);
}

function Editor(e)
{
  fOneu = 1;
  if (!top.textmodus)
  {
    editorTop=parent.parent.parent;
    if (IE5)
    {
      fO = event.srcElement
      range = document.selection.createRange();
    }
    if (NS6 || MO1) {fO = e.target; parent.foc();};
    processEvent(1);
  }
}

function KeyDown(e)
{
  if (!top.textmodus)
  {
    editorTop=parent.parent.parent;
    if (IE5)
    {
      if(fOneu == 1)
      {
        fOtagName = fO.tagName;
        fOneu = 0;
      }
      fO = event.srcElement
      range = document.selection.createRange();
      if(fOtagName == "IMG" || fOtagName == "INPUT" || fOtagName == "TEXTAREA" || fOtagName == "TABLE" || fOtagName == "IFRAME")
      {      
        if(document.all && fO.tagName != "INPUT" && fO.tagName != "TEXTAREA" && fO.tagName != "IFRAME")
        {
          e=window.event;
          if(e.keyCode == "8") return false;
        }
      }
    }
    if (NS6 || MO1) {fO = e.target; parent.foc();};
    processEvent();
  }
}

function processEvent(modus)
{
  if (fO.getAttribute('Name') == "tabedit" && top.TabeditIFR.tabedit.document.body)
  {
    editorTop.FV_dispblockLayer('TabeditDIV');
    editorTop.FV_DivOnTop('TabeditDIV');
    var paste = "<table";
    fO.parentNode.parentNode.setAttribute("onTEAM","1");
    if(fO.parentNode.parentNode.getAttribute("border") != "")  paste += ' border="' + fO.parentNode.parentNode.getAttribute("border") + '"';
    if(fO.parentNode.parentNode.getAttribute("cellpadding") != "")  paste += ' cellpadding="' + fO.parentNode.parentNode.getAttribute("cellPadding") + '"';
    if(fO.parentNode.parentNode.getAttribute("cellspacing") != "")  paste += ' cellspacing="' + fO.parentNode.parentNode.getAttribute("cellSpacing") + '"';
    if(fO.parentNode.parentNode.className && fO.parentNode.parentNode.className != null)  paste += ' class="' + fO.parentNode.parentNode.className + '"';
    if(fO.parentNode.parentNode.id && fO.parentNode.parentNode.id != null)  paste += ' id="' + fO.parentNode.parentNode.id + '"';
    if(fO.parentNode.parentNode.getAttribute("title") != "")  paste += ' title="' + fO.parentNode.parentNode.getAttribute("title") + '"';
    if(fO.parentNode.parentNode.getAttribute("summary") != "")  paste += ' summary="' + fO.parentNode.parentNode.getAttribute("summary") + '"';
    if(fO.parentNode.parentNode.getAttribute("bgColor") != "")  paste += ' bgColor="' + fO.parentNode.parentNode.getAttribute("bgColor") + '"';
    if(fO.parentNode.parentNode.getAttribute("height") != "")  paste += ' height="' + fO.parentNode.parentNode.getAttribute("height") + '"';
    if(fO.parentNode.parentNode.getAttribute("width") != "")  paste += ' width="' + fO.parentNode.parentNode.getAttribute("width") + '"';
    if(fO.parentNode.parentNode.getAttribute("rules") != "")  paste += ' rules="' + fO.parentNode.parentNode.getAttribute("rules") + '"';
    if(fO.parentNode.parentNode.getAttribute("frame") != "")  paste += ' frame="' + fO.parentNode.parentNode.getAttribute("frame") + '"';
    if(fO.parentNode.parentNode.getAttribute("align") != "")  paste += ' align="' + fO.parentNode.parentNode.getAttribute("align") + '"';
    if(fO.parentNode.parentNode.style.cssText != "")  paste += ' style="' + fO.parentNode.parentNode.style.cssText + '"';
//    if(fO.parentNode.parentNode.getAttribute("valign") != "")  paste += ' frame="' + fO.parentNode.parentNode.getAttribute("valign") + '"';
    paste += ">" + fO.parentNode.parentNode.innerHTML + "</TABLE>";
    paste = paste.replace(/<IMG SRC=".*?\/onTEAM\/admin\/g\/onhtml\/tabedit\.gif" name=tabedit>/ig,"");
    paste = paste.replace(/<img.*?src=".*?\/onTEAM\/admin\/g\/onhtml\/tabedit\.gif" name.*?tabedit.*?>/ig," ");
    top.TabeditIFR.tabedit.document.body.innerHTML += paste;
    setTimeout('top.TabeditIFR.tabedit.start()',100);
  }
  updateLink(fO);
  if (fO.tagName != "HTML" && modus)
  {
    getDomPath(fO);
    writeDomPath();
    fillArea(1);
    showFormat();
  }
}

function updateLink(o){
  if(isLink(o))
  {
    LinkUI(linkObject)
  }
  else clearLinkUI();
}

function LinkUI(o){
  editorTop.document.getElementById("url").value=o.href;
  editorTop.document.getElementById("url").removeAttribute('disabled');
  editorTop.document.getElementById("url").className="enabled";
  editorTop.document.getElementById("target").value=o.target;
  editorTop.document.getElementById("target").removeAttribute('disabled');
  editorTop.document.getElementById("target").className="enabled";
  editorTop.document.getElementById("title").value=o.title;
  editorTop.document.getElementById("title").removeAttribute('disabled');
  editorTop.document.getElementById("title").className="enabled";
}

function clearLinkUI(ganzweg){
  editorTop.document.getElementById("url").value="";
  if(getSelectedText()==""){
    editorTop.document.getElementById("url").setAttribute('disabled',"disabled");
    editorTop.document.getElementById("url").className="disabled";
  }
  else{
    editorTop.document.getElementById("url").removeAttribute('disabled');
    editorTop.document.getElementById("url").className="enabled";
  }
  editorTop.document.getElementById("target").value="";
  editorTop.document.getElementById("target").setAttribute('disabled',"disabled");
  editorTop.document.getElementById("target").className="disabled";
  editorTop.document.getElementById("title").value="";
  editorTop.document.getElementById("title").setAttribute('disabled',"disabled");
  editorTop.document.getElementById("title").className="disabled";
}

function isLink(o){
  if (o!=-1){
    linkObject=null;
    while(o.tagName!="HTML"){
      if(o.tagName!=undefined){
        if(o.tagName=="A"){
          linkObject=o;
          return true;
          break;
        }
      }
      o = o.parentNode;
    }
  }
}

function setLink(attr,value){
  if(window.linkObject){
    linkObject.setAttribute(attr,value);
    if(value=="" && attr=="href"){
      if (IE5){
        linkObject.outerHTML=linkObject.innerHTML;
      }
      else{
        linkObject.parentNode.replaceChild(document.createTextNode(linkObject.innerHTML),linkObject);
      }
      clearLinkUI();
    }
  }
  else
  {
    if(IE5){
      if (value){
        range.pasteHTML("<a href=\""+value+"\"><span id=dummy></span>"+range.htmlText+"</a>");
        linkObject=document.getElementById("dummy").parentNode;
        linkObject.removeChild(linkObject.firstChild);
        LinkUI(linkObject);
      }
    }
    else
    {
      if (attr=="href")
      {
        if (value){
          document.execCommand("CreateLink", false, value);
        }
        else{
          document.execCommand("Unlink", false, '');
        }
      }
    }
  }
}

function getDomPath(fO)
{
  if (fO!=-1)
  {
    DomPathArray = [];
    var i = 0;
    while(fO.tagName!="HTML")
    {
      if(fO.tagName!=undefined)
      {
        DomPathArray[i] = [fO,fO.id,fO.tagName,fO.className];
        i++;
      }
      fO = fO.parentNode;
    }
  }
}

function getSelectedText(){
  if (window.getSelection) selectedText = getSelection();
  else if (document.getSelection) selectedText = document.getSelection();
  else if (document.selection) selectedText = document.selection.createRange().text;
  return selectedText
}

function writeDomPath()
{
  var activeObject='';
  var DomPath="";
  var i=0;
  while (i < DomPathArray.length)
  {
    if(DomPathArray[i][2] && DomPathArray[i][2].search(/hr|img|br/gi)==-1)
    {
      DomPath =
         '<span class="DomPathTag">'
        +'<A HREF="javascript:top.activeObject=top.ifr1.middle.right.DomPathArray['+i+'][0];top.getHTML();top.sbody = 0;if(editorTop.activeWindow==\'source\') editorTop.setHTML();void(0)"'
//        +'   onmousedown="lastActiveObject=activeObject;activeObject='+i+'"'
//        +'   onclick="top.activeObject=top.ifr1.middle.right.DomPathArray['+i+'][0];top.getHTML();top.sbody = 0;if(editorTop.activeWindow==\'source\') editorTop.setHTML();">'
        +'   onmousedown="lastActiveObject=activeObject;activeObject='+i+'">'
        +'&lt;'+DomPathArray[i][2]+'&gt;'
        +'</A>'
        +'</span>'
        + DomPath ;
    }
    i++;
  }
  if(fO.tagName != "scrollbar")
  {
    parent.parent.bottom.document.getElementById('path').innerHTML=DomPath;
  }
}

function fillArea(sh)
{
  if(fO.tagName != "scrollbar")
  {
    top.activeObject=(fO.innerHTML||fO.tagName=="BODY")? fO : fO.parentNode;
    top.getHTML(sh);
  }
}

function showFormat()
{
  var list=top.document.format.formatlist;
  if (DomPathArray[0][2].search(/p|h1|h2|h3|h4|h5|pre/gi)!=-1)
  {
    switch (DomPathArray[0][2])
    {
      case "P":list.options[1].selected=1; break;
      case "H1":list.options[2].selected=1; break;
      case "H2":list.options[3].selected=1; break;
      case "H3":list.options[4].selected=1; break;
      case "H4":list.options[5].selected=1; break;
      case "H5":list.options[6].selected=1; break;
      case "PRE":list.options[7].selected=1; break;
    }
  }
  else list.options[0].selected=1;
}

/******************* Kontextmenu auskommentiert!!
document.oncontextmenu=onContextmenu;

var contextmenuDIV = document.createElement("div");
contextmenuDIV.id="contextmenuDIV";
var divText = document.createTextNode("Kontextmenu");
document.getElementsByTagName("body")[0].appendChild(contextmenuDIV);
document.getElementById("contextmenuDIV").appendChild(divText);


var menuobj=document.getElementById("contextmenuDIV");
menuobj.style.display='';

function onContextmenu(e)
{
alert('context');
  var rightspace=IE5? document.body.clientWidth-event.clientX : window.innerWidth-e.clientX;
  var bottomspace=IE5? document.body.clientHeight-event.clientY : window.innerHeight-e.clientY;

  if (rightspace<menuobj.offsetWidth) menuobj.style.left=IE5? document.body.scrollLeft+event.clientX-menuobj.offsetWidth : window.pageXOffset+e.clientX-menuobj.offsetWidth
  else menuobj.style.left=IE5? document.body.scrollLeft+event.clientX : window.pageXOffset+e.clientX

  if (bottomspace<menuobj.offsetHeight) menuobj.style.top=IE5? document.body.scrollTop+event.clientY-menuobj.offsetHeight : window.pageYOffset+e.clientY-menuobj.offsetHeight
  else menuobj.style.top=IE5? document.body.scrollTop+event.clientY : window.pageYOffset+e.clientY

  menuobj.style.visibility="visible";
  return false;
}

function hidemenu1(e)
{
  menuobj.style.visibility="hidden";
}

function hidemenu2(event) {
  var current, related;
  if (window.event) {
    current = this;
    related = window.event.toElement;
  }
  else {
    current = event.currentTarget;
    related = event.relatedTarget;
  }

  if (current != related && !contains(current, related))
  {
    menuobj.style.visibility = "hidden";//current, wenn nicht gleichzeitig dokument verlassen wird
  }
}

function contains(a, b) {
  while (b.parentNode)
    if ((b = b.parentNode) == a)
      return true;
  return false;
}

auskommentiert!!*/
