//check browservaardigheid
var tmpRoot = "/";
var siteRoot = ((location.href).indexOf(17+tmpRoot)) ? tmpRoot : "/";
var agent = window.navigator.userAgent; 
var i = agent.indexOf("MSIE ")+5;
isIE5plus = (parseInt(agent.substr(i)) >= 5 && agent.indexOf("5.0b1") < 0);
isNN6plus = (agent.toLowerCase().indexOf("gecko") > 0);
isMac = agent.indexOf("Mac") != -1;

var menuTimerId = 0;

document.getElementsByClassName = function (needle)
{
    var s, i, r = [], l = 0, e;
    var re = new RegExp('(^|\\s)' + needle + '(\\s|$)');

    if (navigator.userAgent.indexOf('Opera') > -1)
    {
        s = [document.documentElement || document.body], i = 0;

        do
        {
            e = s[i];

            while (e)
            {
                if (e.nodeType == 1)
                {
                    if (e.className && re.test(e.className)) r[l++] = e;

                    s[i++] = e.firstChild;
                }

                e = e.nextSibling;
            }
        }
        while (i--);
    }
    else
    {
        s = document.getElementsByTagName('*'), i = s.length;

        while (i--)
        {
            e = s[i];
            if (e.className && re.test(e.className)) r[l++] = e;
        }
    }

    return r;
}
// kijk of er een submenu is dan timeout, anders direct mouseout
function menuMainOut(objA) {
	var subSubmenu = document.getElementById("menutable");
	var subSubmenuDiv = objA.parentNode.getElementsByTagName("div")[0];
	if (subSubmenuDiv) menuTimerId = setTimeout("menuHideSubs()", 1500);
	if (subSubmenuDiv) objA.className = "active";
}

// laat het menu staan
function clearMenuTimeout() {
	if (menuTimerId != 0) clearTimeout(menuTimerId);
	menuTimerId = 0;
}

function setMenuTimeout() {
	clearTimeout(menuTimerId);
	menuTimerId = setTimeout("menuHideSubs()", 1500);
}

// haal allesubmenu's weg
function menuHideSubs() {
	if (! document.getElementsByTagName) return;
	var menuTable = document.getElementById("menutable");
	var menuA = menuTable.getElementsByTagName("a");


	for (var i=0; i<menuA.length; i++) {
		if (menuA[i].className == "active") menuA[i].className = " ";
	}
	
	var menuULs = menuTable.getElementsByTagName("ul");
	for (var i=0; i<menuULs.length; i++) {
		if (menuULs[i].className == "subSubmenu") menuULs[i].style.visibility = 'hidden';
	}
	// toggleSelects('');
}

// over main item
function menuMainOver(objA) {
	
	if (! document.getElementsByTagName) return;
	clearMenuTimeout();
	
	objA.className += " active";
	
	if(objA.nextSibling.nodeType == 3) {
		var subSubmenuUL = objA.nextSibling.nextSibling;
	} else {
		var subSubmenuUL = objA.nextSibling;
	}
	
	if(subSubmenuUL.nodeType == 3) {
		subSubmenuUL = subSubmenuUL.nextSibling;
	}
	

	if (subSubmenuUL && subSubmenuUL.style.visibility == "visible") { 
		return;
	} else {
		 menuHideSubs();
		if (subSubmenuUL) subSubmenuUL.style.visibility = "visible";
		// toggleSelects('hidden');
	}
}

function toggleSelects(visibility) {
 	var arrSel = document.getElementsByTagName("select");
	for (var i=0; i<arrSel.length; i++) {
		arrSel[i].style.visibility = visibility;
	}	
}

function hideSelects() {

}

function focusField(inputObj, defaultText) {
	if (inputObj.value == defaultText) {
		inputObj.value = "";
	}
}

function blurField(inputObj, defaultText) {
	if (inputObj.value == "") {
		inputObj.value = defaultText;
	}
}

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));
}


function checkNewsletterEmail () {

	if(inCMS) return false;
	
	if (document.getElementById("newsletterName").value == "" || document.getElementById("newsletterName").value == "Uw naam") {
		document.getElementById("newsletterName").focus();
		alert("Geef uw naam op.");
		return false;
	}
	
	if (!isEmail(document.getElementById("newsletterEmail").value) || document.getElementById("newsletterEmail").value == "" || document.getElementById("newsletterEmail").value == "Uw e-mailadres") {
		document.getElementById("newsletterEmail").focus();
		alert("Geef een geldig e-mail adres op.");
		return false;
	}
	document.getElementById("newsletterForm").submit();
}


function checkContactForm () {
	//if(inCMS) return false;
	
	
	if (document.getElementById("naam").value == "") {
		document.getElementById("naam").focus();
		alert("Geef a.u.b. uw naam op.");
		return false;
	}
	else if (!isEmail(document.getElementById("email").value) || document.getElementById("email").value == "") {
		document.getElementById("email").focus();
		alert("Geef een geldig e-mail adres op.");
		return false;
	} 
	else if (document.getElementById("vraag").value == "") {
		document.getElementById("vraag").focus();
		alert("Vul a.u.b. uw vraag of opmerking in.");
		return false;
	}
	else {
		return true;
	}
	
	
}

/* Needed for map notes */
var offsetX = 13;
var offsetY = 15;
var pageWidth = 795;
/* Array holding bullet coordinates */
var posArray = new Array();
posArray["alkmaar"] = new Array(140, 135);
posArray["almelo"] = new Array(185, 325);
posArray["almere"] = new Array(178, 180);
posArray["hoofddorp"] = new Array(203, 125);
posArray["amsterdam"] = new Array(180, 140);
posArray["amersfoort"] = new Array(235, 200);
posArray["apeldoorn"] = new Array(235, 220);
posArray["arnhem"] = new Array(255, 230);
posArray["assen"] = new Array(80, 300);
posArray["breda"] = new Array(295, 140);
posArray["denbosch"] = new Array(274, 200);
posArray["denhaag"] = new Array(225, 90);
posArray["deventer"] = new Array(200, 280);
posArray["doetinchem"] = new Array(247, 255);
posArray["dordrecht"] = new Array(280, 100);
posArray["eindhoven"] = new Array(325, 205);
posArray["enschede"] = new Array(200, 335);
posArray["geleen"] = new Array(400, 235);
posArray["goes"] = new Array(315, 50);
posArray["gouda"] = new Array(260, 110);
posArray["groningen"] = new Array(45, 315);
posArray["haarlem"] = new Array(170, 122);
posArray["harderwijk"] = new Array(185, 225);
posArray["heerlen"] = new Array(410, 250);
posArray["helmond"] = new Array(325, 230);
posArray["leeuwarden"] = new Array(70, 225);
posArray["leiden"] = new Array(210, 105);
posArray["lelystad"] = new Array(160, 205);
posArray["maastricht"] = new Array(415, 225);
posArray["nijmegen"] = new Array(270, 235);
posArray["roermond"] = new Array(360, 250);
posArray["rotterdam"] = new Array(260, 90);
posArray["spijkernisse"] = new Array(280, 80);
posArray["tiel"] = new Array(260, 190);
posArray["tilburg"] = new Array(285, 180);
posArray["utrecht"] = new Array(230, 175);
posArray["venlo"] = new Array(345, 245);
posArray["warnsveld"] = new Array(230, 265);
posArray["zaandam"] = new Array(170, 145);
posArray["zoetermeer"] = new Array(235, 120)
posArray["zwolle"] = new Array(170, 250);
function loadMapNotes() {
	var bullets = document.getElementsByClassName("bullet");
	for (var i=0; i<bullets.length; i++) {
	
		name = bullets[i].id.replace("Bullet", "");
		bullets[i].style.top = posArray[name][0];
		bullets[i].style.left = posArray[name][1];
		
		//set map note
		var note = document.getElementById(name + "Note");
		
		note.style.top = posArray[name][0] + offsetY;
		note.style.left = posArray[name][1] + offsetX;
		
		//offset
		var totalWidth = note.parentNode.offsetLeft + note.offsetLeft + note.offsetWidth;
		
		if (totalWidth > pageWidth) {
			blaat = parseInt(note.style.left.replace("px","") - (totalWidth - pageWidth));
			note.style.left = blaat;
		}	
	}
}

function showMapNotes(aID) {
	var noteID = aID.replace("Bullet", "Note");
	var note = document.getElementById(noteID);
	
	note.style.visibility = "visible"
}

function hideMapNotes(aID) {
	var noteID = aID.replace("Bullet", "Note");
	var note = document.getElementById(noteID);
	
	note.style.visibility = "hidden"
}



function ndPopup(aTag, pWidth, pHeight) {
	//This function is supposed to be called from the a-tag with valid href-attribute
	//If pWidth and pHeight are given, the popup will assume them as width and height
	if (!pWidth) pWidth=570; if (!pHeight) pHeight=570;
	if (top.ndCMSPopup && !top.ndCMSPopup.closed && top.ndCMSPopup.close) top.ndCMSPopup.close();
	top.ndCMSPopup = top.open(aTag.href, "ndCMSPopup", "width="+pWidth+",height="+pHeight+",resizable=1,menubar=1, scrollbars=1,toolbar=no,location=no");
	top.ndCMSPopup.focus();
	return false;
}


function sortNumber(a,b){
	return a - b;
}

function resizePopup() {
	var imgtags = document.getElementsByTagName("IMG");
	var tagsArray = new Array();
	var widthArray = new Array();
	var heightArray = new Array();
	
	for (var i=0; i<imgtags.length; i++) {
		var width = imgtags[i].width;
		var height = imgtags[i].height + 200;
		
		if(width<570){ 
			width = 520;
		}
		
		if(width>950){
			width = 900;
		}
		
		width = width + 50;
		
		if(height<570){
			height = 570;
		}else{
			height = height + 50;
		}
		
		widthArray[widthArray.length] = width;
		widthArray.sort(sortNumber);
		
		heightArray[heightArray.length] = height;
		heightArray.sort(sortNumber);
	}
	var indexMax = widthArray.length - 1;
	
	window.resizeTo(widthArray[indexMax], heightArray[indexMax]);
}