var eval_json = function(data){
    return eval("(" + data + ")");
};
var clear_default_value = function() {
        if (this.value == this.defaultValue) {
            this.value = "";
        }
};
var set_default_value = function(){
    if (this.value == ""){
        this.value = this.defaultValue;
    }
};

var page_effects = function(){
    $("#content_right").show();
}
var show_invite_boxes = function(){
    $("#invite_link").hide();
    $("#empty_div").hide("slow");
    $("#invite_box_container").show("slow");
}
var ClassSignup = function(){};
ClassSignup.prototype = {
    initialize: function() {
        $("#signup_form").submit(window.signup.submit_signup_form);
        $("#email").focus(clear_default_value);
        $("#email").blur(set_default_value);
        $("#signup_form_submit").click(window.signup.submit_signup_form);
        $("#check-nick-link").click(window.signup.check_nick_availability);

    },
    submit_signup_form: function(e) {
        e.preventDefault();
        var authenticity_token = $("input[name=authenticity_token]").val();
        var nick_name = $("#nick_name").val();
        var login_name = $("#email").val() == $("#email").attr("defaultValue") ? "":$("#email").val();
        var name = $("#name").val();
        var pass1 = $("#password1").val();
        var pass2 = $("#password2").val();
        params = {"user[nick_name]":nick_name, "user[login_name]": login_name, "user[first_name]": name, "user[password]": pass1, "user[password_confirmation]": pass2,"authenticity_token":authenticity_token};
        $("#notice").hide("slow");
        $.post("/site/signup",params,window.signup.signup_response_handler);
    },
    signup_response_handler: function(data){
        response = eval_json(data)
        if (response['status'] == 'Success'){
            $("#email").val("");
            $("#name").val("");
            $("#password1").val("");
            $("#password2").val("");
        }
        $("#notice").html('<strong><b><span>'+ response['status'] + ' : ' + response['content'] + '</span></b></strong>');
        $("#notice").show("slow");
    },
    
    get_signup_form: function(){
        $.get("/site/get_signup",{},window.signup.get_signup_response_handler);
        $("#content_right").hide();
    },
    
    get_signup_response_handler: function(data){
        $("#content_right").html(data);
        window.signup.initialize();
        $("#content_right").show("slow");
    },

    check_nick_availability: function(){
        
        nick = $("#nick_name").val();
        authenticity_token = $("input[name=authenticity_token]").val();
        //alert(authenticity_token);
        if (nick != "")
        {
            $("#check-nick-link").hide();
            $("#nick-status").html("<img alt='Circle-ball-dark-antialiased' src='/images/circle-ball-dark-antialiased.gif'/>");
            $.post("/site/check_nick_availability",{"check_nick":nick,"authenticity_token":authenticity_token},window.signup.check_nick_response_handler);
        }
    },
    
    check_nick_response_handler: function(data){
        response = eval_json(data)
        if (response["available"]){
            $("#nick-status").css("color","orange");
            $("#nick-status").html("<b>Available!</b>");
        }else{
            $("#nick-status").css("color","red");
            $("#nick-status").html("<b>Unavailable!</b>");
        }
        $("#check-nick-link").show();
    }

 };

$(document).ready(function(){
    page_effects();
    window.signup = new ClassSignup();
    window.signup.initialize();

    //for showing invite boxes
    if ($("#invite_link").length){
        $("#invite_link").click(show_invite_boxes);
    }
    //forgot password form
    if ($("#forgot_pass_form").length){
        $("#forgot_pass_form .btn_submit").click(send_forgot_password_request);
    }
    
    if ($("#change_pass_form").length){
        $("#change_pass_form .btn_submit").click(function() {$("#change_pass_form").submit();});
    }
});


var send_forgot_password_request = function()
{
    params = {"email":$("#forgot_pass_form #email").val(),"authenticity_token":$("input[name=authenticity_token]").val()}
    $.post("/site/forgot_password",params,forgot_password_response_handler)
     $("#notice").hide("slow");
}

var forgot_password_response_handler = function(data)
{
     response = eval_json(data)
        if (response['status'] == 'Success'){
            $("#forgot_pass_form #email").val("");
        }
        $("#notice").html('<strong><b><span>'+ response['status'] + ' : ' + response['content'] + '</span></b></strong>');
        $("#notice").show("slow");
}

/*
var send_change_password_request = function()
{
    //email = $("#email").val();
    //token = $("#token").val();
    //password1 = $("#password1").val();
    //password2 = $("#password2").val();
    //params = {"email":email, "token":token, "password1": password1, "password2": password2};
    //$.post("/site/change_password",params,change_password_response_handler);
    
}
var change_password_response_handler = function(data){

    response = eval_json(data)
    $("#notice").html('<strong><b><span>'+ response['status'] + ' : ' + response['content'] + '</span></b></strong>');
    $("#notice").show("slow");
}
*/