function toggleVisibilityDebug() {
    var obj = document.getElementById("debugtab");
    if (obj.style.visibility=="hidden") {
        obj.style.visibility="visible";
    } else {
        obj.style.visibility="hidden";
    }
}


function addToDebug(time, location, msg) {
    var code = "<table class=\"debugtable\"><tr>" +
               "<td class=\"dbgtime\">" + time + "</td><td class=\"dbgmodule\">" + location + "</td><td class=\"dbgmessage\">" + msg + "</td>" +
               "</tr></table>";
              
    var obj = document.getElementById("debugtab");
    obj.innerHTML = obj.innerHTML + code;
}

/*
function setStyle() 
{
    var sel = document.getElementById("styleSelect");
    window.location.href='?style=' + sel.value;
}
*/



function writeDatePopupCal(fieldID) {
    var cal = new CalendarPopup();
    cal.select(document.getElementById(fieldID), 'adate', 'dd.MM.yyyy');
}

function writeDatePopup(fieldid) {
    document.write("<a href='#' name='adate' id='adate' onClick=\"writeDatePopupCal('" + fieldid + "');return false;\">select</a>");
}



// TODO: use Google's portable HttpRequest object/lib
function buildNewHttpRequest() {
    http_request = false;
    if (window.XMLHttpRequest) {
        // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/xml');
        }
    } else if (window.ActiveXObject) {
        // IE
        try { http_request = new ActiveXObject("Msxml2.XMLHTTP"); }
        catch (e) {
            try { http_request = new ActiveXObject("Microsoft.XMLHTTP"); }
            catch (e) {}
        }
    }

    if (!http_request) {
        alert('Giving up :( Cannot create an XMLHTTP instance');
        return false;
    }
    return http_request;
}



/**
 * Check URL. Callback will receive the response code, cbParameters
 * Callback prototype is function(http_status, cbParameters)
 */
function ajaxGetResponseCode(url, callback, cbParameters) {
    var http_request = buildNewHttpRequest();
    addToDebug(-1, "script-header.js", "ajaxGetResponseCode(url=" + url + ")");

    // TODO: remove this debug version
    //url = "http://localhost/randonneurs/RandoV2/plugins/RandoV2/web//banner-dsc8019b.jpg";
    
    http_request.onreadystatechange = function() {
        addToDebug(-1, "script-header.js", "ajaxGetResponseCode(" + http_request.readyState + ")");
        if (http_request.readyState==4) {
            callback(http_request.status, cbParameters);
        }
    }


    addToDebug(-1, "script-header.js", "0");
    http_request.open('GET', url, true);
    addToDebug(-1, "script-header.js", "1");
    http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    http_request.setRequestHeader("Accept-Encoding", "gzip, deflate");
    addToDebug(-1, "script-header.js", "2");
    http_request.setRequestHeader("Connection", "close");
    addToDebug(-1, "script-header.js", "3");
    addToDebug(-1, "script-header.js", "4");
    http_request.send(Array());
    addToDebug(-1, "script-header.js", "5");
}


