// MyMo Tools
var STATE_CLOSE = 0;
var STATE_ADD = 1;
var STATE_DISCUSS = 2;
var STATE_SEARCH = 3;
var STATE_MORE = 4;

var currentState = 0;
var currentLevel = "";

var boxDefault = "mymoBoxDefault";
var currentBox = boxDefault;
var previousBox = "";

var iconAddOff = new Image();
iconAddOff.src = "/img/buttons/mymo_add_off.gif";
var iconDiscussOff = new Image();
iconDiscussOff.src = "/img/buttons/mymo_discuss_off.gif";
var iconSearchOff = new Image();
iconSearchOff.src = "/img/buttons/mymo_search_off.gif";
var iconMoreOff = new Image();
iconMoreOff.src = "/img/buttons/mymo_more_off.gif";
var iconCloseOff = new Image();
iconCloseOff.src = "/img/buttons/mymo_close_off.gif";

var iconAddHover = new Image();
iconAddHover.src = "/img/buttons/mymo_add_hover.gif";
var iconDiscussHover = new Image();
iconDiscussHover.src = "/img/buttons/mymo_discuss_hover.gif";
var iconSearchHover = new Image();
iconSearchHover.src = "/img/buttons/mymo_search_hover.gif";
var iconMoreHover = new Image();
iconMoreHover.src = "/img/buttons/mymo_more_hover.gif";
var iconCloseHover = new Image();
iconCloseHover.src = "/img/buttons/mymo_close_hover.gif";

var iconAddOn = new Image();
iconAddOn.src = "/img/buttons/mymo_add_on.gif";
var iconDiscussOn = new Image();
iconDiscussOn.src = "/img/buttons/mymo_discuss_on.gif";
var iconSearchOn = new Image();
iconSearchOn.src = "/img/buttons/mymo_search_on.gif";
var iconMoreOn = new Image();
iconMoreOn.src = "/img/buttons/mymo_more_on.gif";


var mymoAdd = new Array();
mymoAdd["id"] = 1;
mymoAdd["image"] = "mymo_icon_add";
mymoAdd["off"] = iconAddOff;
mymoAdd["hover"] = iconAddHover;
mymoAdd["on"] = iconAddOn;
mymoAdd["boxBase"] = "mymoBoxAdd";
mymoAdd["boxHover"] = "mymoBoxAddHover";
mymoAdd["boxDefault"] = "mymoBoxAddDefault";
mymoAdd["main"] = "mymoAdd";

var mymoDiscuss = new Array();
mymoDiscuss["id"] = 2;
mymoDiscuss["image"] = "mymo_icon_discuss";
mymoDiscuss["off"] = iconDiscussOff;
mymoDiscuss["hover"] = iconDiscussHover;
mymoDiscuss["on"] = iconDiscussOn;
mymoDiscuss["boxBase"] = "mymoBoxDiscuss";
mymoDiscuss["boxHover"] = "mymoBoxDiscussHover";
mymoDiscuss["boxDefault"] = "mymoBoxDiscussDefault";
mymoDiscuss["main"] = "mymoDiscuss";

var mymoSearch = new Array();
mymoSearch["id"] = 3;
mymoSearch["image"] = "mymo_icon_search";
mymoSearch["off"] = iconSearchOff;
mymoSearch["hover"] = iconSearchHover;
mymoSearch["on"] = iconSearchOn;
mymoSearch["boxBase"] = "mymoBoxSearch";
mymoSearch["boxHover"] = "mymoBoxSearchHover";
mymoSearch["boxDefault"] = "mymoBoxSearchDefault";
mymoSearch["main"] = "mymoSearch";

var mymoMore = new Array();
mymoMore["id"] = 3;
mymoMore["image"] = "mymo_icon_more";
mymoMore["off"] = iconMoreOff;
mymoMore["hover"] = iconMoreHover;
mymoMore["on"] = iconMoreOn;
mymoMore["boxBase"] = "mymoBoxMore";
mymoMore["boxHover"] = "mymoBoxMoreHover";
mymoMore["boxDefault"] = "mymoBoxMoreDefault";
mymoMore["main"] = "mymoMore";

var mymoClose = new Array();
mymoClose["id"] = 0;
mymoClose["image"] = "mymo_close";
mymoClose["off"] = iconCloseOff;
mymoClose["hover"] = iconCloseHover;
mymoClose["boxHover"] = "mymoBoxCloseHover";
mymoClose["main"] = "mymoClose";

function init( ) {
}

function mymoClickLevel( id ) {
    section = getSectionInfo( currentState );
    
    // Close old level
    if( currentLevel != "" ) {
        document.getElementById( currentLevel ).style.display = 'none';
        document.getElementById( currentLevel + "Menu" ).className = '';    
    }
    
    // Open new level
    document.getElementById( id ).style.display = 'block';
    
    // Turn on menu
    document.getElementById( id + "Menu" ).className = 'on';
    
    // Update Arrow
    document.getElementById( status["arrow"] ).style.width = '770px'; // 133, 563, 770
    
    // Update box
    updateBox( id + "Box" );
    
    currentLevel = id;
    
    return false;
}

function mymoClickState( id ) {
    if( id > 0 ) {
        // Close old section
        if( currentState > 0 ) {
            //old = getSectionInfo( currentState );
            //document.getElementById( old["main"] ).style.display = 'none';
        }
            
        // Set new state
        currentState = id;
        
        // Open new section
        section = getSectionInfo( id );
        //document.getElementById( section["main"] ).style.display = 'block';
        
        // Turn on icon
        document.images[section["image"]].src = section["on"].src;
        
        // Change box
        updateBox( section["boxDefault"] );
        
        // Add close
        if( currentState > 0 ) {
            document.getElementById( mymoClose["main"] ).style.display = 'block';
        }
        else {
            document.getElementById( mymoClose["main"] ).style.display = 'none';
        }
    }
    else { 
        // Close button
        section = getSectionInfo( currentState );
        
        // Close section and arrow
        //document.getElementById( section["main"] ).style.display = 'none';
        //document.getElementById( status["main"] ).style.display = 'none';
        
        // Reset images and box
        document.images[section["image"]].src = section["off"].src;
        updateBox( boxDefault );
        
        // Remove and reset close button
        document.getElementById( mymoClose["main"] ).style.display = 'none';
        document.images[mymoClose["image"]].src = mymoClose["off"].src;
        
        currentState = 0;
    }
    
    return false;
}

function mymoOver( id ) {
    if( id != currentState ) {
        var section = getSectionInfo( id );
        document.images[section["image"]].src = section["hover"].src;
        
        // Change box
        updateBox( section["boxHover"] );
        
    }
}

function mymoOut( id ) {
    if( id != currentState ) {
        var section = getSectionInfo( id );
        document.images[section["image"]].src = section["off"].src;
        
        // Change box
        updateBox( previousBox );
    }
}

function updateBox( newBox ) {
    if( document.getElementById( currentBox ) ) {
        document.getElementById( currentBox ).style.display = 'none';
    }
    if( document.getElementById( newBox ) ) {
        document.getElementById( newBox ).style.display = 'block';
    }
    
    previousBox = currentBox;
    currentBox = newBox;
}

function getSectionInfo( id ) {
    var retVal;
    switch( id ) {
        case STATE_ADD:
            retVal = mymoAdd;
        break;
        case STATE_DISCUSS: 
            retVal = mymoDiscuss;
        break;
        case STATE_SEARCH:
            retVal = mymoSearch;
        break;
        case STATE_MORE:
            retVal = mymoMore;
        break;
        case STATE_CLOSE:
            retVal = mymoClose;
        break;
    }
    
    return retVal;
}