// *******************************************************************************************
//	MENU (layers)
// *******************************************************************************************
MenuList = function() {
	if (document.all&&document.getElementById) {
		navRoot = document.getElementById("nav");
		for (i=0; i<navRoot.childNodes.length; i++) {
			node = navRoot.childNodes[i];
			if (node.nodeName=="LI") {
				node.onmouseover=function() {
					this.className+=" over";
				}
				node.onmouseout=function() {
					this.className=this.className.replace(" over", "");
				}
			}
		}
	}
}
// *******************************************************************************************
//	MENU (main)
// *******************************************************************************************
function MenuMouseOver (imgObj) {
	var path		= imgObj.src.substring(0 , imgObj.src.lastIndexOf('/') + 1);
	var filename	= imgObj.src.substring( imgObj.src.lastIndexOf('/') + 1 , imgObj.src.length);
	var extension	= filename.substring(filename.lastIndexOf('.') , filename.length);
	filename		= filename.substring(0, filename.lastIndexOf('.') );

	var findDown	= filename.indexOf('_down');

	if (findDown != -1) {
		// do nothing already down
	} else {
		imgObj.src	= path +''+ filename +'_over'+ extension;
	}
}

function MenuMouseOut (imgObj) {
	var path		= imgObj.src.substring(0 , imgObj.src.lastIndexOf('/') + 1);
	var filename	= imgObj.src.substring( imgObj.src.lastIndexOf('/') + 1 , imgObj.src.length);

	var findDown	= filename.indexOf('_down');

	filename	= filename.replace('_over', '');
	imgObj.src	= path +''+ filename;
}

function MenuMouseDown (imgObj) {
	var path	= imgObj.src.substring(0 , imgObj.src.lastIndexOf('/') + 1);
	var filename= imgObj.src.substring( imgObj.src.lastIndexOf('/') + 1 , imgObj.src.length);

	var findOver= filename.indexOf('_over');
	var findDown= filename.indexOf('_down');

	if (findOver == -1 && findDown == -1) { // img state is normal 
		var extension	= filename.substring(filename.lastIndexOf('.') , filename.length);
		filename		= filename.substring(0, filename.lastIndexOf('.') );
		imgObj.src		= path +''+ filename +'_down'+ extension;
	} else if (findDown == -1) { // img state is over
		filename	= filename.replace('_over', '_down');
		imgObj.src	= path +''+ filename;
	} else if (findOver == -1) { // img state is already down
		// do nothing
	}
}

// *******************************************************************************************
//	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 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
	}
}
// *******************************************************************************************
