menu = {

    dialogOn:false,

    init:function(){
        menu.hideBrowse();
        menu.login();
        menu.register();
    },

    hideBrowse:function(){
        $("#menu_content_browselink").css("display","none");
    },

    login:function(){
        $("#menu_content_loginlink").click(function(){
            if(menu.dialogOn == false){
                login.init();
                menu.dialogOn = true;
            }
            return false;
        });
    },
    register:function(){
        $("#menu_content_registerlink").click(function(){
            if(menu.dialogOn == false){
                register.init();
                menu.dialogOn = true;
            }
            return false;
        });
    },

    logout:function(){
        $("#menu_content_logoutlink").click(function(){
            return true;
        });
    },

    removeRegister:function(){
        $('#menu_content_registerlink').parent().remove();
    },

    changeLoginOut:function(){
        $('#menu_content_loginlink').text('logout').attr("href","/user/logout/").attr("id","menu_content_logoutlink").unbind('click',menu.login());
        menu.removeRegister();
    }
},

/**
 * menuExtend is for logged in users
 */
menuExtend = {
    removeLoginLink:function(){
        alert("eh");
    }
},



/**
 * Login Dialog
 */
login ={
    isLoggedin:false,

    init:function()
    {
        if(!document.getElementById) return;
        this.createLogin();
    },

    createLogin:function()
    {
        var form =  '<form method="post" action="/login">\n\
                    <p class="error" style="display:none"><img src="/images/transparent.gif" alt="Required field" class="sprite required" />Username or password is incorrect</p>\n\
                    <label>Username</label><br/>\n\
                    <input type="text" class="formInputSmall" name="username"><br/>\n\
                    <label>Password</label><br/>\n\
                    <input type="password" name="password" class="formInputSmall" /><br/>\n\
                    <input type="submit" class="submitBtn" name="Login" value="Login" /> or <a href="/register/" class="switchToRegister">Register</a><p class="ajaxbusy" style="display:none">Please wait...</p></form>';
        $('body').append('<div class="dialog"><div class="body"><h1>Login</h1>'+form+'</div><div class="footer"><a href="#" class="close" title="click here to close">close</a></div></div>');

        $('.dialog .footer a').click(function(){
            dialog.closeDialog();
            return false;
        });
        $('input[name="Login"]').click(function(){
            var username = $(this).parent().find('input[name="username"]').val();
            var password = $(this).parent().find('input[name="password"]').val();
            login.ajaxTryLogin(username, password)
            return false;
        });
        $('.switchToRegister').click(function(){
           console.log("inne switchToRegister") ;
           return false;
        });
    },

    ajaxTryLogin:function(username,password)
    {
        $.ajax({
            type: "POST",
            url: "/login/",
            dataType: 'json',
            data: "username="+username+"&password="+password+"&format=json",
            beforeSend: function(){
                $('.dialog form input[type="submit"]').attr('disabled','disabled');
                $('.ajaxbusy').attr("style", "");
            },
            success: function(e){
                if(e.status == "fail"){
                    $('.dialog .error').attr('style', '');
                }
                else if(e.status == "ok"){
                    dialog.closeDialog();
                    menu.changeLoginOut();
                }
            },
            complete:function(){
                $('.dialog form input[type="submit"]').attr('disabled','').appendTo("hejs");
                $('.ajaxbusy').attr("style", "display:none");
            }
        });
    }
}


register ={
    init:function()
    {
        this.createRegister();
    },
    createRegister:function()
    {
        var form =  '<form method="post" action="/register/">\n\
                    <p class="error" style="display:none"><img src="/images/transparent.gif" alt="Required field" class="sprite required" />Could not register. Please try again later.</p>\n\
                    <label>Username</label><br/>\n\
                    <input type="text" name="username" class="formInputSmall"><br/>\n\
                    <label>Password</label><br/>\n\
                    <input type="password" name="password" class="formInputSmall" /><br/>\n\
                    <label>Re-type Password</label><br/>\n\
                    <input type="password" name="password2" class="formInputSmall"/><br/>\n\
                    <input type="submit" class="submitBtn" name="Register" value="Register" /><p class="ajaxbusy" style="display:none">Please wait...</p></form>';
        $('body').append('<div class="dialog"><div class="body"><h1>Create new account</h1>'+form+'</div><div class="footer"><a href="#" class="close" title="click here to close">close</a></div></div>');

        $('.dialog .footer a').click(function(){
            dialog.closeDialog();
            return false;
        });
        $('input[name="Login"]').click(function(){
            var username = $(this).parent().find('input[name="username"]').val();
            var password = $(this).parent().find('input[name="password"]').val();
            login.ajaxTryLogin(username, password)
            return false;
        });
    }
},




dialog = {
    closeDialog:function()
    {
        $('.dialog').fadeOut(500, function () {
            $('.dialog').remove();
            menu.dialogOn = false;
        });
    }
}



$(document).ready(function() {
    menu.init();
});
