$(document).ready(function() { 
   // alert ('geladen');
  //$("input[name='tx_4yourcar_pi2[fkmarke]']").attr('disabled','disabled');
 
  // $("input[name='tx_4yourcar_pi2[fkmarke]']").onchange();
   $("div.tx-4yourcar-pi2 :input[name='tx_4yourcar_pi2[fkbranche]']").change(function () {
               var branche = "";
         
                branche = $(this).val();
				markenfeldsetzen(branche);
        });
        //.change();
		var branche = 0;
        branche = $("div.tx-4yourcar-pi2 :input[name='tx_4yourcar_pi2[fkbranche]']").val();
         markenfeldsetzen(branche);
		
		
		// temporaer submithaendling 
		if (GBrowserIsCompatible()) {
        	geocoder = new GClientGeocoder();
        		
        }
		
		
		
		
		
		
		
		$('#firma-suchen').submit (function(){
			// nur falls mit googlemap kompatibel
			if (GBrowserIsCompatible()) {
										   
					if ($("div.tx-4yourcar-pi2 :input[name='tx_4yourcar_pi2[go]']").val()== 'ok'){
						return true;
					}					   
				$("div.tx-4yourcar-pi2 :input[name='tx_4yourcar_pi2[geo]']").val('');						   
				var ort = 	 $("div.tx-4yourcar-pi2 :input[name='tx_4yourcar_pi2[ortschaft]']").val();	
				var distanz = $("div.tx-4yourcar-pi2 :input[name='tx_4yourcar_pi2[radius]']").val();
										   
				if ( ort != '' && distanz != '0' ){
					bestimmeKoordinaten();
					return false;
				} else {
					return true;
					 
				}	
			//suchform normal abschicken, falls googlemaps nicht unterstuetzt	
			}else{
				
				return true;
				}
							   
		});
	
}); 

function initKarte () {
	if (GBrowserIsCompatible()) {
			map = new GMap2(document.getElementById('googlemap'),{mapTypes:[G_PHYSICAL_MAP,G_NORMAL_MAP]});
			map.setMapType(G_PHYSICAL_MAP);
        	map.addControl(new GSmallMapControl());
        	map.addControl(new GMapTypeControl());
        	map.setCenter(new GLatLng(startGoogleLat, startGoogleLng), startGoogleZoom);	
        }
}


function bestimmeKoordinaten(){
	
	    var address =  $("div.tx-4yourcar-pi2 :input[name='tx_4yourcar_pi2[ortschaft]']").val() + ' ' + googleLand
	
		 geocoder.getLatLng(address, function(latlng) {
					   if (!latlng) {
						  // mittels jquery Fehlermeldung anzeigen
						 // alert ('Adresse nicht bestimmbar');
						   $("div.tx-4yourcar-pi2 :input[name='tx_4yourcar_pi2[go]']").val('');
					   } else {
						// suchkoordinaten speichern   
						 // alert ('lat=' + latlng.lat() +'&lng=' + latlng.lng());
						  $("div.tx-4yourcar-pi2 :input[name='tx_4yourcar_pi2[geo]']").val( latlng.lat() +',' + latlng.lng());
						  $("div.tx-4yourcar-pi2 :input[name='tx_4yourcar_pi2[go]']").val('ok');
						// alert ( $("div.tx-4yourcar-pi2 :input[name='tx_4yourcar_pi2[go]']").val());
						 $('#firma-suchen').submit();
						  
					   }
					 });
		
	
	
	}

function markenfeldsetzen (branche){
			if ( branche == 5 ||  branche == 11 || branche == 23 ){
					 $("div.tx-4yourcar-pi2 :input[name='tx_4yourcar_pi2[fkmarke]']").removeAttr('disabled');
					
				} else {
					$("div.tx-4yourcar-pi2 :input[name='tx_4yourcar_pi2[fkmarke]']").attr({disabled: 'disabled'}).val(0);
					
				}
			
		}
		
		

function showFirma() {
	if (GBrowserIsCompatible()) {
	var html = document.createElement('div');
  //  $(html).appendTo('#googlelocator-list').html(maxRepEntries).addClass('googlelocator-maxentry');
	
	//$('#googlelocator-list').append(html);
	
    map.clearOverlays();
	
	var bounds = new GLatLngBounds();
	
	  var name = mapArr['firma'];
      var address =  mapArr['address'] + '<br />'+mapArr['ort'];
	  
	  var beschreibung =  mapArr['address'] + '<br />'+mapArr['ort'];
	  beschreibung +=  (mapArr['telefon']) ? '<br />' + mapArr['telefon']  : '' ;
	  beschreibung +=  (mapArr['www']) ? '<br />' + mapArr['www']  : '' ;
	  beschreibung +=  (mapArr['email']) ? '<br />' + mapArr['email']  : '' ;
	   
      var point = new GLatLng(parseFloat( mapArr['latitude']),
                              parseFloat( mapArr['longitude']));
	  //alert (markers[i].getAttribute('pic'));
	  var mIcon = new GIcon(G_DEFAULT_ICON,'');

      var marker = createMarker(point, name, beschreibung,mIcon);
	  
      map.addOverlay(marker);
	 
	  bounds.extend(point);
	 
	
	map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds)); 	
	 var html = '<b>' + name + '</b><br />' + beschreibung ;
	marker.openInfoWindowHtml(html);
	}
}




function createMarker(point, name, address,pic) {
  var marker = new GMarker(point,{'title':name,'icon':pic});
  var html = '<b>' + name + '</b><br />' + address ;
  GEvent.addListener(marker, 'click', function() {					   
	marker.openInfoWindowHtml(html);
	
  });
 
  return marker;
}



function bestimmeFirmenkoordinaten(adresse){
		 geocoder.getLatLng(adresse, function(latlng) {
											 
					   if (!latlng) {
						  // mittels jquery Fehlermeldung anzeigen
						 // alert ('Adresse nicht bestimmbar');
					   } else {
						// suchkoordinaten speichern   
						 alert ('lat=' + latlng.lat() +'&lng=' + latlng.lng());
						 var longitude = latlng.lng();
						 var latitude = latlng.lat();
						   mapArr["latitude"]=latitude;
                           mapArr["longitude"]=longitude;
							initKarte();
							showFirma();
					   }
					 });
}


