/*******************************************************************************
 * Javascript für GoogleMap
 ******************************************************************************/
var elementId = "Flx_map"; 
var lat       = "17"; 
var lon       = "0";
var zoom      = 2;        // einen Wert von 1 bis ca 17 (nicht in "" setzen)
var markerGroups = { "Firma":[], "Projekt":[], "HF":[],"Fielax":[], "Vessel":[], "Bathy":[]};
var cm_mapMarkers = [];
var cm_mapHTMLS = [];
var cr_mapRoutes = [];
var cr_mapHTMLS = [];
var map;
var userAdded = 1;
var layers = new Array();
var layers_m = new Array();
var k = 0;
var startMarker = null;
var endMarker = null;
var line_layer = [];
var marker_start;
var marker_end;
var id = [];
var vessel_name = [];
var myGeoMarker; // global 
var my_point = new GPoint(0,0)
var addrMarker = new GMarker(my_point); 
var addressSet = true;

var my_url = location.hostname;
if (my_url != "discover.fielax.de"){
	my_url = my_url+"/discover_check";
}

function MainLoad() {
	if (GBrowserIsCompatible()) {
		if (!document.getElementById(elementId)) {
			alert("Fehler: das Element mit der id "+ elementId+ " konnte nicht auf dieser Webseite gefunden werden!");
			return false;
		} else {
			if (lat=="" || isNaN(lat)) {
				lat = "0";
				alert("Fehler: Der Breitengrad(lat) wurde im Skript nicht korrekt eingetragen!\nEin Defaultwert wird deshalb benutzt!");
			}
			if (lon=="" || isNaN(lon)) {
				lon = "0";
				alert("Fehler: Der Längengrad(lon) wurde im Skript nicht korrekt eingetragen!\nEin Defaultwert wird deshalb benutzt!");
			}
			if (typeof zoom == "undefined") {
				zoom = 3;
				alert("Fehler: Die Zoomstufe wurde im Skript nicht korrekt eingetragen!\nEin Defaultwert wird deshalb benutzt!");
			}			
			machfxGmap(elementId, lat, lon, zoom);
			}
    }
}

/**
 * Erstellt die GoogleMap in dem <div>-Bereich mit der übergebenen id
 * @param {Object} id   -im div-Bereich mit dieser id wird die Map dargestellt
 * @param {Object} lat  -Breitengrad 
 * @param {Object} lon  -Längengrad
 * @param {Object} zoom -Zoomstufe 1 bis 17 (ganze Welt bis kleiner Ausschnitt)
 */
 
function machfxGmap(id, lat, lon, zoom) {

	// die Map (für das div mit der id="...")
	//map = new GMap2(document.getElementById("map"))
	map = new GMap2(document.getElementById(id));
	//map = new google.maps.Map(document.getElementById("id")); 
	// mit Zoom (auch noch: GSmallMapControl, GLargeMapControl, GSmallZoomControl, GScaleControl)
    //map.addControl(new GLargeMapControl);
	// mit Typ-Auswahl (auch noch: GMapTypeControl, GHierarchicalMapTypeControl, GOverviewMapControl)
	map.addControl(new GMapTypeControl);
	
	map.addMapType(G_PHYSICAL_MAP); 
	map.addMapType(G_SATELLITE_3D_MAP); 
	//map.addControl(new GScaleControl);
	map.addControl(new GLargeMapControl3D);
	
	//map.addControl(new GOverviewMapControl);
  //  var ovControl = new GOverviewMapControl();
	//map.addControl(ovControl);
  //  ovControl.hide(); 

	if (window.attachEvent) { 
		window.attachEvent("onresize", function() {this.map.onResize()} );
	} else {
		window.addEventListener("resize", function() {this.map.onResize()} , false);
	}
	
	G_PHYSICAL_MAP.getMinimumResolution = function () { return 2 };
	G_NORMAL_MAP.getMinimumResolution = function () { return 2 };
	G_SATELLITE_MAP.getMinimumResolution = function () { return 2 };
	G_HYBRID_MAP.getMinimumResolution = function () { return 2 };

	G_PHYSICAL_MAP.getMaximumResolution = function () { return 20 };
	G_NORMAL_MAP.getMaximumResolution = function () { return 20 };
	G_SATELLITE_MAP.getMaximumResolution = function () { return 20 };
    G_HYBRID_MAP.getMaximumResolution = function () { return 20 }; 
		
	// ((Breitengrad, Längengrad), Zoomstufe, G_NORMAL_MAP/G_SATELLITE_MAP/G_HYBRID_MAP)
	// mapTypes: [ "G_PHYSICAL_MAP", "G_SATELLITE_MAP", "G_HYBRID_MAP", "G_NORMAL_MAP", "OSM_MAP" ]
	map.setCenter(new GLatLng(lat, lon), zoom, G_SATELLITE_MAP );
	map.enableScrollWheelZoom(true);		
	//Einfügen der bathymetrischen Karten und der Schiffspositionen
	add_bathy_maps();
	add_pos_vessel();
	
	//Genereriung und Öffnung der jeweiligen XML-Datei, in der die FIELAX-Referenzdaten, Polarstercruiseinfos und Links zu von anderen Forschungsshiffen inkl. Tracks stehen
	 GDownloadUrl("http://"+my_url+"/php/createRefXml.php", function(data) {
        var xml = GXml.parse(data);
		var markers = xml.documentElement.getElementsByTagName("marker");
		var u = 0;
        for (var i = 0; i < markers.length; i++) {
			var type = markers[i].getAttribute("type");
	        var name = markers[i].getAttribute("name");
	        var address = markers[i].getAttribute("address");
			var picture = markers[i].getAttribute("picture");
			var url = markers[i].getAttribute("url");
			var descr = markers[i].getAttribute("descr");
			var iconimage = markers[i].getAttribute("icon");
			var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
										parseFloat(markers[i].getAttribute("lon")));					
			var object = createMarker(point, name, address, type, picture, descr, url, iconimage, k);
			map.addOverlay(object);
			k++; // ID der Bilder 								
		}
	});	
	
	
	GDownloadUrl("http://"+my_url+"/php/createPsXml.php", function(data) {
        var xml_route = GXml.parse(data);
		var routen = xml_route.documentElement.getElementsByTagName("route");
		
        for (var j = 0; j < routen.length; j++) {
            var camp = routen[j].getAttribute("name");
			var camp_arab = routen[j].getAttribute("camp_arab");
            var url = routen[j].getAttribute("address");
			var chief = routen[j].getAttribute("chief");
			var exp = routen[j].getAttribute("expedition");
			var start = routen[j].getAttribute("start_date");
			var end = routen[j].getAttribute("end_date");
			layers[j] = new Object();
			layers[j]["name"] = camp;
			layers[j]["camp_arab"] = camp_arab;
			layers[j]["exp"] = exp;
			layers[j]["chief"] = chief;			
			// Das Datum muss mit der Zeit durch ein Pluszeichen getrennt sein
			start = start.replace(/\s/,'+');
			end = end.replace(/\s/,'+');			
			layers[j].kml_url = "http://"+my_url+"/php/generate_kml.php?time_start="+start+"&time_end="+end;			
			layers[j].loaded = false;
			layers[j].virgin = true; 
			}								
		for(var layer in layers) {
			addTR(layer, layers[layer].name);
		}
	/*var geoXml = new GGeoXml(layers[routen.length-1].kml_url);
		layers[routen.length-1].geoXml = geoXml;
		map.addOverlay(layers[routen.length-1].geoXml);
		layers[routen.length-1].loaded = 1;
		document.getElementById(routen.length-1).checked = true;*/
	});
	
	
	GDownloadUrl("http://"+my_url+"/php/CreateVesselXml.php", function(data) {
        var xml_route = GXml.parse(data);
		var routen = xml_route.documentElement.getElementsByTagName("route");		
        for (var f = 0; f < routen.length; f++) {
			var camp = routen[f].getAttribute("name");
			var url = routen[f].getAttribute("address");
			var start = routen[f].getAttribute("start_date");
			var end = routen[f].getAttribute("end_date");
			start = start.replace(/\s/,'+');
			end = end.replace(/\s/,'+');
			layers_m[f] = new Object();
			layers_m[f].name = camp;
			layers_m[f].kml_url = "http://"+my_url+"/php/generate_kml_other.php?time_start="+start+"&time_end="+end;
			layers_m[f].loaded = false;
			layers_m[f].virgin = true;	
			layers_m[f].geoXml = new GGeoXml(layers_m[f].kml_url);				
		}								
	});	


//Hinzufügen der jeweiligen Buttons auf der GoogleMaps Karte	
//map.addControl(new ckControl());	
map.addControl(new PolarsternControl());	
//map.addControl(new Status());
//map.addControl(new Legend());
//map.addControl(new FielaxLogo());
map.getDragObject().setDraggableCursor("crosshair"); 

GEvent.addListener(map, "mousemove", current_coord);
GEvent.addListener(map, "click", mapClick);

var ps_doc = document.getElementById("Section_PS");
var fielax_doc = document.getElementById("Section_FIELAX");

  map.addControl(new GZoomControl(
		/* first set of options is for the visual overlay.*/
		{
			nOpacity:.2,
			sBorder:"2px solid red"
		},
		/* second set of optionis is for everything else */
		{
			sButtonHTML:"<img src='./data/img/zoom-button.gif' />",
			sButtonZoomingHTML:"<img src='./data/imag/zoom-button-activated.gif' />",
			oButtonStartingStyle:{width:'24px',height:'24px'}
		},
		/* third set of options specifies callbacks */
		{
			buttonClick:function(){display("Looks like you activated GZoom!")},
			dragStart:function(){display("Started to Drag . . .")},
			dragging:function(x1,y1,x2,y2){display("Dragging, currently x="+x2+",y="+y2)},
			dragEnd:function(nw,ne,se,sw,nwpx,nepx,sepx,swpx){display("Zoom! NE="+ne+";SW="+sw)}
		}
	));
	


//ps_doc.style.display = 'none';
//fielax_doc.style.display = 'none';
		
}

//Hinzufügen der Cruisedaten der Polarstern in eine Tabelle
function addTR(id) {
  var layerTR = document.createElement("tr");
  var inputTD = document.createElement("td");
  var nameTD = document.createElement("td");
  var picTD = document.createElement("td");
  
  var input = document.createElement("input");
  var nameA = document.createElement("a");
  var imageA = document.createElement("a");
  var image = document.createElement("img");
  
  var picture_url = "http://"+my_url+"/data/img/ge.gif";
  var string = "";
  
  string = layers[id].name.substr(0,3);
  
 if (string == "ANT" || string == "ARK"){
	layerTR.id = string;
	nameA.onmouseover = function() {Tip(layers[id].exp+", "+layers[id].chief)};
	nameA.onmouseout = function() {UnTip()};
 }
  else {
	layerTR.id = layers[id].name;
  }
  
  input.type = "checkbox";
  input.id = id;
  input.name = layers[id].name;
  input.onclick = function () { toggleGeoXML(this.id, this.checked) };
  inputTD.appendChild(input);
  
  var name = document.createTextNode(layers[id].name);
  nameA.appendChild(name);
  
  nameA.href = "javascript:toggleGeoXML("+id+", 1)";
  nameTD.appendChild(nameA);
  
  image.setAttribute('src', picture_url);
  image.setAttribute('width', 18);
  image.setAttribute('height', 18);
  imageA.appendChild(image);
  
  //imageA.href = document.createTextNode(layers[id].kml_url);
  imageA.href = layers[id].kml_url;
  picTD.appendChild(imageA);
  
  layerTR.appendChild(inputTD);
  layerTR.appendChild(nameTD);
  layerTR.appendChild(picTD);
  
 if (string == "ANT"){  document.getElementById("sidebarTBODYANT").appendChild(layerTR);  }
 else if (string == "ARK"){  document.getElementById("sidebarTBODYARK").appendChild(layerTR);  }
 else if (string == ""){}
 else {  document.getElementById("sidebarTBODYUSER").appendChild(layerTR); }
}

//Automatischer Zoom zum ausgewählten Track
function zoomToGeoXML(geoXml) {
  var center = geoXml.getDefaultCenter();
  var span = geoXml.getDefaultSpan();
  var sw = new GLatLng(center.lat() - span.lat() / 2,
                       center.lng() - span.lng() / 2);
  var ne = new GLatLng(center.lat() + span.lat() / 2,
                       center.lng() + span.lng() / 2);
  var bounds = new GLatLngBounds(sw, ne);
  map.setCenter(center);
  map.setZoom(map.getBoundsZoomLevel(bounds));
}

function showAddress(){
var geocoder = new GClientGeocoder();
var address = document.GeoSearch.Geoid.value;
  geocoder.getLatLng(
    address,
    function(point) {
      if (!point) {
        alert(address + " not found");
      } else {
		if (addressSet == true){
			map.removeOverlay(addrMarker);
			addressSet = false;
		}
		addrMarker = new GMarker(point);
		map.addOverlay(addrMarker);
		addressSet = true;
        map.setCenter(point, 13);
      }
    }
  );
}

function searchCampaign(){
 var text = document.SearchForm.Campaign.value;
 var i = 0;
 var j = 0;
 input = text.toUpperCase(); 
 
 while(i <= layers.length-2 && j == 0){
	if (input.length > 3){ //Macke (Name)
		if (layers[i].chief.indexOf(input)  != -1){
			toggleGeoXML(i,1);
			document.getElementById(i).checked = true;
			j = 1;
		}
	}
	if (input.length == 4){ // PS40
		if (layers[i].exp.indexOf(input) != -1){
			toggleGeoXML(i,1);
			document.getElementById(i).checked = true;
			j = 1;
		}
	}
	if (input.length > 6){ // 
		if (layers[i].name.indexOf(input) != -1 || layers[i].camp_arab.indexOf(input) != -1){
			toggleGeoXML(i,1);
			document.getElementById(i).checked = true;
			j = 1;
		}
	}
	i++;
	}
	if(j == 0){
	   alert("Campaign, Expedition or Chief "+text+" not found!");
	}
 }


function toggleGeoXML(id, checked) {
	if (layers[id].virgin){
		layers[id].geoXml = new GGeoXml(layers[id].kml_url);
		map.addOverlay(layers[id].geoXml);
		layers[id].virgin = false;			
	}
	if (layers[id].loaded == false){
		document.getElementById(id).checked = true;
		map.addOverlay(layers[id].geoXml);
		layers[id].loaded = true;
		layers[id].geoXml.show();
		layers[id].geoXml.gotoDefaultViewport(map);
	}
    else {
		document.getElementById(id).checked = "";
		layers[id].geoXml.hide();
		layers[id].loaded = false;
    }
}

function toggleExp(checked) {
    for (n = 0; n < layers_m.length; n++) {
		if (layers_m[n].virgin){
			map.addOverlay(layers_m[n].geoXml);
			layers_m[n].virgin = false;			
		}
		if (layers_m[n].loaded == false){
			layers_m[n].geoXml.show();
			layers_m[n].loaded = true;
		} else {
			layers_m[n].geoXml.hide();
			layers_m[n].loaded = false;
		}
	} 
}


function orderOfCreation(marker,b) {
	return 1;
} 

function createMarker(point, name, address, type, picture, descr, url, iconimage,k) {
	icon = new GIcon();
	
	if (type == "Fielax"){
	  icon.image = iconimage;
	//  icon.shadow = "http://"+my_url+"/data/icons/shadow50.png";
	  icon.iconSize = new GSize(15, 15);
	  icon.iconAnchor = new GPoint(5, 17);
	  icon.infoWindowAnchor = new GPoint(5, 17);
	} else if (type == "Projekt" || type == "HF"){
	  icon.image = iconimage;
	  icon.iconSize = new GSize(10, 17);
	  icon.iconAnchor = new GPoint(5, 17);
	  icon.infoWindowAnchor = new GPoint(5, 17);
	  }	else{	 
	  icon.image = iconimage;
	  icon.iconSize = new GSize(10, 17);
	  icon.iconAnchor = new GPoint(5, 17);
	  icon.infoWindowAnchor = new GPoint(5, 17);
	  }

	icon.shadow = "./data/pin_shadow.png"
	icon.shadowSize = new GSize(40, 15); 
	icon.shadowAnchor = new GPoint(5, 17);
	
	var markerOpts = {};
	markerOpts = {"icon": icon, "clickable": true, zIndexProcess:orderOfCreation};
	var my_marker = new GMarker(point, markerOpts);
	
	var a = document.createElement("a");
	var div = document.createElement("div");
	var a2 = document.createElement("a");
	
	//var br = document.createElement("br");
	var image = document.createElement("img");
	var myH3 = document.createElement("h3");
	var location = document.createElement("p");
	var myH5 = document.createElement("h5");
	var txt_loc = document.createTextNode("Location: "+address);
	var title = document.createTextNode(name);
	var text = document.createTextNode(descr);

	a2.setAttribute('href',url);
	a2.setAttribute('target', 'blank')
	a.setAttribute('style','text-align:center');
	
	image.setAttribute('src',picture);
	div.setAttribute('style','vertical-align: middle');

	
	//image.setAttribute('align','center');
	

	
	location.appendChild(txt_loc);
	myH3.appendChild(title);
	myH5.appendChild(text);
	
    a.appendChild(myH3);
	a2.appendChild(image);
	a.appendChild(myH5);
	a.appendChild(location);
	div.appendChild(a2);
	a.appendChild(div);
	//var html = name + b + address + b + href + gf + url + gf + "target='_blank'" + ">"+ "<img src="+gf+picture+gf+"border='0'"+"</a>" + b;

    markerGroups[type].push(my_marker);
	cm_mapMarkers.push(my_marker);
	cm_mapHTMLS.push(a);
    GEvent.addListener(my_marker, "click", function(){
		//map.panTo(point);
		document.getElementById("Inner_Infobox").innerHTML = a.innerHTML;
		//map.openInfoWindowHtml(point,a,{ maxWidth: 300 });
	});
	
	/*var a = document.createElement("a");
	var image = document.createElement("img");
	image.src = picture;
	image.border = "0";
	image.height = "50";
	a.setAttribute("href","javascript:cm_markerClicked('" + k +"')");
    a.appendChild(image);*/
    return my_marker;
}

function toggleGroup(type) {
	for (var i = 0; i < markerGroups[type].length; i++) {
        var my_marker = markerGroups[type][i];
        if (my_marker.isHidden()) {
			my_marker.show();
        }else{
			my_marker.hide();
        }
    } 
}


function cm_markerClicked(markerNum) {
  cm_mapMarkers[markerNum].openInfoWindowHtml(cm_mapHTMLS[markerNum]);
  map.setZoom(8); 
}

function create_track(){
 var from = document.SearchFormTime.time_start.value;
 var to = document.SearchFormTime.time_end.value;
 var m = layers.length;
 
// if (!from || !to){alert("Please enter correct format: DD.MM.YYYY hh:mm");}
 
 time_begin = from.toString();
 time_finish = to.toString();
 
 var begin = checkDate(time_begin);
 var end = checkDate(time_finish);
 
 if (begin != 0 && end != 0){
 
 // Leerzeichen müssen mit "+" ersetzt werden
 //escape(); Umwandlung kodierter String zu unkodiertem String
 
	var correct = DateSequence(begin,end);
	 
	if (correct != "-1"){
		if (correct) url = "http://www.fielax.com/discover_check/php/request_kml.php?time_start="+begin+"&time_end="+end;
		else url = "http://www.fielax.com/discover_check/php/request_kml.php?time_start="+end+"&time_end="+begin;
		
		layers[m] = new Object();
		layers[m].name = time_begin+" - "+time_finish;
		layers[m].kml_url = url;
		layers[m].loaded = false;
		layers[m].virgin = true;
		addTR(m, layers[m].name);
		toggleGeoXML(m,1);
		//var el = document.getElementById("User_layer");
		//el.style.display = '';
		document.getElementById(m).checked = true;
		
		var user = document.getElementById("User_layer");
		user.style.display = '';
		
		document.getElementById("Inner_Infobox").innerHTML = 'Click on the track to receive more information.';
		//user.onclick = function () {toggle('User_layer')};
		// input.onclick = function () { toggleGeoXML(this.id, this.checked) };
		}
 }
}


function DateSequence(begin,end){
	//JJJJ-MM-TT+hh:mm
	begin_jahr_sub = begin.substring(0,4);
	begin_monat_sub = begin.substring(5,7);
	begin_tag_sub = begin.substring(8,10);
	begin_hh_sub = begin.substring(11,13);
	begin_mm_sub = begin.substring(14,16);
	
	var first = new Date(begin_jahr_sub, begin_monat_sub-1,begin_tag_sub, begin_hh_sub, begin_mm_sub);
	var datum1 = Date.parse(first);

	if (isNaN(datum1)){return -1;}
	
	end_jahr_sub = end.substring(0,4);
	end_monat_sub = end.substring(5,7);
	end_tag_sub = end.substring(8,10);
	end_hh_sub = end.substring(11,13);
	end_mm_sub = end.substring(14,16);
	
	var second = new Date(end_jahr_sub, end_monat_sub-1,end_tag_sub, end_hh_sub, end_mm_sub);
	var datum2 = Date.parse(second);
	if (isNaN(datum2)){return -1;}
	// Vergleich welches Datum später ist

	var diff = Math.abs(datum1-datum2);
	if (diff > 10368000000){			          
		alert("Duration too long! Max. duration: 120 days");
		return -1;
	}
	if (datum1 < datum2){return 1;}
	else return 0;
}


function checkDate(time){
 var corr;
 var datum_zeit = time.split(" "); // zB 01.01.2004 12:00
 var datum = datum_zeit[0].split("."); // zB 01.01.2004 
 
 if(datum_zeit.length == 1){
    var zeit = [];
	zeit[0] = "0";
	zeit[1] = "0";
 }
 else if(datum_zeit.length == 2){
	var zeit = datum_zeit[1].split(":"); // zB 12:00
 }
 if (zeit.length == 1){
	zeit[1] = "0";
 }
 // Date: Tag, Monat, Jahr
 var kontrolldatum = new Date(datum[2], datum[1]-1, datum[0], zeit[0], zeit[1]);
 if (kontrolldatum.getDate() != datum[0] || kontrolldatum.getMonth() != datum[1]-1 || kontrolldatum.getFullYear() != datum[2] || kontrolldatum.getHours() != zeit[0] ||kontrolldatum.getMinutes() != zeit[1]) {
	alert("Please enter correct format: DD.MM.YYYY hh:mm");
	return 0;
 } // JJJJ-MM-TT+hh:mm für MySQL-übergabe
 else {
	return corr = datum[2]+"-"+datum[1]+"-"+datum[0]+"+"+zeit[0]+":"+zeit[1];
 }
}

function toggle(obj) {
	var el = document.getElementById(obj);
	if ( el.style.display != 'none' ) {
		el.style.display = 'none';
	}
	else {
		el.style.display = '';
	}
}

function MouseHover(myImgName) {
	document[myImgName].src=eval(myImgName+ '_hover' ).src;
} 

function IsNumeric(sText){
   var ValidChars = "0123456789.-";
   var IsNumber=true;
   var Char;
   for (i = 0; i < sText.length && IsNumber == true; i++){ 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1){
         IsNumber = false;
		 return IsNumber;
         }
    }
   return IsNumber;
}


function gotoCoordinates(){
	var la = document.gotocoord.lat.value;
	var lo = document.gotocoord.lon.value;
	
	lat = IsNumeric(la);
	lon = IsNumeric(lo);
	
	if (lat == true && lon == true){ 
	map.setCenter(new GLatLng(la, lo), 7 );
	}
	else alert("Wrong numeric values!");
}


function Toggle_Polarstern(checked){
var ps_doc = document.getElementById("Section_PS");
	if ( ps_doc.style.display != 'none' ) {
		ps_doc.style.display = 'none';
		var checkbox = document.getElementById("ps_ck");
		checkbox.checked = false;
	}
	else {
		ps_doc.style.display = '';
	}
}

function add_pos_vessel(){

	var my_icon = new GIcon();
	my_icon.image = "http://"+my_url+"/data/icons/star.png";
	my_icon.iconSize = new GSize(16, 16);
	my_icon.iconAnchor = new GPoint(8, 9);
	my_icon.infoWindowAnchor = new GPoint(5, 17);
    
	id[0] = "DBLK";
	id[1] = "DBBH";
	id[2] = "DBND";
	id[3] = "DBCK";
	id[4] = "DBBT";
	
	var v_index = 0;
	for (var i = 0;i < id.length;i++){		
		GDownloadUrl("http://"+my_url+"/php/get_pos_vessel.php?id="+id[i], function(data){
		var ship_data = data.split(",");	
		var	name = ship_data[0];
		var point = new GLatLng(parseFloat(ship_data[1]),parseFloat(ship_data[2]));
		var markerOpts = {"icon": my_icon,"clickable": true,"title": name};
		
		var my_marker = new GMarker(point, markerOpts);
		var a = my_marker.getLatLng();
	
		var html_a = document.createElement("a");
		var html_a2 = document.createElement("a");
		var my_div = document.createElement("div");
		var html_image = document.createElement("img");
		var myH3 = document.createElement("h3");
		var loc = document.createElement("p");
		var myH5 = document.createElement("h5");
		
		var txt_loc = document.createTextNode("Approximate position: Lat: "+a.y+" Lon: "+a.x);
		var title = document.createTextNode(name);
		var text = document.createTextNode("Technical support");
		
		html_a2.setAttribute('href','http://www.fielax.com');
		html_a2.setAttribute("target", "blank");
		html_a.setAttribute('style','text-align:center');		
		my_div.setAttribute('style','vertical-align: middle');
		
		if (name.search(/Alkor/) != -1){html_image.setAttribute('src',"http://"+my_url+"/data/img/Vessel_Alkor.jpg");}
		else if (name.search(/Merian/) != -1){html_image.setAttribute('src',"http://"+my_url+"/data/img/Vessel_Merian.jpg");}
		else if (name.search(/Polarstern/) != -1){html_image.setAttribute('src',"http://"+my_url+"/data/img/Vessel_Polarstern.jpg");}
		else if (name.search(/Meteor/) != -1){html_image.setAttribute('src',"http://"+my_url+"/data/img/Vessel_Meteor.jpg");}
		else if (name.search(/Heincke/) != -1){html_image.setAttribute('src',"http://"+my_url+"/data/img/Vessel_Heincke.jpg");}
		else {html_image.setAttribute('src',"http://"+my_url+"/data/img/Vessel_Heincke.jpg");}
		
		loc.appendChild(txt_loc);
		myH3.appendChild(title);
		myH5.appendChild(text);
		
		html_a.appendChild(myH3);
		html_a2.appendChild(html_image);
		html_a.appendChild(myH5);
		html_a.appendChild(loc);
		my_div.appendChild(html_a2);
		html_a.appendChild(my_div);

		GEvent.addListener(my_marker, "click", function(){
			//map.panTo(point);
			document.getElementById("Inner_Infobox").innerHTML = html_a.innerHTML;
			//map.openInfoWindowHtml(point, html_a);
		});
		map.addOverlay(my_marker);
		markerGroups["Vessel"].push(my_marker);	
		});
	}
}

function add_bathy_maps(){
	var pointSW = new GLatLng(36,-35);
	var pointNE = new GLatLng(39,-28);
	var groundOverlay = new GGroundOverlay(
	   "./data/img/bathy.png", 
	   new GLatLngBounds(pointSW, pointNE));
	map.addOverlay(groundOverlay);
	markerGroups["Bathy"].push(groundOverlay);
	groundOverlay.hide();

	var pointSW = new GLatLng(53,-6.5);
	var pointNE = new GLatLng(55,-2.5);
	var groundOverlay = new GGroundOverlay(
	   "./data/img/bathy_england.jpg", 
	   new GLatLngBounds(pointSW, pointNE));
	map.addOverlay(groundOverlay);
	markerGroups["Bathy"].push(groundOverlay);
	groundOverlay.hide();
}

