
var actx;
var acty;
var actz;
var type;

var edit = true;
var listener;
var mark;
var polygon;
var line;
var selected;

	function found(point) {
		actx = point.y;
		acty = point.x;
	}
	
	/* Zakladki do dymka z formularzami */	
	function edform(item) {
		var i=0;
		var ret = Array();
		
		// Opis
		var descDiv = document.createElement('div');
		descDiv.className = 'gpopup';
		descDiv.id = item.id;
		var desc = document.createElement('textarea');
		desc.id = "opis_"+item.id;
		desc.innerHTML = item.desc;
		descDiv.appendChild(desc);
		alldesc[item.id] = descDiv;
		//ret[i] = {label: "Opis", content: descDiv};
		//i++;
		
		// Adres
		var addrDiv = document.createElement('div');
		addrDiv.innerHTML = 'TODO: formularz Adresu';
		//ret[i] = {label: "Adres", content: addrDiv};
		//i++;
		
		if (item.type == 'marker') {
			var icoDiv = markerTab(item);
			ret[i] = {label: "Ikona", content: icoDiv};
			i++;
		}
		if (item.type == 'poly') {
			var polyDiv = polyTab(item);
			ret[i] = {label: "Obszar", content: polyDiv};
			i++;
		}
		if (item.type == 'line') {
			var lineDiv = lineTab(item);
			ret[i] = {label: "Linia", content: lineDiv};
			i++;
		}
		return ret;
	}
	
	function gshow (panel) {
		if (panel && panel != 'reset') {
/*			if ($(panel).style.display == 'none') 
				setTimeout(function(){
					new Effect.BlindDown(panel);
				}, 500); */
/*			if (listener) { 
	    		GEvent.removeListener(listener);
	    		listener = null;
	    	} */
		}
		if (panel == 'marker') {
			selected = panel;
			select("placemark_b");
			if (polygon) { 
				map.removeOverlay(polygon);
			}
			$('ofertyinwestycyjne_typobiektu').value = "marker";
/*			new Effect.BlindUp('poly');
			new Effect.BlindUp('line'); */
		} else if (panel == 'poly'){
			selected = panel;
			select("shape_b");
			if (polygon) { 
				map.removeOverlay(polygon);
			}
			if (mark) map.removeOverlay(mark);
			$('ofertyinwestycyjne_typobiektu').value = "poly";
/*			new Effect.BlindUp('line');
			new Effect.BlindUp('marker'); */
		} else if (panel == 'line'){
			selected = panel;
			select("line_b");
			if (polygon) { 
				map.removeOverlay(polygon);
			}
			if (mark) map.removeOverlay(mark);
			$('ofertyinwestycyjne_typobiektu').value = "line";
/*			new Effect.BlindUp('poly');
			new Effect.BlindUp('marker'); */
		} else if (panel == 'reset') {
/*			if (selected) {
				new Effect.toggle(selected, 'blind');
			} */
		} else {
/*			new Effect.BlindUp('poly');
			new Effect.BlindUp('line');
			new Effect.BlindUp('marker'); */
		}
	}
	
	function placeMarker() {
                if (curro) {
                    curro.places[0].posn = [actx, acty];
		} else {
                    var curro = {"places":[{"posn":[0,0]}]}
		}
  		makeMarker(curro);
  		listener = GEvent.addListener(map, "click", function(overlay, latlng){
                    if (latlng) {
                        mark.setLatLng(latlng);
                        // select("hand_b");
                        found(latlng);
                        if($('ofertyinwestycyjne_lok_x')) $('ofertyinwestycyjne_lok_x').value = latlng.y
                        if($('ofertyinwestycyjne_lok_y')) $('ofertyinwestycyjne_lok_y').value = latlng.x;
                        if($('ofertyinwestycyjne_lok_z')) $('ofertyinwestycyjne_lok_z').value = map.getZoom();
                    }
		});
	}

function select(buttonId) {
//map.clearOverlays();
  $("hand_b").className="unselected";
  $("shape_b").className="unselected";
  $("line_b").className="unselected";
  $("placemark_b").className="unselected";
  $(buttonId).className="selected";
}

function stopEditing() {
  select("hand_b");
}

/* Funkcje wyszukiwarki */
var results = Array();

function addAddressToMap(response) {
    //map.setZoom(10);
    if (!response || response.Status.code != 200) {
        alert("Serwer nie udzielił prawidłowej odpowiedzi (status "+response.Status.code+")");
    } else {
        divs = '';
        if (response.Placemark.size() == 0) {
            alert("Przykro mi, serwer nie zwrócił prawidłowej lokalizacji.\n Sprawdź czy adres jest prawidłowy.");
        } else if (response.Placemark.size() > 1) {
            results = Array();
            var i=0;
            response.Placemark._each(function(place){
                divs = divs+"<span style='cursor: pointer;' onclick='setLocation(results["+i+"]);return true;'>"+(i+1)+". "+place.address+"</span><br/>";
                results.push(place.Point);
                i++;
            });

            if($('resultsToggle')) {
                $('resultsToggle').show();
            }
            if($('results')) {
                $('results').show();
            }
        } else {
            setLocation(response.Placemark[0].Point);
        }
        $('results_out').innerHTML = divs;
    }
}

function setLocation(place) {
	place = new GLatLng(place.coordinates[1],place.coordinates[0]);
	map.setZoom(16);
        map.panTo(place);
	found(place);
        if(mark) { //jezeli mamy jakis marker na mapie przeniesmy go w to miejsce
            mark.setLatLng(place);
        } else { //jezeli mielismy jakis polygon albo polyline naniesmy marker
            placeMarker();
        }
}

function showLocation() {
	var address = $('geoCode').value;
	geocoder.getLocations(address, addAddressToMap);
}

/* Funkcje formularza lokalizacja */

function saveMap() {
	/* Aktualizacja nazwy obiektu (mogła zmienić się przy zapisie) */
	//var id = $('itresc_tbl_1_tresc_iobiekt_id').value;
	//$('2_'+id+'_text').innerHTML =  $('itresc_tbl_1_tresc_nazwa').value;
	//$('2_'+id+'_icon').src = basedir+'/images/ikony/20x20/'+$('iobiekt_ikona').value;
	//$('temp_icon').src = basedir+'/images/ikony/48x48/'+$('iobiekt_ikona').value;
	/* Przepisanie formularza POT	*/
	//rewrite();
	/* 	zapisanie aktualnego zoomu;	*/
	if (map) {
		if ($('ofertyinwestycyjne_typobiektu').value != 'marker') {
			var center = map.getCenter();
			if (Number(center.x)) { $('ofertyinwestycyjne_lok_x').value = center.y; }
			if (Number(center.y)) { $('ofertyinwestycyjne_lok_y').value = center.x; }
		} else { // Przeniesione z found();
			if (Number(actx)) { $('ofertyinwestycyjne_lok_x').value = actx; }
			if (Number(acty)) { $('ofertyinwestycyjne_lok_y').value = acty; }
		} 
		if (Number(map.getZoom())) { $('ofertyinwestycyjne_lok_z').value = map.getZoom(); }
	}
}

function startEdit(x,y,z) {
	//ustawienie domyslnych wartosci dla centrum mapy
		actx = Number($('ofertyinwestycyjne_lok_x').value);
		if(!actx) { 
			//actx = 50.3217923756109;
                        actx = x;
		}
		acty = Number($('ofertyinwestycyjne_lok_y').value);
		if(!acty) { 
			//acty = 19.23980712890625;
                        acty = y;
		}
		actz = Number($('ofertyinwestycyjne_lok_z').value);
		if(!actz) { 
			//actz = 12;
                        actz = z
		}
	/* Skrypt startujacy dzialanie zakladek */
	var tabber1 = new Yetii({ id: 'tab-container-1' });
	var tabber2 = new Yetii({ id: 'tab-container-2',tabclass:'tab2' });
	/* FIXME: Odpalanie mapy - można by to było na zakładce zostawić... */
	//startmap();
}

function startmap(x,y,z) {
	type = $('ofertyinwestycyjne_typobiektu').value;
	if (type == '' || type == 'marker' || $('ofertyinwestycyjne_vectors').value == '') {
		
		//ustawienie domyslnych wartosci dla centrum mapy
		actx = Number($('ofertyinwestycyjne_lok_x').value);
		if(!actx) { 
			//actx = 50.3217923756109;
                        actx = x;
		}
		acty = Number($('ofertyinwestycyjne_lok_y').value);
		if(!acty) { 
			acty = y;//19.23980712890625;
		}
		actz = Number($('ofertyinwestycyjne_lok_z').value);
		if(!actz) { 
			actz = z;//12;
		}
		
                checkMap();
		type = 'marker';
		placeMarker();
		gshow('marker');
	} else {
		prepareLatLngFromJson($('ofertyinwestycyjne_vectors').value);
                checkMap();
	}
        
}

function updateMap() {
	map.checkResize();
	map.setCenter(new GLatLng(actx,acty), actz);
}

function geoDialog() {
	//Element.show('geoDialog');
	$('geoCode').value = $('iobiekt_tbl_iobiekt_ulica').value+' '+
		$('iobiekt_tbl_iobiekt_numer').value+', '+
		$('iobiekt_tbl_iobiekt_kod_pocztowy').value+' '+
		$('iobiekt_tbl_iobiekt_miasto').value;
}

