var userpunktLat;
var userpunktLang;
var nemap;
var nemarker;
var netitle;
var necontent;
var neinfowindow;
var negeo;
var neerror = 'Adres nie został odnaleziony';
var punkts;
var nezponizszych = 'Wybierz z poniższych rezultatów';
var neposzukiwany = 'Poszukiwany adres';
var opener;
	function NoMap(){
		loadScript();
	}
	function loadScript(handler) {
			try{
				if (typeof(handler) != 'undefined') {

				}
			}catch(e){
				var handler = 'Googlsmap';
			}
		  try{
			  var script = document.createElement("script");
			  script.type = "text/javascript";
			  script.src = "http://maps.google.com/maps/api/js?sensor=false&callback="+handler;
			  document.body.appendChild(script);
		  }catch(e){
			Wyszukajauto.addFrontError(Wyszukajauto.getTrans('Funkcjonalność czasowo niedostępna'));
				$('#punkt_c').hide();
				$('#punkt_h').unbind();
				$('#punkt_h').click(function(){
					Wyszukajauto.addFrontError(Wyszukajauto.getTrans('Funkcjonalność czasowo niedostępna'));
				});
				ggls = false;
				return;
		  }
		}

	function Googlsmap(divId){
		if (!userpunktLat || !userpunktLang) {
			return;
		}
		if (typeof(divId) == 'undefined') {
			var divId = 'goggls';
		}

		try{
			if (typeof(google.maps) != 'undefined') {

				var latlng = new google.maps.LatLng(userpunktLat,userpunktLang);
				    var myOptions = {
				      zoom: 12,
				      center: latlng,
				      scrollwheel:false,
				      mapTypeId: google.maps.MapTypeId.ROADMAP
				    };
				     nemap = new google.maps.Map(document.getElementById(divId),myOptions);
				     nemarker = new google.maps.Marker({
						 position: new google.maps.LatLng(userpunktLat,userpunktLang),
						 map: nemap,
						 title:netitle,
						 draggable: true
					 });

					 neinfowindow = new google.maps.InfoWindow(
				      { content: necontent,
				        size: new google.maps.Size(50,50),
				        maxWidth: 100,
				        maxHeight: 50
				      });
					neinfowindow.open(nemap,nemarker);
					google.maps.event.addListener(nemarker, 'dragend', function(event) {
						var p = event.latLng.lat()+','+event.latLng.lng();
						Wyszukajauto.setcookie('usloc',p,100);
					});
					negeo = new google.maps.Geocoder();
					if(opener){

						  google.maps.event.addListener(nemap, 'dragend', function() {
							NezmienPolozenieMapy(nemap.getCenter());
							NezmienZoomMapy(nemap.getZoom());
						  });
						google.maps.event.addListener(nemap, 'zoom_changed', function() {
						    NezmienZoomMapy(nemap.getZoom());
						  });
					}
			}else{
				loadScript('Googlsmap');
			}
		}catch(e){
				//Wyszukajauto.addFrontError(Wyszukajauto.getTrans('Brak biblioteki google'));
				//return;
				loadScript('Googlsmap');
		}
	}
	var polska = true;
	function glspokazuj(){
		if(!negeo) return;
		var glspokazuj = $('#gglsin').val();
		var pol = '';
		if (polska && parseInt(glspokazuj)>1){
			pol = ', Polska';
		}

		negeo.geocode({ 'address': glspokazuj+pol},function(punkt, status)
			{
				if (status == google.maps.GeocoderStatus.OK) {
					punkts = punkt;
					if(punkt.length == 1){
						NeWybrane(0)
					}else{
						NeWybierz();
					}
				}else{
					Wyszukajauto.addFrontError(neerror+", error status: " + status.bold());
				}
			});

	}
	function NeWybierz(){
				var tlo = Wyszukajauto.tlo('#000000',true);

				if ($('#gr').length == 0) {
					var srodek = document.createElement('div');
					srodek.id = "gr";
					document.body.appendChild(srodek);
				}else{
					var srodek = document.getElementById('gr');
					$(srodek).show().fadeTo(1,1);
				}
				srodek.style.position = "absolute";
				srodek.style.zIndex = 100;
				srodek.style.left = Math.round((tlo.offsetWidth-459)/2)+"px";
				srodek.style.width = '459px';
				srodek.style.height = 'auto';
				srodek.style.padding = '0px 10px 10px 10px';
				srodek.style.background = '#fff/* url(/img/komunikat.png) center center no-repeat*/';
				//srodek.style.height = \'119px\';
				var txt = '<h2>'+nezponizszych+':</h2>';

				for(var i = 0;i<punkts.length;i++){
					txt += '<div style="cursor: pointer;" class="link" onclick="NeWybrane('+i+');">'+punkts[i].formatted_address;
					for(var z = 0; z<punkts[i].address_components.length; z++){
						txt += ', '+punkts[i].address_components[z].long_name;
					}
					txt += '</div><br />';
				}
				document.getElementById("gr").innerHTML = txt;
				var spa = document.createElement('SPAN');
				$(spa).attr('class','kasuj').css({position: 'absolute',top: '5px',right: '5px'}).click(Wyszukajauto.RemTlo);
				$(srodek).append(spa);
				var hh2 = $(srodek).outerHeight();
				if (!MSIE || version>6) {
					srodek.style.position = "fixed";
					if (MSIE) {
						srodek.style.top = Math.max(0,Math.round((document.documentElement.clientHeight-hh2)/2)-50)+"px";
					}else{
						srodek.style.top = Math.max(0,Math.round((window.innerHeight-hh2)/2)-50)+"px";
					}
				}else{
					srodek.style.top = Math.round((document.documentElement.clientHeight-hh2)/2)-50+$(document).scrollTop()+'px';
				}
			}
	function NeWybrane(ind){
				try{
					Wyszukajauto.RemTlo();
				}catch(e){}
					nemap.setCenter(punkts[ind].geometry.location);
					nemarker.setPosition(punkts[ind].geometry.location);
					neinfowindow.setContent('<div style="color: black; text-align: left;">'+neposzukiwany+':  <br />'+punkts[ind].formatted_address.bold()+'</div>');
					document.getElementById('gglsin').value = punkts[ind].formatted_address;
					var p = punkts[ind].geometry.location.lat()+','+punkts[ind].geometry.location.lng();
					Wyszukajauto.setcookie('usloc',p,100);
					if (opener) {
						NeBierz(ind);
					}
			}
	function NezmienPolozeniePunktu(punkt)
			{
				opener.document.getElementById('pPunktu').value=punkt;
			}
	function NezmienPolozenieMapy(punkt)
		{
			opener.document.getElementById('pMapy').value=punkt;
		}
	function NezmienZoomMapy(punkt)
		{
			opener.document.getElementById('zMapy').value=punkt;
		}
	function NeBierz(ind){
			$('#real_kod').val('');
			$('#real_id').val('');
			$('#kod').val('');
			$('#dealers_numer').val('');
			$('#dealers_ulica').val('');
			Nowa();
			$('#city_id').val('');
			for(var i = 0;i <punkts[ind].address_components.length; i++){
				//alert(punkt[0].address_components[i].types[0]+\' \'+punkt[0].address_components[i].long_name);
				if(punkts[ind].address_components[i].types[0] == 'postal_code'){
					$('#kod').val(punkts[ind].address_components[i].long_name);
					continue;
				}
				if(punkts[ind].address_components[i].types[0] == 'locality'){

					$('#city_id').val(punkts[0].address_components[i].long_name);
					continue;
				}

				if(punkts[ind].address_components[i].types[0] == 'administrative_area_level_1'){
					var vobs = $('#voivoids_id').get(0).options;
					for (var g = 0; g < vobs.length;g++){
						if(vobs[g].text == punkts[ind].address_components[i].long_name.toLowerCase()){
							$('#voivoids_id').get(0).selectedIndex = g;
							g = 0;
							break;
						}
						if(g != 0){
							$('#voivoids_id').val(0);
						}
					}
					continue;
				}
				if(punkts[ind].address_components[i].types[0] == 'country'){
					if (punkts[ind].address_components[i].long_name.toLowerCase() != 'polska'){
						var krajs = $('#kraje_id').get(0).options;
						for (var g = 0; g < krajs.length;g++){
						if(krajs[g].text.toLowerCase() == punkts[0].address_components[i].long_name.toLowerCase()){
							$('#kraje_id').get(0).selectedIndex = g;
							g = 0;
							break;
						}
						if(g != 0){
							$('#kraje_id').val(0);
						}
					}
					}
					continue;
				}
				if(punkts[ind].address_components[i].types[0] == 'street_number'){
					$('#dealers_numer').val(punkts[ind].address_components[i].long_name);
					continue;
				}
				if(punkts[ind].address_components[i].types[0] == 'route'){
					$('#dealers_ulica').val(punkts[ind].address_components[i].long_name);
				}
			}
	}
