ValidateAjax = {
	initialize: function(formid, endpoint){
        end_url = endpoint;
        form_id = '#'+formid;
        stop = false;

        $(form_id+' input').blur(function(){
            var formElementID = $(this).attr('id');
            ValidateAjax.doValidate(formElementID);
            return false;
        });
    },

    doValidate: function(id){
        var url = end_url;
        var data = $(form_id).serialize();
        $.post(url,data,function(response){
        	if(!stop){
                $('#'+id).parent().find('.error').remove();
                if (response[id])
                	$('#'+id).parent().append(ValidateAjax.getHTML(response[id]));
        	}
        	stop = false;

        },'json');

    },
    getHTML: function(errArray){
        var o = '<ul class="error">';
        $.each(errArray,function(key,value){
            o+='<li>'+ value+'</li>';
        });
        o+='</ul>';
        return o;
    },
    doStop: function(id){
    	$('#'+id).parent().find('.error').remove();
    	stop = true;
    }
};

