
// *******************************************************************************************
//	COOKIES
// *******************************************************************************************
function Get_Cookie(name) {
    var start = document.cookie.indexOf(name+"=");
    var len = start+name.length+1;
    if ((!start) && (name != document.cookie.substring(0,name.length))) return null;
    if (start == -1) return null;
    var end = document.cookie.indexOf(";",len);
    if (end == -1) end = document.cookie.length;
    return unescape(document.cookie.substring(len,end));
}

function Set_Cookie(name,value,expires,path,domain,secure) {
    document.cookie = name + "=" +escape(value) +
        ( (expires) ? ";expires=" + expires.toGMTString() : "") +
        ( (path) ? ";path=" + path : "") + 
        ( (domain) ? ";domain=" + domain : "") +
        ( (secure) ? ";secure" : "");
}
function CookieExpires() {
	var today	= new Date();
	var expires = new Date(today.getTime() + (56 * 86400000));
	
	return expires;
}
// *******************************************************************************************
//	FORMCHECKS
// *******************************************************************************************
function SetFFStyle(el, status) {
	if (status == 'Bad')
	{
		// Backup current classname in cookie
		if (el.className != 'FormCheckBad')
		{		
			var expires = CookieExpires();
			Set_Cookie("ContactClassName", el.className,expires);
		}

		// Change classname to bad
		el.className = 'FormCheckBad';
	}
	else
	{
		// Get classname from cookie	
		var ContactClassName = Get_Cookie("ContactClassName");

		if (ContactClassName != 'FormCheckBad' && ContactClassName != '')
		{
			// Restore classname from cookie
			el.className = ContactClassName;
		}
		else
		{
			// Restore to default class	
			el.className = 'FormCheckGood';
		}
	}
}

function CheckField(fieldname, message) {
	if(fieldname) {
		if (fieldname.value == "") {
			SetFFStyle(fieldname, 'Bad');
			message = '- '+message+'\n';
			return message;
		} else {
			SetFFStyle(fieldname, 'Good');
			return '';
		}
	} else {
		return '';
	}
}

function CheckCheckbox(fieldname, message) {
	if(fieldname) {
		if (fieldname.checked != true) {
			SetFFStyle(fieldname, 'Bad');
			message = '- '+message+'\n';
			return message;
		} else {
			SetFFStyle(fieldname, 'Good');
			return '';
		}
	} else {
		return '';
	}
}

function CheckEmail(fieldname, message, language) {
	if(fieldname) {
		if (fieldname.value == "") {
			SetFFStyle(fieldname, 'Bad');
			message = '- '+message+'\n';
			return message;
		} else if (IsEmail(fieldname.value) == false) {
			SetFFStyle(fieldname, 'Bad');
			if (language == 'EN') {
				message = '- '+message+' is not valid !\n';
			} else if (language == 'DE') {
				message = '- '+message+' is nicht korrekt !\n';
			} else {
				message = '- '+message+' is geen geldig e-mailadres !\n';
			}
			return message;
		} else {
			SetFFStyle(fieldname, 'Good');
			return '';
		}
	} else {
		return '';		
	}
}

function IsEmail(str) {
  // are regular expressions supported?
  var supported = 0;
  if (window.RegExp)
  {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
  }
  if (!supported) 
    return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
  return (!r1.test(str) && r2.test(str));
}

// *******************************************************************************************
//	FORMCHECK (contact)
// *******************************************************************************************
function FormContactNL() {
	// FORM
	var f = document.formcontact;	

	// MESSAGE
	var header = 'De volgende velden zijn niet correct ingevuld:\n\n';

	// CHECK FIELDS
	var message = '';
	message += CheckField(f.naam,		'Naam');
	message += CheckEmail(f.email,		'E-mail', 'NL');
	message += CheckField(f.subject,	'Onderwerp');
	message += CheckField(f.bericht,	'Bericht');

  	if (message != "") {
		alert(header+''+message);
		return false
	}
}
// *******************************************************************************************
function FormContactEN() {
	// FORM
	var f = document.formcontact;	

	// MESSAGE
	var header = 'The following fields are empty or not valid:\n\n';

	// CHECK FIELDS
	var message = '';
	message += CheckField(f.naam,		'Name');
	message += CheckEmail(f.email,		'Email address', 'EN');
	message += CheckField(f.subject,	'Subject');
	message += CheckField(f.bericht,	'Message');

  	if (message != "") {
		alert(header+''+message);
		return false
	}
}
// *******************************************************************************************
function FormContactDE() {
	// FORM
	var f = document.formcontact;

	// MESSAGE
	var header = 'The following fields are empty or not valid:\n\n';

	// CHECK FIELDS
	var message = '';
	message += CheckField(f.naam,		'Name');
	message += CheckEmail(f.email,		'Email', 'DE');
	message += CheckField(f.subject,	'Subjekt');
	message += CheckField(f.bericht,	'Bericht');

  	if (message != "") {
		alert(header+''+message);
		return false
	}
}
// *******************************************************************************************
//	FORMCHECK (reservation)
// *******************************************************************************************
function FormReservationNL() {
	// FORM
	var f = document.formreservation;

	// MESSAGE
	var header = 'De volgende velden zijn niet correct ingevuld:\n\n';

	// CHECK FIELDS
	var message = '';
	message += CheckField(f.achternaam,	'Naam');
	message += CheckField(f.adres,		'Adres');
	message += CheckField(f.plaats,		'Plaats');
	message += CheckField(f.land,		'Land');
	
	message += CheckField(f.mobiel,		'Mobiel');
	message += CheckEmail(f.email,		'E-mail', 'NL');

  	if (message != "") {
		alert(header+''+message);
		return false
	}
}
// *******************************************************************************************
function FormReservationEN() {
	// FORM
	var f = document.formreservation;

	// MESSAGE
	var header = 'The following fields are empty or not valid:\n\n';

	// CHECK FIELDS
	var message = '';
	message += CheckField(f.achternaam,	'Name');
	message += CheckField(f.adres,		'Address');
	message += CheckField(f.plaats,		'City');
	message += CheckField(f.land,		'Country');
	
	message += CheckField(f.mobiel,		'Mobile');
	message += CheckEmail(f.email,		'E-mail', 'EN');

  	if (message != "") {
		alert(header+''+message);
		return false
	}
}
// *******************************************************************************************
function FormReservationDE() {
	// FORM
	var f = document.formreservation;

	// MESSAGE
	var header = 'The following fields are empty or not valid:\n\n';

	// CHECK FIELDS
	var message = '';
	message += CheckField(f.achternaam,	'Familien Name');
	message += CheckField(f.adres,		'Adresse');
	message += CheckField(f.plaats,		'Wohnort');
	message += CheckField(f.land,		'Land');
	
	message += CheckField(f.mobiel,		'Handy');
	message += CheckEmail(f.email,		'E-mail', 'DE');

  	if (message != "") {
		alert(header+''+message);
		return false
	}
}
// *******************************************************************************************



