var initmaps = new Array();
var maps = new Array();
var icons = new Array();
window.onload = function(){
  initmaps.each(function(element){
    window[element]();
  });
}
window.onunload = function(){
  GUnload();
}
function addMarker(mapname, point, title, html, iconname, draggable, url, id) {
  var marker = new GMarker(point, {title: title, icon: icons[iconname], draggable: draggable});
  GEvent.addListener(marker, "click", function() {
    marker.openInfoWindowHtml(html);
  });
  GEvent.addListener(marker, "dragend", function() {
    sendPoint(id,url,this.getPoint(),maps[mapname].getZoom());
    //marker.openInfoWindowHtml("Just bouncing along..."+this.getPoint().toString() );
  }); 
  maps[mapname].addOverlay(marker);
  return marker;
}
function generateIcon(name,icon,iconSize,iconAnchor,shadow,shadowSize,infoWindowAnchor){
  if(typeof(icons[name]) == "undefined"){
    var tmp = new GIcon();
    tmp.shadow = shadow;
    tmp.iconSize = iconSize;
    tmp.shadowSize = shadowSize;
    tmp.iconAnchor = iconAnchor;
    tmp.infoWindowAnchor = infoWindowAnchor;
    tmp.image = icon; 
    icons[name] = tmp;
  }
}
function sendPoint(id,url,point,zoom){
  new Ajax.Updater('map_response_'+id, url+'/point/'+point.toString()+'/gmap_zoomlevel/'+zoom, {asynchronous:true, evalScripts:true, onLoading:function(request, json){$('map_indicator_'+id).show();}, onSuccess:function(request, json){$('map_indicator_'+id).hide()}})
}
