function initialize_inline_edit(){
    $$('span.editable_band').each(function(el){
        el.addEvent('mouseover',function(){
            el.setStyle('cursor','pointer');
        });
        el.addEvent('mouseout',function(){
            el.setStyle('cursor','default');
        });
        el.addEvent('click', function(){
            make_editable(el);
        });
    });
    $$('span.editable_place').each(function(el){
        el.addEvent('mouseover',function(){
            el.setStyle('cursor','pointer');
        });
        el.addEvent('mouseout',function(){
            el.setStyle('cursor','default');
        });
        el.addEvent('click',function(){
            make_drop_down(el);
        });
    });
    $$('span.editable_date').each(function(el){
        el.addEvent('mouseover',function(){
            el.setStyle('cursor','pointer');
        });
        el.addEvent('mouseout',function(){
            el.setStyle('cursor','default');
        });
        el.addEvent('click',function(){
            make_calendar(el);
        });
    });
}
function make_calendar(element){
    element.getParent().setStyle('width',element.offsetWidth);
    textElement = new Element('input', {
        'type': 'text', 
        'value': element.innerHTML,
        'id': 'date',
        'styles': {'width': element.offsetWidth}});
    textElement.inject(element,'before');
    textElement.addEvent('blur', function(){
        make_uneditable(textElement,textElement.value,element);
    });
    calendar = new Calendar({ date: 'F jS' }, { classes: ['dashboard'], direction: 1, onHideComplete: function(){
        make_uneditable(textElement,textElement.value,element);
    }});
    textElement.focus();
    element.dispose();
}
function make_drop_down(element){
    drop_down = new Element('select');
    places.each(function(value,key){
        var el = new Element('option', {'value': key,'html': value});
        if(value == element.innerHTML) el.selected = true;
        el.inerHTML = value;
        el.injectInside(drop_down);
    });
    drop_down.addEvent('blur', function(){
        make_uneditable(drop_down,drop_down.options[drop_down.selectedIndex].text,element);
    });
    drop_down.addEvent('change',function(){
        make_uneditable(drop_down,drop_down.options[drop_down.selectedIndex].text,element);
    });
    drop_down.inject(element,'before');
    drop_down.focus();
    element.dispose();
}
function make_editable(element){
    textElement =  new Element('input',{'type': 'text', 'value': element.innerHTML});
    textElement.inject(element,'before');
    textElement.addEvent('keydown', function(evt) { 
        if(evt.key == 'enter') { 
            this.fireEvent('blur'); 
        } 
    });  
    textElement.addEvent('blur', function(){
        make_uneditable(textElement,textElement.value,element);
    });
    textElement.focus();
    element.dispose();
}

function make_uneditable(element,new_text,original){
    original.innerHTML = new_text;
    original.inject(element,'before');
    element.dispose();
}


