// ===============================================================
// CBkort version 2.x, copyright Carl Bro GIS&IT, 2006
// ===============================================================
// $Archive: /Products/CBKort2/development/2.3/standard_patch_03/wwwroot/js/standard/dialog.js $ 
// $Date: 11-12-07 11:19 $
// $Revision: 5 $ 
// $Author: Kpo $
// =============================================================== 

function Dialog(title,closeHandler,id)
{
    this.startLeft = (cbKort.mapX+10)+'px';
    this.startTop = (cbKort.mapY+10)+'px';
    this.width = '200px';
    this.title = title;
    this.id = (id ? id : dialogs.length);
    this.n = dialogs.length;
    this.closeHandler = closeHandler;
    var cn = this.check;
    if(cn)
        this.n = cn-1;
    dialogs[this.n] = this;
    this.createDialog();
}

Dialog.prototype.createDialog = function()
{
    var e = getElement('dialog'+this.id);
    if(!e)
    {
        var d = document.createElement('div');
        d.className = 'movablebox';
        d.id = 'dialog'+this.id;
        d.style.display = 'none';
        d.style.left = this.startLeft;
        d.style.top = this.startTop;
        d.style.width = this.width;
        document.body.appendChild(d);
    }
    e = getElement('dialog'+this.id);
    var t = '  <div class="titleBar" onmousedown="dragStart(event, \'dialog'+this.id+'\')">' +
            '    <span class="titleBarText">'+this.title+'</span>' +
            '    <img id="dialog'+this.id+'_mm" class="titleBarButtons" src="/images/standard/buttons/minimizebutton_white.gif" onclick="movableBoxMiniMaxiMize(\'dialog'+this.id+'_content\',this.id);"><img class="titleBarButtons" src="/images/standard/buttons/closebutt.gif" onclick="dialogs['+this.n+'].closeDialog()">' +
            '  </div>' +
            '  <div id="dialog'+this.id+'_content" class="divcontent"></div>';
    e.innerHTML = '';
    e.innerHTML = t;
}

Dialog.prototype.showDialog = function()
{
    showElement(getElement('dialog'+this.id));
    showBlock(getElement('dialog'+this.id));
}
Dialog.prototype.closeDialog = function()
{
    hideElement(getElement('dialog'+this.id));
    hideBlock(getElement('dialog'+this.id));
    if(this.closeHandler)
       this.closeHandler();
}
Dialog.prototype.addContentHTML = function(h)
{
    var ce = getElement('dialog'+this.id+'_content');
    if(ce)
        ce.innerHTML = h;
}
Dialog.prototype.addContentElement = function(e)
{
    var ce = getElement('dialog'+this.id+'_content');
    if(ce)
        ce.appendChild(e);
}
Dialog.prototype.setDialogWidth = function(width)
{
    getElement('dialog'+this.id).style.width = width;
    this.width = width;
}
Dialog.prototype.setDialogPosition = function(dialogleft,dialogtop)
{
    var e = getElement('dialog'+this.id);
    e.style.left = dialogleft;
    e.style.top = dialogtop;
}
Dialog.prototype.check = function()
{
    for(var ndialogs = 0;ndialogs<dialogs.length;ndialogs++)
    {
        if(dialogs[ndialogs].id == this.id)
            return ndialogs+1;
    }
    return false
}

var dialogs = new Array();
