function addFav() {      
  if (parseInt(navigator.appVersion)>3)
    window.external.AddFavorite("http://www.harkemaseboys.nl","vv Harkemase Boys") 
}
    


function fnFixPng(el, scale) {       
    var obj = document.getElementById(el); 
    if (obj)
    {     
      var bg    = obj.currentStyle.backgroundImage; 
      var src = bg.substring(5,bg.length-2); 
      if (scale)
        obj.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizingMethod='scale')"; 
      else
        obj.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizingMethod='')"; 
        
      obj.style.backgroundImage = "none"; 
    }  
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}


function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}


function MM_findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}


function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


function getElt() {
  if (document.all) { // IE4+
    var elt = eval('document.all[\'' + getElt.arguments[getElt.arguments.length - 1] + '\']');
    if (elt.length) {
      return elt[0];
    } else {
      return elt;
    }
  } else if (document.layers) { //NS4
    var currentLayer = document.layers[getElt.arguments[0]];

    for (var i = 1; i < getElt.arguments.length && currentLayer; i++) {
       currentLayer = currentLayer.document.layers[getElt.arguments[i]];
    }

    return currentLayer;
  } else if (document.getElementById) { // NS6
    return document.getElementById(getElt.arguments[getElt.arguments.length - 1]);
  }
}

var imgname = "";

function checkBrowser(){
	this.ver=navigator.appVersion
	this.dom=document.getElementById?1:0
	this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0;
	this.ie4=(document.all && !this.dom)?1:0;
	this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0;
	this.ns4=(document.layers && !this.dom)?1:0;
	this.bw=(this.ie5 || this.ie4 || this.ns4 || this.ns5)
	return this
}
bw=new checkBrowser()
//With nested layers for netscape, this function hides the layer if it's visible and visa versa
function showHide(div,nest){
	obj=bw.dom?document.getElementById(div).style:bw.ie4?document.all[div].style:bw.ns4?nest?document[nest].document[div]:document[div]:0; 
	if(obj.visibility=='visible' || obj.visibility=='show') obj.visibility='hidden'
	else obj.visibility='visible'
}

//Shows the div
function showLayer(div,nest){
	obj=bw.dom?document.getElementById(div).style:bw.ie4?document.all[div].style:bw.ns4?nest?document[nest].document[div]:document[div]:0; 
	obj.visibility='visible'
}
//Hides the div
function hideLayer(div,nest){
	obj=bw.dom?document.getElementById(div).style:bw.ie4?document.all[div].style:bw.ns4?nest?document[nest].document[div]:document[div]:0; 
	obj.visibility='hidden'
}  

function writeLayer(div,text)
{  
  if (document.getElementById)
	{
		x = document.getElementById(div);
		x.innerHTML = text;
	}
	else if (document.all)
	{
		x = document.all[div];
		x.innerHTML = text;
	}
	else if (document.layers)
	{
		x = document.layers[div];
		x.document.open();
		x.document.write(text);
		x.document.close();
	}
}


function showNav(nid) {
  showLayer("divNav" + nid);
}

function showTrap() {
    showLayer("mouseTrap1");
    showLayer("mouseTrap2");
}

function popup(url) {
  window.open(url,'Afbeelding','status=no,scrollbars=no,menubar=no');
}

// Slidemenu home
ypSlideOutMenu.Registry = []; 
ypSlideOutMenu.aniLen = 500; 
ypSlideOutMenu.hideDelay = 10; 
ypSlideOutMenu.minCPUResolution = 10; 
		var bName = navigator.appName; 
		if (bName == 'Netscape'){ 
			var d = document; 
			d.write('<style type="text/css">'); 
			d.write('}'); 
			d.write('</style>'); 
//			alert("Hi Netscape User! 
			} else { 
// 			alert("What ARE you browsing with here? 
		} 
// constructor 
function ypSlideOutMenu(id, dir, left, top, width, height) 
{ 
	this.ie  = document.all ? 1 : 0 
	this.ns4 = document.layers ? 1 : 0 
	this.dom = document.getElementById ? 1 : 0 
	if (this.ie || this.ns4 || this.dom) { 
		this.id			 = id 
		this.dir		 = dir 
		this.orientation = dir == 'left' || dir == 'right' ? 'h' : 'v' 
		this.dirType	 = dir == 'right' || dir == 'down' ? '-' : '+' 
		this.dim		 = this.orientation == 'h' ? width : height 
		this.hideTimer	 = false 
		this.aniTimer	 = false 
		this.open		 = false 
		this.over		 = false 
		this.startTime	 = 0 
		// global reference to this object 
		this.gRef = 'ypSlideOutMenu_'+id 
		eval(this.gRef+'=this') 
		// add this menu object to an internal list of all menus 
		ypSlideOutMenu.Registry[id] = this 
		var d = document 
		d.write('<style type="text/css">') 
		d.write('#' + this.id + 'Container {  visibility:hidden;') 
		d.write('top:' + top + 'px; ') 
		d.write('overflow:hidden; }') 
		d.write('#' + this.id + 'Container, #' + this.id + 'Content { position:absolute; ') 
		d.write('width:' + width + 'px; ') 
		d.write('height:' + height + 'px; ') 
		d.write('clip:rect(0 ' + width + ' ' + height + ' 0); ') 
		d.write('}') 
		d.write('</style>') 
		this.load() 
	} 
} 
ypSlideOutMenu.prototype.load = function() { 
	var d = document 
	var lyrId1 = this.id + 'Container' 
	var lyrId2 = this.id + 'Content' 
	var obj1 = this.dom ? d.getElementById(lyrId1) : this.ie ? d.all[lyrId1] : d.layers[lyrId1] 
	if (obj1) var obj2 = this.ns4 ? obj1.layers[lyrId2] : this.ie ? d.all[lyrId2] : d.getElementById(lyrId2) 
	var temp 
	if (!obj1 || !obj2) window.setTimeout(this.gRef + '.load()', 100) 
	else { 
		this.container	= obj1 
		this.rollmenu	= obj2 
		this.style		= this.ns4 ? this.rollmenu : this.rollmenu.style 
		this.homePos	= eval('0' + this.dirType + this.dim) 
		this.outPos		= 0 
		this.accelConst	= (this.outPos - this.homePos) / ypSlideOutMenu.aniLen / ypSlideOutMenu.aniLen  
		// set event handlers. 
		if (this.ns4) this.rollmenu.captureEvents(Event.MOUSEOVER | Event.MOUSEOUT); 
		this.rollmenu.onmouseover = new Function("ypSlideOutMenu.showMenu('" + this.id + "')") 
		this.rollmenu.onmouseout = new Function("ypSlideOutMenu.hideMenu('" + this.id + "')") 
		//set initial state 
		this.endSlide() 
	} 
} 
ypSlideOutMenu.showMenu = function(id) 
{ 
	document.getElementById('rollmenutable').style.display = 'block';
	FormsTweak('hidden');
	window.status = id 
	var reg = ypSlideOutMenu.Registry 
	var obj = ypSlideOutMenu.Registry[id] 
	if (obj.container) { 
		obj.over = true 
		// close other menus. 
		for (rollmenu in reg) if (id != rollmenu) ypSlideOutMenu.hide(rollmenu) 
		// if this menu is scheduled to close, cancel it. 
		if (obj.hideTimer) { reg[id].hideTimer = window.clearTimeout(reg[id].hideTimer) } 
		// if this menu is closed, open it. 
		if (!obj.open && !obj.aniTimer) reg[id].startSlide(true) 
	} 
} 
ypSlideOutMenu.hideMenu = function(id) 
{ 
	FormsTweak('visible');
	// schedules the menu to close after <hideDelay> ms, which 
	// gives the user time to cancel the action if they accidentally moused out 
	var obj = ypSlideOutMenu.Registry[id] 
	if (obj.container) { 
		if (obj.hideTimer) window.clearTimeout(obj.hideTimer) 
		obj.hideTimer = window.setTimeout("ypSlideOutMenu.hide('" + id + "')", ypSlideOutMenu.hideDelay); 
	} 
} 
ypSlideOutMenu.hide = function(id) 
{ 
	var obj = ypSlideOutMenu.Registry[id] 
	obj.over = false 
	if (obj.hideTimer) window.clearTimeout(obj.hideTimer) 
	// flag that this scheduled event has occured. 
	obj.hideTimer = 0 
	// if this menu is open, close it. 
	if (obj.open && !obj.aniTimer) obj.startSlide(false) 
} 
ypSlideOutMenu.prototype.startSlide = function(open) { 
	this.open = open 
	if (open) this.setVisibility(true) 
	this.startTime = (new Date()).getTime() 
	this.aniTimer = window.setInterval(this.gRef + '.slide()', ypSlideOutMenu.minCPUResolution) 
} 
ypSlideOutMenu.prototype.slide = function() { 
	var elapsed = (new Date()).getTime() - this.startTime 
	if (elapsed > ypSlideOutMenu.aniLen) this.endSlide() 
	else { 
		var d = Math.round(Math.pow(ypSlideOutMenu.aniLen-elapsed, 2) * this.accelConst) 
		if (this.open && this.dirType == '-')		d = -d 
		else if (this.open && this.dirType == '+')	d = -d 
		else if (!this.open && this.dirType == '-')	d = -this.dim + d 
		else										d = this.dim + d 
		this.moveTo(d) 
	} 
} 
ypSlideOutMenu.prototype.endSlide = function() { 
	this.aniTimer = window.clearTimeout(this.aniTimer) 
	this.moveTo(this.open ? this.outPos : this.homePos) 
	if (!this.open) this.setVisibility(false) 
	if ((this.open && !this.over) || (!this.open && this.over)) { 
		this.startSlide(this.over) 
	} 
} 
ypSlideOutMenu.prototype.setVisibility = function(bShow) {  
	var s = this.ns4 ? this.container : this.container.style 
	s.display = bShow ? 'block' : 'none' 
	s.visibility = bShow ? 'visible' : 'hidden' 
} 
ypSlideOutMenu.prototype.moveTo = function(p) {  
	this.style[this.orientation == 'h' ? 'left' : 'top'] = p 
} 
ypSlideOutMenu.prototype.getPos = function(c) { 
	return parseInt(this.style[c]) 
} 

// TE GEBRUIKEN OM SELECTBOXEN TE VERSTOPPEN
	var DoFormsTweak = true;
	var BV=parseFloat(navigator.appVersion.indexOf("MSIE")>0?navigator.appVersion.split(";")[1].substr(6):navigator.appVersion);
	var BN=navigator.appName;
	var IsWin=(navigator.userAgent.indexOf('Win')!=-1);
	var IsMac=(navigator.userAgent.indexOf('Mac')!=-1);
	var OP=(navigator.userAgent.indexOf('Opera')!=-1&&BV>=4)?true:false;
	var NS=(BN.indexOf('Netscape')!=-1&&(BV>=4&&BV<5)&&!OP)?true:false;
	var SM=(BN.indexOf('Netscape')!=-1&&(BV>=5)||OP)?true:false;
	var IE=(BN.indexOf('Explorer')!=-1&&(BV>=4)||SM)?true:false;

function FormsTweak(state) {
		//IE,SM,OP
		//This is an undocumented function, which can be used to hide every listbox (or combo) element on a page.
		//This can be useful if the menus will be displayed over an area where is a combo box, which is an element that cannot be placed behind the menus and it will always appear over the menus resulting in a very undesirable effect.
		//------------------------------
		//
		if(DoFormsTweak && IE)
			if(document.getElementById('triggertekst')){
				if(document.getElementById('triggertekst').style.visibility == 'hidden'){
					document.getElementById('triggertekst').style.visibility = 'visible';
				} else {
					document.getElementById('triggertekst').style.visibility = 'hidden';
				}
			}
			
			for(var f = 0; f <= (document.forms.length - 1); f++)
				for(var e = 0; e <= (document.forms[f].elements.length - 1); e++)
					if(document.forms[f].elements[e].type=="select-one")
						document.forms[f].elements[e].style.visibility = state;
	}


function menuOver(p) {
	document.images['menu_' + p].src =  '../interface/images/oranje_blokje_klein.gif';
}
	
function menuOut(p) {
	document.images['menu_' + p].src =  '../interface/images/spacer.gif';
}

function validateEmail(str){
  var emailRegEx = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
  if(str.match(emailRegEx)){
    return true;
  }else{  
    return false;
  }
}

function sendEmail()
{
  var naam = getElt("fldNaam").value;
  var email = getElt("fldEmail").value;
  
  if (validateEmail(email)) 
    AjaxGetData("aanmelden.aspx?naam=" + naam + "&email=" + email, timeHandler);
  else
    getElt('nieuwsbrief_status').innerHTML = 'U heeft geen geldig<br>e-mailadres ingevuld...';
}

function AjaxGetData(url, responseHandler) 
{ 
    if (window.XMLHttpRequest) 
     { 
         // browser has native support for XMLHttpRequest object 
         req = new XMLHttpRequest(); 
     } 
     else if (window.ActiveXObject) 
     { 
         // try XMLHTTP ActiveX (Internet Explorer) version 
         req = new ActiveXObject("Microsoft.XMLHTTP"); 
     } 
      
     if(req) 
     { 
         req.onreadystatechange = responseHandler; 
         req.open('GET', url, true); 
         req.setRequestHeader("content-type","application/x-www-form-urlencoded"); 
         req.send(''); 
     } 
     else 
     { 
         alert('Your browser does not seem to support XMLHttpRequest.'); 
     } 
 }  


function timeHandler() 
 { 
 try 
    { 
        //readyState of 4 or 'complete' represents  
        //that data has been returned  
        if (req.readyState == 4 ||  
            req.readyState == 'complete') 
        { 
            getElt('nieuwsbrief_status').innerHTML = req.responseText;  
            showLayer('nieuwsbrief_status');             
           } 
    } 
     catch(e) 
     { 
        alert('Error in Ajax respone'); 
     } 
}         


function popup_nieuwsbrief(id) {
  window.open("nieuwsbrief.aspx?id=" + id,'nieuwsbrief','status=no,scrollbars=yes,menubar=no,width=600,height=700 left=' + (screen.width-550)/2 + ' top=0');  
}

function resizeKampioen() {
  var div = document.getElementById("kampioen");
  div.style.height = document.getElementById("container").offsetHeight + "px";
};

function hideKampioen() {
  var div = document.getElementById("kampioen");
  div.parentNode.removeChild(div);
}