/* 
   Filename: image_dialog.js
   Author:   Falko Zander, falko@falko-zander.de
   Created:  2007-11-14
   Update:   2007-11-27
   
   Abstract: image dialog control
   
   Notes:
*/

var image_dialog_div_ = null;
var image_dialog_parent_ = null;

function image_dialog() {
    this.fader = new global_fader();
}

image_dialog.prototype.show = function(url, width, height, parentid) {
    if (image_dialog_div_ == null) {
        var div = document.createElement("div");
        document.body.appendChild(div);
        image_dialog_div_ = div;
        image_dialog_div_.id = "image_dialog";
    }

    var e = image_dialog_div_;
    e.style.display = "block";
    e.style.width = width + 20 + "px";
    var THIS = this;

    e.innerHTML = 
            "<table><tr><td></td><td id='image_dialog_close'><img src='/images/basic/close.png' width='12' height='12' alt='close' /></td></tr><tr><td colspan='2' id='image_dialog_image'>" +
            "<img src='" + url + "' width='" + width + "' height='" + height + "' alt='img' />" +
            "</td></tr></table>";

    var c = $('image_dialog_close');
    var i = $('image_dialog_close').getElementsByTagName("img")[0];
    i.onmouseover = function() { i.src = "/images/basic/close_hover.png"; };
    i.onmouseout = function() { i.src = "/images/basic/close.png"; };
    i.onclick = function() { THIS.close_(); }

    var p = $(parentid) || image_dialog_parent_ || null;
    if (p != null) {
        var d = getAbsoluteDimensions(p);
        e.style.left = (p.offsetWidth - e.offsetWidth) / 2 + d.offsetLeft + "px";
        e.style.top = (p.offsetHeight - e.offsetHeight) / 2 + d.offsetTop + "px";
    } else {
        var w = window.innerWidth || document.body.clientWidth;
        var h = window.innerHeight || document.body.clientHeight;
        e.style.left = (w - e.offsetWidth) / 2 + "px";
        e.style.top = (h - e.offsetHeight) / 2 + "px";
    }
    
    this.fader.show();
    var dd = new dragdrop(e);
}
image_dialog.prototype.set_parent = function(id) {
    image_dialog_parent_ = $(id);
}

/* end public interface */

image_dialog.prototype.close_ = function() {
    image_dialog_div_.style.display = "none";
    this.fader.hide();
}

/*
   Copyright Notice:
  
   Copyright 2007, Falko Zander
   ALL RIGHTS RESERVED
   
   UNPUBLISHED -- Use of a copyright notice is precautionary only and
   does not imply publication or disclosure.
   
   THE CONTENT OF THIS WORK CONTAINS CONFIDENTIAL AND PROPRIETARY
   INFORMATION OF FALKO ZANDER. ANY DUPLICATION, MODIFICATION,
   DISTRIBUTION, OR DISCLOSURE IN ANY FORM, IN WHOLE, OR IN PART, IS
   STRICTLY PROHIBITED WITHOUT THE PRIOR EXPRESS WRITTEN PERMISSION OF
   FALKO ZANDER.
*/


