
var markerMap = new Array();

function initializeMap(id) {
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById(id));
		map.setUIToDefault(); 
		map.setCenter(new GLatLng(0, 0), 0);
		geocoder = new GClientGeocoder();
	} 
}

function clickMarker(oid, iconPath, changeTab){
	openMarkerAndCreateText(oid, iconPath, changeTab);
}

function openRouteInWindow(oid){
	var googleLink = "http://maps.google.com/maps";
	var partnerObj = markerMap[oid];
	
	var streetNNumber = partnerObj["streetNNumber"];
	var plzOrt = partnerObj["plzOrt"];
	var link = googleLink + "?daddr=" + streetNNumber + "," + plzOrt;	
	link = link + "&dirflg=&saddr=&f=d&dq=SOTEC&sll=48.73059,9.016175&sspn=0.251366,0.64888&cid=&ie=UTF8&ll=51.248163,11.887207&spn=7.635285,20.76416&z=6&om=0";
	window.open(link, "print");
}

function openMarkerAndCreateText(oid, iconPath, changeTab){
	var partnerObj = markerMap[oid];
	var marker = partnerObj["marker"];
	var name = partnerObj["name"];
	var streetNNumber = partnerObj["streetNNumber"];
	var tel = partnerObj["tel"];
	var email = partnerObj["email"];
	var plzOrt = partnerObj["plzOrt"];
	var link = partnerObj["link"];
	
	var route = "<a style='padding-top:5px;' href='' onClick='openRouteInWindow(" + oid + "); return false;'><img style='height:40px;' src='/images/route.png'/></a>"
	if (link.indexOf("http") == 0){
	 marker.openInfoWindowHtml(
			 "<div class='gMapsDetail' style='color:black !important;line-height:15px;'><img src='" + iconPath + "' style='margin-bottom:12px'></img>" + "<br/>" + name + "<br/>" + streetNNumber +
			 "<br/>" + plzOrt + "<br/><br/>" + tel + "<br/> <a href='" + link + "'>" + link + "</a></div>"
		 );
	}else{
		 marker.openInfoWindowHtml(
			 "<div class='gMapsDetail' style='color:black !important;line-height:15px;'><img src='" + iconPath + "' style='margin-bottom:12px'></img>" + "<br/>" + name + "<br/>" + streetNNumber +
			 "<br/>" + plzOrt + "<br/><br/>" + tel + "<br/> <a href='" + link + "'>" + link + "</a> " + route + " </div>"
		 );
	}
	if (changeTab){
		$("ul.tabs li").removeClass("active"); //Remove any "active" class
	$("#theTab1").addClass("active"); //Add "active" class to selected tab
	$(".tab_content").hide(); //Hide all tab content
	var activeTab = $("#theTab1").find("a").attr("href"); //Find the href attribute value to identify the active tab + content
	$(activeTab).fadeIn(); //Fade in the active ID content
	}
	
}

function setMarkerForExisting(coordinate, iconPath, name, streetNNumber, plzOrt, oid, tel, email, link){
	coordinate = coordinate.replace("(", "");
	coordinate = coordinate.replace(")", "");
	var pos = coordinate.indexOf(",");
	var lng = coordinate.substring(pos+2, coordinate.length);
	var lat = coordinate.substring(0, pos);
	var new_icon = new GIcon();
	new_icon.image = iconPath;
	new_icon.iconAnchor = new GPoint(36,51)  
	new_icon.infoWindowAnchor = new GPoint(7,7)  
	var opt;  
	opt = {};  
	opt.icon = new_icon;
	var pint = new GLatLng(lat, lng);
	//map.setCenter(pint, 13, G_SATELLITE_MAP);
	map.setCenter(pint, 13);
	var marker = new GMarker(pint, opt);
	 GEvent.addListener(marker, "click", function() {
		 openMarkerAndCreateText(oid, iconPath, false);
       });
	var partnerMap = new Array();
	partnerMap["marker"] = marker;
	partnerMap["name"] = name;
	partnerMap["streetNNumber"] = streetNNumber;
	partnerMap["plzOrt"] = plzOrt;
	partnerMap["oid"] = oid;
	partnerMap["tel"] = tel;
	partnerMap["email"] = email;
	partnerMap["link"] = link;
	markerMap[oid]=partnerMap;
	map.addOverlay(marker);
}

function setCoordinateAndCreateMarker(address, iconPath, objName, OID, name, streetNNumber, plzOrt, tel, email, link){
	
	var new_icon = new GIcon();
	new_icon.image = iconPath;
	new_icon.size = new GSize(16,16);
	new_icon.iconAnchor = new GPoint(8,9)  
	new_icon.infoWindowAnchor = new GPoint(7,7)  
	var opt;  
	opt = {};  

	opt.icon = new_icon;
	geocoder.getLatLng(
		    address,
		    function(point) {
		    	if (!point) {
		    		
		    	} else {
		    	var escaped = escape(point); 
		    	ajaxReplace('saver' , '/jquery/boxalino/coordinateSave.html?client_request_objName=Partner&client_request_OID='+OID + '&client_request_coordinate=' + escaped);
		    	map.setCenter(point, 13);
		    	var marker = new GMarker(point, opt);
		    	map.addOverlay(marker);
		    	GEvent.addListener(marker, "click", function() {
		    		 openMarkerAndCreateText(OID, iconPath, false);
		           });
		    	var partnerMap = new Array();
		    	partnerMap["marker"] = marker;
		    	partnerMap["name"] = name;
		    	partnerMap["streetNNumber"] = streetNNumber;
		    	partnerMap["plzOrt"] = plzOrt;
		    	partnerMap["oid"] = OID;
		    	partnerMap["tel"] = tel;
		    	partnerMap["email"] = email;
				partnerMap["link"] = link;
				 markerMap[OID]=partnerMap;
		    }
		}
	);
}