/* 
	DHTML Library Version 2.10
	Last Updated: December 5, 1999
	Copyright 1997-1999 by InsideDHTML.com, LLC

	This file cannot be redistributed or sold as part of any package without 
	explicit consent from Scott Isaacs - scott@siteExperts.com
 
 	For more information on this library, see http://www.siteExperts.com

	This library is provided AS IS WITHOUT WARRANTY OF ANY KIND AND ARE PROVIDED 
	WITHOUT ANY IMPLIED WARRANTY OF FITNESS FOR PURPOSE, MERCHANTABILITY, 
	OR NON-INFRINGEMENT. 

	Due to the variable nature of the different Internet Client Object Models there are
	no guarantees this library will work AS IS in future releases of any browser.

	Unless prior arrangements are made with scotti@siteExperts.com, this file must be
	referenced as an external script by your web-pages. See the instructions for more 
	details.
         
	Registering 

	This library can be used on your web-site as long as you comply with the following requirements:
		1) The copyright notice and disclaimer must be maintained in the library file.
		2) You register your URL (or company with email address if non-public URL such as an intranet) 
		to DHTMLLibrary@siteExperts.com. Please state if you DO NOT want your web-site or company
		listed as using this library (Your e-mail addresses will never be given out).
		3) You include a link back to www.SiteExperts.com              

	Questions should be send to scotti@siteExperts.com.
	See http://www.siteExperts.com for more information.
  
	This comment must be maintained in the document unless prior arrangements are made 
	with scotti@siteExperts.com.
*/

      
// Begin Library
var sys = navigator.appName;
var vers = parseInt(navigator.appVersion);
var n4 = document.layers
var ie4Mac = (vers>=4) && (navigator.appVersion.indexOf("Mac")>-1) && (!n4)


// Track property changes in Netscape

function testScroll() {
	// For onscroll event
	// Initialize scrollbar cache if necessary
	if (window._pageXOffset==null) {
		window._pageXOffset = window.pageXOffset
		window._pageYOffset = window.pageYOffset
	}
	// Expose Internet Explorer compatible object model
	document.body.unwatch("scrollTop") 
	document.body.unwatch("scrollLeft")
	document.body.scrollTop = window.pageYOffset
	document.body.scrollLeft = window.pageXOffset
	window.document.body.scrollHeight = document.height
	window.document.body.scrollWidth = document.width    
	document.body.watch("scrollTop",CheckScrollTop)
	document.body.watch("scrollLeft",CheckScrollLeft)

	document.body.clientWidth = window.innerWidth-20; 
	document.body.clientHeight = window.innerHeight-20;

	// If cache!=current values, call the onscroll event
	if (((window.pageXOffset!=window._pageXOffset) || (window.pageYOffset!=window._pageYOffset)) && (window.onscroll)) 
		window.onscroll()
	// Cache new values
	window._pageXOffset = window.pageXOffset
	window._pageYOffset = window.pageYOffset
}

function CheckScrollTop(prop,temp,newValue) {
	//window.pageYOffset = newValue
	return newValue	
}
function CheckScrollLeft(prop,temp,newValue) {
	//window.pageXOffset= newValue
	return newValue	
}

function CheckTopChange(prop,temp,newValue) {
	this.NSLayer.owningElement.offsetTop = this.NSLayer.top = newValue
	return newValue	
}

function CheckLeftChange(prop,temp,newValue) {
	this.NSLayer.owningElement.offsetLeft= this.NSLayer.left = newValue
	return newValue
}

function CheckWidthChange(prop,temp,newValue) {
	this.NSLayer.owningElement.offsetWidth = this.NSLayer.clip.width = newValue
	return newValue
}

function CheckHeightChange(prop,temp,newValue) {
	this.NSLayer.owningElement.offsetHeight = this.NSLayer.clip.height = newValue
	return newValue
}

function CheckColorChange(prop,temp,newValue) {
	this.NSLayer.bgColor = newValue
	return newValue
}

function CheckClipChange(prop,temp,newValue) {
	var sText = newValue.substring(5) 
	sText = sText.substring(0,sText.length-1)
	var aVal = sText.split(" ")
	this.NSLayer.clip.top = aVal[0]
	this.NSLayer.clip.width = aVal[1]
	this.NSLayer.clip.height = aVal[2]
	this.NSLayer.clip.left = aVal[3]
	return newValue
}

function CheckZIndexChange(prop,temp,newValue) {
	this.NSLayer.zIndex = newValue
	return newValue
}

function CheckContentChange(prop,temp,newValue) {
	this.NSLayer.document.open()
	this.NSLayer.document.write(newValue)
	this.NSLayer.document.close()
	this.NSLayer.document.owningElement = this.NSLayer.owningElement = this
	_extract(this.NSLayer, true)
	
	return newValue
}

function CheckVisibilityChange(prop,temp,newValue) {
	if (newValue=="hidden")
		this.NSLayer.visibility = "hide";
	else if (newValue=="visible")
		this.NSLayer.visibility = "show";
	else if (newValue=="inherit")
		this.NSLayer.visibility = "inherit";
	else
		this.NSLayer.visibility = "";
	return newValue
}

/* BEGIN CORE CODE TO BUILD OBJECT MODEL */
function CheckContains(el) {
	return (el==this)
}


function _getInputTagName(type) {
	var sName
	if (type=="textarea")
		sName = "TEXTAREA"
	else if (type=="select-one")
		sName = "SELECT"
	else if (type=="select-multiple")
		sName = "SELECT"
	else
		sName = "INPUT"
	return sName
}

function _appendAll(obj, el, sName) {
	obj.all[sName] = el
	while (obj.offsetParent) {
		obj = obj.offsetParent
		obj.all[sName] = el
	}
}

function _extractRoot(obj, par) {
	for (var intLoop = 0; intLoop< obj.images.length; intLoop++) {
		var i = obj.images[intLoop]
		i.offsetParent = par
		i.offsetLeft = i.x
		i.offsetTop = i.y
		i.offsetWidth = i.width
		i.offsetHeight = i.height
		i.tagName = "IMG"
		i.contains = CheckContains
		if (""!=i.name) {
			window.document.all[i.name] = i
// window.document.images[i.name] = 
			if (obj.owningElement) _appendAll(obj.owningElement, i, i.name)
		}
	}

	for (var intLoop = 0; intLoop< obj.anchors.length; intLoop++) {
		var i = obj.anchors[intLoop]
		i.contains = CheckContains
		i.offsetWidth=i.offsetHeight=0
		if (""!=i.name) {
			window.document.all[i.name] = i
			if (obj.owningElement) _appendAll(obj.owningElement, i, i.name)
		}
//			window.document.anchors[obj.anchors[intLoop].name] = obj.anchors[intLoop]
		obj.anchors[intLoop].offsetParent = par
	}


	for (var intLoop = 0; intLoop< obj.links.length; intLoop++) {
		var i=obj.links[intLoop]
		i.offsetWidth=0;i.offsetHeight=20
		i.contains = CheckContains
		i.innerText = obj.links[intLoop].text
		i.offsetParent = par
		i.offsetLeft = obj.links[intLoop].x
		i.offsetTop = obj.links[intLoop].y
	}

	for (var intLoop = 0; intLoop< obj.forms.length; intLoop++) {
		obj.forms[intLoop].offsetParent = par
		var sName = obj.forms[intLoop].name
		obj.forms[intLoop].tagName = "FORM"
		if (""!=sName) {
			window.document.all[sName] = obj.forms[intLoop]
			if (obj.owningElement) _appendAll(obj.owningElement, obj.forms[intLoop], sName)
		}
		for (var intElements = 0; intElements < obj.forms[intLoop].length; intElements++) {
			var i = obj.forms[intLoop][intElements]
			var sName = i.name
			i.offsetParent = par
			i.tagName = _getInputTagName(i.type)
			if (""!=sName) {
				window.document.all[sName] = i
				if (obj.owningElement) _appendAll(obj.owningElement, i, sName)
//					obj.owningElement.all[sName] = window.document.all[sName]
			}
		}
	}
	if (obj.owningElement) {
		var sName = obj.owningElement.id
		window.document.all[sName] = obj.owningElement
		_appendAll(obj.owningElement.offsetParent, obj.owningElement, sName)
	}
}

function _extract(obj, bRefresh) {
	/* This creates the all collection when run in Netscape and
	   promotes the nested name spaces in Netscape to the top-level collection.
	   The length property is not updated for the built-in collections */
	// This function is called recursively for nested layers 

// Add walk up tree to add to collections code... ugh
	obj.document.captureEvents(Event.MOUSEDOWN | Event.MOUSEUP | Event.MOUSEMOVE | Event.KEYDOWN | Event.KEYPRESS | Event.KEYUP)
	obj.document.onmousedown = _NSLayerBubbling;          
	obj.document.onmouseup = _NSLayerBubbling;
	obj.document.onmousemove = _NSLayerBubbling;
	obj.document.onkeydown = _NSLayerBubbling;
	obj.document.onkeypress = _NSLayerBubbling;
	obj.document.onkeyup = _NSLayerBubbling;

	obj.document._type = "document" // internal variable to track state
	// Hookup event handlers to establish event bubbling. 
	if (bRefresh==null) {
		if (""!=obj.id) 
			document.all[obj.id] =  new Object
		var newEl = document.all[obj.id]
		newEl.all = new Object
		obj.document.owningElement= obj.owningElement = newEl

		newEl.id = obj.id
		newEl.style = new Object
		newEl.NSLayer = newEl.style.NSLayer = obj
		newEl.offsetTop = parseInt(obj.top)
		newEl.offsetLeft = parseInt(obj.left) 
		obj._type = "layer" // internal variable
		if (obj.parentLayer.owningElement!=null)
			newEl.offsetParent = obj.parentLayer.owningElement
		else
			newEl.offsetParent = document.body
		newEl.style.pixelTop = parseInt(obj.top)
		newEl.style.pixelLeft = parseInt(obj.left)
		if (null!=obj.clip) {
			newEl.style.pixelWidth = obj.clip.width   // estimation
			newEl.style.pixelHeight = obj.clip.height
		}
		newEl.style.clip = "rect(" + obj.clip.top + " " + obj.clip.width + " " + obj.clip.height + " " + obj.clip.left + ")"
		newEl.offsetWidth = newEl.style.pixelWidth  // estimation
		newEl.offsetHeight = newEl.style.pixelHeight
		newEl.contains = CheckContains;
		if (obj.visibility=="hide")
			newEl.style.visibility = "hidden";
		else if (obj.visibility=="show")
			newEl.style.visibility = "visible";
		else if (obj.visibility=="inherit")
			newEl.style.visibility = "inherit";
		else
			newEl.style.visibility = "";
		newEl.style.zIndex = obj.zIndex
		newEl.style.backgroundColor = obj.bgColor;
		newEl.style.backgroundImage = "url("+obj.background+")";
	
		newEl.innerHTML = ""
	        
		newEl.style.watch("visibility",CheckVisibilityChange)
		newEl.style.watch("pixelTop",CheckTopChange)
		newEl.style.watch("pixelLeft",CheckLeftChange)
		newEl.style.watch("pixelWidth",CheckWidthChange)
		newEl.style.watch("pixelHeight",CheckHeightChange)
		newEl.style.watch("backgroundColor",CheckColorChange)
		newEl.style.watch("zIndex",CheckZIndexChange)
		newEl.style.watch("clip",CheckClipChange)
		newEl.watch("innerHTML",CheckContentChange)
	}
	_extractRoot(obj.document,newEl)	
			
	for (var intLayer = 0; intLayer< obj.document.layers.length; intLayer++) 
		_extract(obj.document.layers[intLayer])  // Nested layers, go get them.
	
}


function _NSLayerBubbling(ev) {
	// Bubble through any positioned elements.
	this.routeEvent(ev);
	// Fire on positioned element
	if (!window.event.cancelBubble)
		if (null!=this.owningElement["on"+ev.type]) this.owningElement["on"+ev.type]()
}

function _NSBubbling(ev) {
	// This simulates very simple event bubbling in Netscape
	// Create the event object on the window.
	window.event = ev;
	// Initialize properties on the event object
	window.event.cancelBubble = false;
	window.event.button = ev.which 
	window.event.keyCode = ev.which
	window.event.type = ev.type
	if ((ev.type=="focus") || (ev.type=="blur")) return false
	// Get the "synthesized" element if it fired the event.
	var el = null;
	if ("document"==ev.target._type) 
		el = ev.target.owningElement.id
	else
		el = ev.target.id
	if ((el!=null) && (el!="")) {
		el = document.all[el]
		window.event.srcElement = el
	} else {
		if (ev.target!=null) {
			window.event.srcElement=ev.target
		}
		else
			ev.target=null
	}
	window.event.returnValue = true
	window.event.clientX = ev.pageX - window.pageXOffset
	window.event.clientY = ev.pageY - window.pageYOffset
	window.event.offsetX = ev.layerX
	window.event.offsetY = ev.layerY
	window.event.screenX = ev.screenX
	window.event.screenY = ev.screenY
	window.event.altKey = (ev.modifiers & Event.ALT_MASK) ? true : false
	window.event.ctrlKey = (ev.modifiers & Event.CONTROL_MASK) ? true : false
	window.event.shiftKey = (ev.modifiers & Event.SHIFT_MASK) ? true : false
	window.event.NSEvent = ev;
	if ((ev.target._type=="layer") && ((ev.type=="mouseover") || (ev.type=="mouseout")))  {
		// Special handling to bubble over and out events on layers
		var elLoop = ev.target.document.owningElement
		while (elLoop!=null) {
			if (!window.event.cancelBubble)
				if (elLoop["on"+ev.type]!=null) elLoop["on"+ev.type]()
					elLoop = elLoop.offsetParent;
		}
	}
	// Send this event onward...
	// Make sure to wire event return values 
	var bCancel = window.routeEvent(ev);
	if (typeof bCancel=="boolean") 
		window.event.returnValue = bCancel
	else
		bCancel = window.event.returnValue
	
	// Bubble but do not fire document events twice
	if ((ev.target!=window.document) && (!window.event.cancelBubble))
		if (typeof document["on"+ev.type]=="function") bCancel = document["on"+ev.type]()
	if (typeof bCancel=="boolean")
		window.event.returnValue = bCancel
	return (window.event.returnValue)
}

function _setupBubbling() {
	// Setup event bubbling from the source ot the document.
	window.captureEvents(Event.CLICK | Event.MOUSEMOVE | Event.CLICK | Event.DBLCLICK | Event.MOUSEDOWN | Event.MOUSEUP | Event.MOUSEOUT | Event.MOUSEOVER | Event.KEYDOWN | Event.KEYUP | Event.KEYPRESS | Event.FOCUS | Event.BLUR)
	window.onclick = _NSBubbling;
	window.ondblclick = _NSBubbling;
	window.onmousemove = _NSBubbling;
	window.onmouseover = _NSBubbling;
	window.onmouseout = _NSBubbling;
	window.onmousedown = _NSBubbling; 
	window.onmouseup = _NSBubbling;
	window.onkeydown = _NSBubbling;
	window.onkeypress = _NSBubbling;
	window.onkeyup = _NSBubbling;
	window.onfocus = _NSBubbling;
	window.onblur = _NSBubbling;
}
function MacScroll() {
	// Add IE Mac onscroll Support
	if ((document.body.oldScrollTop!=document.body.scrollTop) || (document.body.oldScrollLeft!=document.body.scrollLeft))
		if (window.onscroll)
			window.onscroll()
	document.body.oldScrollTop = document.body.scrollTop
	document.body.oldScrollLeft = document.body.scrollLeft
}

/* The setup() function - This must be called in the onload event of the document */
function setup() {  

	if (4>vers) return;  // Can't help old browsers
	if (ie4Mac)
		setInterval("MacScroll()",50)
	if ("Netscape"==sys) {
		document.all = null;
		document.all = new Array;
		document.body = new Object;
		document.body.clientWidth = window.innerWidth-20; document.body.clientHeight = window.innerHeight-20
		document.body.scrollTop = window.pageXOffset; document.body.scrollLeft = window.pageYOffset
		document.body.watch("scrollTop",CheckScrollTop)
		document.body.watch("scrollLeft",CheckScrollLeft)
		document.body.offsetParent = null
		document.body.offsetLeft = document.body.offsetTop = 0
		document.body.all = new Object
		document.parentWindow = window
		_extractRoot(document,document.body)

		for (var intLayer = 0; intLayer< document.layers.length; intLayer++) {
			_extract(document.layers[intLayer])  // Nested layers, go get them.
		}
		
		_setupBubbling();
		testScroll()
		setInterval("testScroll()",50)
		document.readyState = "complete"
	}               
	return 
}
//window.onload = setup; // Initialize when loaded
//if ("Netscape"==sys)
//	document.readyState = "loading"
    
// DHTMLLib2.js Copyright 1997-2000 by InsideDHTML.com, LLC.
// http://www.SiteExperts.com



//The following code was used originally at eyestorm.com
//It was taken and cleaned up a bit (stuff not needed at
//glassdog.com was removed) and altered here and there.
//It is otherwise almost entirely not original code.

var topOffset = 8
var HANDLER;

function smoothMove() {
	var Dif = parseInt((document.body.scrollTop+topOffset-document.all.menuHolder.offsetTop)*.1)
	// Work-around wierd Netscape NaN bug when Dif is 0
	if (isNaN(Dif)) Dif=0
	document.all.menuHolder.style.pixelTop+=Dif
}

function keepAlive() {
	// Move the content into view
	document.all.menuHolder.style.pixelTop = document.body.scrollTop + topOffset
}

function doLoad() {
	setup()
	
	if((navigator.appName == "Microsoft Internet Explorer")&&(navigator.appVersion.indexOf("Mac") != -1 )&&(navigator.appVersion.indexOf("5") != -1)){
//Mac IE 4.5 doesn't support the smooth method 
		window.onscroll = keepAlive;
	}else{
		HANDLER = window.setInterval("smoothMove()",20)
	}
}

function IE_Win32_fix(){
//Reenable the timer in Win32 IE coz of a flicker problem...
//Solves a problem when returning from the callme popup...[JH]
	if(navigator.appName == "Microsoft Internet Explorer"){
		if(navigator.platform == "Win32"){
			HANDLER = window.setInterval("smoothMove()",20)
			window.focus();
		}
	}
}

function animaster(){
	smoothMove();
	
}

var newWin = null

	function alterBody(){
	//	body.moveTo(130,100);
	}



// Dynamic Layer Object
// sophisticated layer/element targeting and animation object which provides 
//the core functionality needed in most DHTML applications
// 19990604

// Copyright (C) 1999 Dan Steinman
// Distributed under the terms of the GNU Library General Public License
// Available at http://www.dansteinman.com/dynapi/

function DynLayer(id,nestref,frame) {
	if (!is.ns5 && !DynLayer.set && !frame) DynLayerInit()
	this.frame = frame || self
	if (is.ns) {
		if (is.ns4) {
			if (!frame) {
				if (!nestref) var nestref = DynLayer.nestRefArray[id]
				if (!DynLayerTest(id,nestref)) return
				this.css = (nestref)? eval("document."+nestref+".document."+id) : document.layers[id]
			}
			else this.css = (nestref)? eval("frame.document."+nestref+".document."+id) : frame.document.layers[id]
			this.elm = this.event = this.css
			this.doc = this.css.document
		}
		else if (is.ns5) {
			this.elm = document.getElementById(id)
			this.css = this.elm.style
			this.doc = document
		}
		this.x = this.css.left
		this.y = this.css.top
		this.w = this.css.clip.width
		this.h = this.css.clip.height
	}
	else if (is.ie) {
		this.elm = this.event = this.frame.document.all[id]
		this.css = this.frame.document.all[id].style
		this.doc = document
		this.x = this.elm.offsetLeft
		this.y = this.elm.offsetTop
		this.w = (is.ie4)? this.css.pixelWidth : this.elm.offsetWidth
		this.h = (is.ie4)? this.css.pixelHeight : this.elm.offsetHeight
	}
	this.id = id
	this.nestref = nestref
	this.obj = id + "DynLayer"
	eval(this.obj + "=this")
}
function DynLayerMoveTo(x,y) {
	if (x!=null) {
		this.x = x
		if (is.ns) this.css.left = this.x
		else this.css.pixelLeft = this.x
	}
	if (y!=null) {
		this.y = y
		if (is.ns) this.css.top = this.y
		else this.css.pixelTop = this.y
	}
}
function DynLayerMoveBy(x,y) {
	this.moveTo(this.x+x,this.y+y)
}
function DynLayerShow() {
	this.css.visibility = (is.ns4)? "show" : "visible"
}
function DynLayerHide() {
	this.css.visibility = (is.ns4)? "hide" : "hidden"
}
DynLayer.prototype.moveTo = DynLayerMoveTo
DynLayer.prototype.moveBy = DynLayerMoveBy
DynLayer.prototype.show = DynLayerShow
DynLayer.prototype.hide = DynLayerHide
DynLayerTest = new Function('return true')

// DynLayerInit Function
function DynLayerInit(nestref) {
	if (!DynLayer.set) DynLayer.set = true
	if (is.ns) {
		if (nestref) ref = eval('document.'+nestref+'.document')
		else {nestref = ''; ref = document;}
		for (var i=0; i<ref.layers.length; i++) {
			var divname = ref.layers[i].name
			DynLayer.nestRefArray[divname] = nestref
			var index = divname.indexOf("Div")
			if (index > 0) {
				eval(divname.substr(0,index)+' = new DynLayer("'+divname+'","'+nestref+'")')
			}
			if (ref.layers[i].document.layers.length > 0) {
				DynLayer.refArray[DynLayer.refArray.length] = (nestref=='')? ref.layers[i].name : nestref+'.document.'+ref.layers[i].name
			}
		}
		if (DynLayer.refArray.i < DynLayer.refArray.length) {
			DynLayerInit(DynLayer.refArray[DynLayer.refArray.i++])
		}
	}
	else if (is.ie) {
		for (var i=0; i<document.all.tags("div").length; i++) {
			var divname = document.all.tags("div")[i].id
			var index = divname.indexOf("Div")
			if (index > 0) {
				eval(divname.substr(0,index)+' = new DynLayer("'+divname+'")')
			}
		}
	}
	return true
}
DynLayer.nestRefArray = new Array()
DynLayer.refArray = new Array()
DynLayer.refArray.i = 0
DynLayer.set = false

// Slide Methods
function DynLayerSlideTo(endx,endy,inc,speed,fn) {
	if (endx==null) endx = this.x
	if (endy==null) endy = this.y
	var distx = endx-this.x
	var disty = endy-this.y
	this.slideStart(endx,endy,distx,disty,inc,speed,fn)
}
function DynLayerSlideBy(distx,disty,inc,speed,fn) {
	var endx = this.x + distx
	var endy = this.y + disty
	this.slideStart(endx,endy,distx,disty,inc,speed,fn)
}
function DynLayerSlideStart(endx,endy,distx,disty,inc,speed,fn) {
	if (this.slideActive) return
	if (!inc) inc = 10
	if (!speed) speed = 20
	var num = Math.sqrt(Math.pow(distx,2) + Math.pow(disty,2))/inc
	if (num==0) return
	var dx = distx/num
	var dy = disty/num
	if (!fn) fn = null
	this.slideActive = true
	this.slide(dx,dy,endx,endy,num,1,speed,fn)
}
function DynLayerSlide(dx,dy,endx,endy,num,i,speed,fn) {
	if (!this.slideActive) return
	if (i++ < num) {
		this.moveBy(dx,dy)
		this.onSlide()
		if (this.slideActive) setTimeout(this.obj+".slide("+dx+","+dy+","+endx+","+endy+","+num+","+i+","+speed+",\""+fn+"\")",speed)
		else this.onSlideEnd()
	}
	else {
		this.slideActive = false
		this.moveTo(endx,endy)
		this.onSlide()
		this.onSlideEnd()
		eval(fn)
	}
}
function DynLayerSlideInit() {}
DynLayer.prototype.slideInit = DynLayerSlideInit
DynLayer.prototype.slideTo = DynLayerSlideTo
DynLayer.prototype.slideBy = DynLayerSlideBy
DynLayer.prototype.slideStart = DynLayerSlideStart
DynLayer.prototype.slide = DynLayerSlide
DynLayer.prototype.onSlide = new Function()
DynLayer.prototype.onSlideEnd = new Function()

// Clip Methods
function DynLayerClipInit(clipTop,clipRight,clipBottom,clipLeft) {
	if (is.ie) {
		if (arguments.length==4) this.clipTo(clipTop,clipRight,clipBottom,clipLeft)
		else if (is.ie4) this.clipTo(0,this.css.pixelWidth,this.css.pixelHeight,0)
	}
}
function DynLayerClipTo(t,r,b,l) {
	if (t==null) t = this.clipValues('t')
	if (r==null) r = this.clipValues('r')
	if (b==null) b = this.clipValues('b')
	if (l==null) l = this.clipValues('l')
	if (is.ns) {
		this.css.clip.top = t
		this.css.clip.right = r
		this.css.clip.bottom = b
		this.css.clip.left = l
	}
	else if (is.ie) this.css.clip = "rect("+t+"px "+r+"px "+b+"px "+l+"px)"
}
function DynLayerClipBy(t,r,b,l) {
	this.clipTo(this.clipValues('t')+t,this.clipValues('r')+r,this.clipValues('b')+b,this.clipValues('l')+l)
}
function DynLayerClipValues(which) {
	if (is.ie) var clipv = this.css.clip.split("rect(")[1].split(")")[0].split("px")
	if (which=="t") return (is.ns)? this.css.clip.top : Number(clipv[0])
	if (which=="r") return (is.ns)? this.css.clip.right : Number(clipv[1])
	if (which=="b") return (is.ns)? this.css.clip.bottom : Number(clipv[2])
	if (which=="l") return (is.ns)? this.css.clip.left : Number(clipv[3])
}
DynLayer.prototype.clipInit = DynLayerClipInit
DynLayer.prototype.clipTo = DynLayerClipTo
DynLayer.prototype.clipBy = DynLayerClipBy
DynLayer.prototype.clipValues = DynLayerClipValues

// Write Method
function DynLayerWrite(html) {
	if (is.ns) {
		this.doc.open()
		this.doc.write(html)
		this.doc.close()
	}
	else if (is.ie) {
		this.event.innerHTML = html
	}
}
DynLayer.prototype.write = DynLayerWrite

// BrowserCheck Object
function BrowserCheck() {
	var b = navigator.appName
	if (b=="Netscape") this.b = "ns"
	else if (b=="Microsoft Internet Explorer") this.b = "ie"
	else this.b = b
	this.version = navigator.appVersion
	this.v = parseInt(this.version)
	this.ns = (this.b=="ns" && this.v>=4)
	this.ns4 = (this.b=="ns" && this.v==4)
	this.ns5 = (this.b=="ns" && this.v==5)
	this.ie = (this.b=="ie" && this.v>=4)
	this.ie4 = (this.version.indexOf('MSIE 4')>0)
	this.ie5 = (this.version.indexOf('MSIE 5')>0)
	this.min = (this.ns||this.ie)
}
is = new BrowserCheck()



var startTagFix = '</';
var msie_windows = 0;
function BrowserCheck() {
	var b = navigator.appName
	if (b=="Netscape") this.b = "ns"
	else if (b=="Microsoft Internet Explorer") this.b = "ie"
	else this.b = b
	this.v = parseInt(navigator.appVersion)
	this.ns = (this.b=="ns" && this.v>=4)
	this.ns4 = (this.b=="ns" && this.v==4)
	this.ns5 = (this.b=="ns" && this.v==5)
	this.ie = (this.b=="ie" && this.v>=4)
	this.ie4 = (navigator.userAgent.indexOf('MSIE 4')>0)
	this.ie5 = (navigator.userAgent.indexOf('MSIE 5')>0)
	if (this.ie5) this.v = 5
	this.mac = (navigator.appVersion.indexOf("Mac") != -1 )
	this.min = (this.ns||this.ie)
}

// automatically create the "is" object
is = new BrowserCheck()

function init() {
	DynLayerInit();
	setTimeout("resizeDiv()",1)
}

// Netscape Resize Fix
if (is.ns) {
	widthCheck = window.innerWidth
	heightCheck = window.innerHeight
	window.onResize = resizeFix()
}
function resizeFix() {
	//alert("resized")
	if (widthCheck != window.innerWidth || heightCheck != window.innerHeight)
	document.location.href = document.location.href
}

function resizeDiv() {
	if (is.ie && is.mac) {
		document.all.fixItDiv.style.height = 10;  //10 is an arbitrary figure
	}
}

//window.onError = null


