var gmapsPresent = 1;
var preloadButton = new Image();
var ctaLayer;
preloadButton.src = base_web_dir+'images/button-vyhledat.gif';

function scrollTo(targetObj) {
	targetOffset = targetObj.offset().top;
	$('html,body').animate({scrollTop: targetOffset}, 1000);
}

function initGMap(target) {
	startPreloader();

	var gmap = new google.maps.LatLng(50.087107, 14.434662);
	var gmapOptions = {
		center: gmap,
		zoom : 11,
		mapTypeId: google.maps.MapTypeId.ROADMAP
	};
	var map = new google.maps.Map(document.getElementById(target), gmapOptions);

	refreshInfo($('form.withbubble'));
	return map;

}
function refreshGMap(map,targetForm) {
	startPreloader();

	// Internet explorer support of indexOf functionality
	if(!Array.indexOf){
	    Array.prototype.indexOf = function(obj){
	        for(var i=0; i<this.length; i++){
	            if(this[i]==obj){
	                return i;
	            }
	        }
	        return -1;
	    }
	}

	if($('input#locationPart').val().indexOf('nebo obvod nebo ulice') > 0) {
		$('input#locationPart').val('');
	}

   	var actionUrl = targetForm.attr('action');
   	if(!actionUrl.match('http://')) actionUrl = 'http://vyber-reality.cz'+actionUrl;
   	var serializedForm = targetForm.formSerialize();
   	serializedForm = serializedForm.replace('senddemandhidden=1','');
   	var url = actionUrl+'?kml=1&'+serializedForm;
	

	var targetUrl = actionUrl+'?'+serializedForm;

	if (ctaLayer) {
		ctaLayer.setMap(null);
	}
	ctaLayer = new google.maps.KmlLayer(url);
	sv = map.getStreetView();
	google.maps.event.trigger(sv, 'closeclick');
	google.maps.event.addListener(ctaLayer, 'metadata_changed', stopPreloader);

	ctaLayer.setMap(map);


	$('li.fotoList > a').attr('href', targetUrl.replace('fl=2','fl=0'));
	$('li.tableList > a').attr('href', targetUrl.replace('fl=2','fl=1'));

	//refreshGEarthLink(url);
}

function startPreloader() {
	if($('div#google-map-preloader').get().length==0) {
		$('div#gmap').prepend('<div id="google-map-preloader" style="position: absolute; z-index: 1000;"><img src="'+base_web_dir+'images/loader.gif" /> <p>Vyhledávám nabídky</p></div>');
		$('input.vyhledatbutton').attr('src',base_web_dir+'images/button-vyhledat.gif');
	}
}

function stopPreloader() {
	$('div#google-map-preloader').remove();
}

function refreshInfo(targetForm) {
   	targetForm.ajaxSubmit({
		url:  targetForm.attr('action')+'?ajaxinfo=1',
		type:'post',
		success: function(data){
			if(data != ''){
				$('p.info').html(data);
				$('#bubble').remove();
			}
		}
	});
}

function refreshGEarthLink(url) {
	if($('p.google-earth').get().length==0) {
		$('div.mapList').ready( function() {
			$('div.mapList').after('<p class="google-earth"><a id="gearth-link" href="'+url+'">Zobrazit v Google Earth</a></p>');
		});
	} else {
		$('a#gearth-link').attr('href', url);
	};
}

function submitBind(targetForm, map) {
	targetForm.submit(function() {
	    scrollTo($('ul.mapView'));	
		if( $('#listtypeInput',this).val()!=2 ) {
			return true;
		}
	    refreshGMap(map,targetForm);
		refreshInfo(targetForm);
	    return false;
	});
}


