function set_place(i){
    var admin3=jQuery('input[name|=admin3_'+i+']').val();
    var admin1=jQuery('input[name|=admin1_'+i+']').val();
    var country=jQuery('input[name|=country_'+i+']').val();
    var city=jQuery('input[name|=city_'+i+']').val();
    var lat=jQuery('input[name|=latitude_'+i+']').val();
    var lon=jQuery('input[name|=longitude_'+i+']').val();
    
    jQuery('input[name|=admin3]').val(admin3);
    jQuery('input[name|=admin1]').val(admin1);
    jQuery('input[name|=country]').val(country);
    jQuery('input[name|=city]').val(city);
    jQuery('input[name|=latitude]').val(lat);
    jQuery('input[name|=longitude]').val(lon);
    jQuery('input[name|=locationvalid]').val('1');
    
    map.clearOverlays(); 
    var marker = new GMarker(new GLatLng(lat,lon));
    map.addOverlay(marker);
    map.setCenter(new GLatLng(lat, lon), 11); 
}

function in_array(item,arr) {
    for(p=0;p<arr.length;p++) if (item == arr[p]) return true;
    return false;
}

function initialize(lat_co,long_co,zoom,noMarker,noControls) {
  if (GBrowserIsCompatible()) {
    map = new GMap2(document.getElementById("karte"));
    map.setCenter(new GLatLng(lat_co, long_co), zoom);
    if(noControls != true)
    	{
		map.addControl(new GLargeMapControl3D());
		map.addControl(new GMapTypeControl());	
		}
	
    if(!(lat_co==0 && long_co==0) && noMarker != true){
	    var point = new GLatLng(lat_co,long_co);
		map.addOverlay(new GMarker(point)); 
		}
   
  }
}

function show_adress() {
    var geo = new GClientGeocoder();
    var reasons=[];
    reasons[G_GEO_SUCCESS] = "Success";
    reasons[G_GEO_MISSING_ADDRESS] = "Missing Address: The address was either missing or had no value.";
    reasons[G_GEO_UNKNOWN_ADDRESS] = "Unknown Address: No corresponding geographic location could be found for the specified address.";
    reasons[G_GEO_UNAVAILABLE_ADDRESS]= "Unavailable Address: The geocode for the given address cannot be returned due to legal or contractual reasons.";
    reasons[G_GEO_BAD_KEY] = "Bad Key: The API key is either invalid or does not match the domain for which it was given";
    reasons[G_GEO_TOO_MANY_QUERIES] = "Too Many Queries: The daily geocoding quota for this site has been exceeded.";
    reasons[G_GEO_SERVER_ERROR] = "Server error: The geocoding request could not be successfully processed.";
    var search = jQuery('input[name|=location]').val();
    geo.getLocations(search, function (result){
        if (result.Status.code == G_GEO_SUCCESS) {
            var rlist='<ul id="placelist">';
            var orte=new Array();
            
            for (var i=0; i<result.Placemark.length; i++) {
                if(result.Placemark[i].AddressDetails.Country && result.Placemark[i].AddressDetails.Country.AdministrativeArea){
                        
                    
                    if(result.Placemark[i].AddressDetails.Country.AdministrativeArea.SubAdministrativeArea && result.Placemark[i].AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality)var city=result.Placemark[i].AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality.LocalityName;
                    else var city=result.Placemark[i].address;
                    var admin1=result.Placemark[i].AddressDetails.Country.AdministrativeArea.AdministrativeAreaName;
                    if(result.Placemark[i].AddressDetails.Country.AdministrativeArea.SubAdministrativeArea)var admin3=result.Placemark[i].AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.SubAdministrativeAreaName;
                    else var admin3='';
                    
                    
                }
                else{
                    var city=search;
                    var admin1='';
                    var admin3='';
                }
                var country=result.Placemark[i].AddressDetails.Country.CountryNameCode;
                    var p = result.Placemark[i].Point.coordinates;
                    if(!(in_array(city+','+admin3+','+admin1+','+country,orte))){
                        var j=0;
                        if(j==0)rlist+='<li><input type="radio" name="place" value="place_'+j+'" class="place" checked="checked" onclick="set_place('+j+');"> '+city;
                        else rlist+='<li><input type="radio" name="place" value="place_'+j+'" class="place" onclick="set_place('+j+');"> '+city;
                        if(admin3!='')rlist+=', '+admin3;
                        if(admin1!='')rlist+=', '+admin1;
                        rlist+=', '+country;
                        
                        rlist+='<input type="hidden" name="admin3_'+j+'" value="'+admin3+'">';
                        rlist+='<input type="hidden" name="admin1_'+j+'" value="'+admin1+'">';
                        rlist+='<input type="hidden" name="country_'+j+'" value="'+country+'">';
                        rlist+='<input type="hidden" name="city_'+j+'" value="'+city+'">';
                        rlist+='<input type="hidden" name="latitude_'+j+'" value="'+p[1]+'">';
                        rlist+='<input type="hidden" name="longitude_'+j+'" value="'+p[0]+'">';
                        rlist+='</li>';
                        orte.push(city+','+admin3+','+admin1+','+country);
                        j++;
                    }
                
            }
            rlist+='</ul>';
            jQuery('#lresults').html(rlist);
            if(orte.length>0)set_place(0);
        }
        else {
            var reason="Code "+result.Status.code;
            if (reasons[result.Status.code]) {
                reason = reasons[result.Status.code]
            }
            alert('Could not find "'+search+ '" ' + reason);
        }
    });
} 

function show_form(val){
	//alert(val);
	sforms=document.getElementsByName('sform');
	for (var i = 0; i < sforms.length; ++i){
		sforms[i].style.display='none';
	  }
	jQuery(".sform").css("display","none");
	document.getElementById(val).style.display='inline';
	}
	
function fill_selects(fill,base,subject1,subject2,select_id){
	jQuery.ajax({url: 'http://www.ratemyride.tv/fill_selects.php?fill='+fill+'&base='+base+'&subject1='+subject1+'&subject2='+subject2,cache: false,success: function(html){jQuery("#"+select_id).html(html);
jQuery("#"+select_id).removeAttr('disabled');}});
}	
	
	
function ajax_search(form,div)
   {
   postdata= new Object();
   var inputs = form.getElementsByTagName("input");
   for(i=0;i<inputs.length-1;i++)
       {
       switch(inputs[i].type)
           {
           case "text":
               postdata[inputs[i].name] = inputs[i].value;
           break;
		   
		   case "hidden":
               postdata[inputs[i].name] = inputs[i].value;
           break;
		                 
		   case "password":
               postdata[inputs[i].name] = inputs[i].value;
           break;
           
           case "checkbox":
               if(inputs[i].checked){postdata[inputs[i].name] = inputs[i].value;}
           break;
           }
       }
   var selects = form.getElementsByTagName("select");
     for(i=0;i<selects.length;i++)
       {
       postdata[selects[i].name] = selects[i].options[selects[i].selectedIndex].value;
       }
	var tareas = form.getElementsByTagName("textarea");
     for(i=0;i<tareas.length;i++)
       {
       postdata[tareas[i].name] = tareas[i].value;
       }
   $.post(form.action,postdata,function(data){$("#"+div).html(data);});
   } 
   
/************* SPECIAL GOOGLE MAPS MARKERS *****************/


var images = {
	"Ride":{
		"img":"/googlemaps/car-red_small.png",
		"shadow":"/googlemaps/shadow-car-red_small.png"
		},
	"Club":{
		"img":"/googlemaps/071.png",
		"shadow":"/googlemaps/shadow-071.png"
		},
	"User":{
		"img":"/googlemaps/user-silhouette_small.png",
		"shadow":"/googlemaps/shadow-user-silhouette_small.png"
		},
	"Event":{
		"img":"/googlemaps/event_small.png",
		"shadow":"/googlemaps/shadow-event_small.png"
		},
	"MyPosition":{
		"img":"/googlemaps/user_small.png",
		"shadow":"/googlemaps/shadow-user_small.png"
		},
	"Buddy":{
		"img":"/googlemaps/buddy_small.png",
		"shadow":"/googlemaps/shadow-buddy_small.png"
		},
	"MostWantedRide":{
		"img":"/googlemaps/mostwanted_small.png",
		"shadow":"/googlemaps/shadow-mostwanted_small.png"
		},
	"ClubMember":{
		"img":"/googlemaps/clubmember_small.png",
		"shadow":"/googlemaps/shadow-clubmember_small.png"
		}		
	};

function addMarker(point,type,info) {
    var icon = new GIcon();
    icon.image = imgurl+images[type]["img"];
    icon.shadow = imgurl+images[type]["shadow"];
    icon.iconSize = new GSize(12.0, 12.0);
    icon.shadowSize = new GSize(19.0, 12.0);
    icon.iconAnchor = new GPoint(6.0, 6.0);
    icon.infoWindowAnchor = new GPoint(6.0, 6.0);
        
    var marker = new GMarker(point, icon)
    map.addOverlay(marker);
    if(info){
		GEvent.addListener(marker,'mouseover',function(){marker.openInfoWindowHtml(info);});
	}
}


