var Editor = new Object();
var count = 0;
Editor.init = function(){
  try{
    if(typeof(isCmsLogin) != "undefined" && typeof(CDragLayer) != "undefined"){
      if(isCmsLogin()){
        Editor.load();
      }
    }else{
      if(count++ < 100) setTimeout("Editor.init()",500);
    }
  } catch(e) {
    alert("function error [Editor.init]:"+e);
  }
};

Editor.load = function(){
  try{
    var baseURL = "";
    var elements = document.getElementsByTagName('script');
    for (var i=0; i<elements.length; i++) {
      if (elements[i].src &&
             (elements[i].src.indexOf("cms.js") != -1 || elements[i].src.indexOf("cms_editor.js") != -1)){
         var src = elements[i].src;
         baseURL = src.substring(0, src.lastIndexOf('/'));
      }
    }
    if(baseURL == "") baseURL = ".";
    cmsEditor = "<div id='cmsEditor' style='z-index:200;display:none;border:outset 2px #C0C0C0;padding:1px;background-color:#C0C0C0;'>" + 
                "  <div id='cmsEditorHeader' style='background-color:#C0C0C0;text-align:right;vertical-align:middle;padding:3px;'>" + 
                "    <a href='javascript:return false;' onclick='javascript:return Editor.close();'><img src='"+baseURL+"/cms/img/delete.gif' border='0'></a>" + 
                "  </div>" + 
                "  <div id='cmsEditorMain'>" + 
                "    <div id='cmsEditorTinyMCE'>" + 
                "      <iframe id='cmsEditorIframe' width='800' height='600' scrolling='no' frameborder='1' src='"+baseURL+"/cms/js/html/editor.html'></iframe>" + 
                "    </div>" + 
                "    <div id='cmsEditorPageConfig' style='display:none'>" + 
                "      <iframe id='cmsEditorPageConfigIframe' width='500' height='200' scrolling='no' frameborder='1' src='"+baseURL+"/cms/js/html/page_config.html'></iframe>" + 
                "    </div>" + 
                "    <div id='cmsEditorMenu' style='display:none'></div>" + 
                "    <div id='cmsEditorSelect' style='display:none'></div>" + 
                "    <div id='cmsEditorFileUpload' style='display:none'></div>" + 
                "    <div id='cmsEditorSection' style='display:none'></div>" + 
                "    <div id='cmsEditorTarget' style='display:none'></div>" + 
                "    <div id='cmsEditorCloseFunction' style='display:none'></div>" + 
                "  </div>" + 
                "</div>";
    cmsSubEditor = "<div id='cmsSubEditor' style='z-index:200;display:none;border:outset 2px #C0C0C0;padding:1px;background-color:#C0C0C0;'>" + 
                   "  <div id='cmsSubEditorHeader' style='background-color:#C0C0C0;text-align:right;vertical-align:middle;padding:3px;'>" + 
                   "    <a href='javascript:return false;' onclick='javascript:return SubEditor.close();'><img src='"+baseURL+"/cms/img/delete.gif' border='0'></a>" + 
                   "  </div>" + 
                   "  <div id='cmsSubEditorMain'>" + 
                   "  </div>" + 
                   "</div>";
    document.body.innerHTML = cmsEditor + cmsSubEditor + document.body.innerHTML;
    new CDragLayer("cmsEditor","cmsEditorHeader","(Editor._onMouseMove())","(Editor._onMouseUp())");
    new CDragLayer("cmsSubEditor","cmsSubEditorHeader","(SubEditor._onMouseMove())","(SubEditor._onMouseUp())");
  } catch(e) {
    alert("function error [Editor.load]:"+e);
  }
};
Editor._onMouseMove = function()
{
  $("cmsEditorHeader").style.cursor = "move";
  if(Element.getWidth("cmsEditorMain") > 0){
    $("cmsEditorHeader").style.width = Element.getWidth("cmsEditorMain") + "px";
    $("cmsEditorHeader").style.height = (Element.getHeight("cmsEditorMain")+18) + "px";
    $("cmsEditor").style.border = "dashed 2px #000000";
    new Effect.setOpacity("cmsEditor", 40);
  }
  Element.hide('cmsEditorMain');
}

Editor._onMouseUp = function()
{
  $("cmsEditorHeader").style.cursor = "auto";
  $("cmsEditorHeader").style.width = "";
  $("cmsEditorHeader").style.height = "";
  $("cmsEditor").style.border = "outset 2px #C0C0C0";
  new Effect.initOpacity("cmsEditor");
  Element.show('cmsEditorMain');
}

Editor.close = function()
{
  try {
    var cmsEditorTarget = $('cmsEditorTarget');
    cmsEditorTarget.innerHTML = '';
    var cmsEditorCloseFunction = $('cmsEditorCloseFunction');
    eval(cmsEditorCloseFunction.innerHTML);
    cmsEditorCloseFunction.innerHTML = '';
    Element.hide('cmsEditorMenu');
    Element.hide('cmsEditorSelect');
    Element.hide('cmsEditorFileUpload');
    Element.hide('cmsEditorSection');
    Element.hide('cmsEditor');
    Element.hide('cmsEditorTinyMCE');
  } catch(e) {
    alert("function error [Editor.close]:"+e);
  }
  return false;
};

var SubEditor = new Object();
SubEditor._onMouseMove = function()
{
  $("cmsSubEditorHeader").style.cursor = "move";
  if(Element.getWidth("cmsSubEditorMain") > 0){
    $("cmsSubEditorHeader").style.width = Element.getWidth("cmsSubEditorMain") + "px";
    $("cmsSubEditorHeader").style.height = (Element.getHeight("cmsSubEditorMain")+18) + "px";
    $("cmsSubEditor").style.border = "dashed 2px #000000";
    new Effect.setOpacity("cmsSubEditor", 40);
  }
  Element.hide('cmsSubEditorMain');
};

SubEditor._onMouseUp = function()
{
  $("cmsSubEditorHeader").style.cursor = "auto";
  $("cmsSubEditorHeader").style.width = "";
  $("cmsSubEditorHeader").style.height = "";
  $("cmsSubEditor").style.border = "outset 2px #C0C0C0";
  new Effect.initOpacity("cmsSubEditor");
  Element.show('cmsSubEditorMain');
};

SubEditor.close = function()
{
  try {
    Element.hide('cmsSubEditor');
  } catch(e) {
    alert("function error [SubEditor.close]:"+e);
  }
  return false;
};

Editor.init();

