document.observe("dom:loaded", function () {
    $('switcher').onclick = switcher;
    $('switcher').ondoubleclick = switcher;
});

var dialog = function () {
    var that = this;
    this.element = null;
    this.show = function () {
        $(this.element).show();
    };
    this.hide = function () {
        $(this.element).hide();
    }
};

var messagebox = function (text) {
    var that = this;
    this.element = 'messagebox';
    $('messagebox_content').innerHTML = text;
    this.show();
    $('messagebox_close').onclick = function () {
        that.hide();
    }
}
    
messagebox.prototype = new dialog();

var switcher = function () {
    if ($('switcher').className == 'clickable button_register') {
        $('switcher').className = 'clickable button_login';
        $('loginbox').hide();
        $('registerbox').show();
    } else {
        $('switcher').className = 'clickable button_register';
        $('loginbox').show();
        $('registerbox').hide();
    }

}

var screenshot = function(url) {
    this.element = 'lightbox';
    $('lightbox').appear({duration:0.4});
    $('lightbox').style.backgroundImage = "url(" + url + ")";
}

screenshot.prototype = new dialog();

var game = {
    login: function () {
        if (game.login_correct == true) return true;
        pams = new Hash();
        pams.set('u', $('username').value);
        pams.set('p', $('password').value);

        new Ajax.Request('magic_login.php', {
            method: 'post',
            parameters: pams,
            onSuccess: function (transport) {
                var response = transport.responseText || 'Somethin terribly wrong';
                var data = response.evalJSON();
                if (data['error'] == false) {
                    game.login_correct = true;
                    $('loginform').action = data['target'];
                    $('loginform').submit();
                    return true;
                } else {
                    new messagebox(data['message']);
                    return false
                }
            }
        });
        return false;
    },
    login_correct: false,
    register: function () {
        if (game.login_correct == true) return true;
        pams = new Hash();
        pams.set('u', $('r_username').value);
        pams.set('p', $('r_password').value);
        pams.set('k', $('r_betakey').value);
        pams.set('m', $('r_mail').value);

        new Ajax.Request('magic_register.php', {
            method: 'post',
            parameters: pams,
            onSuccess: function (transport) {
                var response = transport.responseText || 'Somethin terribly wrong';
                var data = response.evalJSON();
                if (data['error'] == false) {
                    //document.location.href = data['target'];
                    game.login_correct = true;
                    $('registerform').action = data['target'];
                    $('registerform').submit();
                    return false;
                } else {
                    new messagebox(data['message']);
                    //$('register_error').innerHTML = data['message'];
                    return false;
                }
            }
        });
        return false;
    }
}

var menu = {
    select: function (p) {
        pams = new Hash();
        pams.set('p', p);
        new Ajax.Request('index.php', {
            method: 'get',
            parameters: pams,
            onSuccess: function (transport) {
                var response = transport.responseText || 'Somethin terribly wrong';
                var data = response.evalJSON();
                $('content').innerHTML = data['xhtml'];
                $('content').innerHTML.evalScripts();
                $('registerbox').hide();
                $('loginbox').hide();
                $('content').appear();

            }
        });
    }
}

function open_window(a) {
    window.open(a, 'popup', "dependent=yes, height=500, resizeable=yes, width=600, scrollbars=yes");
}

