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!349', l);
		ecMap.ImportShapeLayerData(veLayerSpec, OnCustomCollectionLoad, true);
		ecMap.AttachEvent("onendzoom", CheckCollectionLayer);

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

	}

}

function OnSetupComplete()
{
	load_map();
}

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.transromanica.com/?CenterLatitude=' + $("#pin_lat1").val() + '&CenterLongitude=' + $("#pin_long1").val() + '&DefaultZoom=14' };
}

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();

	}

}

function load_map() {

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


	layer = new VEShapeLayer();

	var setpin = new Array();

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

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

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

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


	if(int_kategorie_1 || int_kategorie_2 || int_kategorie_3 || int_kategorie_4){

		$.post(liveurl + 'inc/ajax.php', { karte: "heritage", kategorie_1: int_kategorie_1, kategorie_2: int_kategorie_2, kategorie_3: int_kategorie_3, kategorie_4: int_kategorie_4 }, 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.kategorie);

			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");
	}

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

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

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

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

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

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

	if(int_type_science || int_type_music || int_type_art || int_type_lectures || int_type_exhibitions || int_type_others){
		$.post(liveurl + 'inc/ajax.php', { karte: "event", event_type_science: int_type_science, event_type_music: int_type_music, event_type_art: int_type_art, event_type_lectures: int_type_lectures, event_type_exhibitions: int_type_exhibitions, event_type_others: int_type_others }, 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.kategorie);


			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");
	}

	ecMap.AddShapeLayer(layer);

}


