var dhtmlwindow={ imagefiles:['/popwindow/min.gif', '/popwindow/close.jpg', '/popwindow/restore.gif', '/popwindow/resize.gif'], ajaxbustcache: true, ajaxloadinghtml: 'Loading Page. Please wait...', minimizeorder: 0, zIndexvalue:100, tobjects: [], lastactivet: {}, init:function(t){ var domwindow=document.createElement("div") domwindow.id=t domwindow.className="dhtmlwindow" var domwindowdata='' domwindowdata='
' domwindowdata+='DHTML Window
' domwindowdata+='
' domwindowdata+='
' domwindowdata+='
 
' domwindowdata+='' domwindow.innerHTML=domwindowdata document.getElementById("dhtmlwindowholder").appendChild(domwindow) var t=document.getElementById(t) var divs=t.getElementsByTagName("div") for (var i=0; i' window.frames["_iframe-"+t.id].location.replace(contentsource) } else if (contenttype=="ajax"){ this.ajax_connect(contentsource, t) } t.contentarea.datatype=contenttype }, setupdrag:function(e){ var d=dhtmlwindow var t=this._parent d.etarget=this var e=window.event || e d.initmousex=e.clientX d.initmousey=e.clientY d.initx=parseInt(t.offsetLeft) d.inity=parseInt(t.offsetTop) d.width=parseInt(t.offsetWidth) d.contentheight=parseInt(t.contentarea.offsetHeight) if (t.contentarea.datatype=="iframe"){ t.style.backgroundColor="#F8F8F8" t.contentarea.style.visibility="hidden" } document.onmousemove=d.getdistance document.onmouseup=function(){ if (t.contentarea.datatype=="iframe"){ t.contentarea.style.backgroundColor="white" t.contentarea.style.visibility="visible" } d.stop() } return false }, getdistance:function(e){ var d=dhtmlwindow var etarget=d.etarget var e=window.event || e d.distancex=e.clientX-d.initmousex d.distancey=e.clientY-d.initmousey if (etarget.className=="drag-handle") d.move(etarget._parent, e) else if (etarget.className=="drag-resizearea") d.resize(etarget._parent, e) return false }, getviewpoint:function(){ var ie=document.all && !window.opera var domclientWidth=document.documentElement && parseInt(document.documentElement.clientWidth) || 100000 this.standardbody=(document.compatMode=="CSS1Compat")? document.documentElement : document.body this.scroll_top=(ie)? this.standardbody.scrollTop : window.pageYOffset this.scroll_left=(ie)? this.standardbody.scrollLeft : window.pageXOffset this.docwidth=(ie)? this.standardbody.clientWidth : (/Safari/i.test(navigator.userAgent))? window.innerWidth : Math.min(domclientWidth, window.innerWidth-16) this.docheight=(ie)? this.standardbody.clientHeight: window.innerHeight }, rememberattrs:function(t){ this.getviewpoint() t.lastx=parseInt((t.style.left || t.offsetLeft))-dhtmlwindow.scroll_left t.lasty=parseInt((t.style.top || t.offsetTop))-dhtmlwindow.scroll_top t.lastwidth=parseInt(t.style.width) }, move:function(t, e){ t.style.left=dhtmlwindow.distancex+dhtmlwindow.initx+"px" t.style.top=dhtmlwindow.distancey+dhtmlwindow.inity+"px" }, resize:function(t, e){ t.style.width=Math.max(dhtmlwindow.width+dhtmlwindow.distancex, 150)+"px" t.contentarea.style.height=Math.max(dhtmlwindow.contentheight+dhtmlwindow.distancey, 100)+"px" }, enablecontrols:function(e){ var d=dhtmlwindow var sourceobj=window.event? window.event.srcElement : e.target if (/Minimize/i.test(sourceobj.getAttribute("title"))) d.minimize(sourceobj, this._parent) else if (/Restore/i.test(sourceobj.getAttribute("title"))) d.restore(sourceobj, this._parent) else if (/Close/i.test(sourceobj.getAttribute("title"))) d.close(this._parent) return false }, minimize:function(button, t){ dhtmlwindow.rememberattrs(t) button.setAttribute("src", dhtmlwindow.imagefiles[2]) button.setAttribute("title", "Restore") t.state="minimized" t.contentarea.style.display="none" t.statusarea.style.display="none" if (typeof t.minimizeorder=="undefined"){ dhtmlwindow.minimizeorder++ t.minimizeorder=dhtmlwindow.minimizeorder } t.style.left="10px" t.style.width="200px" var windowspacing=t.minimizeorder*10 t.style.top=dhtmlwindow.scroll_top+dhtmlwindow.docheight-(t.handle.offsetHeight*t.minimizeorder)-windowspacing+"px" }, restore:function(button, t){ dhtmlwindow.getviewpoint() button.setAttribute("src", dhtmlwindow.imagefiles[0]) button.setAttribute("title", "Minimize") t.state="fullview" t.style.display="block" t.contentarea.style.display="block" if (t.resizeBool) t.statusarea.style.display="block" t.style.left=parseInt(t.lastx)+dhtmlwindow.scroll_left+"px" t.style.top=parseInt(t.lasty)+dhtmlwindow.scroll_top+"px" t.style.width=parseInt(t.lastwidth)+"px" }, close:function(t){ try{ var closewinbol=t.onclose() } catch(err){ var closewinbol=true } finally{ if (typeof closewinbol=="undefined"){ alert("An error has occured somwhere inside your \"onclose\" event handler") var closewinbol=true } } if (closewinbol){ if (t.state!="minimized") dhtmlwindow.rememberattrs(t) if (window.frames["_iframe-"+t.id]) window.frames["_iframe-"+t.id].location.replace("about:blank") else t.contentarea.innerHTML="" t.style.display="none" t.isClosed=true } return closewinbol }, setopacity:function(targetobject, value){ if (!targetobject) return if (targetobject.filters && targetobject.filters[0]){ if (typeof targetobject.filters[0].opacity=="number") targetobject.filters[0].opacity=value*100 else targetobject.style.filter="alpha(opacity="+value*100+")" } else if (typeof targetobject.style.MozOpacity!="undefined") targetobject.style.MozOpacity=value else if (typeof targetobject.style.opacity!="undefined") targetobject.style.opacity=value }, setfocus:function(t){ this.zIndexvalue++ t.style.zIndex=this.zIndexvalue t.isClosed=false this.setopacity(this.lastactivet.handle, 0.5) this.setopacity(t.handle, 1) this.lastactivet=t }, show:function(t){ if (t.isClosed){ alert("DHTML Window has been closed, so nothing to show. Open/Create the window again.") return } if (t.lastx) dhtmlwindow.restore(t.controls.firstChild, t) else t.style.display="block" this.setfocus(t) t.state="fullview" }, hide:function(t){ t.style.display="none" }, ajax_connect:function(url, t){ var page_request = false var bustcacheparameter="" if (window.XMLHttpRequest) page_request = new XMLHttpRequest() else if (window.ActiveXObject){ try { page_request = new ActiveXObject("Msxml2.XMLHTTP") } catch (e){ try{ page_request = new ActiveXObject("Microsoft.XMLHTTP") } catch (e){} } } else return false t.contentarea.innerHTML=this.ajaxloadinghtml page_request.onreadystatechange=function(){dhtmlwindow.ajax_loadpage(page_request, t)} if (this.ajaxbustcache) bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime() page_request.open('GET', url+bustcacheparameter, true) page_request.send(null) }, ajax_loadpage:function(page_request, t){ if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1)){ t.contentarea.innerHTML=page_request.responseText } }, stop:function(){ dhtmlwindow.etarget=null document.onmousemove=null document.onmouseup=null }, addEvent:function(target, functionref, tasktype){ var tasktype=(window.addEventListener)? tasktype : "on"+tasktype if (target.addEventListener) target.addEventListener(tasktype, functionref, false) else if (target.attachEvent) target.attachEvent(tasktype, functionref) }, cleanup:function(){ for (var i=0; i.') window.onunload=dhtmlwindow.cleanup