function Validate(form, url, errHandler)
{
    /* Disable form fields */
    if(form && form.elements.length > 0)
    {
        var i;
        var fields = form.elements;
        var data = '';

        for(i=0; i < fields.length; i++)
        {
            if (fields[i].name && fields[i].name !== '')
            {
                if (i > 0)
                    data += '&';
                data += fields[i].name + '=' + escape(fields[i].value);
                fields[i].disabled = 'disabled';
            }
        }
        r = new Ajaj (url, data, DummyLoading, validationReady);
        r.makeRequest (null, {"errHandler" : errHandler, "form" : form});
    }

    return false;
}
function validationReady(response, args)
{
    /* Enable form fields */
    if(args.form.elements.length > 0)
    {
        var i;
        var fields = args.form.elements;

        for(i=0; i < fields.length; i++)
        {
            if (fields[i].name && fields[i].name !== '')
            {
                fields[i].disabled = '';
            }
        }
    }
	//alert(response);
    var errorsObj = eval('(' + response + ')'); // eval == evil ? use slower JSON parser : go on with eval

    if (errorsObj.length > 0)
    {
        args.errHandler(args.form, errorsObj);
    }
    else
    {
        args.form.submit();
    }

    
}
function DummyLoading()
{
}
function ErrorHandler (form, errors)
{
    var error = 'Įvyko klaida! Pataisykite arba užpildykite šiuos laukus:\n';
    var lang = '';

    for (i = 0; i < errors.length; i++)
    {
        if (errors[i].Lang)
        {
            error += ' - \t' + errors[i].Title + ' (' + errors[i].Lang + ')' + '\n';
        }
        else
        {
            error += ' - \t' + errors[i].Title + '\n';
        }
//        error += ' - Field id:\t' + errors[i].Field + '\n';
//        error += ' - Field type:\t' + errors[i].Type + '\n\n';
    }
    alert(error);
}
