// locatie functies
var x;
var qs = new Querystring();
var catid = qs.get('CatID');
if ( catid == null) { catid = qs.get('catid'); }
var lang = qs.get("Lang");
var displaying=0;

function set_lock() {
	var c = readCookie('locdisp'); 
	if (c == catid){ 
	toggle_loc_display(); 
	} 
}

function toggle_loc_display(){
	if(displaying==0){
		start_loc_display();
		displaying = 1;
	}else{
		end_loc_display();
		displaying = 0;
	}
	return false;
}

function start_loc_display(){
	document.getElementById('s_selector').style.visibility='hidden';
	document.getElementById('s_map').style.visibility='visible';
	document.getElementById('scrollcounter').style.visibility='hidden';
	if (lang == "NL"){
		document.getElementById('toggle_loc').src='img/overzicht_nl.gif';
	} else {
		document.getElementById('toggle_loc').src='img/overzicht_fr.gif';
	}
	createCookie('locdisp',catid,1);
	fetchXML('locaties.ashx?Lang='+lang+'&CatID='+catid);
}

function end_loc_display(){
	document.getElementById('s_selector').style.visibility='visible';
	document.getElementById('s_map').style.visibility='hidden';
	document.getElementById('scrollcounter').style.visibility='visible';
		if (lang == "NL"){
	document.getElementById('toggle_loc').src='img/locatie.jpg';
	} else {
	document.getElementById('toggle_loc').src='img/locatie_fr.jpg';
	}
	createCookie('locdisp',null,1);
}

function putItIn(parsedXML){
	x=parsedXML.documentElement;
	var adresCount = x.getElementsByTagName('item').length - 1;
	if (lang == "NL"){
	var str = "<div id=\"s_map_adres\"><span class=\"s_map_tekst\">Selecteer de locatie van uw keuze en klik voor de detailgegevens</span></div>";
	}else{
	var str = "<div id=\"s_map_adres\"><span class=\"s_map_tekst\">S&eacute;lectionnez le lieu de votre choix et cliquez pour plus de details</span></div>";
	}
	for(i=0;i<=adresCount;i++){
		yVal = x.getElementsByTagName('latitude')[i].firstChild.data;
		xVal = x.getElementsByTagName('longitude')[i].firstChild.data;
		yVal = 200 - ((yVal-50.0) * 115.0);
		xVal = 65 + ((xVal-3) * 66.0);
		str = str+'<div class=\"s_map_point\" style=\"left:'+xVal+'px; top:'+yVal+'px;\" onMouseOver=\"putAdres('+i+');\"><a href=\"'+ x.getElementsByTagName('detailurl')[i].firstChild.data + '\"><img src=\"img/s_map_point.gif\" border=\"0\" alt=\"\" title=\"'+x.getElementsByTagName('naam')[i].firstChild.data+'\" /></a></div>';
	}
	document.getElementById('s_map').innerHTML = str;
}

function putAdres(id){
	str = '<span class=\"s_map_titel\">'+ x.getElementsByTagName('naam')[id].firstChild.data + '</span><br><br>';
	str = '<span class=\"s_map_tekst\">'+ str + x.getElementsByTagName('adres')[id].firstChild.data +' '
	try{ str = str+x.getElementsByTagName('nummer')[id].firstChild.data + '<br>';} catch (e) { str=str+'<br>';}
	str = str + x.getElementsByTagName('postcode')[id].firstChild.data +' '+ x.getElementsByTagName('gemeente')[id].firstChild.data + '</span><br>';
	str = str + '<br><a href=\"'+ x.getElementsByTagName('detailurl')[id].firstChild.data +'\"><img src=\"img/nav/Gobutton.gif\" alt=\"\" /></a>'
	document.getElementById('s_map_adres').innerHTML = str;
}

function parseXML(str){
	if (window.ActiveXObject) { //IE code
		var doc=new ActiveXObject("Microsoft.XMLDOM");
		doc.async="false";
		doc.loadXML(str);
	} else { // code for Mozilla, Firefox, Opera, etc.
		var parser=new DOMParser();
		var doc=parser.parseFromString(str,"text/xml");
	}
	putItIn(doc)
}

function fetchXML(url) {
 var http_request = false;
        if (window.XMLHttpRequest) { // Mozilla, Safari, ...
            http_request = new XMLHttpRequest();
            if (http_request.overrideMimeType) {
                http_request.overrideMimeType('text/xml');
            }
        } else if (window.ActiveXObject) { // IE
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }
        if (!http_request) {
            alert('Giving up :( Cannot create an XMLHTTP instance');
            return false;
        }
        http_request.onreadystatechange = function() { alertContents(http_request); };
        http_request.open('GET', url, true);
        http_request.send(null);
}

function alertContents(http_request) {
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
            parseXML(http_request.responseText);
		} else {
			alert('There was a problem with a request.');
		}
	} 
}
	
function Querystring(qs) { // optionally pass a querystring to parse
	this.params = new Object()
	this.get=Querystring_get;
	if (qs == null) qs=location.search.substring(1,location.search.length);
	if (qs.length == 0) return
	qs = qs.replace(/\+/g, ' ');
	var args = qs.split('&');
	for (var i=0;i<args.length;i++) {
		var value;
		var pair = args[i].split('=')
		var name = unescape(pair[0]);
		if (pair.length == 2){ value = unescape(pair[1]); }else{ value = name; }
		this.params[name] = value;
	}
}

function Querystring_get(key, default_) {
	if (default_ == null) default_ = null;
	var value=this.params[key];
	if (value==null) value=default_;
	return value
}