var timerlen = 5;
var slideAniLen = 250;

var timerID = new Array();
var startTime = new Array();
var obj = new Array();
var endHeight = new Array();
var moving = new Array();
var dir = new Array();

function slidedown(objname){
        if(moving[objname])
                return;

        if(document.getElementById(objname).style.display != "none")
                return; // cannot slide down something that is already visible

        moving[objname] = true;
        dir[objname] = "down";
        startslide(objname);
};

function slideup(objname){
        if(moving[objname])
                return;

        if(document.getElementById(objname).style.display == "none")
                return; // cannot slide up something that is already hidden

        moving[objname] = true;
        dir[objname] = "up";
        startslide(objname);
};

function startslide(objname){
        obj[objname] = document.getElementById(objname);
        
        obj[objname].style.overflow = "hidden";
        if (obj[objname].style.height == "")
          obj[objname].style.height = obj[objname].offsetHeight;
        endHeight[objname] = parseInt(obj[objname].style.height);

        startTime[objname] = (new Date()).getTime();

        if(dir[objname] == "down"){
                obj[objname].style.height = "1px";
        }

        obj[objname].style.display = "block";

        timerID[objname] = setInterval('slidetick(\'' + objname + '\');',timerlen);
};

function slidetick(objname){
        var elapsed = (new Date()).getTime() - startTime[objname];

        if (elapsed > slideAniLen)
                endSlide(objname);
        else {
                var d =Math.round(elapsed / slideAniLen * endHeight[objname]);
                if(dir[objname] == "up")
                        d = endHeight[objname] - d;

                obj[objname].style.height = d + "px";
        }

        return;
};

function endSlide(objname){
        clearInterval(timerID[objname]);

        if(dir[objname] == "up")
                obj[objname].style.display = "none";

        obj[objname].style.height = endHeight[objname] + "px";

        delete(moving[objname]);
        delete(timerID[objname]);
        delete(startTime[objname]);
        delete(endHeight[objname]);
        //delete(obj[objname]);
        delete(dir[objname]);

        return;
};

function showInfoWin(layerTH,layerH) {
  if(document.getElementById(layerTH).style.display != 'none') { // invisible
    document.getElementById(layerH).style.background = "url(/assets/images/Info_Header_dn.jpg)"; 
    slideup(layerTH);
    //document.getElementById(layerTH).style.display = 'none';
  }
  else {
    document.getElementById(layerH).style.background = "url(/assets/images/Info_Header_up.jpg)"; 
    //document.getElementById(layerTH).style.display = 'inline';
    slidedown(layerTH);
  }
};

function hideInfoWin(layer) {
};

function typeInfo(element, layer)  {
  var input = '';
  var output = document.getElementById(layer);

  if (navigator.appName == 'Microsoft Internet Explorer')
    input = document.getElementById(element);
  else
    input = document.getElementsByName(element)[0];
  input.cssClass="urcssclass";
  input.onkeyup = function(objEvent) {
     if (element == 'HeaderInput') {
       output.innerHTML = "<span style='font-size: 20px; font-weight: bold; color: #FFFFFF;'>" + input.value + "</span>"; 
     }
     else if (element == 'TitleInput') {
       output.innerHTML = "<span style='font-size: 18px; font-weight: bold; color: #000000;'>" + input.value + "</span>"; 
     }
     else {
       //var evnt = (document.all) ? window.event.keyCode : objEvent.keyCode;
       
       //if (evnt == 13) {
       //  insert('<br>', '', '')
       //}
       //output.innerHTML = input.innerHTML;
     }
  };

  input.onmouseup = function() {
    if (element == 'HeaderInput') {
       output.innerHTML = "<span style='font-size: 20px; font-weight: bold; color: #FFFFFF;'>" + input.value + "</span>"; 
     }
     else if (element == 'TitleInput') {
       output.innerHTML = "<span style='font-size: 18px; font-weight: bold; color: #000000;'>" + input.value + "</span>"; 
     }
     else {
       //output.innerHTML = input.contentWindow.document.body.innerHTML;
     }
  };
};

function cK(){
  var output = document.getElementById('Body');
  var input = document.getElementById('wysiwygBodyInput');
  output.innerHTML = input.contentWindow.document.body.innerHTML;
};

function Button1_onclick() {
  text = (document.all) ? document.selection.createRange().text : window.getSelection(); 
  document.Form1.TitleInput.value = text; //Get selected text and add into hidden field
}; 



function genEventInfo() {
 if (navigator.appName == 'Microsoft Internet Explorer') {
    document.getElementById('wysiwygBodyInput').contentWindow.document.attachEvent('onkeyup', cK, false);
    document.getElementById('wysiwygBodyInput').contentWindow.document.attachEvent('onmouseup', cK, false);
  }
  else {
    document.getElementById('wysiwygBodyInput').contentWindow.addEventListener('keyup', cK, false);
    document.getElementById('wysiwygBodyInput').contentWindow.addEventListener('mouseup', cK, false);
  } 
  typeInfo('HeaderInput', 'Header');
  typeInfo('TitleInput', 'Title');
};


