window.addEvent('domready', function() {
    $$('.opendialog').each(function(el){
        el.addEvent('click', function(e) {
            var dialog_name=el.getProperty("name");
            var dialog_x=(new Event(e).page.x)-10;
            var dialog_y=(new Event(e).page.y)+1;
            var dialog_el=$(dialog_name);
            dialog_el.setStyles("display:block;opacity:0;top:"+dialog_y+"px;left:"+dialog_x+"px");
            var d_dim = dialog_el.getCoordinates();
            if ((d_dim['left']+d_dim['width'])>Window.getWidth())
            {
                dialog_x=Window.getWidth()-d_dim['width'];
                dialog_el.setStyles("display:block;opacity:0;top:"+dialog_y+"px;left:"+dialog_x+"px");
            }
            var appear = new Fx.Style(dialog_el, 'opacity', {duration:700});
            appear.start(0,1);
            new Event(e).stop();
        });
    });
    
    $$('.opendialog-ajax').each(function(el){
        el.addEvent('click', function(e) {
            var dialog_name=el.getProperty("name");
            var dialog_url=el.getProperty("href");
            var dialog_x=(new Event(e).page.x)-20;
            var dialog_y=(new Event(e).page.y)+1;
            var dialog_el=$(dialog_name);
            dialog_el.setStyles("display:block;opacity:0;top:"+dialog_y+"px;left:"+dialog_x+"px");
            var d_dim = dialog_el.getCoordinates();
            if ((d_dim['left']+d_dim['width'])>Window.getWidth())
            {
                dialog_x=Window.getWidth()-d_dim['width'];
                dialog_el.setStyles("display:block;opacity:0;top:"+dialog_y+"px;left:"+dialog_x+"px");
            }
            var appear = new Fx.Style(dialog_el, 'opacity', {duration:1300, onComplete : function(e) {
                new Ajax(dialog_url, { method : 'get', update:dialog_el.getElement('p.content')}).request();
            }});
            appear.start(0,1);
            new Event(e).stop();
        });
    });
});

function dialogClose(name)
{
    var dialog_el=$(name);
    var appear = new Fx.Style(dialog_el, 'opacity', {duration:1200, onComplete : function(e) {
        dialog_el.setStyles("display:none;top:0;left:0;");
    }});
    appear.start(1,0);
    return false;
}

function acceptDialog(name)
{
    alert('Dialog "'+name+'" was accepted.');
    return dialogClose(name);
}

function cancelDialog(name)
{
    alert('Dialog "'+name+'" was refused.');
    return dialogClose(name);
}