// JavaScript Document

// validate form
function MM_findObj(n, d) { //v4.01
  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);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  } if (errors) alert('The following error(s) occurred:\n'+errors);
  document.MM_returnValue = (errors == '');
}

//scroller
function scroller(){
var pausecontent=new Array()
		/*te verschijnen tekst*/
        
		pausecontent[0]='<h3>Spelavond</h3><p>vr 15-04-2011 @ Familia<br/>20.00u - 00.00u</p>'
		pausecontent[1]='<h3>Kinderspelnamiddag</h3><p>za 16-04-2011 @ Familia<br/>14.00u - 16.00u</p>'
		pausecontent[2]='<h3>Spelavond</h3><p>vr 20-05-2011 @ Familia<br/>20.00u - 00.00u</p>'
		pausecontent[3]='<h3>Kinderspelnamiddag</h3><p>za 21-05-2011 @ Familia<br/>14.00u - 16.00u</p>'
		pausecontent[4]='<h3>Boardgamemarathon (60u) met randanimatie</h3><p><strong><a target="_new" href="http://www.boardgamemarathon.be">boardgamemarathon.be</a></strong></p>'		
	

		/***********************************************
		* Pausing up-down scroller- � Dynamic Drive (www.dynamicdrive.com)
		* This notice MUST stay intact for legal use
		* Visit http://www.dynamicdrive.com/ for this script and 100s more.
		***********************************************/
		function pausescroller(content, divId, divClass, delay){
		this.content=content //message array content
		this.tickerid=divId //ID of ticker div to display information
		this.delay=delay //Delay between msg change, in miliseconds.
		this.mouseoverBol=0 //Boolean to indicate whether mouse is currently over scroller (and pause it if it is)
		this.hiddendivpointer=1 //index of message array for hidden div
		document.write('<div id="'+divId+'" class="'+divClass+'" style="position: relative; overflow: hidden"><div class="innerDiv" style="position: absolute; width: 100%" id="'+divId+'1">'+content[0]+'</div><div class="innerDiv" style="position: absolute; width: 100%; visibility: hidden" id="'+divId+'2">'+content[1]+'</div></div>')
		var scrollerinstance=this
		if (window.addEventListener) //run onload in DOM2 browsers
		window.addEventListener("load", function(){scrollerinstance.initialize()}, false)
		else if (window.attachEvent) //run onload in IE5.5+
		window.attachEvent("onload", function(){scrollerinstance.initialize()})
		else if (document.getElementById) //if legacy DOM browsers, just start scroller after 0.5 sec
		setTimeout(function(){scrollerinstance.initialize()}, 500)
		}
		// -------------------------------------------------------------------
		// initialize()- Initialize scroller method.
		// -Get div objects, set initial positions, start up down animation
		// -------------------------------------------------------------------
		pausescroller.prototype.initialize=function(){
		this.tickerdiv=document.getElementById(this.tickerid)
		this.visiblediv=document.getElementById(this.tickerid+"1")
		this.hiddendiv=document.getElementById(this.tickerid+"2")
		this.visibledivtop=parseInt(pausescroller.getCSSpadding(this.tickerdiv))
		//set width of inner DIVs to outer DIV's width minus padding (padding assumed to be top padding x 2)
		this.visiblediv.style.width=this.hiddendiv.style.width=this.tickerdiv.offsetWidth-(this.visibledivtop*2)+"px"
		this.getinline(this.visiblediv, this.hiddendiv)
		this.hiddendiv.style.visibility="visible"
		var scrollerinstance=this
		document.getElementById(this.tickerid).onmouseover=function(){scrollerinstance.mouseoverBol=1}
		document.getElementById(this.tickerid).onmouseout=function(){scrollerinstance.mouseoverBol=0}
		if (window.attachEvent) //Clean up loose references in IE
		window.attachEvent("onunload", function(){scrollerinstance.tickerdiv.onmouseover=scrollerinstance.tickerdiv.onmouseout=null})
		setTimeout(function(){scrollerinstance.animateup()}, this.delay)
		}
		// -------------------------------------------------------------------
		// animateup()- Move the two inner divs of the scroller up and in sync
		// -------------------------------------------------------------------
		pausescroller.prototype.animateup=function(){
		var scrollerinstance=this
		if (parseInt(this.hiddendiv.style.top)>(this.visibledivtop+5)){
		this.visiblediv.style.top=parseInt(this.visiblediv.style.top)-5+"px"
		this.hiddendiv.style.top=parseInt(this.hiddendiv.style.top)-5+"px"
		setTimeout(function(){scrollerinstance.animateup()}, 50)
		}
		else{
		this.getinline(this.hiddendiv, this.visiblediv)
		this.swapdivs()
		setTimeout(function(){scrollerinstance.setmessage()}, this.delay)
		}
		}
		// -------------------------------------------------------------------
		// swapdivs()- Swap between which is the visible and which is the hidden div
		// -------------------------------------------------------------------
		pausescroller.prototype.swapdivs=function(){
		var tempcontainer=this.visiblediv
		this.visiblediv=this.hiddendiv
		this.hiddendiv=tempcontainer
		}
		pausescroller.prototype.getinline=function(div1, div2){
		div1.style.top=this.visibledivtop+"px"
		div2.style.top=Math.max(div1.parentNode.offsetHeight, div1.offsetHeight)+"px"
		}
		// -------------------------------------------------------------------
		// setmessage()- Populate the hidden div with the next message before it's visible
		// -------------------------------------------------------------------
		pausescroller.prototype.setmessage=function(){
		var scrollerinstance=this
		if (this.mouseoverBol==1) //if mouse is currently over scoller, do nothing (pause it)
		setTimeout(function(){scrollerinstance.setmessage()}, 100)
		else{
		var i=this.hiddendivpointer
		var ceiling=this.content.length
		this.hiddendivpointer=(i+1>ceiling-1)? 0 : i+1
		this.hiddendiv.innerHTML=this.content[this.hiddendivpointer]
		this.animateup()
		}
		}
		
		pausescroller.getCSSpadding=function(tickerobj){ //get CSS padding value, if any
		if (tickerobj.currentStyle)
		return tickerobj.currentStyle["paddingTop"]
		else if (window.getComputedStyle) //if DOM2
		return window.getComputedStyle(tickerobj, "").getPropertyValue("padding-top")
		else
		return 0
		}
		
				new pausescroller(pausecontent, "pscroller1", "someclass", 3000)
				document.write("<br />")}
				
//preload images
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_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];}
}
