function tworzMarker(objJsonData) {

	var objIcon 				= new GIcon();
	//objIcon.image 				= baseUrl + "icons/" + objJsonData.mi;
	objIcon.image 				= baseUrl + $('IconsAdr').value + objJsonData.mi;

    if (objJsonData.mi=='foto.png') {
		objIcon.iconSize 			= new GSize(32, 32);
    }else{
		//objIcon.shadow 				= baseUrl + "icons/shadow.png";
		objIcon.iconSize 			= new GSize(16, 28);
		//objIcon.shadowSize 			= new GSize(40, 28);
	}
	objIcon.iconAnchor 			= new GPoint(6, 20);
	objIcon.infoWindowAnchor 	= new GPoint(5, 1);


	/*objIcon.iconSize = new GSize(12, 20);
	objIcon.shadowSize = new GSize(22, 20);
	objIcon.iconAnchor = new GPoint(6, 20);
	objIcon.infoWindowAnchor = new GPoint(5, 1);*/

	var nspMarkerOptions = { icon:objIcon };
	var objMarkerPoint	= new GLatLng(objJsonData.lat, objJsonData.long);

	var objMarker 		= new GMarker(objMarkerPoint, nspMarkerOptions);

	GEvent.addListener(objMarker, "click", function() {

		$('WaitingLabel').style.background = "url('" + baseUrl + "loader_on.gif') no-repeat center";
		var strUrl = baseUrl + "markers.php"
			+ "?id=" + objJsonData.id
			+ "&n=" + $('NetSelection').value
			+ "&b=" + $('BandSelection').value;
			//+ "/v/" + $('ViewMode').value;

		GDownloadUrl(strUrl, function(MarkerData, responseCode) {
			objMarker.openInfoWindowHtml(MarkerData);
			$('WaitingLabel').style.background = "url('" + baseUrl + "loader_off.gif') no-repeat center";
	    });

	});

	return objMarker;

}
function wyswietlLiczbeMarkerow(ResultCount) {

	$('ResultsCount').innerHTML = ResultCount;

    if (ResultCount > 500) {
        $('ResultsCount').style.color 		= 'red';
        $('ZoomDisplayWarning').innerHTML 	= 'Liczba lokalizacji ograniczona do 500, zwiększ zbliżenie';
        $('ResultsCount').innerHTML = '500';
    } else {
        $('ResultsCount').style.color 		= 'black';
        $('ZoomDisplayWarning').innerHTML 	= '<br />';
    }

}

function disableSelectors() {

	//$('WaitingLabel').innerHTML= '<img scr="' + baseUrl + 'loader_on.gif" />';
	$('WaitingLabel').style.background = "url('" + baseUrl + "loader_on.gif') no-repeat center";
	//$('NetworkSelection').disabled 		= true;
	//$('BandSelection_GSM').disabled 	= true;
//	$('BandSelection_GSM900').disabled 	= true;
//	$('BandSelection_GSM1800').disabled = true;
	//$('BandSelection_UMTS').disabled 	= true;
	//$('BandSelection_CDMA').disabled 	= true;
	//$('ViewMode').disabled 				= true;

}

function enableSelectors() {

	//$('NetworkSelection').disabled  	= false;
	//$('BandSelection_GSM').disabled 	= false;
//	$('BandSelection_GSM900').disabled 	= false;
//	$('BandSelection_GSM1800').disabled = false;
	//$('BandSelection_UMTS').disabled 	= false;
	//$('BandSelection_CDMA').disabled 	= false;
	//$('ViewMode').disabled 				= false;
	//$('WaitingLabel').innerHTML= '<img scr="' + baseUrl + 'loader_off.gif" />';
	$('WaitingLabel').style.background = "url('" + baseUrl + "loader_off.gif') no-repeat center";

}



function pobierzMarkery(JsonInput, objMap) {

	objMap.clearOverlays();
	// dodaj marker jak ma byc
	if ($('MarkerLat').value > 0 && $('MarkerLang').value > 0) {
		displayCenterMarker(objMap);
	}
	if (JsonInput != 'undefined' && JsonInput != null && JsonInput != '') {

		var objJsonData = eval("(" + JsonInput + ")");

		for (var i = 0; i < objJsonData.markers.length; i++) {
			var objMarker = tworzMarker(objJsonData.markers[i]);
			objMap.addOverlay(objMarker);
		}

		wyswietlLiczbeMarkerow(objJsonData.markers.length);

	} else {

        enableSelectors();
        wyswietlLiczbeMarkerow(0);

    }

}

function pobrzerzParametryOkna(objMap) {

	var objBounds = objMap.getBounds();
	var intZoom = objMap.getBoundsZoomLevel(objBounds);
	var objCLat = objBounds.getCenter().lat();
	var objCLng = objBounds.getCenter().lng();
	var objNELat = objBounds.getNorthEast().lat();
	var objNELng = objBounds.getNorthEast().lng();
	var objSWLat = objBounds.getSouthWest().lat();
	var objSWLng = objBounds.getSouthWest().lng();

	$("Zoom").value 					= intZoom;
	$("ZoomDisplay").innerHTML 			= intZoom;
	$("CLatLng").value 					= objCLat + "," + objCLng;
	$("NeLatLng").value 				= objNELat + "," + objNELng;
	$("SwLatLng").value 				= objSWLat + "," + objSWLng;
	$("DirectMapLink").value 			= baseUrl + "c/" + objCLat + "," + objCLng + "/z/" + intZoom + "/n/" + $('NetSelection').value + "/b/" + $('BandSelection').value;

	return true;

}

function ladujMarkery(objMap, SearchAddress) {

	//if ($('Zoom').value >= 10) {

		disableSelectors();

		var strUrl = baseUrl + "markers.php"
			+ "?ne=" + $('NeLatLng').value
			+ "&sw=" + $('SwLatLng').value
			+ "&n=" + $('NetSelection').value
			+ "&b=" + $('BandSelection').value;
			//+ "&o=" + $('ViewMode').value;



		GDownloadUrl(strUrl, function(JsonData, responseCode) {
			pobierzMarkery(JsonData, objMap);
			enableSelectors();


	    });
        //enableSelectors();
	//} else {

	//	objMap.clearOverlays();
	//	wyswietlLiczbeMarkerow(0);

	//}

}

function displayCenterMarker(objMap){
	var point = new GLatLng($('MarkerLat').value, $('MarkerLang').value);

	var objIcon = new GIcon();
	objIcon.image			= baseUrl + $('IconsAdr').value + 'cross.png';
	objIcon.shadow			= '';
	objIcon.iconSize		= new GSize(32,32);
	objIcon.iconAnchor		= new GPoint(16,16);
	//objIcon.infoWindowAnchor= new GPoint(16,16);

	var marker = new GMarker(point, objIcon, true);

	objMap.addOverlay(marker);
	/*var objIcon = new GIcon();
	objIcon.image			= 'http://maps.google.com/mapfiles/kml/pal3/icon52.png';
	objIcon.shadow			= '';
	objIcon.iconSize		= new GSize(32,32);
	objIcon.iconAnchor		= new GPoint(16,16);
	objIcon.infoWindowAnchor= new GPoint(16,16);

	var objBounds 	= objMap.getBounds();
	var objMarker 	= new GMarker(objBounds.getCenter(), {icon: objIcon, title: SearchAddress});
	var output 		= '<div id="search_bubble"><p><strong>Odnaleziona lokalizacja:</strong><br /><small>' + SearchAddress + '</small></p><p class="gpsinfo">GPS: ' + objBounds.getCenter().lat() + ',' + objBounds.getCenter().lng() + '</p></div>';

	objMap.addOverlay(objMarker);
	objMarker.openInfoWindowHtml(output);*/
}

function dajMarkery(objMap, SearchAddress) {
	pobrzerzParametryOkna(objMap);
    ladujMarkery(objMap, SearchAddress);
}

function loadMap(lat,lang,zoom){
	if (lat > 0 && lang > 0) {

	}else
	{
		lat = 52.17393169256846;
		lang = 18.8525390625;
		zoom = 6
	}

	rozmiarMapy();
	if (GBrowserIsCompatible()) {
        var objMap = new GMap2(document.getElementById("map"));
		objMap.setCenter(new GLatLng(lat, lang), zoom);
		var MapTypes = objMap.getMapTypes();
		MapTypes[0].getName= function() { return "Mapa";}
		MapTypes[1].getName = function() { return "Satelita";}
		MapTypes[2].getName = function() { return "Hybryda";}
		//MapTypes[3].getName = function() { return "Teren";}
		//objMap.setUIToDefault();
        objMap.addControl(new GLargeMapControl());
		objMap.addControl(new GOverviewMapControl());
		objMap.addControl(new GMapTypeControl());
		objMap.addMapType(G_PHYSICAL_MAP);
		objMap.enableScrollWheelZoom();
        setBandSelection();
        setNetSelection();
		dajMarkery(objMap);
		GEvent.addListener(objMap, "zoomend", function() {
        	dajMarkery(objMap);
        });

        GEvent.addListener(objMap, "dragend", function() {
        	dajMarkery(objMap);
        });
        return objMap;
	}
}

/**
 *
 * @access public
 * @return void
 **/
function setTransSelection(){
	if ($('TransSelection').checked == true) {
		$('IconsAdr').value = 'icons_transparent/';
	}else{
		$('IconsAdr').value = 'icons/';
	}
}

function setBandSelection() {

	var strBand = "";

	if ($('BandSelection_GSM900').checked == true) {
		strBand = strBand + "G9,";
	}

	if ($('BandSelection_GSM1800').checked == true) {
		strBand = strBand + "G18,";
	}

	if ($('BandSelection_UMTS').checked == true) {
		strBand = strBand + "U,";
	}
	if ($('BandSelection_UMTS900').checked == true) {
		strBand = strBand + "U9,";
	}
//	if ($('BandSelection_UMTS850').checked == true) {
//		strBand = strBand + "U85,";
//	}

	if ($('BandSelection_CDMA400').checked == true) {
		strBand = strBand + "C4,";
	}
	if ($('BandSelection_CDMA850').checked == true) {
		strBand = strBand + "C85,";
	}


	$('BandSelection').value = strBand;

}


function setNetSelection() {

	var strNet = "";

	if ($('NetSelection_Plus').checked == true) {
		strNet = strNet + "1,";
	}

	if ($('NetSelection_Era').checked == true) {
		strNet = strNet + "2,";
	}

	if ($('NetSelection_Orange').checked == true) {
		strNet = strNet + "3,";
	}
	if ($('NetSelection_Play').checked == true) {
		strNet = strNet + "6,";
	}

	if ($('NetSelection_Sferia').checked == true) {
		strNet = strNet + "8,";
	}
	if ($('NetSelection_Aero2').checked == true) {
		strNet = strNet + "7,";
	}
	if ($('NetSelection_Mobyland').checked == true) {
		strNet = strNet + "4,";
	}
	if ($('NetSelection_Centernet').checked == true) {
		strNet = strNet + "5,";
	}
	if ($('NetSelection_Zdjecia').checked == true) {
		strNet = strNet + "z,";
	}

	$('NetSelection').value = strNet;

}
function rozmiarMapy(init) {

	var viewportWidth 	= document.viewport.getWidth();
	var viewportHeight 	= document.viewport.getHeight();

	var mapTop		= 140;
	var mapHeight 	= viewportHeight - mapTop;
	var mapLeft		= 230;
	var mapWidth	= viewportWidth - mapLeft;

	$('map').style.position = 'absolute';
	$('map').style.width 	= mapWidth + 'px';
	$('map').style.height 	= mapHeight + 'px';
	$('map').style.left 	= 'auto';
	$('map').style.top 		= 'auto';
	$('map').style.right 	= '0px';
	$('map').style.bottom 	= '0px';
	$('map').style.background = "url('http://bts-gsm.eu/gfx/mapa/loader.gif') no-repeat center";


	$('sidebar').style.position 	= 'absolute';
	$('sidebar').style.width 		= mapLeft + 'px';
	$('sidebar').style.height 	= mapHeight + 'px';
	$('sidebar').style.left 		= '0px';
	$('sidebar').style.top 		= 'auto';
	$('sidebar').style.right 		= 'auto';
	$('sidebar').style.bottom 	= '0px';

	$('header').style.position 	= 'absolute';
	$('header').style.left 		= '2px';
	$('header').style.width 		= mapWidth;
	//$('sidebar').style.padding  = '3px';
	//$('sidebar').style.border 	= '1px';

	document.body.style.overflow='hidden';

}


// map resizer

if (window.attachEvent) { // IE
    window.attachEvent("onresize", function() { rozmiarMapy(); if (this.objMap) { this.objMap.checkResize(); } });
} else {
    window.addEventListener("resize", function() { rozmiarMapy(); this.objMap.checkResize(); }, false);
}

