var ecMap = null;
var ecPinLoader = null;
var layer = null;


function GetECMap()
{
	ecMap = new eContent.Map('myMap');
	ecMap.LoadMap();
	ecMap.SetMapStyle(eContent.MapStyle.Road);
	ecMap.SetCenterAndZoom(new VELatLong($("#lat").val(), $("#long").val()), parseInt($("#zoom").val()));

	var pins = parseInt($("#pins").val()); //Anzahl der Pins

	//Wenn manuelle Pins
	if (pins>0) {

		AddPins(pins);

	//aus xml laden
	} else {

		l = new VEShapeLayer();
		var veLayerSpec = new VEShapeSourceSpecification(VEDataType.VECollection, 'CE0586A3CE7E5EAE!302', l);
		ecMap.ImportShapeLayerData(veLayerSpec, OnCustomCollectionLoad, true);
		ecMap.AttachEvent("onendzoom", CheckCollectionLayer);

		ecMap.SetSetupCompleteHandler(OnSetupComplete);
		ecMap.SetPopupOnHover(false);
		ecPinLoader = new eContent.PinLoader(ecMap);

	}

}

function OnSetupComplete()
{
	load_movelomap();
}

// Detailansichte
function AddPins(pins)
{

	var setpin = new Array();

	layer = new VEShapeLayer();

	for (var i = 1; i<=pins; i++) {
		setpin[i] = ecMap.CreatePoiShape(new VELatLong($("#pin_lat" + i).val(), $("#pin_long" + i).val()), $("#typ" + i).val());
		setpin[i].SetTitle($("#pin_title" + i).val());
		setpin[i].SetDescription($("#pin_desc" + i).val());

		layer.AddShape(setpin[i]);
	}

	ecMap.AddShapeLayer(layer);

		ecMap.GetFullscreenLink = function() { return 'http://maps.movelo.com/?CenterLatitude=' + $("#pin_lat1").val() + '&CenterLongitude=' + $("#pin_long1").val() + '&DefaultZoom=5&DefaultThema=5&categoryexpanded=true&MapStyle=t&IgnorePinIDs=1;2;3;4;' };

}


function OnCustomCollectionLoad() {

	for( var i=0; i < l.GetShapeCount(); i++) {

		l.GetShapeByIndex(i).HideIcon();

	}
}

function CheckCollectionLayer(e)
{

	if (l == null) {

		return;

	}

	var z = ecMap.GetZoomLevel();

	if (z > 9)  {

		l.Hide();

    } else {

		l.Show();

	}

}


// movelo.com/Karte/
function load_movelomap() {


	if(layer != null)
     {
        ecMap.DeleteShapeLayer(layer);
        layer = null;
     }

	layer = new VEShapeLayer();

	//ecMap.DisablePins(eContent.PinType.Hotel)
	//ecMap.DisablePins(eContent.PinType.Brauerei)

	var setpin = new Array();

	var int_verleihstation_mit = 0;
	if ($("#verleihstation_karte_verleihstation_mit").attr("checked")) {
		int_verleihstation_mit = 1;
	}

	var int_wechselstation = 0;
	if ($("#verleihstation_karte_wechselstationen").attr("checked")) {
		int_wechselstation = 1;
	}

	if ($("#verleihstation_karte_ausblenden").attr("checked")) {

		$(".karte_verleihstation").attr("disabled", "disabled");

	} else {

		$(".karte_verleihstation").removeAttr("disabled");

		$.post(liveurl + 'inc/ajax.php', { karte: "verleihstationen", region: $("#verleihstation_karte_region").val(), verleihstation_mit: int_verleihstation_mit, wechselstation: int_wechselstation }, function(data){

			var arr_titel = $.phpUnserialize(data.titel);
			var arr_latitude = $.phpUnserialize(data.latitude);
			var arr_longitude = $.phpUnserialize(data.longitude);
			var arr_beschreibung = $.phpUnserialize(data.beschreibung);
			var arr_typ = $.phpUnserialize(data.typ);

			for (var i = 0; i<arr_titel.length; i++) {

				setpin[i] = ecMap.CreatePoiShape(new VELatLong(arr_latitude[i], arr_longitude[i]), arr_typ[i]);

				setpin[i].SetTitle(arr_titel[i]);
				setpin[i].SetDescription(arr_beschreibung[i]);

				layer.AddShape(setpin[i]);

			}

		}, "json");

	}

	if ($("#angebote_karte_ausblenden").attr("checked")) {

		$(".karte_angebote").attr("disabled", "disabled");

	} else {

		$(".karte_angebote").removeAttr("disabled");

		var int_angebote_karte_angebote_mit = 0;
		if ($("#angebote_karte_angebote_mit").attr("checked")) {
			int_angebote_karte_angebote_mit = 1;
		}

		var int_angebote_karte_angebote_ohne = 0;
		if ($("#angebote_karte_angebote_ohne").attr("checked")) {
			int_angebote_karte_angebote_ohne = 1;
		}

		var int_angebote_karte_dauer1 = 0;
		if ($("#angebote_karte_dauer1").attr("checked")) {
			int_angebote_karte_dauer1 = 1;
		}

		var int_angebote_karte_dauer2 = 0;
		if ($("#angebote_karte_dauer2").attr("checked")) {
			int_angebote_karte_dauer2 = 1;
		}

		var int_angebote_karte_dauer3 = 0;
		if ($("#angebote_karte_dauer3").attr("checked")) {
			int_angebote_karte_dauer3 = 1;
		}

		$.post(liveurl + 'inc/ajax.php', { karte: "angebote", region: $("#angebote_karte_region").val(), angebote_karte_angebote_mit: int_angebote_karte_angebote_mit, angebote_karte_angebote_ohne: int_angebote_karte_angebote_ohne, angebote_karte_dauer1: int_angebote_karte_dauer1, angebote_karte_dauer2: int_angebote_karte_dauer2, angebote_karte_dauer3: int_angebote_karte_dauer3 }, function(data){

			var arr_titel = $.phpUnserialize(data.titel);
			var arr_latitude = $.phpUnserialize(data.latitude);
			var arr_longitude = $.phpUnserialize(data.longitude);
			var arr_beschreibung = $.phpUnserialize(data.beschreibung);

			for (var i = 0; i<arr_latitude.length; i++) {

				if (arr_latitude[i] && arr_longitude[i]) {

					setpin[i] = ecMap.CreatePoiShape(new VELatLong(arr_latitude[i], arr_longitude[i]), "Angebote");

					setpin[i].SetTitle(arr_titel[i]);
					setpin[i].SetDescription(arr_beschreibung[i]);

					layer.AddShape(setpin[i]);

				}

			}

		}, "json");

	}

	ecMap.AddShapeLayer(layer);

}

