//## Signup function
app.signup = function ($form) {
    $("#signupDiv").hide();
    $("#signupLoading").height($("#signupDiv").height()).show();

    $.post($form.attr("action")+'?_return=json', $form.serialize(), function(data) {
        // Signup success
        if(data.status == 'Success'){
            window.location.reload();
        }
        // Signup error
        else {
            if('errs' in data) {
                if('password' in data.errs) {$("#signupPassword").parent().addClass("err");$("#signupErr").text(data.errs.password);}
                if('email' in data.errs) {$("#signupEmail").parent().addClass("err");$("#signupErr").text(data.errs.email);}
                if('last_name' in data.errs) {$("#signupLastName").parent().addClass("err");$("#signupErr").text(data.errs.last_name);}
                if('first_name' in data.errs) {$("#signupFirstName").parent().addClass("err");$("#signupErr").text(data.errs.first_name);}
            }
            else {$('#signupErr').text('a network error occurred');}
            $("#signupLoading").hide();
            $("#signupDiv").show();
        }
    });

    return false;
};

//## Login function
app.login = function ($form) {
    $("#loginDiv").hide();
    $("#loginLoading").height($("#loginDiv").height()).show();

    $.post($form.attr("action")+'?_return=json', $form.serialize(), function(data) {
        // Login success
        if(data.status == 'Success'){
            window.location.reload();    
        }
        // Login error
        else {
            if('err' in data) {
                $('#loginErr').text(data.err);
                $("#loginLogin").parent().addClass("err");
                $("#loginPassword").parent().addClass("err");
            }
            else {$('#loginErr').text('a network error occurred');}
            $("#loginLoading").hide();
            $("#resetLink").show();
            $("#loginDiv").show();
        }
    });

    return false;
};

//## Document ready
$(document).ready(function() {

    // Sign Up Form
    $("#signupForm").submit(function () {return app.signup($(this));});
    $('#signupBtn, .signupLink').click(function() {
        $('#loginExtended').slideUp("slow", function() {
            $('#signupExtended').slideToggle("slow");
        });
        return false;
    });
    $('#signupFormClose').click(function() {
        $('#signupExtended').slideUp("slow");
    });
    // Login Form
    $("#loginForm").submit(function () {return app.login($(this));});
    $('#loginBtn, .loginLink').click(function() {
        $('#signupExtended').slideUp("slow",function() {
            $('#loginExtended').slideToggle("slow");
        });
        return false;
    });
    $('#loginFormClose').click(function() {
        $('#loginExtended').slideUp("slow");
    });

    // Form inputs
    $('input.txt').blur(function(){	$(this).parent().removeClass("inputFocus");	}).focus(function() { $(this).parent().addClass("inputFocus") });
    if($('#signupFirstName').val()) {$("label[for='signupFirstName']").hide();}
    if($('#signupLastName').val()) {$("label[for='signupLastName']").hide();}
    if($('#signupPassword').val()) {$("label[for='signupPassword']").hide();}
    if($('#signupEmail').val()) {$("label[for='signupEmail']").hide();}
    if($('#loginLogin').val()) {$("label[for='loginLogin']").hide();}
    if($('#loginPassword').val()) {$("label[for='loginPassword']").hide();}
    $('#signupFirstName,#signupLastName,#signupEmail,#signupPassword,#loginLogin,#loginPassword').bind('focus',function() {
        $("label[for='"+$(this).attr("id")+"']").hide();
    });
    $('#signupFirstName,#signupLastName,#signupEmail,#signupPassword,#loginLogin,#loginPassword').bind('keyup blur',function() {
        if($(this).val()) {$("label[for='"+$(this).attr("id")+"']").hide();}
        else {$("label[for='"+$(this).attr("id")+"']").show();}
    });
});




