
GMapsSimple = {};
Import.clone(GMaps, GMapsSimple);

GMapsSimple.linkToInstitution = '?str={str}&id={id}';
GMapsSimple.divMapId= 'mapBox';
GMapsSimple.map 	= null;
GMapsSimple.Icon 	= '';
GMapsSimple.X 		= 0;
GMapsSimple.Y 		= 0;
GMapsSimple.ZOOM 	= 13;
GMapsSimple.iconWidth	= 36;
GMapsSimple.iconHeight  = 42;
GMapsSimple.mapContainer = {
	  'height' : 0,
	  'width'  : 0
};
GMapsSimple.point  = {};
GMapsSimple.labels = {
	  'more' 	: ''
};

//Main initialization
GMapsSimple.init = function() {
    if(GBrowserIsCompatible()){
        GMapsSimple.map = new GMap2(document.getElementById(GMapsSimple.divMapId));        GMapsSimple.map.setCenter(new GLatLng(GMapsSimple.X, GMapsSimple.Y), GMapsSimple.ZOOM);
        GMapsSimple.map.addControl(new GMapTypeControl());
        GMapsSimple.map.addControl(new GLargeMapControl3D());
        GMapsSimple.map.enableDoubleClickZoom();
        GMapsSimple.map.enableScrollWheelZoom;
        GMapsSimple.map.enableContinuousZoom
        GMapsSimple.setMapTypes();
        GMapsSimple.addMarker();
    }
};
//Create marker on map
GMapsSimple.addMarker = function() {
	var icon 			  = new GIcon();
	icon.image			  = '../data/mapIcons/' + GMapsSimple.Icon;
	icon.shadow			  = '';
	icon.iconSize 		  = new GSize(GMapsSimple.iconWidth,GMapsSimple.iconHeight);
	icon.iconAnchor 	  = new GPoint(18,42);
	icon.infoWindowAnchor = new GPoint(18,0);

	var marker  = new GMarker(new GLatLng(GMapsSimple.X, GMapsSimple.Y),{icon: icon});
	marker.info = GMapsSimple.setContent();
	GEvent.addListener(marker, 'click', function(a, b){
	       marker.openInfoWindowHtml(marker.info);
	});
	marker.openInfoWindowHtml(marker.info);
	GMapsSimple.map.addOverlay(marker);
};

//Create content for marker;GMapsSimple.setContent = function() {
		var content = '<div class="marker_title"><b>' + GMapsSimple.point.name + '</b></div>';
		content += '<div>' + GMapsSimple.point.address + '</div>';
		if(GMapsSimple.point.phone != ''){
			content += '<div>tel.: ' + GMapsSimple.point.phone + '</div>';
		}
		if(GMapsSimple.point.fax != ''){
			content += '<div>fax: ' + GMapsSimple.point.fax + '</div>';
		}
		if(GMapsSimple.point.email != ''){
			content += '<div>e-mail: <a href="mailto:' + GMapsSimple.point.email + '">' + GMapsSimple.point.email + '</a></div>';
		}
		if(GMapsSimple.point.link != ''){
			content += '<div>www: <a href="' + GMapsSimple.point.link + '" target="_blank">' + GMapsSimple.point.link + '</a></div>';
		}
		if(GMapsSimple.point.pageId != '' && GMapsSimple.point.institutionId != ''){
			var href = GMapsSimple.linkToInstitution;
			href = href.replace('{str}', GMapsSimple.point.pageId);
			href = href.replace('{id}', GMapsSimple.point.institutionId);
		}
		content = '<div class="marker_window">' + content + '</div>';
		return content;
};

//Set map types
GMapsSimple.setMapTypes = function(){
	var mapTypes = GMapsSimple.map.getMapTypes();
	mapTypes[0].getName = function(){
	    return 'Mapa';
	}
	mapTypes[1].getName = function(){
	    return 'Satelita';
	}
	mapTypes[2].getName = function(){
	    return 'Hybryda';
	}
};

//Show/hide map
GMapsSimple.showHideMap = function () {
	var mapContainer = document.getElementById('mapContainer');
  	if(mapContainer.style.visibility=="hidden"){
  		mapContainer.style.visibility = "visible";
		mapContainer.style.position = "relative";		
  		mapContainer.style.height =  GMapsSimple.mapContainer.height;
  		mapContainer.style.width  =  GMapsSimple.mapContainer.width;
  	} else {
  		mapContainer.style.visibility = "hidden";
		mapContainer.style.position = "absolute";
  		mapContainer.style.height = '0px';
  		mapContainer.style.width  = '0px';
  	}
}

