// *** GoogleMaps-Script *** 

schwarm = new GLatLngBounds();

function trim(s) {
	s = s.replace(/(^\s*)|(\s*$)/gi,"");
	s = s.replace(/[ ]{2,}/gi," ");
	s = s.replace(/\n /,"\n");
	return s;
}

function initialize(msg)
{
if (GBrowserIsCompatible()) {

map = new GMap2(document.getElementById("map_canvas"), {size: new GSize(670,480)});
//map.setCenter(new GLatLng(47.3701202,8.5411405), 12 );

var customUI = map.getDefaultUI();
customUI.maptypes.hybrid = false;
map.setUI(customUI);
schwarm = new GLatLngBounds();
var msg2 = msg.split("&");
var frstvalue = trim(msg2[1]);
var flashvars="";
document.getElementById('panorama').innerHTML = p2q_EmbedFlash(msg2[0],'100%','100%','allowFullScreen','true','FlashVars',flashvars);
setRequest(frstvalue,"",msg2[0]);
}}


var formerspot = ""; 

// Creates a marker with info window on mouseover and goes to url onclick
function createMarker(point,link,txt,hot) {

	var redIcon = new GIcon(G_DEFAULT_ICON);
	redIcon.image = "http://gmaps-samples.googlecode.com/svn/trunk/markers/red/blank.png";

if(hot)
{
var compa = trim(hot);
var compb = trim(link);

if(compa==compb)
{
redIcon.image = "http://gmaps-samples.googlecode.com/svn/trunk/markers/green/blank.png";
map.setCenter(point, 17);
}
}
		
	// Set up our GMarkerOptions object

	markerOptions = { icon:redIcon };

        // Set up our GMarkerOptions object
        var marker = new GMarker(point, markerOptions);

if(compa==compb)
{
formerspot = marker;
}
    
        GEvent.addListener(marker, "mouseover", function() {
        marker.openInfoWindowHtml(txt);
          });

	/*GEvent.addListener(marker, "mouseout", function() {
        marker.closeInfoWindow();
          });*/

        GEvent.addListener(marker, "click", function() {
	if(formerspot != ""){
	formerspot.setImage('http://gmaps-samples.googlecode.com/svn/trunk/markers/red/blank.png');}
	marker.setImage('http://gmaps-samples.googlecode.com/svn/trunk/markers/green/blank.png');
	formerspot = marker;
	var flashvars="";
	document.getElementById('panorama').innerHTML = p2q_EmbedFlash(link,'100%','100%','allowFullScreen','true','FlashVars',flashvars);
	map.setZoom(17);
	map.panTo(point);	    
          });

          return marker;
        }


 
        // Add markers to the map 
function populatemap(xmlDoc,startpoint) {
schwarm = new GLatLngBounds();
formerspot = "";
map.clearOverlays();       
var i = 0;
var laenge = xmlDoc.getElementsByTagName('name');
while(i < laenge.length)
{
var txt = xmlDoc.getElementsByTagName('name')[i].firstChild.nodeValue;
var txtb = xmlDoc.getElementsByTagName('link')[i].firstChild.nodeValue;
if(txtb == "*")
{
txtb = "";
}

txt = "<b>"+txt+"</b>"+"<br><a href=\"http://"+txtb+"\" target=\"_new\">"+txtb+"</a>";
var x = xmlDoc.getElementsByTagName('x')[i].firstChild.nodeValue;
var y = xmlDoc.getElementsByTagName('y')[i].firstChild.nodeValue;
var link = xmlDoc.getElementsByTagName('url')[i].firstChild.nodeValue;
i++;
var latlng = new GLatLng(x,y);
schwarm.extend(latlng);
map.addOverlay(createMarker(latlng,link,txt,startpoint));
}
if(!startpoint)
{
var center = schwarm.getCenter();
map.setCenter(center, map.getBoundsZoomLevel(schwarm));
}
}