var inputFields = ['username','password'];

function init()
{
    for (var i=0; i < inputFields.length; i++)
    {
        var field = getRefToDiv(inputFields[i]);
        if (field)
        {
            addEvent(field,"change",validateField);
        }
    }

    setsubmit();
}

function submitevent()
{
    validateForm();
}

function clearError(field)
{
    try
    {
        if (!field)
            return;

        var fieldMsg = getRefToDiv(field.id+'Msg');
        if (fieldMsg)
        {
            fieldMsg.style.display = 'none'
        }
    }
    catch (e)
    {
        //alert("clearError - " + e.name + ": " + e.message);
    }
}

function setError(field,msg)
{
    try
    {
        if (!field)
            return;

        var fieldMsg = getRefToDiv(field.id+'Msg');
        if (fieldMsg)
        {
            fieldMsg.style.display = '';
            fieldMsg.innerHTML = msg;
        }
    }
    catch (e)
    {
        //alert("setError - " + e.name + ": " + e.message);
    }
}

function validateField(oEvent)
{
    oEvent = oEvent || window.event;
    var field = oEvent.target || oEvent.srcElement;

    validateField2(field);
}

function validateField2(field)
{
    var oForm = getRefToDiv('accountlogin');

    AjaxRequest.submit(
      oForm,
        {
            'url' : 'validateAccountLogin',
            'key' : field.name,
            'onSuccess' : setValidateSuccess
        }
    );
}

function validateForm()
{
    var oForm = getRefToDiv('accountlogin');

    AjaxRequest.submit(
      oForm,
        {
            'url' : 'validateAccountLogin',
            'onSuccess' : setValidateSuccess
        }
    );

    return false;
}

function setValidateSuccess(ajaxRequest)
{
    try
    {
        //alert(ajaxRequest.responseText);
        var json_data = json_parse(ajaxRequest.responseText);

        if (json_data.errors)
        {
            for (var key in json_data.errors)
            {
                var field = getRefToDiv(key);
                var msg = json_data.errors[key];
                setError(field, msg);
            }
        }
        else if (json_data.key)
        {
            var key = json_data.key;
            var field = getRefToDiv(key);
            clearError(field);
        }
        else
        {
            var dom = getRefToDiv('domain');
            dom.value = json_data.domain;

            getRefToDiv('accountlogin').submit();
        }
    }
    catch (e)
    {
        //alert("setValidateSuccess - " + e.name + ": " + e.message);
    }
}
