// JavaScript Document bij havandem

//slide-show animatie: steeds een volgend plaatje met id=ani
Snelheid=7500; //aantal milliseconden waarmee slideshow loopt (>100)
Slide = new Array();//array met alle slides, wordt geinitialiseerd in beginSlide()
Tekst = new Array();//array met alle teksten bij slides, wordt geinitialiseerd in beginSlide()
slideIndex=0;
var maxOpac=1;var minOpac=0;

var maxOpacity=0.6;  //maximale Opacity voor OpacityLayer
var stapOpacity=0.02; //stapgrootte Opacity voor OpacityLayer
var timeOpacity=20;  //om de hoeveel msec loopt opacity-timer
var zondermeerTijd=3000; //aantal msec dat laag zonder details en fratsen getoond wordt
var groterKleinerTijd=400; //aantal msec voor details groter worden (of kleiner)
var StapResolutie=40; //om de hoeveel msec loopt groter/kleiner-timer
var grootBlijfTijd=1800; //aantal msec dat detail groot blijft
var overgangsTijd=10; //aantal msec extra tussen 2 details
var nieuweCyclusTussenTijd=3000; //aantal msec extra voor serie opnieuw begint

var aniTimer=-1; //timeout-id van de detail-animatie
var fadeInTimer=-1; //timeout-id van de fade-in
var details = new Array(); //de verschillende details die bij een foto horen
var aantalDetails=0;
var detailWijzer=0;
var LayerNr=0;
var sequence=1; //welke serie dingen gebeuren is afhankelijk van waaruit ze gestart worden
var DetailLaag;

function ThumbClick(Layer) {
	LayerNr=Layer;
	if (aniTimer>-1) clearTimeout(aniTimer);//onderbreek gaande timer
	MM_showHideLayers('LKlikLaag','','show');
	sequence=2;
	if (dd.elements["OpaqueLayer"+LayerNr]) { //zijn er details? dan ook OpaqueLayer en DetailLayer.
		dd.elements["OpaqueLayer"+LayerNr].setOpacity(0);
		dd.elements["OpaqueLayer"+LayerNr].hide();
		var basisX=dd.elements["OpaqueLayer"+LayerNr].x;
		var basisY=dd.elements["OpaqueLayer"+LayerNr].y;
		dd.elements["detailLayer"+LayerNr].show();
		details =dd.elements["detailLayer"+LayerNr].children;
		aantalDetails=details.length;	
		HerstelDetails();
	}
}

function HerstelDetails() {
	for (var i=0;i<aantalDetails;i++) {		
	  dd.elements[details[i].name].show();		  
	  var basisX=dd.elements["OpaqueLayer"+LayerNr].x;
	  var basisY=dd.elements["OpaqueLayer"+LayerNr].y;
	  var minX=dd.elements[details[i].name].defx+basisX;
	  var minY=dd.elements[details[i].name].defy+basisY;
	  var minW=dd.elements[details[i].name].defw;
	  var minH=dd.elements[details[i].name].defh;
	  dd.elements[details[i].name].moveTo(minX,minY);
	  dd.elements[details[i].name].children[0].resizeTo(minW,minH);
	}
}

function ShowDetail(Nr) {	
	sequence=2; //start vanuit mouseOver over detail
	if (aniTimer>-1) clearTimeout(aniTimer);//onderbreek gaande timer
	HerstelDetails();
	for (var i=0;i<aantalDetails;i++) {		
	  if (details[i].name=="detail"+Nr) detailWijzer=i;
	}
	ZetDetail();
}

function ZetJuisteDetailAan() {
	sequence=1; //start vanuit mouseOver bij thumb
	for (var i=0;i<aantalDetails;i++) {
		if (i==detailWijzer) {
			//zet default plek en grootte
			var basisX=dd.elements["OpaqueLayer"+LayerNr].x;
			var basisY=dd.elements["OpaqueLayer"+LayerNr].y;
			var minX=dd.elements[details[i].name].defx+basisX;
			var minY=dd.elements[details[i].name].defy+basisY;
			var minW=dd.elements[details[i].name].defw;
			var minH=dd.elements[details[i].name].defh;			
	  		dd.elements[details[i].name].moveTo(minX,minY);
	  		dd.elements[details[i].name].children[0].resizeTo(minW,minH);
			//en laat zien
			dd.elements[details[i].name].show();	
		}
		else {
			
			dd.elements[details[i].name].hide();	
		}
	}
	funktie='ZetOpaqueLayer("OpaqueLayer'+LayerNr+'", 0.0, 1)';
	aniTimer=setTimeout(funktie,zondermeerTijd);
	
}

function ZetOpaqueLayer(LaagId, opac, plusMin){
   opac+=(plusMin*stapOpacity);
   if (opac>maxOpacity)opac=maxOpacity;
   if (opac<0)opac=0;
   dd.elements[LaagId].setOpacity(opac);
   if (plusMin==1) { //stijgende opacity
	   if(opac<maxOpacity) {
    		aniTimer=setTimeout("ZetOpaqueLayer('"+LaagId+"',"+opac+","
												+plusMin+")",timeOpacity);
	   }
	   else
	   {  //detail uitvergroten		  
		  aniTimer=setTimeout("ZetDetail()",1); //kan evt ook nog met een vertraging
	   }
   }
   else{ //dalende opacity
	   if(opac>0) {
    		aniTimer=setTimeout("ZetOpaqueLayer('"+LaagId+"',"+opac+","
												+plusMin+")",timeOpacity);
	   }
	   else
	   {  //volgende detail
		  detailWijzer++;
		  Tijd=overgangsTijd
		  if(detailWijzer==aantalDetails) {
			  detailWijzer=0;
			  Tijd+=nieuweCyclusTussenTijd;
		  }
		  aniTimer=setTimeout("ZetJuisteDetailAan();", Tijd);
	   }
   }
			
}

function ZetDetail()  {
	//bereken stapgroottes e.d. voor groter/kleiner worden
	var basisX=dd.elements["OpaqueLayer"+LayerNr].x;
	var basisY=dd.elements["OpaqueLayer"+LayerNr].y;
	var minX=dd.elements[details[detailWijzer].name].defx+basisX;
	var minY=dd.elements[details[detailWijzer].name].defy+basisY;
	var minW=dd.elements[details[detailWijzer].name].defw;
	var minH=dd.elements[details[detailWijzer].name].defh;
	var maxX=detailGeg[details[detailWijzer].name]["x"]+basisX;
	var maxY=detailGeg[details[detailWijzer].name]["y"]+basisY;
	var maxW=detailGeg[details[detailWijzer].name]["w"];
	var maxH=detailGeg[details[detailWijzer].name]["h"];
	var aantalStapjes=groterKleinerTijd/StapResolutie;
	var stapX=(minX-maxX)/aantalStapjes;
	var stapY=(minY-maxY)/aantalStapjes;
	var stapW=(maxW-minW)/aantalStapjes;
	var stapH=(maxH-minH)/aantalStapjes;
	ZetDetailGrootKlein(1,stapX,stapY,stapW,stapH,minX,minY,minW,minH,
						minX,minY,minW,minH,maxX,maxY,maxW,maxH, StapResolutie)
}

function ZetDetailGrootKlein(PlusMin,stapX,stapY,stapW,stapH,x,y,w,h,minX,minY,minW,minH,maxX,maxY,maxW,maxH, timerStap) {
	x-=PlusMin*stapX; y-=PlusMin*stapY;
	w+=PlusMin*stapW; h+=PlusMin*stapH;
	if (PlusMin==-1) {
		if (x>minX)x=minX; if (y>minY)y=minY;
		if (w<minW)w=minW; if (h<minH)h=minH;
	}
	else {
		if (x<maxX)x=maxX; if (y<maxY)y=maxY;
		if (w>maxW)w=maxW; if (h>maxH)h=maxH;
	}
	dd.elements[details[detailWijzer].name].moveTo(Math.round(x),Math.round(y));
	dd.elements[details[detailWijzer].name].children[0].resizeTo(Math.round(w),Math.round(h));
	if (PlusMin==1) { //groter worden... tot maximum 
		if((x==maxX) && (y==maxY) && (w==maxW) && (h==maxH)) {//ga weer kleiner worden
			PlusMin=-1;
			aniTimer=setTimeout("ZetDetailGrootKlein("+PlusMin+","+stapX+","+stapY+","
							+stapW+","+stapH+","+x+","+y+","+w+","+h+","
							+minX+","+minY+","+minW+","+minH+","+maxX+","
							+maxY+","+maxW+","+maxH+","+ timerStap+");",grootBlijfTijd);			
		}
		else
		{
		aniTimer=setTimeout("ZetDetailGrootKlein("+PlusMin+","+stapX+","+stapY+","
							+stapW+","+stapH+","+x+","+y+","+w+","+h+","
							+minX+","+minY+","+minW+","+minH+","+maxX+","
							+maxY+","+maxW+","+maxH+","+ timerStap+");",timerStap);
		}
	}
	else {//kleiner worden... tot minimum... daarna volgende stap
		if((x==minX) && (y==minY) && (w==minW) && (h==minH)) {//klaar... ga naar volgende
		  if (sequence==1) {
			aniTimer=setTimeout("ZetOpaqueLayer('OpaqueLayer"+LayerNr+"',0.6,-1)",timeOpacity);
		  }
		}
		else {
		aniTimer=setTimeout("ZetDetailGrootKlein("+PlusMin+","+stapX+","+stapY+","
							+stapW+","+stapH+","+x+","+y+","+w+","+h+","
							+minX+","+minY+","+minW+","+minH+","+maxX+","
							+maxY+","+maxW+","+maxH+","+ timerStap+");",timerStap);
		}
	}
}

function leeg(){}

function showLayer (Layer) {
	LayerNr=Layer;
	aantalDetails=0;
	var	divs=document.getElementsByTagName('div');  //getElementsByClassName('Schilderij')...
	for (var i=0;i<divs.length;i++){
		  //laat alleen slideLayer+LayerNr zien, rest verbergen
		  if(divs[i].id.indexOf('slideLayer') != -1){
                if(divs[i].id=='slideLayer'+LayerNr) {    
                        LaatZien(LayerNr);//hier LayerNr meegegeven om ook tussenLayer te faden
                        }
                else {    
                        Verberg(divs[i]);
                        }
		  }			  
		  //idem met detailLayers
		  if(divs[i].id.indexOf('detailLayer') != -1){
                if(divs[i].id=='detailLayer'+LayerNr) { 					
					/*	dd.elements["detailLayer"+LayerNr].show();
						details =dd.elements["detailLayer"+LayerNr].children;
						aantalDetails=details.length;
						detailWijzer=0; 
                  */      }
                else {    					
						dd.elements[divs[i].id].hide();
                        }
		  }	  
		  //idem met transparante Layers
		  if(divs[i].id.indexOf('transLayer') != -1){
                if(divs[i].id=='transLayer'+LayerNr) {    
                        divs[i].style.visibility='visible';
                        }
                else {    
                        divs[i].style.visibility='hidden';
                        }
		  }	
		  //idem met OpaqueLayers
		  if(divs[i].id.indexOf('OpaqueLayer') != -1){
                if(divs[i].id=='OpaqueLayer'+LayerNr) { 
						dd.elements["OpaqueLayer"+LayerNr].show();
                     }
                else {    
                       	dd.elements[divs[i].id].hide();
						dd.elements[divs[i].id].setOpacity(0.0);//misschien nog meer herstellen?
                        }
		  }	    
		  //idem met tussenLayers
		  if(divs[i].id.indexOf('tussenLayer') != -1){
                if(divs[i].id=='tussenLayer'+LayerNr) { 
				//het infaden van deze tussenlaag wordt meegenomen in LaatZien  
                        //divs[i].style.visibility='visible';
                        }
                else {    
                        divs[i].style.visibility='hidden';
                        }
		  }
		  //idem met onderSchriften 
		  if(divs[i].id.indexOf('onderSchrift') != -1){
                if(divs[i].id=='onderSchrift'+LayerNr) {    
                        divs[i].style.visibility='visible';
                        }
                else {    
                        divs[i].style.visibility='hidden';
                        }			
		  }
		  //idem met geluidLayers 
		  if(divs[i].id.indexOf('LGeluid') != -1){
                if(divs[i].id=='LGeluid'+LayerNr) {    
                        divs[i].style.visibility='visible';
                        }
                else {    
                        divs[i].style.visibility='hidden';
                        }			
		  }
     }
}

function beginSlide(){
        //zet alle slideLayers in array Slide
        var divs=document.getElementsByTagName('div');
        var j=0; var k=0;
        for (var i=0;i<divs.length;i++){
                if(divs[i].id.indexOf('slideLayer') != -1) {    
                        Slide[j]=divs[i];
                        j++;
                        }
                if(divs[i].id.indexOf('tekstLayer') != -1) {    
                        Tekst[k]=divs[i];
                        k++;
                        }
                }       
        Slide[slideIndex].style.zIndex=20;
        Tekst[slideIndex].style.zIndex=21;              
        tekstHighlow(slideIndex,0,1);   
        setTimeout('volgendeSlide()',5000);//1e slide na x sec.na laden
        
}

function volgendeSlide(){
        var slideNext=(slideIndex+1)%Slide.length;
        Slide[slideIndex].style.zIndex=20+Slide.length;
        Slide[slideNext].style.zIndex=20;
        Tekst[slideNext].style.zIndex=21;
        setOpacAan(Slide[slideNext].id,minOpac);
        setOpacUit(Slide[slideIndex].id,maxOpac);
        slideIndex=slideNext;
}

function setOpac(Laag, opac){
        if (BrowserDetect.browser == 'Explorer') Laag.filters.alpha.opacity=opac*100
          else Laag.style.opacity=opac;
}

function setOpacAan(LaagId, opac){
   opac+=(.04);
   if (opac>=maxOpac)opac=maxOpac;
   Laag=document.getElementById(LaagId);
   setOpac(Laag,opac);
   if (opac==maxOpac)  tekstHighlow(slideIndex,0,1)
   else aanDoen=setTimeout("setOpacAan('"+LaagId+"',"+opac+")",1);
   //test       
        //var ResultatenLayer=document.getElementById('TestResult');
        //ResultatenLayer.innerHTML=opac+"<br>"+up+"<br>"+.01*up;
}

function setOpacUit(LaagId, opac){
   opac-=(.01);
   if (opac<minOpac) opac=minOpac;
   Laag=document.getElementById(LaagId);
   setOpac(Laag,opac);
   if (opac==minOpac) setTimeout('volgendeSlide()',200)
           else uitDoen=setTimeout("setOpacUit('"+LaagId+"',"+opac+")",5);
   //test       
        //var ResultatenLayer=document.getElementById('TestResult');
        //ResultatenLayer.innerHTML=opac+"<br>"+up+"<br>"+.01*up;
}

function init(){
BrowserDetect.init();
beginSlide();

//timeoutId=setTimeout('highlow('+o1+',1)',beginHighLow);

/* initialisatie en Event registratie
noteer dat je pas een element kunt identificeren als een Node als het volledige doc geladen is, 
dus daarom de onload in de BODY
*/
//document.onmousemove = Doorzicht2LaagsVast;

}

function tekstHighlow(sIndex,opac,up){
   var maxOpacTekst=0.8;
   opac+=(.03*up);
   if (opac>=maxOpacTekst) {opac=maxOpacTekst; up=-1};
   if (opac<o1) opac=o1;
   setOpac(Tekst[sIndex],opac);
   if (opac==maxOpacTekst) setTimeout('tekstHighlow('+sIndex+','+opac+','+up+')',1000)
   else if (opac!=o1) setTimeout('tekstHighlow('+sIndex+','+opac+','+up+')',1);
   //test       
        //var ResultatenLayer=document.getElementById('TestResult');
        //ResultatenLayer.innerHTML=opac+"<br>"+up+"<br>"+.01*up;
}

 function ShowHideExpInfo(ExpId)
 {  	
 	//als op een minnetje geklikt is: klap die betreffende in
	if (document.getElementById('Pl'+ExpId).src.indexOf('MinusGrijs.gif')>-1 )
	 {
		//verberg het gewenste divje
	  document.getElementById('ExpInfo'+ExpId).style.display='none';
	  
	  //en zet daar een plusje
	  document.getElementById('Pl'+ExpId).src = "plaatjes/PlusGrijs.gif";	
	  document.getElementById('Pl'+ExpId).setAttribute("alt", "klik voor meer info over deze expositie");	
	 }
	 else //er is op een plusje geklikt
	 {
	  //als op een plusje geklikt is: alles inklappen behalve betreffende item
	  var divs=document.getElementsByTagName('div');  	//globaal maken; doen bij pageload
	  var imgs=document.getElementsByTagName('img');	//globaal maken; doen bij pageload
	  
	  //verberg alle popup-divjes
	  for(var i=0;i<divs.length;i++)
	    {if (divs[i].id.indexOf('ExpInfo')>-1)divs[i].style.display="none";	}
		
	  //maak alle minnetjes een plusje		
	  for(i=0;i<imgs.length;i++)
	    {if (imgs[i].id.indexOf('Pl')>-1)
		   {
			imgs[i].src = "plaatjes/PlusGrijs.gif";
			imgs[i].setAttribute("alt", "klik voor meer info over deze expositie");
		   }
		}
		
	  //show het gewenste divje
	  document.getElementById('ExpInfo'+ExpId).style.display='block';
	  
	  //en zet daar een minnetje
	  document.getElementById('Pl'+ExpId).src = "plaatjes/MinusGrijs.gif";	
	  document.getElementById('Pl'+ExpId).setAttribute("alt", "klik om te sluiten");
	 }//einde van er is op een plusje geklikt
 }

 function ShowHideExpInfoEng(ExpId)
 {  	
 	//als op een minnetje geklikt is: klap die betreffende in
	if (document.getElementById('Pl'+ExpId).src.indexOf('MinusGrijs.gif')>-1 )
	 {
		//verberg het gewenste divje
	  document.getElementById('ExpInfo'+ExpId).style.display='none';
	  
	  //en zet daar een plusje
	  document.getElementById('Pl'+ExpId).src = "plaatjes/PlusGrijs.gif";	
	  document.getElementById('Pl'+ExpId).setAttribute("alt", "click for more info about this exhibition");	
	 }
	 else //er is op een plusje geklikt
	 {
	  //als op een plusje geklikt is: alles inklappen behalve betreffende item
	  var divs=document.getElementsByTagName('div');  	//globaal maken; doen bij pageload
	  var imgs=document.getElementsByTagName('img');	//globaal maken; doen bij pageload
	  
	  //verberg alle popup-divjes
	  for(var i=0;i<divs.length;i++)
	    {if (divs[i].id.indexOf('ExpInfo')>-1)divs[i].style.display="none";	}
		
	  //maak alle minnetjes een plusje		
	  for(i=0;i<imgs.length;i++)
	    {if (imgs[i].id.indexOf('Pl')>-1)
		   {
			imgs[i].src = "plaatjes/PlusGrijs.gif";
			imgs[i].setAttribute("alt", "click for more info about this exhibition");
		   }
		}
		
	  //show het gewenste divje
	  document.getElementById('ExpInfo'+ExpId).style.display='block';
	  
	  //en zet daar een minnetje
	  document.getElementById('Pl'+ExpId).src = "plaatjes/MinusGrijs.gif";	
	  document.getElementById('Pl'+ExpId).setAttribute("alt", "click to close");
	 }//einde van er is op een plusje geklikt
 }

function showTekstPop(Nr){
	//verberg alle popup-divjes
	  var divs=document.getElementsByTagName('div');	  
	  for(var i=0;i<divs.length;i++){
	  		if (divs[i].id.indexOf('TekstPop')>-1)divs[i].style.display="none";
	}
	//en show het gewenste divje
	document.getElementById('TekstPop'+Nr).style.display='block';
}

function showDeel(Nr){
	//verberg alle Deel-divjes
	  var divs=document.getElementsByTagName('div');	  
	  for(var i=0;i<divs.length;i++){
	  		if (divs[i].id.indexOf('Deel')>-1)divs[i].style.display="none";
	}
	//en show het gewenste divje
	document.getElementById('Deel'+Nr).style.display='block';
}

/**************** infade/uitfade van plaatjes na mouseover van thumbs *****************/
function LaatZien(LayerNummer) {
	if (fadeInTimer>-1) clearTimeout(fadeInTimer);//onderbreek gaande fade-in timer
	if (aniTimer>-1) clearTimeout(aniTimer);//onderbreek gaande animatie-timer
	//de slidelayer
	var LayerNaam='slideLayer'+LayerNummer;
    var Obj=document.getElementById(LayerNaam);
	setOpac(Obj,0);
	Obj.style.visibility='visible';
	//en de tussenlayer
	var tussenLayerNaam='tussenLayer'+LayerNummer;
    var tussenObj=document.getElementById(tussenLayerNaam);
	if(tussenObj) {
		setOpac(tussenObj,0);
		tussenObj.style.visibility='visible';
	}
	AlphaPlus(LayerNummer);
}

function AlphaPlus(LayerNummer) {
   var LayerNaam='slideLayer'+LayerNummer;
   var Obj=document.getElementById(LayerNaam);
   var opac=getOpac(Obj);
   opac=Number(opac)+.1;
   if (opac>=1)opac=1;
   setOpac(Obj,opac);
   //en de tussenlayer
	var tussenLayerNaam='tussenLayer'+LayerNummer;
    var tussenObj=document.getElementById(tussenLayerNaam);
	if (tussenObj) {
		setOpac(tussenObj,opac/2);//even minder opacity, anders komt-ie erdoorheen.
	}
   if (opac<1) {
	   fadeInTimer=setTimeout("AlphaPlus('"+LayerNummer+"')",1)
   }
   else { 
   		if (tussenObj) {
			setOpac(tussenObj,1);
		}
		DetailLaag=document.getElementById("detailLayer"+LayerNummer);
		if (DetailLaag) {
			dd.elements["detailLayer"+LayerNummer].show();
			details =dd.elements["detailLayer"+LayerNummer].children;
			aantalDetails=details.length;
			if (aantalDetails>0)ZetJuisteDetailAan();
		}
		else {
			aantalDetails=0;
		}
		detailWijzer=0;
   }
}

function getOpac(Laag){
		var opac;
        if (BrowserDetect.browser == 'Explorer') opac=Laag.filters.alpha.opacity/100
          else opac=Laag.style.opacity;
		return opac;  
}

function Verberg(Obj) {
	//Obj.style.visibility='hidden';	
	LayerNaam=Obj.id;
	AlphaMin(LayerNaam);
}

function AlphaMin(LayerNaam){
   Obj=document.getElementById(LayerNaam);
   var opac=getOpac(Obj);
   opac=Number(opac)-.2;
   if (opac<=0)opac=0;
   setOpac(Obj,opac);
   if (opac>0) {
	   setTimeout("AlphaMin('"+LayerNaam+"')",25)
   }
   else  {
		Obj.style.visibility='hidden';   
   }
}

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_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; } 
}

function Doorzicht2LaagsVast(e){
  
  // e toewijzen voor crossbrowser...
        if (!e) var e = window.event;
        if (e.target) var targ = e.target;
        else if (e.srcElement) var targ = e.srcElement; 
        
        //vaste gegevens; x1 en y1 zijn globale vars
        var w1=567; var h1=422;
        var x2=x1+121; var y2=y1+97; var w2=348; var h2=169;
        var o2=1;
        var opacX=0; var opacY=0;
        
  //stop eventuele aanroepen van automatisch laag laten zien
  if ((e.clientX>=x1) && (e.clientX<(x1+w1)) && (e.clientY>=y1) && (e.clientY<(y1+h1))) 
  {clearTimeout(timeoutId);
        
        //opacity afhankelijk van muispositie
        
        if ((e.clientX>=x1) && (e.clientX<(x2+w2/2))) opacX=(e.clientX-x1)/(x2-x1+w2/2);
        if ((e.clientX>=(x2+w2/2)) && (e.clientX<(x1+w1))) opacX=1-(e.clientX-(x2+w2/2))/(x1+w1-(x2+w2/2));
        if ((e.clientY>=y1) && (e.clientY<(y2+h2/2))) opacY=(e.clientY-y1)/(y2-y1+h2/2);
        if ((e.clientY>=(y2+h2/2)) && (e.clientY<(y1+h1))) opacY=1-(e.clientY-(y2+h2/2))/(y1+h1-(y2+h2/2));
        
        var opac=o2*opacX*opacY;
        
        //regel opacity
        setOpac(opac);
 }
    //test      
        //var ResultatenLayer=document.getElementById('TestResult');
        //ResultatenLayer.innerHTML=opac+"<br><br>"+e.screenX+"<br>"+opacX+"<br><br>"+e.screenY+"<br>"+opacY;

}

function findPos(obj) {
        var curleft = curtop = 0;
        if (obj.offsetParent) {
                curleft = obj.offsetLeft
                curtop = obj.offsetTop
                while (obj = obj.offsetParent) {
                        curleft += obj.offsetLeft
                        curtop += obj.offsetTop
                }
        }
        return [curleft,curtop];
}

                               
function geluidKlik(soundId,hh)
{
	if (soundId!="")
	{
			if (soundId==huidigGeluid)
			{//geklikt op geluid dat aan stond ==> uitzetten                                                
					soundManager.stop(soundId);
					huidigGeluid="";
					MM_swapImgRestore();
			}
			else
			{//geklikt op een ander geluid  
					//stop vorige geluid en herstel plaatje 
					if (huidigGeluid!="") MM_swapImgRestore();
					soundManager.stopAll();
					
					//en speel nieuw huidig geluid  
					
					if (hh>0) {//na afloop zelfde geluid weer spelen
						soundManager.play(soundId,{
  							onfinish:function() {
    							soundManager.play(soundId);
  							}
 						});	
					}
					else {//1x spelen, dan afgelopen (en herstel plaatje)
						soundManager.play(soundId,{
  							onfinish:function() {
							huidigGeluid="";
							MM_swapImgRestore();
  							}
 						});	
					}
					
					huidigGeluid=soundId;
					MM_swapImage(soundId,'','plaatjes/SpeakerUit1.jpg',1);

			}
	}
}
                                
                               
function geluidStop()
{
	soundManager.stopAll();
	if (huidigGeluid!="")
		{
			huidigGeluid="";
			MM_swapImgRestore();
		}	
	return true;
}

//globale var ***********************************************************
var o1=0; //begin-opacity voor 2e laag

var BrowserDetect = {
        init: function () {
                this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
                this.version = this.searchVersion(navigator.userAgent)
                        || this.searchVersion(navigator.appVersion)
                        || "an unknown version";
                this.OS = this.searchString(this.dataOS) || "an unknown OS";
        },
        searchString: function (data) {
                for (var i=0;i<data.length;i++) {
                        var dataString = data[i].string;
                        var dataProp = data[i].prop;
                        this.versionSearchString = data[i].versionSearch || data[i].identity;
                        if (dataString) {
                                if (dataString.indexOf(data[i].subString) != -1)
                                        return data[i].identity;
                        }
                        else if (dataProp)
                                return data[i].identity;
                }
        },
        searchVersion: function (dataString) {
                var index = dataString.indexOf(this.versionSearchString);
                if (index == -1) return;
                return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
        },
        dataBrowser: [
                {       string: navigator.userAgent,
                        subString: "OmniWeb",
                        versionSearch: "OmniWeb/",
                        identity: "OmniWeb"
                },
                {
                        string: navigator.vendor,
                        subString: "Apple",
                        identity: "Safari"
                },
                {
                        prop: window.opera,
                        identity: "Opera"
                },
                {
                        string: navigator.vendor,
                        subString: "iCab",
                        identity: "iCab"
                },
                {
                        string: navigator.vendor,
                        subString: "KDE",
                        identity: "Konqueror"
                },
                {
                        string: navigator.userAgent,
                        subString: "Firefox",
                        identity: "Firefox"
                },
                {
                        string: navigator.vendor,
                        subString: "Camino",
                        identity: "Camino"
                },
                {               // for newer Netscapes (6+)
                        string: navigator.userAgent,
                        subString: "Netscape",
                        identity: "Netscape"
                },
                {
                        string: navigator.userAgent,
                        subString: "MSIE",
                        identity: "Explorer",
                        versionSearch: "MSIE"
                },
                {
                        string: navigator.userAgent,
                        subString: "Gecko",
                        identity: "Mozilla",
                        versionSearch: "rv"
                },
                {               // for older Netscapes (4-)
                        string: navigator.userAgent,
                        subString: "Mozilla",
                        identity: "Netscape",
                        versionSearch: "Mozilla"
                }
        ],
        dataOS : [
                {
                        string: navigator.platform,
                        subString: "Win",
                        identity: "Windows"
                },
                {
                        string: navigator.platform,
                        subString: "Mac",
                        identity: "Mac"
                },
                {
                        string: navigator.platform,
                        subString: "Linux",
                        identity: "Linux"
                }
        ]

};

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];}
}
 
