// Marker-Funktion für alle Content-Provider
function createMarker(group, point, icon, name, html, title) {
	
	var markerOpts = {};
	markerOpts.title = title;
	markerOpts.icon = icon;
	var marker = new GMarker(point, markerOpts);
	
	GEvent.addListener(marker, "click", function() {
		if (!isFull) {
			xxlResizeMap();
		}
	});
	
	GEvent.addListener(marker, "mouseover", function() {
		if (isFull) {
			marker.openInfoWindowHtml(html);
		}
	});
	
	GEvent.addListener(marker, "mouseout", function() {
		//marker.closeInfoWindow();
	});
	
	markerGroups[group].push(marker);
	map.addOverlay(marker);
}

var oldpoint; // damit die einträge nicht übereinander liegen

// Content laden
function loadContent(provider, contentArray) {
	nomarker = false;
	if (provider == "panoramio") {
		var content = contentArray.photos; //JSON Array
	} else {
		var content = contentArray.results; //JSON Array
	}	
	for (i=0; i<content.length; i++) {
		// Gmap Title für Punkt = counter
		title = i;
		// unterschiedliche JSONs parsen
		latitude = content[i].latitude;
		longitude = content[i].longitude;
		if (provider == 'panoramio') {
			content[i].name = 'User: ' + content[i].owner_name;
			content[i].photourl = content[i].photo_file_url;
			content[i].text = content[i].photo_title;
			content[i].linkurl = content[i].photo_url;
		} else if (provider == 'qype') {
			if (content[i].place.title != undefined &&
				content[i].place.address.housenumber != undefined && 
				content[i].place.address.postcode != undefined && 
				content[i].place.address.city != undefined) {
				content[i].name = content[i].place.title;
				content[i].photourl = "";
				content[i].text = content[i].place.address.street + " " + content[i].place.address.housenumber + "<br>" + content[i].place.address.postcode + " " + content[i].place.address.city;
				content[i].linkurl = content[i].place.links[1].href;
				point = content[i].place.point.split(",");
				if (oldpoint !== content[i].place.point) {
					oldpoint = content[i].place.point;
					latitude = point[0];
					longitude = point[1];
				} else {
					latitude = parseFloat(point[0]) + parseFloat(i * Math.random() * 0.005);
					longitude = parseFloat(point[1]) + parseFloat(i * Math.random() * 0.005);
				}
			} else {
				nomarker = true;
			}
		} else if (provider == 'youtube' || provider == 'tiscover' || provider == 'tripsbytips') {
			content[i].name = content[i].name;
		} else {
			content[i].name = 'User: ' + content[i].name;
		}
		// wenn es ein photo gibt
		if (content[i].photourl != "") {
			if (provider == 'panoramio') { big_photourl = content[i].photourl.replace(/square/g, "medium"); }
			if (provider == 'tripadvisor') { big_photourl = content[i].photourl.replace(/photo-t/g, "photo-s");	}
			videourl = "";
			if (provider == 'youtube') {
				videourl = content[i].linkurl.replace(/watch\?v=/g, "v/");
				videourl = videourl.replace(/&feature=youtube_gdata/g, "");
			}
		} else {
			big_photourl = "";
			videourl = "";
		}
		// html aufbauen
		html = '<div style="width:200px;">';
		html += '<div style="width:25px;overflow:hidden;float:left;"><img src="http://www.tirol.at/img/gmaps/logo_' + provider + '_small.gif" border="0"></div>';
		html += '<div style="width:175px;overflow:hidden;text-align:left;font-weight:bold;">' + content[i].name + '</div><br />';
		if (big_photourl != "" && videourl == "") {
			if (provider == 'tiscover' || provider == 'tripsbytips') {
				html += '<div style="width:60px;float:left;padding:5px 5px 5px 0px;"><img src="' + content[i].photourl + '" align="left" width="60" height="60" border="0" alt="' + content[i].name + '" /></div>';				
			} else {
				html += '<div style="width:60px;float:left;padding:5px 5px 5px 0px;"><a href="' + big_photourl + '" rel="lightbox[panoramio]" onclick="myLightbox.start(this);return false;" title="' + content[i].text + '"><img src="' + content[i].photourl + '" align="left" width="60" height="60" border="0" alt="' + content[i].text + '" /></a></div>';	
			}
		}
		if (videourl != "") {
			html += '<div style="float:left;display:inline;text-align:left;"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="200" height="121"><param name="movie" value="' + videourl + '" /><param name="quality" value="high" /><embed src="' + videourl + '" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="200" height="121"></embed></object><br /><br /><a href="' + content[i].linkurl + '" title="' + content[i].name + '" target="_blank"><b>mehr lesen</b></a></div></div>';
		} else {
			html += '<div style="float:left;display:inline;text-align:left;">' + content[i].text + '<br /><br /><a href="' + content[i].linkurl + '" title="' + content[i].name + '" target="_blank"><b>mehr lesen</b></a></div></div>';
		}
		// Gmap icon
		var icon = new GIcon();	
		icon.image = "http://www.tirol.at/img/gmaps/marker_"+provider+".png";
		icon.iconSize = new GSize(20, 34);
		icon.iconAnchor = new GPoint(9, 34);
		icon.infoWindowAnchor = new GPoint(9, 34);											
		//GoogleMaps-Marker erstellen
		var point = new GLatLng(latitude, longitude);
		if (nomarker == false) {
			createMarker(provider, point, icon, name, html, title);
			mapbounds.extend(point);
		}
	}				
	map.setZoom(map.getBoundsZoomLevel(mapbounds));
	clat = (mapbounds.getNorthEast().lat() + mapbounds.getSouthWest().lat()) /2;
	clng = (mapbounds.getNorthEast().lng() + mapbounds.getSouthWest().lng()) /2;
	map.setCenter(new GLatLng(clat,clng));
	//alert(mapbounds);
}