$(document).ready(function(){
  
    
}); //end login
function getKey(key){
    if ( key == null ) {
        keycode = event.keyCode;
        // To Mozilla
        } else {
            keycode = key.keyCode;
        }
       
    // Return the key in lower case form
    return keycode;
}

function write(){


    $('#password').keydown(function (eh){
        if (getKey(eh)==13){
           $("form").bind("submit", function(event) {
                login();
                event.preventDefault();
            });
            login();
        }
    });


    $('#userName').keydown(function (eh){
        if (getKey(eh)==13){
            $("form").bind("submit", function(event) {
                login();
                event.preventDefault();
            });
            login();
        }
    });


    /*$('#cheRemember').keydown(function (eh){
        if (getKey(eh)==13){
            $("form").bind("submit", function(event) {
                login();
                event.preventDefault();
            });
            login();
        }
    });*/
  
}

var name = $("#name"),
    email = $("#email"),
    password = $("#password"),
    allFields = $([]).add(name).add(email).add(password),
    tips = $("#validateTips");

    function updateTips(t) {
            tips.text(t).effect("highlight",{},1500);
    }

    function checkLength(o,n,min,max) {

            if ( o.val().length > max || o.val().length < min ) {
                    o.addClass('ui-state-error');
                    updateTips("Length of " + n + " must be between "+min+" and "+max+".");
                    return false;
            } else {
                    return true;
            }

    }

    function checkRegexp(o,regexp,n) {

            if ( !( regexp.test( o.val() ) ) ) {
                    o.addClass('ui-state-error');
                    updateTips(n);
                    return false;
            } else {
                    return true;
            }

    }
    
function showLoginForm(){
    write();
    $("#dialogLogin").dialog({
        bgiframe: true,
        autoOpen: false,
        height: 280,
        width: 500,
        resizable:false,
        modal: true,
        buttons: {
            'Login': function() {
                login();
                     
            },
            Cancel: function() {
                $(this).dialog('close');
            }
        },
        close: function() {
            allFields.val('').removeClass('ui-state-error');
        }
    });
            
        
   $("#dialogLogin").dialog('open');
   //write();
}

function checkInputValueLogin(){
    if ($("#userName").attr('value')==""){
        $("#formLoginMessage").html("You must insert a user name");
        $("#formLoginMessage").show();
        return false;
    }

    if ($("#password").attr('value')==""){
        $("#formLoginMessage").html("You must insert a password");
        $("#formLoginMessage").show();
        return false;
    }
    return true;
}

function login(){
    if (checkInputValueLogin()){
        $.ajax({
            type:'POST',
            url: "/login/",
            dataType:'json',
            data:{ username: $("#userName").attr('value'), password: $("#password").attr('value')},
            async:false,
            success: function(data){
                if (data.status=='invalid'){
                    $("#formLoginMessage").html(data.message);
                    $("#formLoginMessage").show();
                }else if(data.status=='redirect'){
                    window.location.replace(data.redirect);
                }
            },
            error: function(XMLHttpRequest, textStatus, errorThrown){
                alert('Ups!!! ' + textStatus);
            }

        });
    }
}

function logout(){
    $.ajax({
        type:'POST',
        url: "/logout/",
        dataType:'json',
        data:{},
        async:true,
        success: function(r){
            if (r.status=="ok"){
                window.location = "/home/"
            }else{
                alert(r.error)
            }
        },
        error: function(XMLHttpRequest, textStatus, errorThrown){
            alert('Ups!!! ' + textStatus);
        }

    });
};
