function addComment(oForm)
{
    errors_input 	= $$('input.error');
    errors_select 	= $$('select.error');
    errors = array_merge(errors_input, errors_select);

    $('ajaxErrorWrapper').hide();

    if (errors.length > 0)
    {
        for (i=0; i<errors.length;i++)
        {
            errors[i].removeClassName('error');
        }
    }

    new Ajax.Request(oForm.action,
        {
            method: 'post',
            postBody: Form.serialize(oForm),
            onSuccess:
                function(transport)
                {
                    var json = transport.responseText.evalJSON();
                    if (json.status == 'false')
                    {
                        ajaxFormErrorHandling(json);
                    }
                    else
                    {
                        reloadComments(oForm);
                    }
                }
        });

    return false;
}

function ajaxFormErrorHandling(json)
{
    if (json.errors.length > 0 && json.status == 'false')
    {
        $('ajaxErrorContent').innerHTML = '';

        for (i=0; i<json.errors.length;i++)
        {
            if ($(json.errors[i].fieldname))
            {
                $(json.errors[i].fieldname).addClassName('error');
            }
            $('ajaxErrorContent').innerHTML = $('ajaxErrorContent').innerHTML + '<p>' + json.errors[i].message + '</p>';
        }

        $('ajaxErrorWrapper').show();
    }
}

function reloadComments(oForm)
{
    $('commentName').value = '';
    $('commentEmail').value = '';
    $('commentTxt').value = '';
    new Ajax.Updater('commentItems', '/ajax/get_comments.html', {method: 'post', postBody: Form.serialize($('commentForm'))});
}

function array_merge(arr)
{
	var merged = arr;
	for (var i = 1; i < arguments.length; i++)
	{
		merged = merged.concat(arguments[i]);
	}
	return merged;
}