var Overlay = {
  width:0,
  height:0,
  open:function(width,height,scroll) {
    width = width || 500;
    height = height || 450;
    scroll = scroll || false;
    if($('overlay')) {
      $E('over-layer-box').setSize(width,height).cssText('overflow:'+(scroll?'auto':'hidden')).center();
      return;
    }
    var s = pageSize(),t=portSize();
    if(s.h<t.h)s.h=t.h
    $$('div').cssText('position:absolute;left:0;top:0;background:#666;zIndex:99;opacity:0.8;filter:alpha(Opacity=80);width:100%').appendAsFirst(
      document.body).css({height:Number(s.h)+'px'}).set('id','overlay').set('onclick',Overlay.close);
    var l=$$('div').cssText('background:url(/files/img/border.png);zIndex:100;padding:15px;position:fixed').addClass('round').appendTo(
      document.body).set('id','over-layer');
    $$('a').appendTo('over-layer').cssText('position:absolute;zIndex:5;left:auto;right:20px;top:-5px;background:#fff;display:block;'+
                                           'color:#000;font-weight:bold;width:24px;height:24px;textAlign:center;'+
                                           'fontSize:16pt;lineHeight:24px;overflow:hidden;border:1px solid #ccc').update('&times;').set('onclick',Overlay.close).set(
                                            'href','javascript:;').addClass('round','gradient-light');
    var c=$$('div').cssText('width:'+width+'px;height:'+height+'px;overflow:'+(scroll?'auto':'hidden')+';background:#fff').appendTo('over-layer').addClass('round').set('id','over-layer-box');
    l.center();
  },
  close:function(){
    if($('overlay')) $('overlay').destroy();
    if($('over-layer')) $('over-layer').destroy();
  },
  visible:function() {
    return ($('over-layer')!=null);
  },
  load:function(u,width,height,scroll){
    Overlay.open(width,height,scroll);
    $E('over-layer-box').cssText('background:#fff url(/files/img/ajax-loader.gif) no-repeat center');
    js.ajax.request({url:u,target:'over-layer-box',onSuccess:function(){$E('over-layer-box').cssText('background:#fff url()');}});
  }
};

var MessageDlg = {
  edit:null,
  value:'',
  open:function(param) {
    if(!param.ask || !param.buttons) return;
    
    var s = pageSize();
    //$$('div').cssText('position:absolute;left:0;top:0;background:#666;zIndex:99;opacity:0.8;filter:alpha(Opacity=80);width:100%').appendAsFirst(
    //  document.body).css({height:Number(s.h)+'px'}).set('id','overlay').set('onclick',Overlay.close);
    var l=$$('div').cssText('background:url(/files/img/border.png);zIndex:100;padding:30px 5px 5px 5px;position:fixed').addClass('round').appendTo(
      document.body).set('id','over-layer');
    
    $$('div').appendTo(l).cssText('position:absolute;zIndex:5;float:left;left:10px;top:8px;color:#fff;fontSize:11px;fontWeight:bold').update(param.title || 'Mensagem');
    
    $$('a').appendTo('over-layer').cssText('position:absolute;zIndex:5;left:auto;right:10px;top:0px;color:#fff;display:block;'+
                                           'fontWeight:bold;width:20px;lineHeight:25px;textAlign:center;'+
                                           'fontSize:22px;overflow:hidden').update('&times;').set('onclick',Overlay.close).set('href','javascript:;');
    
    var c=$$('div').cssText('width:500px;height:200px;overflow:hidden;background:#fff').appendTo('over-layer').addClass('round','MessageDlg').set('id','over-layer-box');
    l.center().cssText('top:100px');
    c.cssText('height:auto');
    $$('div').appendTo(c).addClass('title').update(param.ask);
    var ed = $$('div').addClass('edit').appendTo(c);
    MessageDlg.edit = $$('input').appendTo(ed).addClass('round').set('value',param.value||'');
    MessageDlg.edit.focus();
    MessageDlg.edit.onchange = function(){MessageDlg.value = this.value;};
    var bt = $$('div').addClass('buttons').appendTo(c);
    var b = param.buttons;
    for(var i=0;i<b.length;i++) {
      $$('a').addClass('gradient','round','link-button','shadow').update(b[i].lbl).set('onclick',b[i].cback).appendTo(bt).set('href','javascript:;');
    }
  }
};
