// ===============================================================
// CBkort version 2.x, copyright Carl Bro GIS&IT, 2006
// ===============================================================
// $Archive: /Products/CBKort2/development/2.4/standard_patch_01/wwwroot/js/standard/divbox.js $ 
// $Date: 19-02-08 9:15 $
// $Revision: 9 $ 
// $Author: Kpo $
// =============================================================== 

var divboxtitle = "";
var divboxurl = "";
var divboxpersist = false;
var divboxprepared = false;

var closeHandler = null;

function DivBox()
{
    this.left;
    this.top;
    this.minimized = false;
}

DivBox.prototype.setLeft = function(left)
{
    this.left = left;
}

DivBox.prototype.setTop = function(top)
{
    this.top = top;
}

DivBox.prototype.getLeft = function()
{
    return this.left;
}

DivBox.prototype.getTop = function()
{
    return this.top;
}

function prepareDivBox(strTitle, strURL, blnPersist, left, top, width, height)
{
/*
    setCookie ("divboxtitle",strTitle);
    setCookie ("divboxurl",strURL);
    // check if DivBox is already shown
    if (divboxtitle != '' && divboxurl != '')
    {
        setCookie ("divboxleft",getElement('divBox').style.left);
        setCookie ("divboxtop",getElement('divBox').style.top);
        setCookie ("divboxwidth",getElement('divBox').style.width);
        setCookie ("divboxheight",getElement('divBoxcontent').style.height);
    } else
    {
        //Local divBox vars
        var divBoxLeft =  ((left)? left: "200px");
        var divBoxTop =  ((top)? top: "130px");
        var divBoxWidth =  ((width)? width: "355px");
        var divBoxHeight =  ((height)? height: "240px");
        setCookie ("divboxleft",divBoxLeft);
        setCookie ("divboxtop",divBoxTop);
        setCookie ("divboxwidth",divBoxWidth);
        setCookie ("divboxheight",divBoxHeight);
    }
*/
    divboxprepared = true;
}

function showDivBox(strTitle, strURL, blnPersist, left, top, width, height, cHandler)
{
    //Set global divBox vars
    divboxtitle = strTitle;
    divboxurl = strURL;
    divboxpersist = ((blnPersist)? blnPersist: false);

    if(divBox.getLeft())
        left = divBox.getLeft();

    if(divBox.getTop())
        top = divBox.getTop();

    //Local divBox vars
    var divBoxLeft =  ((left)? left: (cbKort.mapX+10)+'px');
    var divBoxTop =  ((top)? top: (cbKort.mapY+10)+'px');
    var divBoxWidth =  ((width)? width: "355px");
    var divBoxHeight =  ((height)? height: "240px");

    //Set box contents
    getElement('divBoxIFrame').src= "about:blank";
    postToTarget(strURL,'divBoxIFrame');
    //setTimeout("getElement('divBoxIFrame').src = '"+strURL+"';",10);
    getElement('divBoxTitle').innerHTML= strTitle;

    //Set box dimensions				  
    getElement('divBoxIFrame').style.height = "100%";
    if (divBoxLeft){getElement('divBox').style.left = divBoxLeft;}
    if (divBoxTop){getElement('divBox').style.top = divBoxTop;}
    if (divBoxWidth){getElement('divBox').style.width = divBoxWidth;}
    if (divBoxHeight){getElement('divBoxcontent').style.height = divBoxHeight;}
    var zi = getElement('divBox').zIndex;
    zi = zi-0;
    if(zi)
        getElement('divBox').style.zIndex = ++zi;

    //And show
    divBox.maximize();
    divBox.displayShow();
    showElement(getElement('divBox'));
    
    //Set closeHandler
    if(cHandler)
        closeHandler = {init:cHandler};
    else
        closeHandler = null;
}

function deleteDivBoxCookies()
{
    deleteCookie ("divboxtitle");
    deleteCookie ("divboxurl");
    deleteCookie ("divboxleft");
    deleteCookie ("divboxtop");
    deleteCookie ("divboxwidth");
    deleteCookie ("divboxheight");
}

function closeDivBox()
{
    divboxtitle = "";
    divboxurl = "";
    getElement('divBoxIFrame').src= "about:blank";
    hideElement(getElement('divBox'));
    getElement('divBoxIFrame').style.height = "0px";
    //deleteDivBoxCookies();

    divBox.setLeft(getElement('divBox').style.left);
    divBox.setTop(getElement('divBox').style.top);
    
    
}

function restoreDivBox()
{
/*
    var ck_divboxtitle = getCookie("divboxtitle");
    var ck_divboxurl = getCookie("divboxurl");
    var ck_divboxleft = getCookie("divboxleft");
    var ck_divboxtop = getCookie("divboxtop");
    var ck_divboxwidth = getCookie("divboxwidth");
    var ck_divboxheight = getCookie("divboxheight");
    if (ck_divboxtitle != null && ck_divboxurl != '')
    {
        showDivBox(ck_divboxtitle, ck_divboxurl, true, ck_divboxleft, ck_divboxtop, ck_divboxwidth, ck_divboxheight);
    }
*/
}
			  
function persistDivBox()
{
/*
    var strURL = "";
    if (divboxprepared == false)
    {
        if (divboxpersist == true && divboxtitle != '' && divboxurl != '')
        {
            if (window.document.getElementById('divBoxIFrame').contentDocument)// Mozilla 
                strURL = window.document.getElementById('divBoxIFrame').contentDocument.location.href;
            else					 
                strURL = document.frames['divBoxIFrame'].location.href;
            setCookie ("divboxtitle",divboxtitle);
            setCookie ("divboxurl",strURL);
            setCookie ("divboxleft",getElement('divBox').style.left);
            setCookie ("divboxtop",getElement('divBox').style.top);
            setCookie ("divboxwidth",getElement('divBox').style.width);
            setCookie ("divboxheight",getElement('divBoxcontent').style.height);
        }
        else
        {
            deleteDivBoxCookies();
        }
    }
*/
}


function divbox_setNewSize(divBoxWidth,divBoxHeight)
{
    if (divBoxWidth)
        getElement('divBox').style.width = divBoxWidth;
    if (divBoxHeight)
        getElement('divBoxcontent').style.height = divBoxHeight;
}

function divbox_callCloseHandler()
{
    if(closeHandler!=null)
    {
        if(closeHandler.init!=null)
            closeHandler.init();
    }
}

DivBox.prototype.displayHide = function()
{
    getElement('divBox').style.display = 'none';
}

DivBox.prototype.displayShow = function()
{
    getElement('divBox').style.display = 'block';
}

DivBox.prototype.minimaximize = function()
{
    if(this.minimized)
        this.maximize();
    else
        this.minimize();

}

DivBox.prototype.minimize = function()
{
    this.minimized = true;
    getElement('minimaximize').src = '/images/standard/buttons/maximizebutton_white.gif';
    getElement('divBoxcontent').style.display = 'none';
}

DivBox.prototype.maximize = function()
{
    this.minimized = false;
    getElement('minimaximize').src = '/images/standard/buttons/minimizebutton_white.gif';
    getElement('divBoxcontent').style.display = 'block';
}


// Movable boxes 
var movableBox_currentId = '';
var movableBox_cloaseHandler = null;

function movableBoxShow(id,handler)
{
    movableBoxHideCurrent();
    getElement(id).style.display = 'block';
    showElement(getElement(id));
    movableBox_currentId = id;
    if(handler)
        movableBox_cloaseHandler = handler;
    else
        movableBox_cloaseHandler = null;
}

function movableBoxHideCurrent()
{
    if(movableBox_currentId)
    {
        getElement(movableBox_currentId).style.display = 'none';
        movableBox_currentId = '';
        if(movableBox_cloaseHandler)
            movableBox_cloaseHandler();
        movableBox_cloaseHandler = null;
    }
}

function movableBoxMiniMaxiMize(contentBoxId,minimaximizeImage)
{
    if(getElement(contentBoxId).style.display == 'none')
        movableBoxMaxiMize(contentBoxId,minimaximizeImage);
    else
        movableBoxMiniMize(contentBoxId,minimaximizeImage);
}

function movableBoxMaxiMize(contentBoxId,minimaximizeImage)
{
    getElement(minimaximizeImage).src = '/images/standard/buttons/minimizebutton_white.gif';
    getElement(contentBoxId).style.display = 'block';
}

function movableBoxMiniMize(contentBoxId,minimaximizeImage)
{
    getElement(minimaximizeImage).src = '/images/standard/buttons/maximizebutton_white.gif';
    getElement(contentBoxId).style.display = 'none';
}



var divBox = new DivBox();