/**
 * @author stephan
 */
Event.observe(window, 'unload', Event.unloadCache);

function init(){
    registerBodyEvents();
}

function unregisterBodyEvents(){
}

function registerBodyEvents(){
}

/**
 * adds isJs CSS class to body-Tag
 */
function checkJs(){
    Element.extend(document.body);
    document.body.addClassName('isJs');
}

function debug(message){
    if (typeof console != "undefined") 
        console.log(message);
}

function error(message){
    if (typeof console != "undefined") 
        console.error(message);
}

function ajax_error(message){
    error("Meister Glanz: " + message);
}

var DefaultCallback = {
    onFailure: function(){
        ajax_error("Transportfehler")
    },
    onLoading: function(){
        debug("Lade")
    },
    onComplete: function(){
        debug("Laden beendet.")
    }
};

function sendRequest(url, callback, params){
    var parameters = {};
    var parameters = Object.extend(parameters, params);
    var tmp = DefaultCallback;
    if (callback) 
        var tmp = Object.extend(tmp, callback);
    var tmp = Object.extend(tmp, {
        method: 'post',
		encoding: 'ISO-8859-1',
        parameters: parameters
    });
    new Ajax.Request(url, tmp);
}

function registerEventByClassName(name, eventFunction){
    var links = Element.getElementsBySelector(document.body, name);
    var i = 0;
    while (i < links.length) {
        debug("registerLink: " + links[i])
        Event.observe(links[i], "click", eventFunction);
        i++;
    }
}

function unregisterEventByClassName(name, eventFunction){
    var links = Element.getElementsBySelector(document.body, name);
    var i = 0;
    while (i < links.length) {
        debug("unregisterLink: " + links[i])
        Event.stopObserving(links[i], "click", eventFunction);
        i++;
    }
}

