var selected_doel = null;
var current_grafiek = null;
var ie=document.all;
var nn6=document.getElementById&&!document.all;
var isdrag=false;
var x,y;
var dobj;

var kleuren = { di:"cccccc", oov:"b800a3", vi:"cccccc", wie:"cccccc", oj:"cccccc", wz:"cccccc", sr:"cccccc", cm:"cccccc", org:"cccccc", mw:"cccccc", so:"cccccc", bo:"cccccc"  }

function StringtoXML(text) {
	if (window.ActiveXObject){
		var doc=new ActiveXObject('Microsoft.XMLDOM');
		doc.async = false;
		doc.loadXML(text);
	} else {
		var parser = new DOMParser();
		var doc = parser.parseFromString(text, 'text/xml');
	}
	return doc;
}

function make_imagemap(imap, score_data) {
	if (imap) {
		var imgMap = $("#ImageMap");
		var gcs = new Array();
		for (var i = 0; i < score_data.length; i++) {
			gcs[score_data[i].gebiedscode] = {
				score: score_data[i].score,
				gn: score_data[i].gebiedsnaam
			};
		}
		for (var i = 0; i < imap.length; i++) {
			var this_area = document.createElement("AREA");
			this_area.shape = "POLY";
			this_area.coords = imap[i].poly;
			this_area.setAttribute("code", imap[i].gc);
			this_area.title = imap[i].gc;
			if (gcs[imap[i].gc] !== undefined) {
				if (gcs[imap[i].gc].gn !== undefined) this_area.title += " - " + gcs[imap[i].gc].gn;
				if (gcs[imap[i].gc].score !== undefined) this_area.title += ": " + gcs[imap[i].gc].score;
			}
			if(!document.all) this_area.href = "javascript:void(0);";
			imgMap.append(this_area);
		}
	}
}

function sortGebiedscode(a, b, o) {
	if (a[1] == b[1]) {
		if (o) {
			return (a[0] < b[0]) ? 1 : -1;
		} else {
			return (a[0] > b[0]) ? 1 : -1;
		}
	} else {
		return b[1] - a[1];
	}
}

function sortNumeric(a, b, o) {
	if (a[1] == b[1]) {
		if (a[0] == ".") a[0] = -9999;
		if (b[0] == ".") b[0] = -9999;
		if (o) {
			return b[0] - a[0];
		} else {
			return a[0] - b[0];
		}
	} else {
		return b[1] - a[1];
	}
}

function sortAlpha(a, b, o) {
	if (a[1] == b[1]) {
		if (o) {
			return (a[0] < b[0]) ? 1 : -1;
		} else {
			return (a[0] > b[0]) ? 1 : -1;
		}
	} else {
		return b[1] - a[1];
	}
}

function last_leaf(node) {
	while (node.children) node = node.firstChild;
	return node.nodeValue || node.innerHTML;
}

function cmpTRs(iCol, sDataType, order) {
	var f = function compareTRs(oTR1, oTR2) {
		var a = new Array();
		var b = new Array();
		a[0] = last_leaf(oTR1.cells[iCol]);
		a[1] = oTR1.getAttribute("niveau");
		b[0] = last_leaf(oTR2.cells[iCol]);
		b[1] = oTR2.getAttribute("niveau");
		switch(sDataType) {
			case "float":
				return sortNumeric(a,b, order);
			case "gcode":
				return sortGebiedscode(a,b, order);
			default:
				return sortAlpha(a, b, order);
		}
	}
	return f;
}

function set_arrow(kolom, order) {
	for (var i = 0; i < 3; i++) {
		$("#arrow-" + i).html( (i==kolom) ? (order ? "&#9650;" : "&#9660;") : "&nbsp;" );
	}
}

function sortTable(sTableID, iCol, sDataType) {
	var oTable = document.getElementById(sTableID);
	var oTBody = oTable.tBodies[0];
	var colDataRows = oTBody.rows;
	var aTRs = new Array;
	for (var i=0; i < colDataRows.length; i++) { aTRs[i] = colDataRows[i]; }
	var order = oTable.sortOrder || 0;
	order = (oTable.sortCol == iCol) ? !order : 0;
	aTRs.sort(cmpTRs(iCol, sDataType, order));
	oTable.sortOrder = order;
	set_arrow(iCol, oTable.sortOrder);
	var oFragment = document.createDocumentFragment();
	for (var i=0; i < aTRs.length; i++) {
		aTRs[i].className = "tr" + (i%2) + ' niveau-' + aTRs[i].getAttribute("niveau");
		aTRs[i].style.background = (i%2) ? "#F5F5F5" : "#FFFFFF";
		oFragment.appendChild(aTRs[i]);
	}
	oTBody.appendChild(oFragment);
	oTable.sortCol = iCol;
}

function get_kaart(gebied, thema, kenmerk, meting) {
	var url = "thematic.mpl?gebied=" + encodeURIComponent(gebied);
	url += '&kenmerk=' + encodeURIComponent(kenmerk);
	url += '&meting=' + encodeURIComponent(meting);
	url += '&thema=' + encodeURIComponent(thema);
	url += '&nr=' + cache_version;
	document.getElementById("kaart").src = url;
}

function get_data(thema, gebieden, kenmerk, meting, changed) {
	$.getJSON("getdata.mpl", {
		thema: thema,
		gebieden: gebieden,
		kenmerk: kenmerk,
		meting: meting,
		changed: changed
	}, function(data){
		$("#ondergrond").attr("src", "ondergrond.mpl?gebied=" + encodeURIComponent(data.gebied) + '&kenmerk=' + encodeURIComponent(data.kenmerk) + '&meting=' + encodeURIComponent(data.meting) + '&thema=' + encodeURIComponent(thema) + '&nr=' + Math.random());
		$("#kaart").attr("src", "thematic.mpl?gebied=" + encodeURIComponent(data.gebied) + '&kenmerk=' + encodeURIComponent(data.kenmerk) + '&meting=' + encodeURIComponent(data.meting) + '&thema=' + encodeURIComponent(thema) + '&nr=' + Math.random());
		enable_menu("geo", data.gebied);
		enable_menu("kenmerk", kenmerk);
		enable_menu("meting", meting);

		$(".themastyle").removeClass().addClass("themastyle " + data.thema);

		$("#uitleg").html(data.metadata.tekst);	
		$("#plattegrond").attr("src", "http://services.i-mapping.com/plattegrond.mpl?bbox=" + data.bbox).show();
		$("#kenmerktitel").html(data.metadata.titel);
		$("#bron").html(data.metadata.bron);
//		if (data) update_thema(data);   REMOVED because of page reloads?
		if (data.kenmerken) kenmerk = rebuild_droppy("kenmerk", data.kenmerken, "kenmerk", "kenmerknaam", data.kenmerk);
		if (data.metingen) meting = rebuild_droppy("meting", data.metingen, "meting", "meting", data.meting);
		if (data.scores && data.scores.length>0) {
			$("#tabelheader").show();
			$("#tabeldiv").show();
			$("#error").hide();
			tabel(data.scores);
		} else {
			$("#tabelheader").hide();
			$("#tabeldiv").hide();
			$("#error").show();
		}
		if (data.imagemap) make_imagemap(data.imagemap, data.scores);
	});
}

function get_buurtdata(thema, bc, keyword, changed) {
	$.getJSON("buurtcombinatie.mpl", {
		thema: thema,
		bc: bc,
		keyword: keyword,
		changed: changed
	}, function(data) {
		if (data.bc) {
			buurtcombinatie = data.bc;
			gebiedscode = data.bc;
			$("#geo li:first a.selection").html(data.gebiedsnaam);
//			if (data) update_thema(data);
			if (data.kenmerken) kenmerk = rebuild_droppy("kenmerk", data.kenmerken, "kenmerk", "kenmerknaam");
			document.getElementById("titelmsg").innerHTML = data.titel;
			$("#listview").show();
			$("#monitorview").hide();
			disable_menu("kenmerk", "alle kenmerken");
			disable_menu("meting", "alle jaren");
			document.getElementById("ovmap").src = "/smallmap.mpl?gebied=" + encodeURIComponent(data.bc);
			document.getElementById("map_buurt").innerHTML = data.gebiedsnaam;
			document.getElementById("ovmap_buurt").innerHTML = data.gebiedsnaam;
			document.getElementById("ovmap_stadsdeel").innerHTML = data.sdnaam;
			var tables = document.getElementById("tables");
			$(tables).empty();
			var metingen = new Array();
			$(data.metingen).each(function(i){metingen.push(this.meting);});
			if (data.indelingen.length) {
				$(data.indelingen).each(function(j){
					var ind = this;
					$("#tables").append('<div class="dtablediv"><table id="table-' + j + '" class="dtable"><thead><tr><th class="l">' + this.gebiedsnaam + '</th></tr></thead><tbody id="tbody-' + j + '"></tbody></table></div>');
					$(metingen).each(function(m){
						$("#tables table:last thead tr").append('<th>' + this + '</th>');
					});
					var kenmerk = 0;
					var jaren = new Array();
					var tr;
					var body = document.getElementById("tbody-" + j);
					$(this.scores).each(function(i){
						var rec = this;
						if (rec.kenmerk != kenmerk) {
							while(jaren.shift()) {var td = tr.insertCell(tr.cells.length); td.appendChild(document.createTextNode(" "));}
							jaren = metingen.slice();
							kenmerk = rec.kenmerk;
							if (rec.kop) {
								tr = body.insertRow(-1);
								var td = tr.insertCell(tr.cells.length);
								td.className = "optgroup";
								if (i == 0) td.className = "optgroup nopadding";
								$(td).html(rec.kop);
							}
							tr = body.insertRow(body.rows.length);
							var td = tr.insertCell(tr.cells.length);
							td.className = 'l';
							$(td).append('<span title="Klik hier voor het overzicht van ' + rec.kenmerknaam + ' voor stadsdeel ' + data.sdnaam + '"><a href="monitor.mpl?thema=' + thema + '&kenmerk=' + rec.kenmerk + '&gebieden=ASD,' + data.stadsdeel + '&changed=gebied">' + rec.kenmerknaam + '</a></span>');
						}
						while (jaren.shift() != rec.meting) {
							var td = tr.insertCell(tr.cells.length);
							td.appendChild(document.createTextNode(" "));
						}
						var td = tr.insertCell(tr.cells.length);
						var span = document.createElement("span");
						if (rec.score && rec.score.length>0) {
							span.className = "data";
							span.title = rec.label;
							if (rec.bc_kleur) span.style.backgroundColor = '#' + rec.bc_kleur;
							span.innerHTML = rec.score;
						} else {
							span.title = "niet beschikbaar";
							span.innerHTML = "n.b.";
						}
						td.appendChild(span);				
					});
				});
				$("#toelichting_gebiedsnaam").html(data.gebiedsnaam);
				$("#toelichting_sdnaam").html(data.sdnaam);
				if (data.keyword) {
					$("#searchresult_keyword1").html(data.keyword);
					$("#searchresult_keyword2").html(data.keyword);
					$("#searchresult_buurt").html(data.gebiedsnaam);
					$("#searchresult_sd").html(data.sdnaam);
					$("#searchresult").show();
				} else {
					$("#searchresult").hide();
				}
				$("#searchbox").val('');
				$("#titeltoelichting").show();
			} else {
				$("#tables").html('Van dit gebied zijn geen kenmerken bekend voor dit thema.');
				$("#titeltoelichting").hide();
			}
			$("#tables").show();
			$("#searchbox").focus().blur();
			gebiedskaart(data.bc);
		} else {
			alert("Geen straat of postcode '" + keyword + "' gevonden");
		}
	});
}

function tabel( scores ) {
	$("#tabelloader").hide();
	$("#tabelbody").show().empty();
	var body = document.getElementById("tabelbody");
	var trElem, tdElem, txtNode;
	set_arrow(0, 0);
	for (var k = 0; k < scores.length; k++) {
		var gcode = scores[k].gebiedscode;
		var naam = scores[k].gebiedsnaam;
		trElem = body.insertRow(body.rows.length);
		trElem.className = "tr" + (k%2);
		trElem.setAttribute("niveau", scores[k].niveau);
		trElem.className += ' niveau-' + scores[k].niveau;
		tdElem = trElem.insertCell(trElem.cells.length);
		tdElem.className = "col0";
		txtNode = document.createTextNode(gcode);
		tdElem.appendChild(txtNode);
		tdElem = trElem.insertCell(trElem.cells.length);
		tdElem.className = "col1";
		tdElem.innerHTML = naam;
		tdElem = trElem.insertCell(trElem.cells.length);
		tdElem.className = "col2";
		txtNode = document.createTextNode(scores[k].score);
		tdElem.appendChild(txtNode);
		trElem.id = "row-" + gcode;
	}
	var oTable = document.getElementById('tabel');
	oTable.sortCol = 9;
	sortTable('tabel',0, "gcode");
}

function rebuild_droppy(menu, items, value, label, sel) {
	var themenu = $("#" + menu + " li:first ul");
	themenu.empty();
	$(items).each(function(i){
		if(this.opt) {
			themenu.append('<div>' + this.opt + '</div>');
		} else {
			themenu.append('<li rel="' + this[value] + '"><a href="#">' + this[label] + '</a></li>');
			if (sel == undefined) sel = this[value];
			if (this[value] == sel) $("#" + menu + " li a.selection").html(this[label]);
		}
	});
	$("#" + menu).droppy({speed:100});
	return sel;
}

function update_thema(data) {
	$("#mainicon").attr("src", "images/" + data.thema + ".small.png");
	$("#doelendiv").removeClass().addClass(data.thema);
	$("#doelstellingtitel").html(data.doelstellingtitel || "");
	$("#titelmsg").html(data.titel || "");
	$("#doelstellingtekst").html(data.doelstellingtekst || "");
	rkleur = data.kleur;
//	$("#lpa").css("backgroundImage", 'url(images/link_' + data.thema + '.gif)');
	$("#grafieklinks").removeClass().addClass(data.thema);
	$("#kaartnav a").removeClass().addClass(data.thema);
//	$("#doelenul").empty();
	if (data.doelstellingen) {
		$(data.doelstellingen).each(function(i){
			var str = '<div id="doel-' + this.id + '" class="doelenkop">' + this.titel +'</div>';
			str += '<div id="uitleg-' + this.id + '" class="doelenuitleg" style="display:none">' + this.doel;
			if (this.presentatie) str += '<div class="grafieklink">[+] ' + this.presentatie + '</div>';
			str += '</div>';
//			$("#doelenul").append(str);
		});
	}
	var div = $("#links").empty().append('<h4>Meer over<br>' + (data.linkkop || "") + '</h4>');
	$(data.links).each(function(){ div.append('<a target="_blank" href="' + this.url + '">[>] ' + this.titel + '</a><br />'); });
	meting = rebuild_droppy("meting", data.metingen, "meting", "meting", data.meting);

	$(".doelenkop").bind("click", function(e){
		var id = this.id.replace('doel', 'uitleg');
		if (id == selected_doel) {
			var vis = ($("#" + id).toggle().css("display") != "none");
			$(this).removeClass().addClass((vis) ? "doelenkop_active" : "doelenkop");
			if (!vis) $("#grafiekvenster").hide();
		} else {
			if (selected_doel){
				$('#' + selected_doel).hide();
				$("#grafiekvenster").hide();
				var titel = selected_doel.replace("uitleg", "doel");
				$('#' + titel).removeClass().addClass("doelenkop");
			}
			if (id) $("#" + id).show();
			if (t && t.id) document.getElementById(t.id).className = "doelenkop_active";
			selected_doel = id;
		}
	});
}

function disable_menu(menu, label) {
	$("#" + menu + " li a.selection").html(label);
	$("#" + menu + " li:first").addClass("disabled");
}

function enable_menu(menu, sel) {
	$("#" + menu + " li:first").removeClass("disabled");
	$("#" + menu + " li").each(function(i){
		if ($(this).attr("rel") == sel) $("#" + menu + " li a.selection").html($(this).text());
	});
}

function update(changed) {
	$("#ImageMap").empty();
	$("#tabelbody").hide();
	$("#tabelloader").show().attr("src", "images/loader.gif");
	$("#kaartloader").show().attr("src", "images/loader.gif");
	if (/[A-Z]\d+/.test(gebiedscode)) {
		document.location.href = "buurtinfo.mpl?thema=" + thema + "&gebieden=" + gebiedscode;
//		get_buurtdata(thema, gebiedscode, "", changed);
	} else {
		document.location.href = "monitor.mpl?thema=" + thema + "&gebieden=ASD," + gebiedscode + "&kenmerk=" + kenmerk + "&meting=" + meting + "&changed=" + changed;
//		$("#listview").hide();
//		$("#monitorview").show();
//		$("#ondergrond").attr("src", "/images/empty.gif");
//		$("#kaart").attr("src", "/images/empty.gif");
//		get_data(thema, "ASD," + gebiedscode, kenmerk, meting, changed);
	}
}

jQuery.fn.fadeTo = function(speed,to,callback) { 
    return this.animate({opacity: to}, speed, function() { 
        if (to == 1 && jQuery.browser.msie)  
            this.style.removeAttribute('filter');  
        if (jQuery.isFunction(callback)) 
            callback();  
    }); 
};

function swap_plattegrond() {
	var $kaart = $("#kaart");
	var $ondergrond = $("#ondergrond");
	if ($kaart.hasClass("seethrough")) {
		$ondergrond.fadeTo(200, "1");
		$kaart.removeClass("seethrough").fadeTo(200, "1");
	} else {
		$ondergrond.fadeTo(200, 0.5);
		$kaart.addClass("seethrough").fadeTo(200, 0.5);
	}
}

function kies_thema(code) {
	thema = code;
	kenmerk = 0;
	if (current_view == "doelstellingen") {
		document.location.href = "doelstellingen.mpl?rubriek=" + thema;
	} else {
		update("thema");
	}
}

function kies_kenmerk(code) {
	kenmerk = code;
	update("kenmerk");
}

function kies_meting(code) {
	meting = code;
	update("meting");
}

function kies_gebied(code) {
	gebiedscode = code;
	var label = $('#geo li[rel="' + code + '"]').text();
	$("#geo").find("a.selection").html(label);
	update("gebied");
}

function search() {
	var keyword = $("#searchbox").val();
	if (keyword) document.location.href = "/buurtinfo.mpl?thema=" + thema + "&keyword=" + encodeURIComponent(keyword);
//	if (keyword) get_buurtdata(thema, "", keyword, "keyword");
	return false;
}

function maak_tabel(data) {
	var t = '<table border=1 cellspacing=0 cellpadding=3>';
	var rows = data.doeldata;
	var has_label = false;
	for (var i = 0; i < rows.length; i++) {
		if (rows[i].label) has_label = true;
	}
	for (var i = 0; i < rows.length; i++) {
		var row = rows[i];
		t += '<tr>';
		if (has_label) t += '<td>' + (row.label || "&nbsp;") + '</td>';
		var cols = row.data.split("|");
		for (var j = 0; j < cols.length; j++) {
			t += '<td>' + ((cols[j] != "") ? cols[j] : "&nbsp;") + '</td>';
		}
		t += '</tr>';
	}
	t += '</table>';
	return t;
}

function make_row(row, ptag, mincols, tag, attr) {
	var waarden = row.data.split("|");
	var s = "<" + ptag + " seriesName='" + ((row.label.indexOf("grote") > -1) ? "werkelijk" : row.label) + "'";
	if (row.type == 'lijn') {
		s += " parentYAxis='S' color='" + rkleur + "' lineThickness='2'";
	} else {
		s += " color='ffffff'";
	}
	s += ">";
	for (var i = 0; i < mincols; i++) {
		s += "<" + tag;
		if (waarden[i]) s += " " + attr + "='" + waarden[i] + "'";
		if (tag == "set") s += " toolText='" + waarden[i] + "'";
		s += " />";
	}
	s += "</" + ptag + ">";
	return s;
}

function maak_grafiek(data) {
	var rows = data.doeldata;
	var x_as, y_as;
	for (var i = 0; i < rows.length; i++) {
		if (rows[i].type == 'x-as waarden') x_as = rows[i].data.split("|");
		if (rows[i].type == 'y-as waarden') y_as = rows[i].data.split("|");
	}
	var strXML = "<chart showValues='0' baseFont='Verdana' baseFontSize='13' baseFontColor='ffffff' ";
	if (y_as && y_as.length) {
		strXML += " adjustDiv='0' YAxisMinValue='" + y_as[0] + "' YAxisMaxValue='" + y_as[y_as.length-1] + "'";
		strXML += " numDivLines='" + (y_as.length-2) + "'";
	}
	strXML += " bgcolor='7b7b7b' bgalpha='100' showborder='0' borderThickness='0' canvasBgColor='7b7b7b' canvasBgAlpha='100' canvasBorderThickness='1' canvasBorderColor='999999' canvasBorderAlpha='0' toolTipBgColor='bfbfbf' toolTipBorderColor='bfbfbf' formatNumberScale='0' showPlotBorder='0' formatNumber='0' legendPosition='RIGHT'";
	strXML += " legendShadow='0' legendBgColor='7b7b7b' legendBorderThickness='0' legendBorderColor='7b7b7b' divLineColor='999999' divLineAlpha='100' anchorAlpha='0'>";
	for (var i = 0; i < rows.length; i++) {
		var row = rows[i];
		if (row.type == 'x-as waarden') strXML += make_row(row, 'categories', x_as.length, 'category', 'name');
		if (row.type == 'lijn') strXML += make_row(row, 'dataset', x_as.length, 'set', 'value');
		if (row.type == 'kolom') strXML += make_row(row, 'dataset', x_as.length, 'set', 'value');
	}
	strXML += "<trendLines>";
	strXML += "<line startValue='" + y_as[0] + "' color='999999' showOnTop='0' displayValue=' ' />";
	strXML += "<line startValue='" + y_as[y_as.length-1] + "' color='999999' showOnTop='0' displayValue=' ' />";
	strXML += "</trendLines>";
	strXML += "<styles><definition>";
	strXML += "<style name='myToolTipFont' type='font' font='Verdana' size='13' color='ffffff' />";
	strXML += "<style name='myLegendFont' type='font' font='Verdana' size='11' color='ffffff' />";
	strXML += "</definition>";
	strXML += "<application>";
	strXML += "<apply toObject='ToolTip' styles='myToolTipFont' />";
	strXML += "<apply toObject='Legend' styles='myLegendFont' />";
	strXML += "</application></styles>";
	strXML += "</chart>";
	var grafiek = new FusionCharts("charts/Charts/MSCombi2D.swf", "grafiek", "530", "260", "0", "1");
	grafiek.setDataXML(strXML);
	grafiek.render("grafiekcontent");
}

function toon_visualisatie(e) {
	e = e || window.event;
	var t = e.target || e.srcElement;
	var id = t.parentNode.getAttribute("rel");
	id = id.replace('doel-', '');
	if (1) { // id != current_grafiek) {
		$("#grafiektitel").html("grafiek");
		$("#grafiekcontent").html("grafiek laden...");
		$("#grafiekvenster").show();
		$.getJSON("doeldata.mpl", { doelstelling: id }, function(data){
			rkleur = data.kleur || rkleur;
			current_grafiek = data.id;
			$("#grafiektitel").html(data.gebiedsnaam + ' - ' + data.titel);
			$("#grafiekdoel").html(data.doel);
			$("#lpa").html(data.toelichting || " ").show();
			if (data.presentatie == "tabel") {
				$("#grafiekcontent").html(maak_tabel(data));
			} else if (data.presentatie == "grafiek") {
				maak_grafiek(data);
			} else {
				$("#grafiekcontent").html('geen grafiek');
				$("#grafiekvenster").hide();
			}
		});
	} else {
		$("#grafiekvenster").toggle();
	}
}

function show_doel(e) {
	e = e || window.event;
	t = e.target || e.srcElement;
	var id = t.id.replace('doel', 'uitleg');
	if (id == selected_doel) {
		var vis = ($("#" + id).toggle().css("display") != "none");
		document.getElementById(t.id).className = (vis) ? "doelenkop_active" : "doelenkop";
		if (!vis) $("#grafiekvenster").hide();
	} else {
		if (selected_doel){
			$("#" + selected_doel).hide();
			$("#grafiekvenster").hide();
			var titel = selected_doel.replace("uitleg", "doel");
			document.getElementById(titel).className = "doelenkop";
		}
		$("#" + id).show();
		document.getElementById(t.id).className = "doelenkop_active";
		selected_doel = id;
	}
}

function movemouse(e){
	e = e || window.event;
	if (isdrag){
		dobj.style.left = tx + e.clientX - x + "px";
		dobj.style.top  = ty + e.clientY - y + "px";
		return false;
	}
}

function stopdrag(e){
	e = e || window.event;
	$(document).unbind("mousemove", movemouse);
	$(document).unbind("mouseup", stopdrag);
	isdrag = false;
}

function event_handler(e) {
	e = e || window.event;
	t = e.target || e.srcElement;
	if ((e.type == "mousedown") && t.id && ((t.id == "titelbalk") || (t.id == "grafiektitel"))) {
		isdrag = true;
		dobj = document.getElementById("grafiekvenster");
		var coords = $(dobj).offset();
		tx = coords.left;
		ty = coords.top;
		x = e.clientX;
		y = e.clientY;
		$(document).bind("mousemove", movemouse);
		$(document).bind("mouseup", stopdrag);
		if (e.preventDefault) e.preventDefault();
		return false;
	}
	return true;
}


