<!--

// MyDHTML 1.0 Window library
// v2008.04.14

// Window handler >>> *****************************************

// Window constructor >>>

function windowHandler(oBrowser)
{
	this.browser = oBrowser;

	this.getObject = windowHandler_getWindowObject;
	this.getWidth = windowHandler_getWindowWidth;
	this.getHeight = windowHandler_getWindowHeight;
	this.enableScrollbars = windowHandler_enableWindowScrollbars;
	this.disableScrollbars = windowHandler_disableWindowScrollbars;	
	this.getContentHeight = windowHandler_getContentHeight;
	this.getScrollOffset = windowHandler_getScrollOffset;
	this.open = windowHandler_openWindow;

	this.object = this.getObject();
}

// <<< Window constructor

// Private >>>

function windowHandler_getWindowObject()
{
	if (this.browser.isExplorer5)
	{
		return document.body;
	}
	else
	{
		return window;
	}
}

// <<< Private

// Public >>>

function windowHandler_openWindow(strTitle, intWidth, intHeight, strLink)
{
	var strOptions = 'width=' + intWidth + ', height=' + intHeight;
	window.open(strLink, strTitle, strOptions);
}

function windowHandler_getWindowWidth()
{
	if (this.browser.isExplorer5)
	{
		return(this.object.clientWidth);
	}
	else
	{
		return(this.object.innerWidth);
	}
}

function windowHandler_getWindowHeight()
{
	if (this.browser.isExplorer5)
	{
		return(this.object.clientHeight);
	}
	else
	{
		return(this.object.innerHeight);
	}
}

function windowHandler_getContentHeight()
{
	var iContentHeight = null;
	
	if (this.browser.isExplorer5)
	{
		if (document.body.scrollHeight > document.body.offsetHeight)
			iContentHeight = document.body.scrollHeight;
		else
			iContentHeight = document.body.offsetHeight + document.body.offsetTop;
	}
	else if
	(
		this.browser.isNetscape ||
		this.browser.isKonqueror
	)
	{
		iContentHeight = document.body.scrollHeight;
	}
	else if
	(
		this.browser.isOpera ||
		this.browser.isOpera5 ||
		this.browser.isMozilla
	)
	{
		iContentHeight = window.innerHeight + window.scrollMaxY;
	}

	return iContentHeight;
}

function windowHandler_getScrollOffset()
{
	var iScrollOffset = null;

	if (this.browser.isExplorer5)
	{
		iScrollOffset = document.body.scrollTop;
	}
	else if
	(
		this.browser.isOpera ||
		this.browser.isOpera5 ||
		this.browser.isMozilla ||
		this.browser.isNetscape ||
		this.browser.isKonqueror
	)
	{
		iScrollOffset = self.pageYOffset;
	}

	return iScrollOffset;
}

function windowHandler_enableWindowScrollbars()
{
	if (this.browser.isExplorer5)
	{
		this.object.style.overflow = 'scroll';
		this.object.scroll = 'yes';
	}
	else if (this.browser.isMozilla)
	{
		this.object.scrollbars.visible = true;
	}
	else if (this.browser.MZ4)
	{
		this.object.scrollbars.visible = true;
	}
}

function windowHandler_disableWindowScrollbars()
{
	if (this.browser.isExplorer5)
	{
		this.object.scroll = 'no';
		this.object.style.overflow = 'hidden';
	}
	else if (this.browser.isMozilla)
	{
		this.object.scrollbars.visible = false;
	}
	else if (this.browser.MZ4)
	{
		this.object.scrollbars.visible = false;
	}
}

// <<< Public

// <<< Window handler *****************************************

// -->
