//---------------------------------------------------------------------
// File: popup1.js  Date:31-07-2006
// (c) Copyright 2004, JO Informatik Aps, http://www.jo-informatik.dk/
//---------------------------------------------------------------------
function jsGlobals() {}if (!jsGlobals) var jsGlobals = new jsGlobals();if (!jsGlobals.browserDetector) { try { jsGlobals.browserDetector = new browserDetector(); } catch(e) { alert('browserDetector not loaded. \n\nbrowserDetector script reference must be placed before popUp script reference.') }}if (!jsGlobals.toolManDrag) { try { jsGlobals.toolManDrag = ToolMan.drag(); } catch(e) { alert('dragall not loaded. \n\ndragall script reference must be placed before popUp script reference.') }}function popUp(boxHandleID,dragHandleID,contentHandleID, visible,title,boxWidth,contentHeight,buttonCloseEnabled,buttonMinimizeEnabled,buttonHelpEnabled, boxCssClass,dragCssClass,contentCssClass,padding,boxBorder) {    var self = this; var _browserDetector = null; var _boxElement = null; var _dragElement = null; var _contentElement = null; var _closeButton = null; var _minimizeButton = null; var _helpButton = null; var _group = null; var _isMinimized = false; var _isVisible = null;    this.closeButton_GS = ppFct_closeButton; this.minimizeButton_GS = ppFct_minimizeButton; this.group_GS = ppFct_group; this.boxElement_GS = ppFct_boxElement; this.dragElement_GS = ppFct_dragElement; this.contentElement_GS = ppFct_contentElement; this.isMinimized_GS = ppFct_isMinimized; this.isVisible_GS = ppFct_isVisible;          this.Show = pmFct_Show; this.Hide = pmFct_Hide; this.Minimize = pmFct_Minimize; this.Maximize = pmFct_Maximize;    this.OnBeforeShow = null; this.OnAfterShow = null; this.OnBeforeHide = null; this.OnAfterHide = null; this.OnBeforeMinimize = null; this.OnAfterMinimize = null; this.OnBeforeMaximize = null; this.OnAfterMaximize = null; this.OnHelpButtonClick = null;    function ppFct_closeButton() { if (arguments.length) {alert('"closeButton" is read-only');} else {return _closeButton;} } function ppFct_minimizeButton() { if (arguments.length) {alert('"minimizeButton" is read-only');} else {return _minimizeButton;} } function ppFct_group() { if (arguments.length) {alert('"group" is read-only');} else {return _group;} } function ppFct_boxElement() { if (arguments.length) {alert('"boxElement" is read-only');} else {return _boxElement;} } function ppFct_dragElement() { if (arguments.length) {alert('"dragElement" is read-only');} else {return _dragElement;} } function ppFct_contentElement() { if (arguments.length) {alert('"contentElement" is read-only');} else {return _contentElement;} } function ppFct_isMinimized() { if (arguments.length) {alert('"isMinimized" is read-only');} else {return _isMinimized;} } function ppFct_isVisible() { if (arguments.length) {alert('"isVisible" is read-only');} else {return _isVisible;} }    function pmFct_Show(maximized,callEvents) { if (callEvents==null) callEvents = true; if (callEvents && self.OnBeforeShow) self.OnBeforeShow(self); if (maximized!=null) { if (maximized && (_minimizeButton!=null)) {pmFct_Maximize()} else {pmFct_Minimize()} } _isVisible = true; ToolManZIndex++; _boxElement.style.zIndex = ToolManZIndex; _boxElement.style.visibility = 'visible'; _dragElement.style.visibility = 'visible'; _contentElement.style.visibility = 'visible'; if (callEvents && self.OnAfterShow) self.OnAfterShow(self); } function pmFct_Hide(maximized,callEvents) { if (callEvents==null) callEvents = true; if (callEvents && self.OnBeforeHide) self.OnBeforeHide(self); if (maximized!=null) { if (maximized && (_minimizeButton!=null)) {pmFct_Maximize()} else {pmFct_Minimize()} } _isVisible = false; _boxElement.style.visibility = 'hidden'; _dragElement.style.visibility = 'hidden'; _contentElement.style.visibility = 'hidden'; if (callEvents && self.OnAfterHide) self.OnAfterHide(self); } function pmFct_Minimize() { if (self.OnBeforeMinimize) self.OnBeforeMinimize(self); cnode = _contentElement; minielem = _minimizeButton.element_GS(); _isMinimized = true; cnode.style.display = 'none'; minielem.src = _minimizeButton.path_GS()+'maximize.gif'; minielem.title = 'Maksimer vindue'; if (self.OnAfterMinimize) self.OnAfterMinimize(self); } function pmFct_Maximize() { if (self.OnBeforeMaximize) self.OnBeforeMaximize(self); cnode = _contentElement; minielem = _minimizeButton.element_GS(); _isMinimized = false; cnode.style.display = 'block'; minielem.src = _minimizeButton.path_GS()+'minimize.gif'; minielem.title = 'Minimer vindue'; if (self.OnAfterMaximize) self.OnAfterMaximize(self); }    function _CreatePopUp(boxHandleID,dragHandleID,contentHandleID, visible,title,boxWidth,contentHeight,buttonCloseEnabled,buttonMinimizeEnabled,buttonHelpEnabled, boxCssClass,dragCssClass,contentCssClass,padding,boxBorder) { if (!document.getElementById(boxHandleID)) {  if (document.getElementById(dragHandleID)) { alert('Error: dragHandleID already in use'); return false; } var boxElem = document.createElement('div'); boxElem.style.visibility = 'hidden'; boxElem.id = boxHandleID; boxWidthAdjust = _browserDetector.ElementWidth(boxWidth,0,boxBorder*2); boxElem.style.width = boxWidthAdjust[0]+'px'; boxElem.className = boxCssClass; boxElem.style.zIndex = 10000; var dragElem = document.createElement('div'); dragElem.style.visibility = 'hidden'; dragElem.ondblclick = _MiniMaxiMize; dragElem.id = dragHandleID; dragElem.className = dragCssClass; dragElem.style.paddingLeft = padding+'px'; dragElem.style.paddingRight = parseInt(padding/2)+'px'; dragElem.style.paddingTop = parseInt(padding/2)+'px'; dragElem.style.paddingBottom = parseInt(padding/2)+'px'; var dragWidth = _browserDetector.ElementWidth(boxWidthAdjust[1],padding*1.5); dragElem.style.width = dragWidth[0]+'px'; var dragElemTxt = document.createTextNode(title); dragElem.appendChild(dragElemTxt);  if (buttonCloseEnabled) { _closeButton = new button(); _closeButton.Add(boxElem,'Luk vindue','close.gif','images/',14,18,'pointer','absolute',parseInt(padding/2)-2,parseInt(boxWidth)-(boxBorder+parseInt(padding/2))-15); _closeButton.OnClick = pmFct_Hide; } if (buttonMinimizeEnabled) { _minimizeButton = new button(); _minimizeButton.Add(boxElem,'Minimer vindue','minimize.gif','images/',14,18,'pointer','absolute',parseInt(padding/2)-2,parseInt(boxWidth)-(boxBorder+parseInt(padding/2))-29); _minimizeButton.OnClick = _MiniMaxiMize; } if (buttonHelpEnabled) { _helpButton = new button(); _helpButton.Add(boxElem,'Hjælp','help.gif','images/',14,18,'pointer','absolute',parseInt(padding/2)-2,parseInt(boxWidth)-(boxBorder+parseInt(padding/2))-43); _helpButton.OnClick = _OnHelpButtonClick; } boxElem.appendChild(dragElem); document.body.appendChild(boxElem); if (document.getElementById(contentHandleID)) { var contentElem = document.getElementById(contentHandleID); contentElem = contentElem.parentNode.removeChild(contentElem); } else if (typeof(contentHandleID)=='object') { var contentElem = contentHandleID; contentElem.className = contentCssClass; } else { var contentElem = document.createElement('div'); contentElem.id = contentHandleID; contentElem.className = contentCssClass; } contentElem.style.visibility = 'hidden'; contentElem.style.width = _browserDetector.ElementWidth(boxWidthAdjust[1],padding*2)[0]+'px'; if (contentHeight) contentElem.style.height = contentHeight+'px'; contentElem.style.display = 'block'; contentElem.style.overflow = 'auto'; contentElem.style.padding = padding+'px'; contentElem.style.position = 'relative'; contentElem.style.top = '0px'; contentElem.style.left = '0px';  boxElem.appendChild(contentElem); } else {   } _group = jsGlobals.toolManDrag.createSimpleGroup(document.getElementById(boxHandleID), document.getElementById(dragHandleID)); _boxElement = document.getElementById(boxHandleID); _dragElement = document.getElementById(dragHandleID); _contentElement = document.getElementById(contentHandleID)?document.getElementById(contentHandleID):contentHandleID; if (visible) { pmFct_Show(null,false); } else { pmFct_Hide(null,false); } } function _MiniMaxiMize() { if (_isMinimized) { pmFct_Maximize(); } else { pmFct_Minimize(); } } function _OnHelpButtonClick() { if (self.OnHelpButtonClick) self.OnHelpButtonClick(self); }    function button() {    var self = this; var _element = null; var _parentElement = null; var _path = 'images/'; var _src = '';    this.element_GS = ppFct_element; this.parentElement = ppFct_parentElement; this.path_GS = ppFct_path; this.src_GS = ppFct_src;         this.Add = pmFct_Add; this.Remove = pmFct_Remove;    this.OnClick = null;    function ppFct_element() { if (arguments.length) {alert('"element" is read-only');} else {return _element;} } function ppFct_parentElement() { if (arguments.length) {alert('"parentElement" is read-only');} else {return _parentElement;} } function ppFct_path(val) { if (arguments.length) { _path = val; _element.src = _path+_src;} else {return _path;} } function ppFct_src(val) { if (arguments.length) { _src = val; _element.src = _path+_src;} else {return _src;} } function pmFct_Add(parentElem,title,src,path,width,height,cursor,position,top,left) { _src = src; _path = path; var elem = _CreateImgElement(title,src,path,width,height,cursor,position,top,left); if ((_browserDetector.browser_GS()=='FireFox') && (_browserDetector.OS_GS()=='Mac')) {  elem.addEventListener('click',_ButtonClick,true); } else { elem.onclick = _ButtonClick; } _element = elem; _parentElement = parentElem; _parentElement.appendChild(_element); } function pmFct_Remove() { _parentElement.removeChild(_element); }    function _ButtonClick() { if (self.OnClick) self.OnClick(); } function _CreateImgElement(title,src,path,width,height,cursor,position,top,left) { var elem = document.createElement('img'); elem.src = path+src; elem.style.width = width+'px'; elem.style.height = height+'px'; elem.style.cursor = cursor; elem.title = title; elem.style.position = position; elem.style.top = top+'px'; elem.style.left = left+'px'; return elem; } }    _browserDetector = jsGlobals.browserDetector; _CreatePopUp(boxHandleID,dragHandleID,contentHandleID, visible,title,boxWidth,contentHeight,buttonCloseEnabled,buttonMinimizeEnabled,buttonHelpEnabled, boxCssClass,dragCssClass,contentCssClass,padding,boxBorder);}