var ajax_form_c = function()
{
	this.setOnSubmitResponse = function(state_i, status_i, content_s, argument_o)
	{
		if ((state_i == 4) && (status_i == 200))
		{
			var element_o;
			var form_o;

			if (argument_o.element_id)
				element_o = document.getElementById(argument_o.element_id);

			if (argument_o.form_id)
				form_o = document.getElementById(argument_o.form_id);

			if (element_o)
				element_o.innerHTML = content_s;

			if (form_o)
				form_o.style.display = 'none';

			if (argument_o.transform)
			{
				if (argument_o.transform.resize)
				{
					var resize_a = argument_o.transform.resize;
					var resize_o = {};

					for (var index_i in resize_a)
					{
						resize_o = document.getElementById(resize_a[index_i].id);

						if (resize_o)
							resize_o.style.height = resize_a[index_i].height + 'px';
					}
				}
			}
		}
	};

	this.getOnSubmit = function(form_o, element_id_s, transform_o)
	{
		if (getValidation(form_o))
		{
			var ajax_o = new ajax_c();
				ajax_o.setPath('/website/proxy.php');
				ajax_o.setArgument('proxy_domain', 'emailformulier.nl');

			var element_o = {};

			for (var index_i = 0; index_i < form_o.elements.length; index_i++)
			{
				element_o = form_o.elements[index_i];

				switch (element_o.nodeName.toLowerCase())
				{
					case 'select': ajax_o.setArgument(element_o.name, element_o.options[element_o.selectedIndex].value); break;
					case 'textarea': ajax_o.setArgument(element_o.name, element_o.value); break;
					case 'input':

						switch (element_o.type.toLowerCase())
						{
							case 'checkbox':
							case 'radio': ajax_o.setArgument(element_o.name, element_o.checked ? element_o.value : element_o.getAttribute('alt')); break;
							default: ajax_o.setArgument(element_o.name, element_o.value); break;
						}

						break;
				}
			}

			ajax_o.setListener(this, 'setOnSubmitResponse', {form_id: form_o.getAttribute('id'), element_id: element_id_s, transform: transform_o});
			ajax_o.setRequest();
		}

		return false;
	};
};