// Auteur: Klaas-Bindert de Haan, Dienst Ruimtelijke Ordening, Gemeente Amsterdam
// Gebaseerd op SVGMapMaker (DBXGeomatics), plugin voor MapInfo.

var dbxns = 'http://www.dbxgeomatics.com/ns';
var deLegenda;
var deLegenda2;
var deSelected=0;
var deGrafiekbestand;



function doeColofon(aanuit){
	document.getElementById("colofon").style.visibility=aanuit;
}

function doeEmail(){
	for (i=0; i<=(document.links.length-1); i++){
		if (document.links[i].href.indexOf("[at]")!=-1) {
			document.links[i].href=document.links[i].href.split("[at]")[0]+"@"+document.links[i].href.split("[at]")[1];
		}
	}
}


function doeStart() {
	self.moveTo(0,0);
	self.resizeTo(screen.availWidth,screen.availHeight);
	document.title=deTitel;
	document.getElementById("balk_kleur").style.backgroundColor=deKleur;
	document.getElementById("balk_kleur").innerHTML=deTitel+' <img id="wittekruizen" alt= "" src="../_Icons/WitteKruizen.gif" />';
//	document.getElementById("opdrachtgever_container").innerHTML = '<a href="http://'+deOpdrachtgever_site + '" title="" target="_blank"><img id="opdrachtgever" src=../_Icons/'+deOpdrachtgever_gif+'  /></a>';
	doeSVG(deSVGbestand);
	doeToelichting('visible');	
}

function doeSVG(deBestand) {
	for (var i in deSelectieOpties) {
		if (deSelectieOpties[i][0]==deBestand) {
			deLegenda = deSelectieOpties[i][2];
			deGrafiekbestand = deSelectieOpties[i][3]
			deSelected = i;
		}
	}
	doeGrafiek();
	document.getElementById('info_container').style.visibility='hidden';
	document.getElementById('infobalkje').style.visibility='hidden';
	var deSVGobject = "<object id='svg' name='svgMap' data='" + deBestand + "' type='image/svg+xml'>";
	deSVGobject += "<param name='src' value='" + deBestand + "' valuetype='ref' type='image/svg+xml'>";
	deSVGobject += "<param name='wmode' value='transparant'></object>";
	document.getElementById('svgdiv').innerHTML=deSVGobject;
	doeLegenda();
	doeSelectieVak();
	doeInfoUit();
}


function doeGrafiek(){
// bij FunctieMix en Zuidas staan grafieken in de legenda, wordt geregeld via doeGrafiek in hun index.html. Deze lege function is voor alle andere zonder grafiek
}


function doeLegenda() {
	var deLegendaString = "<form id='SVGForm' method='get' action=''><table>";
	for (var i in deLegenda) {
		deLegendaString += "<tr><td class='cel1' ";
		if (deLegenda[i][0] =='') deLegendaString += "&nbsp;</td>";
		else {
			var deBorder = "border: 0"		
			if (deLegenda[i][1]=='RandZwart') var deBorder = "border: 1px solid #000000";
			if (deLegenda[i][1]=='RandWit') var deBorder = "border: 1px solid #FFFFFF";
			deLegendaString += " style='background-color:"+deLegenda[i][0]+"; "+deBorder+"'>";
			if (deLegenda[i][2]!="") deLegendaString += "<img class='bedekking' src='../_Icons/"+deLegenda[i][2]+".gif' alt='' /></td>";
			else deLegendaString += "&nbsp;</td>";
		}
		deLegendaString += "<td class='cel2'>";
		if (deLegenda[i][3] == '') deLegendaString += "&nbsp;</td>";
		else {
			deLegendaString += "<input id='check"+[i]+"' type='"+deLegenda[i][3]+"' name='"+deLegenda[i][5]+"' value='true' onclick='";
			if (deLegenda[i][3]=='radio') {
				deLegendaString += "doeRadio(";
				deLegendaString += '"'+deLegenda[i][6]+'","'+deLegenda[i][5]+'"';
				if (deLegenda[i][4] == 'checked') deLegendaString += ")' checked='checked' /></td>";           
				else deLegendaString += ")'/></td>";
			}
			else if (deLegenda[i][3]=='checkbox') {
				if (deLegenda[i][6] == 'ALLES') {
				deLegendaString += "doeAlles()'";
				if (deLegenda[i][4] == 'checked') deLegendaString += " checked='checked' /></td>"; 
				else deLegendaString += " /></td>";
			}               
			else {
				deLegendaString += "doeCheck(";
				deLegendaString += '"'+deLegenda[i][6]+'"';
				if (deLegenda[i][4] == 'checked') deLegendaString += ")' checked='checked' /></td>"; 
				else deLegendaString += ")' /></td>";           
				}
			}
			else deLegendaString += "' /></td>";
		}
		deLegendaString += "<td class='cel3'>";
		if (deLegenda[i][7] == '') deLegendaString += "&nbsp;</td></tr>";
		else deLegendaString += deLegenda[i][7]+"</td></tr>";
		
		if (deLegenda[i][6] == "Woningwaarde2005") doeLegenda2("Woningwaarde2005");	
	
	}
	deLegendaString += "</table></form>"
	document.getElementById('legenda').innerHTML=deLegendaString;

}

 function doeLegenda2(deLaagnaam) {
  	if (deLaagnaam.indexOf("Woningwaarde")==0) {
		if (deLaagnaam == "Woningwaarde2005") var deLegenda2 = deLegenda2005;
		if (deLaagnaam == "Woningwaarde2006") var deLegenda2 = deLegenda2006;
		if (deLaagnaam == "Woningwaarde2007") var deLegenda2 = deLegenda2007;
		if (deLaagnaam == "Woningwaarde2008") var deLegenda2 = deLegenda2008;
		if (deLaagnaam == "Woningwaarde2009") var deLegenda2 = deLegenda2009;
		var deLegenda2String = "<table>";
		for (var j in deLegenda2) {
			deLegenda2String += "<tr><td class='cel1' style='background-color:"+deLegenda2[j][0]+"; border: 0'> </td>";
			deLegenda2String += "<td class='cel2'></td>";
			deLegenda2String += "<td class='cel3'>"+deLegenda2[j][1]+"</td></tr>";					
		}
		deLegenda2String += "</table>";
		document.getElementById('legendaMarktpositie').innerHTML ="";
		document.getElementById('legenda2').innerHTML=deLegenda2String; 
	}
	if (deLaagnaam == "Woningmarktpositie2009") {
		document.getElementById('legenda2').innerHTML=""; 
		document.getElementById('legendaMarktpositie').innerHTML = "<img src='WoningmarktpositieLegenda.jpg' />";
	}

	
}


function doeSelectieVak() {
	if (deSelectie) {
		var deSelectieString = "<select id='selectie_opties' onchange='doeSVG(this.value)' name='selectie'>";
 		for (i in deSelectieOpties) { 
			if (i == deSelected) deSelectieString += "<option value='"+deSelectieOpties[i][0]+"' selected='selected'>"+deSelectieOpties[i][1]+"</option>"; 
			else deSelectieString += "<option value='"+deSelectieOpties[i][0]+"'>"+deSelectieOpties[i][1]+"</option>";
		} 
		deSelectieString += "</select>";
		document.getElementById('balk_grijs').innerHTML=deSelectieString;
	}
}

 
function doeRadio(deLaagnaam,deGroep) {
	var deSVGdocHTML = doeSVGdocHTML();
	for (i in deLegenda) {
		var deLegendaLaagNaam = deLegenda[i][6];	
		var deLegendaGroep = deLegenda[i][5];
		if (deLegendaLaagNaam != '' && deLegendaGroep == deGroep) {  
			var deLaag = deSVGdocHTML.getElementById(deLegendaLaagNaam);
			if (deLegendaLaagNaam == deLaagnaam) {
	  			deLaag.style.setProperty('visibility','visible','');
				if (deLaag.getAttributeNS(dbxns,'label') == 'stroke') deLaag.style.setProperty('pointer-events','stroke','');
				else deLaag.style.setProperty('pointer-events','all','');
				deGrafiekbestand= deLegenda[i][8]; 
				doeGrafiek();
				doeLegenda2(deLaagnaam);

			}
			else {
	  			deLaag.style.setProperty('visibility','hidden','');
				deLaag.style.setProperty('pointer-events','none','');
			}

		}      
	}
  doeToelichting('hidden');
  doeInfoUit();

}     
  
function doeCheck(deLaagnaam) {
 	var deSVGdocHTML = doeSVGdocHTML(); 
// de visibility van de achtergrond uit/aan (dat zie je niet) bevordert de snelheid van het aan/uitzetten van de kaartlagen  
	var deAchtergrond = deSVGdocHTML.getElementById('rasterMapBackground');
	if (deAchtergrond) deAchtergrond.style.setProperty('visibility','hidden','');
	for (i in deLegenda) {
		var deLegendaLaagNaam = deLegenda[i][6];
		if (deLegendaLaagNaam == deLaagnaam) {
			var deLaag = deSVGdocHTML.getElementById(deLegendaLaagNaam);
    		var deVisible = deLaag.style.getPropertyValue('visibility');
			if (deLegendaLaagNaam == deLaagnaam) {
    			if (deVisible == 'hidden') {
					deLaag.style.setProperty('visibility','visible','');
					if (deLaag.getAttributeNS(dbxns,'label') == 'stroke') deLaag.style.setProperty('pointer-events','stroke','');
					else if (deLaag.getAttributeNS(dbxns,'label') != 'uit') deLaag.style.setProperty('pointer-events','all','');
					doeLaagTop(deLaag);
				}
				else {           	
					deLaag.style.setProperty('visibility','hidden','');
					deLaag.style.setProperty('pointer-events','none','');
				}        
			}
		}
	}
	if (deAchtergrond) deAchtergrond.style.setProperty('visibility','visible','');
	doeToelichting('hidden');
	doeInfoUit();  
}


function doeAlles() {
 	var deSVGdocHTML = doeSVGdocHTML(); 
// de visibility van de achtergrond uit/aan (dat zie je niet) bevordert de snelheid van het aan/uitzetten van de kaartlagen  
  var deAchtergrond = deSVGdocHTML.getElementById('rasterMapBackground');
  if (deAchtergrond) deAchtergrond.style.setProperty('visibility','hidden','');
  for (i in deLegenda) {
     if (deLegenda[i][6] == 'ALLES') var deCheck = document.getElementById('check'+i).checked;
  }
  for (i in deLegenda) {
  	var deLegendaLaagNaam = deLegenda[i][6];
		if (deLegendaLaagNaam != '' && deLegendaLaagNaam != 'ALLES' && deLegenda[i][3] != '') {
			document.getElementById('check'+[i]).checked = deCheck;
			var deLaag = deSVGdocHTML.getElementById(deLegendaLaagNaam);
			if (deLaag){
				if (deCheck) {
					deLaag.style.setProperty('visibility','visible','');
					if (deLaag.getAttributeNS(dbxns,'label') == 'stroke') deLaag.style.setProperty('pointer-events','stroke','');
					else deLaag.style.setProperty('pointer-events','all','');
				}
				else  {
					deLaag.style.setProperty('visibility','hidden','');
					deLaag.style.setProperty('pointer-events','none','');
				}
			}        
		}
  }
  if (deAchtergrond) deAchtergrond.style.setProperty('visibility','visible','');
  doeToelichting('hidden');
  doeInfoUit();  
}  


function doeLaagTop(deLaag){
	if (wissellaag) deLaag.parentNode.appendChild(deLaag);
}


function doeLaagBottom(deLaag){
   if (wissellaag) deLaag.parentNode.insertBefore(deLaag,deLaag.parentNode.firstChild);
}


function doeToelichting(aanuit){
	doeInfoUit();
	document.getElementById("toelichting_container").style.visibility=aanuit;
}


function doeInfoUit() {
	document.getElementById('info_container').style.visibility="hidden";
}

function doeInfobalkjeHide() {
	document.getElementById('infobalkje').style.visibility="hidden";
}

function doeSVGdocHTML() {
	var deObject = document.svgMap;
  var deSVGdocHTML;
	if (deObject != null) {
		if (deObject.contentDocument != null) deSVGdocHTML = deObject.contentDocument;	
		else if (typeof deObject.getSVGDocument != 'undefined') deSVGdocHTML = deObject.getSVGDocument();
	}
 	return deSVGdocHTML;
}


