// -------------------------------------------------------------------
// DHTML Modal window- By Dynamic Drive, available at: http://www.dynamicdrive.com
// v1.0: Script created Feb 27th, 07'
// v1.01 May 5th, 07' Minor change to modal window positioning behavior (not a bug fix)
// v1.1: April 16th, 08' Brings it in sync with DHTML Window widget. See changelog.txt for the later for changes.
// REQUIRES: DHTML Window Widget (v1.01 or higher): http://www.dynamicdrive.com/dynamicindex8/dhtmlwindow/
// -------------------------------------------------------------------

if (typeof dhtmlwindow=="undefined")
alert('ERROR: Modal Window script requires all files from "DHTML Window widget" in order to work!')

var dhtmlmodal={
	veilstack: 0,
	open:function(t, contenttype, contentsource, title, attr, recalonload){
		var d=dhtmlwindow; //reference dhtmlwindow object
		this.interVeil=document.getElementById("interVeil"); //Reference "veil" div
		this.veilstack++; //var to keep track of how many modal windows are open right now
		this.loadveil();
		if (recalonload=="recal" && d.scroll_top==0)
			d.addEvent(window, function(){dhtmlmodal.adjustveil()}, "load");
		var t=d.open(t, contenttype, contentsource, title, attr, recalonload);
		t.controls.firstChild.style.display="none"; //Disable "minimize" button
		t.controls.onclick=function(){dhtmlmodal.close(this._parent, true)}; //OVERWRITE default control action with new one
		t.show=function(){dhtmlmodal.show(this)}; //OVERWRITE default t.show() method with new one
		t.hide=function(){dhtmlmodal.close(this)}; //OVERWRITE default t.hide() method with new one
		return t;
	},

	loadveil:function(){
		var d=dhtmlwindow;
		d.getviewpoint();
		this.docheightcomplete=(d.standardbody.offsetHeight>d.standardbody.scrollHeight)? d.standardbody.offsetHeight : d.standardbody.scrollHeight;
		this.interVeil.style.width=d.docwidth+"px"; //set up veil over page
		this.interVeil.style.height=this.docheightcomplete+"px"; //set up veil over page
		this.interVeil.style.left=0; //Position veil over page
		this.interVeil.style.top=0; //Position veil over page
		this.interVeil.style.visibility="visible"; //Show veil over page
		this.interVeil.style.display="block"; //Show veil over page
	},

	adjustveil:function(){ //function to adjust veil when window is resized
		if(this.interVeil && this.interVeil.style.display=="block") {//If veil is currently visible on the screen
			this.loadveil(); //readjust veil
		}
	},

	closeveil:function(){ //function to close veil
		this.veilstack--;
		if (this.veilstack==0) //if this is the only modal window visible on the screen, and being closed
			this.interVeil.style.display="none";
	},

	close:function(t, forceclose){ //DHTML modal close function
		t.contentDoc=(t.contentarea.datatype=="iframe")? window.frames["_iframe-"+t.id].document : t.contentarea; //return reference to modal window DIV (or document object in the case of iframe
		if (typeof forceclose!="undefined")
			t.onclose=function(){return true};
		if (dhtmlwindow.close(t)) //if close() returns true
			this.closeveil();
	},

	show:function(t){
		dhtmlmodal.veilstack++;
		dhtmlmodal.loadveil();
		dhtmlwindow.show(t);
	}
} //END object declaration

document.write('<div id="interVeil"></div>');
dhtmlwindow.addEvent(window, function(){if (typeof dhtmlmodal!="undefined") dhtmlmodal.adjustveil()}, "resize");