Event.observe(window,'load',init_app); function init_app(event) { var rules = { '#foo': function(el) { el.onkeyup = function() { new googleMap.search(); } } }; Behaviour.register(rules); Behaviour.apply(rules); googleMap.load('50.5833','5.86667'); } var googleMap = { load: function(lati,longi) { if (GBrowserIsCompatible()) { var map = new GMap2($("bar")); map.addControl(new GSmallMapControl()); map.setCenter(new GLatLng(lati,longi),10,G_HYBRID_MAP); new Effect.Appear("bar"); } }, show: function(id) { new Ajax.Updater('bar', './googler.php', { onLoading:function(request) { Element.show('indi'); Element.hide('bar'); }, onComplete:function(request) { Element.hide('indi') new Effect.SlideDown('bar'); }, parameters:'id=' + id, evalScripts:true, asynchronous:true }); }, search: function() { var foo = $F('foo'); if (foo.length<3) { $('liste').innerHTML = ''; Element.hide('liste'); return null; }; new Ajax.Updater('liste', './ajaxer.php', { onComplete:function(request) { Element.show('liste'); }, parameters:'foo=' + encodeURIComponent(foo), evalScripts:true, asynchronous:true }); } }