﻿
var _processing = false;
var _$films;

// Open Reactie panel.
function openReactie()
{
	_$films = $('object');
	_$films.hide();

	$('div#arbocatalogusReactie-invoer').css('display', 'block');
	$('div#arbocatalogusReactie-verwerkt').css('display', 'none');
	$('div#arbocatalogusReactie-error').css('display', 'none');
	$('div#arbocatalogusReactie').css('display', 'block');
	document.getElementById("arbocatalogusReactie").scrollIntoView(false);
}

// Annuleer Reactie.
function annuleerReactie()
{
	$('div#arbocatalogusReactie').css('display', 'none');
	_$films.show();
}

// Reactie verwerkt/Ok
function arbocatalogusReactieVerwerktOk()
{
	window.location.reload();
}

// Verzend Reactie
function verzendReactie()
{
	var inputError = false;

	// naam is verplicht veld.
	var naam = $('input#txtNaam').val();
	if (naam.replace(/\s/g, "").length == 0)
	{
		$('div#naam-error-empty').css('display', 'block');
		inputError = true;
	}
	else
	{
		$('div#naam-error-empty').css('display', 'none');
	}

	// naam van de organisatie is optioneel veld.
	var organisatie = $('input#txtOrganisatie').val();

	// email is verplicht veld.
	var email = $('input#txtEmail').val();
	var RegEx=/^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/
	if ((email.replace(/\s/g, "").length == 0) || ( ! RegEx.test(email) ))
	{
		$('div#email-error-empty').css('display', 'block');
		inputError = true;
	}
	else
	{
		$('div#email-error-empty').css('display', 'none');
	}

	// telefoon is optioneel veld.
	var telefoon = $('input#txtPhone').val();
	
	// Melding tonen en verder niets doen als de reactie niet is ingevuld
	var reactie = $('textarea#txtReactie').val();
	if (reactie.replace(/\s/g, "").length == 0)
	{
		$('div#reactie-error-empty').css('display', 'block');
		inputError = true;
	}
	else
	{
		$('div#reactie-error-empty').css('display', 'none');
	}
	
	if (inputError)
	{
		return;
	}

	// Niet nog een keer posten als we al bezig zijn.
	if (_processing)
	{
		return;
	}
	
	// TODO: beter interactie over activiteit.
	_processing = true;

	// Verwerk reactie m.b.v jquery ajax call. _hx_tabid wordt geleverd door skininclude.
	var item = {};
	item['the_method'] = "ArbocatalogusReactie";
	item['tabid'] = $('input#_hx_tabid').val();
	item['reactie'] = reactie;
	item['naam'] = naam;
	item['organisatie'] = organisatie;
	item['email'] = email;
	item['telefoon'] = telefoon;
	
	var ajaxPath = $('input#idAjaxPath').val();

	$.ajax
	({
		url: ajaxPath,
		type: 'POST',
		dataType: 'xml',
		data: { item: JSON.stringify( item ) },
		timeout: 10000,
		error: function()
		{
			showError("Http fout of request timeout");
			_processing = false;
		},
		success: function(pXml)
		{
			var success = $(pXml).find('success').text();
			if (success)
			{
				$('div#arbocatalogusReactie-invoer').css('display', 'none');
				$('div#arbocatalogusReactie-verwerkt').css('display', 'block');
				$('textarea#txtReactie').val('');
			}
		
			var error = $(pXml).find('error').text();
			if (error)
			{
				showError(error);
			}
		
			_processing = false;
		}
	});
}

// Toon fouten die bij jquery ajax call opgetreden zijn
function showError(pErrmsg)
{
	$('p#arbocatalogusReactie-errmsg').text(pErrmsg);
	$('div#arbocatalogusReactie-invoer').css('display', 'none');
	$('div#arbocatalogusReactie-error').css('display', 'block');
}

