function setupLoginForm() {
    if ($('#login-form').hasClass('initialized')) {
        return false;
    }
    
    loginFormValidator = $("#login-form").validator({
        effect: 'show-error-right'
    });
	
	$.tools.validator.addEffect("show-error-right", function(errors, event) {
		// Show the error message
		$.each(errors, function(index, error) {
            
			var input = error.input;
			input.addClass('error');
			
			var errorId = "error-" + input.attr('id');
			
			if ($('#' + errorId).length) {
			    var errorElem = $('#' + errorId);
			} else {
			    var errorElem = $('<div id="' + errorId + '" class="form-error-right"/>');
			    input.parents('form:first').append(errorElem);
		    }
            
			errorElem.html('<div class="form-errors-left-arrow"></div><div class="form-errors"></div>');
			//var errorElem = $('#waiting-form-error');
			//errorElem.html('<div class="form-errors-up-arrow"></div><div class="form-errors"></div>');

			$.each(error.messages, function() {
				$('#' + errorId).find(".form-errors").append('<p>' + this + '</p>');
			});

			positionError(input, errorElem);

			$(window).resize(function() {
				positionError(input, errorElem);
			});

			errorElem.fadeIn();
		});

	}, function(inputs)  {
	    console.log(this);
		// Hide the error message.
		inputs.removeClass('error');
		
		var errorId = "error-" + inputs.attr('id');
		$('#' + errorId).fadeOut();
	});
	
	$('#login-form').addClass('initialized');
}

function positionError(input, error) {
	inputPos = input.parent().position();
	error.css('position', 'absolute');
	error.css('top', inputPos.top);
	error.css('left', inputPos.left + input.parent().width());
}

$(document).ready(function(){
    
    setupLoginForm();
	
});
