function showServiceDetails(e) {    var elem = Event.element(e);    $$('div.options').each(function(div) {        if(!div.descendantOf(elem.up(0))) div.visualEffect('blind_up',{            duration:0.3        });    });    elem.up(0).select('[class="options"]').each(function(child) {        child.visualEffect('blind_down',{            duration:0.3        });    });}function setup() {    $$('div.options').each(function(div) {        div.hide();    });    $$('div.service a.title').each(function(service) {        Event.observe($(service), 'click', showServiceDetails.bindAsEventListener());    });}function bubble(id,x,y) {    $$('.magic_bubble').each(function(bubble) {        bubble.setStyle({ display: 'none', opacity:1, width:'317px', height:'317px' });    });    document.stopObserving('click');        $('magic_bubble' + id).setStyle({left:x+'px',top:y+'px'});    new Effect.Scale('magic_bubble' + id,100,{      beforeStart:function(effect){        $(effect.element).style.display = 'block';        $(effect.element).setOpacity(0);      },      afterUpdate:function(effect){        $(effect.element).setOpacity(effect.position);      },      afterFinish:function(effect){          document.observe('click', function() {              new Effect.Puff('magic_bubble' + id, {                  duration: .7              })          });      },      scaleFrom:0,      scaleFromCenter:true,      delay: 0.6,      duration: 1.1    });    }function showCategory(categoryId) {    $$('div.options').each(function(opt) {        opt.hide();    });    $$('div.category').each(function(cat) {        cat.hide();    });    $$('.nav .nav_selected').each(function(navlink) {        navlink.className = ''    });	    $(categoryId).appear({        duration: 0.5    });    $('nav_' + categoryId).className = 'nav_selected';	    $$('div.stores div.store, div.stores div.store_irrelevant').each(function(store) {        if(store.select('div.offers span.' + categoryId).length > 0) store.className = 'store';        else store.className = 'store_irrelevant';    });    bubble(Math.round(Math.random()*3) + 1, 250, 180);}
