var Log = new Object();
Log.INFO="INFO";
Log.DEBUG="DEBUG";
Log.WARN="WARN";
Log.ERROR="ERROR";
Log.I=Log.INFO;
Log.D=Log.DEBUG;
Log.W=Log.WARN;
Log.E=Log.ERROR;
Log.visible = function(event){
    var key = "";
    if (!event)
        event = window.event;
    if (event.which) {
        key = event.which;
    } else if (event.keyCode) {
        key = event.keyCode;
    }else{
        key="18";
    }

    if( key == "119" ){
        info( "F8-keypress: " + key);
        if( Log.logger.style.display=='none' ){
            Log.logger.style.display='block';
        }else{
            Log.logger.style.display='none';
        }
    }
}

Log.initialize = function(){
    document.onkeyup=Log.visible;
    info("initialized logging");
}
Log.log = function(type, txt){

    if(Log.logger == null){
        Log.logger = document.createElement('div');
        Log.logger.setAttribute("id","log");
        Log.logger.setAttribute("style","background: #ccc; text-align:left;width:100%;height:150px;overflow:auto;border: solid black 2px;display:none;");
        var message = document.createElement('div');
        message.innerHTML=new Date() + " - " + type + " - " + "Logger created";
        message.setAttribute("name","message");
        Log.logger.appendChild(message);

    }
    if(Log.documentbody == null){
        if( Log.logger !=null  && document.body !=null ){
            document.body.appendChild(Log.logger);
            Log.documentbody=document.body;
            Log.log(Log.INFO, "Logger added to document body");
        }
    }

    var message = document.createElement('div');
    //message.innerHTML=log.childNodes.length + " - " + new Date() + " - " + type + " - " + txt;
    message.innerHTML=new Date() + " - " + type + " - " + txt;
    message.setAttribute("name","message");
    Log.logger.appendChild(message);
    Log.logger.scrollTop = Log.logger.scrollHeight;
}

function info(txt){
    Log.log(Log.I, txt);
}
function log( type, txt){
    Log.log(type, txt);
}
function debug(txt){
    Log.log(Log.D, txt);
}
