$(document).ready(function() {
    // Popups declaration & deactivation of links
    $("a#login").tooltip({
			tip: '#loginscroll',
			position: 'bottom right',
			offset: [0, -1*$("a#login").width()],
			events: { tooltip: 'mouseover' }
//			onShow: function(e) { a.addClass("active"); },
//			onBeforeHide: function(e, i) { a.removeClass("active"); }
    }).click(function() {
        return false;
    });
    $("a#register").tooltip({
			tip: '#registerform',
			position: 'bottom left',
			offset: [0, $("a#register").width()],
			events: { tooltip: 'mouseover' }
//			onShow: function(e) { a.addClass("active"); },
//			onBeforeHide: function(e, i) { a.removeClass("active"); }
    }).click(function() {
        return false;
    });

    // Scrollable login-forgot password
    $("#loginscroll").scrollable({
		next: '#anext',
		prev: '#aprev',
		size: 1,
		clickable: false,
        keyboard: false,
		onBeforeSeek: function(e, i) {
			$("#loginform").animate({height: (i ? '-' : '+') + '=50'});
		}
	});


    // Forms AJAX calls
    $("#loginform").ajaxForm({
        url: $('#loginform').attr('ajaxaction'), // override for form's 'action' attribute
        dataType: 'json',        // 'xml', 'script', or 'json' (expected server response type)
        cache: false,
        timeout: 7000,
        beforeSubmit: function(formData, jqForm, options) {
            $("#loginform").fadeTo(400, 0.6);
        },
        success: function(response, status)  {
            $("#loginform").fadeTo(200, 1);
            $("#loginform #message").text(response.message);
            $("#loginform #message").removeClass();
            if (response.result==0) {
                $("#loginform #message").addClass('info');
                location.reload();
            } else {
                $("#loginform #message").addClass('error');
            }
        },
        error: function(response, status, error) {
            $("#loginform").fadeTo(200, 1);
            $("#loginform #message").text("Error: "+ status);
            $("#loginform #message").removeClass();
            $("#loginform #message").addClass('error');
        }
    });
    $("#forgotform").ajaxForm({
        url: $('#forgotform').attr('ajaxaction'), // override for form's 'action' attribute
        dataType: 'json',        // 'xml', 'script', or 'json' (expected server response type)
        cache: false,
        //timeout: 7000,
        beforeSubmit: function(formData, jqForm, options) {
            $("#forgotform").fadeTo(400, 0.6);
        },
        success: function(response, status)  {
            $("#forgotform").fadeTo(200, 1);
            $("#forgotform #message").text(response.message);
            $("#forgotform #message").removeClass();
            if (response.result==0) {
                $("#forgotform #message").addClass('info')
                $("#forgotform").fadeTo(1000,1).slideUp();
                //location.reload();
            } else {
                $("#forgotform #message").addClass('error');
            }
        },
        error: function(response, status, error) {
            $("#forgotform").fadeTo(200, 1);
            $("#forgotform #message").text("Error: "+ status);
            $("#forgotform #message").removeClass();
            $("#forgotform #message").addClass('error');
        }
    });
    $("#registerform").ajaxForm({
        url: $('#registerform').attr('ajaxaction'), // override for form's 'action' attribute
        dataType: 'json',        // 'xml', 'script', or 'json' (expected server response type)
        cache: false,
        //timeout: 7000,
        beforeSubmit: function(formData, jqForm, options) {
            $("#registerform").fadeTo(400, 0.6);
        },
        success: function(response, status)  {
            $("#registerform").fadeTo(200, 1);
            $("#registerform #message").text(response.message);
            $("#registerform #message").removeClass();
            if (response.result==0) {
                $("#registerform #message").addClass('info')
                $("#registerform").fadeTo(1000,1).slideUp();
                //location.reload();
            } else {
                $("#registerform #message").addClass('error');
            }
        },
        error: function(response, status, error) {
            $("#registerform").fadeTo(200, 1);
            $("#registerform #message").text("Error: "+ status);
            $("#registerform #message").removeClass();
            $("#registerform #message").addClass('error');
        }
    });


    // Tools for closing
    function closeTooltips() {
        $("#loginscroll").slideUp();
        $("#registerform").slideUp();
    }
    $(document).click(function(e) {
        var el = $(e.target);
        if ($(".account:visible").length && !el.is(".account") && !el.parents(".account").length && !el.is("#acc a")) {
            closeTooltips();
        }
    });
    $(document).keydown(function(e) {
        if (e.keyCode == 27) { closeTooltips(); }
    });


});