var ACTSUB = 0;
var ACTSUBK = 0;
var KSHOWN = 0;
var infostr = '';
var markers = new Array();
var positions = new Array();

var dlat = 47.854406;
var dlng = 17.26939;

var rendMap;
var rendPos = new Object();
rendPos.lat = function(){return dlat};
rendPos.lng = function(){return dlng};
var noMap = true;
var openLat = dlat;
var openLng = dlng;

function preOpenMap(id)
{	
	openMap(id);
	$('#header').css({'display':'none'});
}

var AKTINT_INMAP;

function openMap(id)
{
	var isown, iscontribute, isothers, type_prog, type_init, type_annou;
	
	var mapContainer = '\
		<div><img src="/civilek/images/closelabel.gif" alt="" width="66" height="22" class="hand vmid floatright"\
		onclick="jQuery(document).trigger(\'close.facebox\')" />\
		<br class="clear" /></div><hr />\
		<div style="padding:10px; padding-top:0; position:absolute; background-color: white; height: 510px; width: 205px; z-index: 1000; margin-left: 660px;">\
		<h2 class="blue">Szűrők</h2>\
		<br />\
		<input type="hidden" id="intervallum_inmapbegin" name="intervallumbegin" class="input" /> \
		<span class="input intervallum" onclick="show_inmap(\'begin\');" id="intervallum_inmapbegin2" style="width:75px; float:left; height:18px; line-height:18px; margin-right:0px; cursor:pointer;">&nbsp;</span> \
		<div style="float:left; height:24px; line-height:24px;"><b>-tól&nbsp;</b></div> \
		<input type="hidden" id="intervallum_inmapend" name="intervallumend" class="input" /><div style="float:right; height:24px; line-height:24px;"><b>-ig</b></div> \
		<span class="input intervallum" onclick="show_inmap(\'end\');" id="intervallum_inmapend2" style="width:75px; float:left; height:18px; line-height:18px; cursor:pointer;">&nbsp;</span> \
		<div style="text-align: right; padding-top: 2px;"><a href="#" onclick="nulla(\'\')">alaphelyzet</a></div>\
		<br class="clear" />\
		<div id="date_inmap" style="display: none; position:absolute;"></div>\
		<br class="clear" />\
		<div id="tipusnevek">\
		</div>\
		<div style="text-align: center; padding-top: 10px;"><input type="button" value="Keresés" class="button2" onclick="keresszukit();"></div>\
		</div> \
		<div id="maptolto" style="background:#ffffff; padding:20px; position:absolute; z-index:9999; left:320px; margin-top:200px; border:1px solid #cecac3;" align="center"><img src="/civilek/images/mapindicator.gif" alt="" /><br /><br />A térkép töltése folyamatban, kérem várjon...</div>\
		<div class="zoom" id="mapBox" style="width:900px; height:550px; border:1px solid #cecac3;">\
		<div align="center" class="mt40"><img src="/civilek/images/loading.gif" alt="" border="0" width="32" height="32" /></div>\
		</div>\
	';
	jQuery.facebox(mapContainer);
	
	// MAP INIT
	var myLatlng = new google.maps.LatLng(dlat,dlng);
	var myOptions = {
		zoom: 13,
		center: myLatlng,
		scrollwheel:true,
		mapTypeControl:false,
		mapTypeId: google.maps.MapTypeId.ROADMAP
	}
	rendMap = new google.maps.Map(get("mapBox"), myOptions);
	
	var tn = new sendAjax(
		"/civilek/process/publicMapAction.php",
		"action=getTipusok",
		function (responseText)
		{
			$('#tipusnevek').html(responseText);
		}
	);
	
	var ac = new sendAjax(
		"/civilek/process/publicMapAction.php",
		"action=getMarkers&targetid="+id+"&query="+QUERY,
		function (responseText)
		{
			var bounds = new google.maps.LatLngBounds();
			positions = new Array();
			blocks = responseText.split("<<<>>>");
				
			for(i=0; i<(blocks.length-1); i++)
			{
				var item = blocks[i].split("<|>");
				// DEFAULT MARKEREK
				var iconpic = "/civilek/images/markers/rendezveny.png";
				positions[i] = new google.maps.LatLng(parseFloat(item[2]),parseFloat(item[3]));
				bounds.extend(positions[i]);
				markers[i] = new google.maps.Marker({
							position: positions[i],
							map: rendMap,
							icon: iconpic,
							title: ''+item[1]+'',
							draggable: false
				});
				if(item[4]=='1') {
					infoki(markers[i],''+item[7]+'',1,positions[i]);
					
				} else {
					infoki(markers[i],''+item[7]+'',0,positions[i]);
				}
			}
			rendMap.fitBounds(bounds);
			setTimeout(zoomCorrect, 1000);
			
		}
	);
	
	//DATEPICKER
	
	
	$(document).ready(function() {
		
		var now5 = new Date();
		var now6 = new Date();
		$('#date_inmap').DatePicker({
			flat: true,
			format: 'Y.m.d',
			date: [new Date(now5), new Date(now6)],
			position: 'top',
			calendars: 1,
			starts: 1,
			onBeforeShow: function(){
				
				if($('#intervallum_inmap'+AKTINT_INMAP).val()!='') {
					$('#date_inmap').DatePickerSetDate($('#intervallum_inmap'+AKTINT_INMAP).val(), true);
				} else {
					$('#date_inmap').DatePickerSetDate(new Date(now5), true);
				}
				
			},
			onChange: function(formated) {
			
				if(AKTINT_INMAP=='begin') {
					if($('#intervallum_inmapend').val()!='' && formated>$('#intervallum_inmapend').val()) { 
						alert('A kezdő dátum nem lehet nagyobb a zárónál!');
					} else {
						$('#intervallum_inmap'+AKTINT_INMAP).val(formated);
						$('#intervallum_inmap'+AKTINT_INMAP+'2').html(formated);
						$('#date_inmap').DatePickerHide();
					}
				} else {
					if($('#intervallum_inmapbegin').val()!='' && formated<$('#intervallum_inmapbegin').val()) { 
						alert('A záró dátum nem lehet nagyobb a nyitónál!');
					} else {
						$('#intervallum_inmap'+AKTINT_INMAP).val(formated);
						$('#intervallum_inmap'+AKTINT_INMAP+'2').html(formated);
						$('#date_inmap').DatePickerHide();
					}
			
				}
				
			}
			
		});
		$('#date_inmap').DatePickerHide();
		$('#date_inmap').css('display','block'); //ie7 bugfix
	});
	
	
}

function show_inmap(id) {
		AKTINT_INMAP = id;
		
		$('#date_inmap').DatePickerShow();
	}

function nulla(){

	$("#intervallum_inmapbegin").val("");
	$("#intervallum_inmapend").val("");

	$("#intervallum_inmapbegin2").html("");
	$("#intervallum_inmapend2").html("");
}
	
function keresszukit(){
	
	begin=$('#intervallum_inmapbegin').val();
	end=$('#intervallum_inmapend').val();
	
	var tipus="";
	
	$('.vmid_inmap:checked').each(function(i){
	
		tipus+="&tipus[]="+$(this).val();
	
	});
	
	
	
	var nk = new sendAjax(
		"/civilek/process/publicMapAction.php",
		"action=getUjkereses&intervallumbegin="+begin+"&intervallumend="+end+tipus,
		function (responseText)
		{
			if (responseText!="nincstalalat"){
				clearMarkers();
				//alert(responseText);
				var bounds = new google.maps.LatLngBounds();
				positions = new Array();
				blocks = responseText.split("<<<>>>");
					
				for(i=0; i<(blocks.length-1); i++)
				{
					var item = blocks[i].split("<|>");
					// DEFAULT MARKEREK
					var iconpic = "/civilek/images/markers/rendezveny.png";
					positions[i] = new google.maps.LatLng(parseFloat(item[2]),parseFloat(item[3]));
					bounds.extend(positions[i]);
					markers[i] = new google.maps.Marker({
								position: positions[i],
								map: rendMap,
								icon: iconpic,
								title: ''+item[1]+'',
								draggable: false
					});
					if(item[4]=='1') {
						infoki(markers[i],''+item[7]+'',1,positions[i]);
					} else {
						infoki(markers[i],''+item[7]+'',0,positions[i]);
					}
				}
				rendMap.fitBounds(bounds);
				setTimeout(zoomCorrect, 1000);
			}
			else {
			
				alert("Az új keresés nem adott találatot!");
			
			}
		}
	);
	
	
	

}
	
function zoomCorrect() {
	var zoom = rendMap.getZoom();
	rendMap.setZoom(zoom-1);
	get('maptolto').style.display = 'none';
}

// infowindow megjelenítése
function infoki(mark,txt,isopened,position) {
	mark.attachInfoWindow({content:txt},isopened,position);
}

// markerek eltűntetése
function clearMarkers()
{
	rendMap.bubble_.close();
	for(var i=0; i<markers.length; i++)
	{
		markers[i].setMap(null);
		markers[i] = null;
	}
	markers.length = 0; 
}

/*******************************
****	Multi infowindow	****
********************************/
google.maps.Marker.prototype.attachInfoWindow = function (options,isopened,position){
	var map_ = this.getMap();
	map_.bubble_ = map_.bubble_ || new google.maps.InfoWindow();

	google.maps.event.addListener(this, 'click', function () {
		rendMap.setCenter((position));
		map_.bubble_.setOptions(options);
		map_.bubble_.open(map_, this);
	});

	map_.infoWindowClickShutter = map_.infoWindowClickShutter || 
		google.maps.event.addListener(map_, 'click', function () {
		map_.bubble_.close();
	});

	if(isopened==1) {
		rendMap.setCenter((position));
		map_.bubble_.setOptions(options);
		map_.bubble_.open(map_, this);
	}
}

google.maps.Map.prototype.accessInfoWindow = function (){
	this.bubble_ = this.bubble_ || new google.maps.InfoWindow();
	return this.bubble_;
}
