﻿function printwindow(dealerID) {
	window.open("printdealer.asp?dealerID="+dealerID,"","width=600,height=630,resizable=yes");
	
}

function leadwindow(dealerID) {
	Ort = escape(document.getElementById("city").value);
	Land = document.getElementById("country").value;
	PLZ = document.getElementById("postcode").value;
	leadURL = "http://lead.computer.toshiba.de/webuser/hs_user.asp?HaendlerID="+dealerID+"&Ort="+Ort+"&PLZ="+PLZ+"&Land="+Land;
	window.open(leadURL,"","width=800,height=670,resizable=yes");
}


function addEvent( obj, type, fn ) {
	nuEvents.push([obj,type,fn]);
	if (obj.addEventListener)
		obj.addEventListener( type, fn, false );
	else if (obj.attachEvent) {
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
	}
}

function removeEvent( obj, type, fn ) {
	if (obj.removeEventListener)
		obj.removeEventListener( type, fn, false );
	else if (obj.detachEvent) {
		obj.detachEvent( "on"+type, obj[type+fn] );
		obj[type+fn] = null;
		obj["e"+type+fn] = null;
	}
}

function createMarker(point,name,html,tr) {
	var marker = new GMarker(point,tpoint);
	GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml(html);
	});
	GEvent.addListener(marker, "mouseover", function() {
		marker.oldtrstyle = tr.style.background;
		tr.style.background = "#FBC9C9";
	});
	GEvent.addListener(marker, "mouseout", function() {
		tr.style.background = marker.oldtrstyle;
	});
	addEvent(tr, "click", function() {
		map.closeInfoWindow();
		marker.openInfoWindowHtml(html);
	});
	gmarkers[i] = marker;
	i++;
	return marker;
}


function readMap(url) {
	var bounds = new GLatLngBounds();
	var request = GXmlHttp.create();
	request.open("GET", url, true);
	request.onreadystatechange = function() {
		if (request.readyState == 4) {
            var xmlDoc = request.responseXML;
			var pos_lat = xmlDoc.documentElement.getElementsByTagName("position")[0].getAttribute("lat");
			var pos_lon = xmlDoc.documentElement.getElementsByTagName("position")[0].getAttribute("lon");
            var markers = xmlDoc.documentElement.getElementsByTagName("marker");
			// start marker
			//-------------
            map.getInfoWindow().hide();
            map.clearOverlays();

            var nu_r = Math.floor(Math.random()*999999);
            imgsrc = 'http://numax.nu-1.com/adconversion.php?cb='+nu_r+'&trackerid=';

            switch(ver){
				case "ver=ver_on":
					imgsrc += '25';
					break;
				case "ver=ver_edu":
					imgsrc += '26';
					break;
				case "ver=ver_wie":
					imgsrc += '27';
					break;
				case "ver=ver_con":
					imgsrc += '23';
					break;
				case "ver=ver_gro":
					imgsrc += '22';
					break;
				case "ver=ver_smb":
		            		imgsrc += '24';
					break;
            }

            var tI = new Image();
			tI.src = imgsrc;

			if ((ver != "ver=ver_on") && (ver != "ver=ver_wie") && (markers.length != 0) ) {
            	var herep = new GLatLng(parseFloat(pos_lat),parseFloat(pos_lon));
			    var here = new GMarker(herep,tpoint2);
	      		map.addOverlay(here);
	      		GEvent.addListener(here, "click", function() {
			          here.openInfoWindowHtml("<b>Ihr Standort</b>");
			    });
			    bounds.extend(herep);
			}
            var restable = document.createElement("table");
            restable.border = 0;
			restable.width = "332px";
            restable.cellSpacing = 0;
            restable.cellPadding = 2;
            document.getElementById("d_r").appendChild(restable);
            
            var odd = false;
			if (markers.length == 0) {
				var tr = restable.insertRow(0);
	            var td1 = tr.insertCell(0);
	            td1.style.textAlign = "center";
				td1.style.width= "332px";
				td1.innerHTML = "<br/><br/><b>Leider keinen Händler gefunden</b>";				
			}

			for (var i = 0; i < markers.length ; i++) {
				var lat = parseFloat(markers[i].getAttribute("lat"));
				var lon = parseFloat(markers[i].getAttribute("lon"));
				var point = new GLatLng(lat,lon);
				var dealerID = markers[i].getAttribute("dealerID");
				var html  = markers[i].getAttribute("html");
				var label = markers[i].getAttribute("label");
				var firma = markers[i].getAttribute("firma");
				var plz   = markers[i].getAttribute("plz");
				var str   = markers[i].getAttribute("str");
				var ort   = markers[i].getAttribute("ort");
				var tel   = markers[i].getAttribute("tel");
				var fax   = markers[i].getAttribute("fax");
				var url   = markers[i].getAttribute("url");
				var lead  = markers[i].getAttribute("lead");
				var pimg  = markers[i].getAttribute("pimg");
				var certstr  = markers[i].getAttribute("certstr");
				var tr = restable.insertRow(i);
				if (odd) {
					tr.style.background = "#eeeeee";
				}
				tr.style.cursor = "pointer";
				var td1 = tr.insertCell(0);
				td1.style.textAlign = "center";
				td1.style.width= "10px";
				td1.innerHTML = i+1 ;
				td1.style.cursor = "pointer";
				var td2 = tr.insertCell(1);
				td2.style.textAlign = "left";
				td2.innerHTML = firma+"<br/>"+plz+" "+ort;
				var td3 = tr.insertCell(2);
				td3.style.textAlign = "left";
				td3.innerHTML = pimg;
				var td4 = tr.insertCell(3);
				td4.style.textAlign = "left";
				td4.innerHTML = certstr;
				html += "<img style='cursor:pointer;' src='images/print.gif' alt='Drucken' title='Drucken' hspace='20' onclick='printwindow("+dealerID+")' />";
				if (lead != 0 ) {
					html += "</br>Kontakt zum Händler <img style='cursor:pointer;' src='images/rr.gif' alt='Rückruf/Kontakt' title='Rückruf/Kontakt' hspace='5' onclick='leadwindow("+dealerID+")' />";
				}
				var marker = createMarker(point,label,html,tr);
				map.addOverlay(marker);
				bounds.extend(point);
				odd = !odd;			
			}
			var zoomf = map.getBoundsZoomLevel(bounds);
            if (zoomf > 12) {
            	zoomf = 12;
            }
			var clat = (bounds.getNorthEast().lat() + bounds.getSouthWest().lat()) /2;
			var clng = (bounds.getNorthEast().lng() + bounds.getSouthWest().lng()) /2;
			if (markers.length != 0) {
				map.setCenter(new GLatLng(clat,clng));
	            map.setZoom(zoomf);
			}
			// end marker
			//-------------
			clearWait();
		}
	}
	request.send(null);
}

function chkinp() {
	var params;
	params  = appendparam("city");
	params += appendparam("postcode");
	params += appendparam("street");
	params += appendparam("country");
	params += appendparam_n("ver");
	ver = appendparam_n("ver").slice(1);
	if (ver == "") {
		alert("Bitte wählen Sie etwas aus.");
		return false;
	} else if (	(ver != "ver=ver_on") && (ver != "ver=ver_wie")) {
		 if ((document.getElementById("city").value == "") && (document.getElementById("postcode").value == "" )) {
			alert("Bitte Postleitzahl oder Ort angeben.")
			return false;		
		}
	}
	params += appendparam_s("rad");
	url = "data-xml.asp?"+ params.slice(1);
	showWait();
	readMap(url);
}

function appendparam(val) {
	p = document.getElementById(val).value;
	if (p != "") {
		var paramp = "&" + val+"="+encodeURIComponent(p);
		//var paramp = "&" + val+"="+escape(p);
		return paramp;		
	} else {
		return "";
	}
}

function appendparam_n(val) {
	var domE = document.getElementsByName(val);
	for (i = 0;  i < domE.length;  i++) {
		if (domE[i].checked) {
			var paramp = "&" + val+"="+ escape(domE[i].value);
			return paramp;
		}
	}
	return "";
}

function appendparam_s(val) {
	var domE = document.getElementById(val);
	for (i = 0;  i < domE.options.length;  i++){
		if (domE.options[i].selected) {
			var paramp = "&" + val+"="+ escape(domE.options[i].value);
			return paramp;
		}
	}
}
function showWait() {
	document.getElementById("wait").style.visibility = "visible";
	document.getElementById("error1").style.visibility = "visible";
}
function clearWait() {
	document.getElementById("wait").style.visibility = "hidden";
	document.getElementById("error1").style.visibility = "hidden";
	document.getElementById("inp_frm").style.visibility = "hidden";
	document.getElementById("inp_frm").style.display = "none";
	document.getElementById("re_f").style.visibility = "visible";
	document.getElementById("re_f").style.display = "block";
}
function newSearch() {
    map.clearOverlays();
	cleanUp();
	var herep = new GLatLng(parseFloat(50.819818),parseFloat(10.019531));
	map.setCenter(herep, 6);
	domER = document.getElementById("d_r");
	while (domER.hasChildNodes()) {
		domER.removeChild(domER.firstChild);
	}
	document.getElementById("re_f").style.visibility = "hidden";
	document.getElementById("re_f").style.display = "none";
	document.getElementById("inp_frm").style.visibility = "visible";
	document.getElementById("inp_frm").style.display = "block";
}
function cleanUp() {
	GEvent.clearInstanceListeners(map);
	for (var i = 0; i < nuEvents.length ; i++) {
		removeEvent( nuEvents[i] );
	}
	nuEvents = [];
}

var nuEvents = [];
var ver;