// init vars
var ng_frm;
var ng_orinaam = ng_oriemail = ng_oritelefoon = ng_orivraag = ng_naam = ng_email = ng_telefoon = ng_vraag = '';
var ng_oricolor = '#000000'
var ng_errcolor = '#FF0000';

ng_addLoadEvent(initMail);

// get original field valuis
function initMail() {
	// Contactform helper
	if (document.getElementById('contactForm'))	{
		// get original values
		ng_frm = document.getElementById('contactForm');
		ng_orinaam = ng_frm.naam.value;
		ng_oriemail = ng_frm.email.value;
		ng_oritelefoon = ng_frm.telefoon.value;
		ng_orivraag = ng_frm.vraag.value;
		ng_oricolor = ng_frm.naam.style.color;
		
		// set phone number on contactform
		if (document.getElementById('ng_telno')) document.getElementById('ng_telno').innerHTML += '&nbsp;' + ng_officetel;
		
		// set onfocus events
		for (var i=0; i<ng_frm.elements.length; i++) ng_frm.elements[i].onfocus = ng_focusFields;

	// set onblur events
		for (var i=0; i<ng_frm.elements.length; i++) ng_frm.elements[i].onblur = ng_blurFields;
	}
}

function ng_focusFields() {
	switch (this.id) {
		case 'naam':
			if (ng_naam.length>0) ng_frm.naam.value = ng_naam;
			break;
		case 'email':
			if (ng_email.length>0) ng_frm.email.value = ng_email;
			break;
		case 'telefoon':
			if (ng_telefoon.length>0) ng_frm.telefoon.value = ng_telefoon;
			break;
		case 'vraag':
			if (ng_vraag.length>0) ng_frm.vraag.value = ng_vraag;
			break;
		default:
			break;
	}
	this.style.color = ng_oricolor;
}

function ng_blurFields() {
	switch (this.id) {
		case 'naam':
			if (this.value.length>0) {ng_naam = ng_frm.naam.value;} else {ng_naam='';ng_frm.naam.value = ng_orinaam;}
			break;
		case 'email':
			if (this.value.length>0) {ng_email = ng_frm.email.value;} else {ng_email='';ng_frm.email.value = ng_oriemail;}
			break;
		case 'telefoon':
			if (this.value.length>0) {ng_telefoon = ng_frm.telefoon.value;} else {ng_telefoon='';ng_frm.telefoon.value = ng_oritelefoon;}
			break;
		case 'vraag':
			if (this.value.length>0) {ng_vraag = ng_frm.vraag.value;} else {ng_vraag='';ng_frm.vraag.value = ng_orivraag;}
			break;
		default:
			break;
	}
}

function ng_sendMail() {
	// reset field text colors
	for (var ng_i=0; ng_i<ng_frm.elements.length; ng_i++) ng_frm.elements[ng_i].style.color = ng_oricolor;
	
	// validation patterns
	var ng_emailptr = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
	var ng_telefoonptr = /^[0-9+\-()\ \\//]{6,}$/
	var ng_vraagptr = /.{2,}/;
	
	// validate
	var ng_errs = 0
	if (ng_frm.naam.value.length == 0) ng_frm.naam.value = ng_orinaam;
	if (ng_frm.naam.value == ng_orinaam) { //invalid naam
		ng_frm.naam.style.color = ng_errcolor;
		ng_errs += 1;
	}
	
	if (ng_frm.email.value.length == 0) ng_frm.email.value = ng_oriemail;
	if (!ng_emailptr.test(ng_frm.email.value)) { // invalid email
		ng_frm.email.style.color = ng_errcolor;
		ng_errs += 1;
	}

	if (ng_frm.telefoon.value.length == 0) ng_frm.telefoon.value =  ng_oritelefoon;
	if (!ng_telefoonptr.test(ng_frm.telefoon.value)) { // invalid telephone
		ng_frm.telefoon.style.color = ng_errcolor;
		ng_errs += 1;
	}
	
	if (ng_frm.vraag.value.length == 0) ng_frm.vraag.value = ng_vraag;
	if (ng_frm.vraag.value == ng_orivraag||!ng_vraagptr.test(ng_frm.vraag.value)) { // invalid vraag
		ng_frm.vraag.style.color = ng_errcolor;
		ng_errs += 1;
	}
	
	if (ng_errs==0) {
		// call mailForm.asp via hidden iframe on novagraaf.nl
		var ng_mailframe = document.createElement('iframe');
		ng_mailframe.id = 'ng_mailframeid';
		ng_mailframe.name = 'ng_mailframeid';
		
		var ng_mailsrc = 'http://www.novamail.nl/v3/sendMail.asp?domain='+ng_domain+
			'&office='+ng_office+
			'&officemail='+ng_officemail+
			'&officetel='+ng_officetel+
			'&page='+ng_page+
			'&language='+ng_language+
			'&naam='+ng_naam+
			'&email='+ng_email+
			'&telefoon='+ng_telefoon+
			'&vraag='+ng_vraag+
			'&optin='+ng_frm.ontvangMail.checked;
			
			ng_mailframe.src = ng_mailsrc.replace('#', '')
			
			ng_mailframe.style.display = 'none';
		document.body.appendChild(ng_mailframe);
	}
}

// generic callback functions

function interactionCompleted(callback) {
	var action = querySt('action', callback)
	switch (action) {
		case 'contactform':
			var ng_msg = querySt('message', callback)
			if (ng_msg=='ok') {
				location.href = 'http://'+ng_domain+'/'+ng_language+'/sendafriend/dank-voor-uw-email?naam='+ng_naam+
					'&email='+ng_email+
					'&telefoon='+ng_telefoon+
					'&vraag='+ng_vraag;
			} else { // error in emailaddress
				ng_frm.email.style.color = ng_errcolor;
				ng_frm.email.value = 'ERROR sending email';
			}
			break;
	}
}

function querySt(ji, hu) {
	gy = hu.split("&");
	for (i=0;i<gy.length;i++) {
		ft = gy[i].split("=");
		if (ft[0] == ji) {
			return ft[1];
		}
	}
}

