 var currentMenu = null; //place holder for current menu
 var timeOn = null; // timer
 var menuLoaded = 0; // indicate menu loaded
 var menuObject = null; // place holder for last menu object selected
 var exeTimer = null;
 var exeCmd = "";
 
 var roomId = 0; // default roomId
 
 var useBackground = false;
 var displayedMath = false;
 

// SHOW MENU
function showMenu(divID){
    try{
        if(timeOn != null) {
            clearTimeout(timeOn);
        }
    }catch(e){
    }
//    if(menuLoaded == 0){
//        loadMenu(divID);
//        menuLoaded = 1;
//    }
    //alert('show');
//    hideMenu();
//    moveMenu(getMenuObject(divID), getButtonObject(divID), divID);
    clearAllSelection(divID);
    setSelectedMenu();
    $('#' + divID).slideDown('fast');
//    getMenuObject(divID).style.visibility = 'visible';
    if(myApplet != null){
       myApplet.repaint();
    }
/*    var menuDiv = getMenuObject(divID);
    menuDiv.style.visibility = 'visible';
    currentMenu = menuDiv; */
}

// MENU MOUSE OVER
function buttonOver(itemName, imgObj){
   try{
        if(timeOn != null) {
            clearTimeout(timeOn);
        }
    }catch(e){
        //empty code
    }
    if(isloaded){
        imgObj.src = getImageOverSource(itemName);
        if(itemName != "undoMenu" && itemName != "clearMenu"){
            showMenu(itemName);
        }else{
            hideMenu();
        }
    }
}

// MENU MOUSE OVER 
function menuOver(){
   try{
        if(timeOn != null){
            clearTimeout(timeOn);
            timeOn = null;
        }
    }catch(e){
        //empty code
    }
}

// MENU MOUSE OUT 
function menuOut(itemName, imgObj){
    try{
        if(timeOn != null) {
            clearTimeout(timeOn);
        }
    }catch(e){
    }
    timeOn = setTimeout(hideMenu, 900);
    if(itemName != ""){
        imgObj.src = getImageOutSource(itemName);
    }
}

function findPos(obj){
    var curleft = 0;
    var curtop = 0;
    if(obj.offsetParent){
        curleft = obj.offsetLeft
        curtop = obj.offsetTop
        while (obj = obj.offsetParent) {
            curleft += obj.offsetLeft
            curtop += obj.offsetTop
        }
    }
    return [curleft, curtop];
}

function getImageOutSource(mnuName){
    if(mnuName == "inviteMenu"){
        return "images/inviteout.gif";
    }else if(mnuName == "toolsMenu"){
        return "images/toolsout.gif";
    }else if(mnuName == "colorsMenu"){
        return "images/colorsout.gif";
    }else if(mnuName == "filesMenu"){
        return "images/filesout.gif";
    }else if(mnuName == "undoMenu"){
        return "images/undoout.gif";
    }else if(mnuName == "clearMenu"){
        return "images/clearallout.gif";
    }
}

function getImageOverSource(mnuName){
    if(mnuName == "inviteMenu"){
        return "images/inviteover.gif";
    }else if(mnuName == "toolsMenu"){
        return "images/toolsover.gif";
    }else if(mnuName == "colorsMenu"){
        return "images/colorsover.gif";
    }else if(mnuName == "filesMenu"){
        return "images/filesover.gif";
    }else if(mnuName == "undoMenu"){
        return "images/undoover.gif";
    }else if(mnuName == "clearMenu"){
        return "images/clearallover.gif";
    }
}

// HIDE MENU
function hideMenu(){
    // $('#inviteMenu').slideUp('fast');
/*    getMenuObject("inviteMenu").style.visibility = 'hidden';
    // $('#toolsMenu').slideUp('fast');
    getMenuObject("toolsMenu").style.visibility = 'hidden';
    getMenuObject("colorsMenu").style.visibility = 'hidden';
    // $('#filesMenu').slideUp('fast');
    getMenuObject("filesMenu").style.visibility = 'hidden';
    if(myApplet != null){
        myApplet.repaint();
    }
    if(currentMenu != null){
        currentMenu.style.visibility = 'hidden';
        currentMenu = null;
    }*/
}

function getMenuObject(mnuName){
    return document.getElementById(mnuName);
}

function getButtonObject(mnuName){
    if(mnuName == "inviteMenu"){
        return document.getElementById("invite");
    }else if(mnuName == "toolsMenu"){
        return document.getElementById("tools");
    }else if(mnuName == "colorsMenu"){
        return document.getElementById("colors");
    }else if(mnuName == "filesMenu"){
        return document.getElementById("files");
    }
}

function loadMenu(menuName){
/*    moveMenu(getMenuObject("inviteMenu"), getButtonObject("inviteMenu"), "inviteMenu");
    moveMenu(getMenuObject("toolsMenu"), getButtonObject("toolsMenu"), "toolsMenu");
    moveMenu(getMenuObject("colorsMenu"), getButtonObject("colorsMenu"), "colorsMenu");
    moveMenu(getMenuObject("filesMenu"), getButtonObject("filesMenu"), "filesMenu");
    moveMenu(getMenuObject(menuName), getButtonObject(menuName), menuName); */
}

function moveMenu(menuCon, menuBtn, menuName){
    var pos = findPos(menuBtn);
    var left = pos[0];
    var top = pos[1];
    var menuTop = top + 20; //top + menu button height
//    alert("Left : " + left + " Top: " + menuTop + " Width: " + btnDiv.offsetWidth);
    if(menuName == "colorsMenu"){
        menuCon.style.left = (left - 2) + 'px';
    //    menuCon.width = (menuBtn.offsetWidth + 4) + 'px';
    }else{
        menuCon.style.left = left + 'px';
   //     menuCon.width = menuBtn.offsetWidth + 'px';
    }
    menuCon.style.top = menuTop + 'px';
}

function executeCmd(cmdStr, menuObj){
    //hide menu
    if (menuObj){
      menuObj.style.border = "1px solid #F4F4F4";
    }
    exeCmd = cmdStr;
    menuObject = menuObj;
    hideMenu();
    exeTimer = setTimeout(callCmd, 10);
}

function callCmd(){
    clearTimeout(exeTimer);
    myApplet.doAction(exeCmd, "1");
}

function setColor(clr){
    window.status = clr;
    myApplet.doAction("SetColor", clr.toString());
}

function setBoardColor(clr){
    window.status = clr;
    myApplet.doAction("SetBoardColor", clr.toString());
}

function setThickness(lineThickness){
    window.status = lineThickness;
    myApplet.doAction("SetPenWidth", lineThickness.toString());
}


function setSelectedMenu(){
    if(menuObject != null){
//        menuObject.style.border = "1px solid #000000";
    }
}

function clrAppletLoaded(thisApp){
    myApplet = thisApp;
}

function setUseBackground(flag){
  useBackground = flag;
}

function transfertFile(url){
//  alert(url);
  window.open(url, "_blank", "toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=528, height=230");
}

function showPage(url){
  window.open(url);
}

function uploadImage(url){
  window.open(url, "_blank", "toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=528, height=220");
}

function uploadFile(){
    myApplet.doAction("bg_image", 0);
    useBackground = true;
}

function removeBG(){
  if(useBackground){
    myApplet.doAction("removeBG", 0);
  } else {
    alert("No background image used ...");
  }
}

function showMath() {
    //show math!
    //alert("Show Math");
    if (displayedMath) {
        document.getElementById('pageDiv').style.width = 1012+'px';
//        document.getElementById('pageDiv').style.height = 566+'px';
        document.getElementById('mathDiv').style.width = 0+'px';
        //document.getElementById('mathDiv').style.height = height+'px';
        document.getElementById('leftContent').style.width = 1012+'px';
        document.getElementById('mathFrame').width = 0+'px';
//        document.getElementById('leftContent').style.height = height+'px';
    }
    else {
        document.getElementById('pageDiv').style.width = 1200+'px';
//        document.getElementById('pageDiv').style.height = 566+'px';
        document.getElementById('mathDiv').style.width = 190+'px';
        //document.getElementById('mathDiv').style.height = height+'px';
        document.getElementById('leftContent').style.width = 822+'px';
        document.getElementById('mathFrame').width = 190+'px';
//        document.getElementById('leftContent').style.height = height+'px';
    }
    displayedMath = !displayedMath;
    
}

function loadMathImage(guid){
    myApplet.doAction("loadMathImage", guid);
}



