////////////////////////////////////////////////////////////////////////////////
// element.js
// 

	// -- Element Properties --------------------------------------------------
	function findPos( obj )
	{
		var curleft = 0;
		var curtop = 0;
		
		if( obj.offsetParent )
		{
			curleft = obj.offsetLeft
			curtop = obj.offsetTop
			while( (obj = obj.offsetParent) )
			{
				curleft += obj.offsetLeft
				curtop += obj.offsetTop
			}
		}
		return [curleft,curtop];
	}
	function findPosRelativeParent( obj, parent )
	{
		var curleft = 0;
		var curtop = 0;
		
		if( obj.offsetParent )
		{
			curleft = obj.offsetLeft
			curtop = obj.offsetTop
			while( (obj = obj.offsetParent) && obj != parent )
			{
				curleft += obj.offsetLeft
				curtop += obj.offsetTop
			}
		}
		return [curleft,curtop];
	}
	function findDimensions( obj )
	{
		var width = obj.offsetWidth;
		var height = obj.offsetHeight;
		
		return [width,height];
	}
	function findWindowDimensions()
	{
		var width = document.documentElement.clientWidth;
		var height = document.documentElement.clientHeight
		
		return [width,height];
	}
	function findZIndex( obj )
	{
		var zIndex = 0;
		var cStyle;
		
		if( obj.currentStyle )
			cStyle = obj.currentStyle;
		else if( document.defaultView && document.defaultView.getComputedStyle )
			cStyle = document.defaultView.getComputedStyle( obj, "" );
		
		if( cStyle != undefined )
			zIndex = cStyle.zIndex;
		else
			zIndex = obj.style.zIndex;
		
		return zIndex;
	}
	function findScrollXY()
	{
		var scrOfX = 0, scrOfY = 0;
		if( typeof( window.pageYOffset ) == "number" )
		{
			//Netscape compliant
			scrOfY = window.pageYOffset;
			scrOfX = window.pageXOffset;
		}
		else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) )
		{
			//DOM compliant
			scrOfY = document.body.scrollTop;
			scrOfX = document.body.scrollLeft;
		}
		else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) )
		{
			//IE6 standards compliant mode
			scrOfY = document.documentElement.scrollTop;
			scrOfX = document.documentElement.scrollLeft;
		}
		
		return [scrOfX,scrOfY];
	}
	// ------------------------------------------------------------------------	
	// -- Script --------------------------------------------------------------
	function getScriptVars()
	{
		ret = "";
		
		// Page
		var parts = location.href.split( "?" );
		if( parts.length > 1 )
			ret = parts[1];
		
		return ret;
	}
	// ------------------------------------------------------------------------
	// -- Array ---------------------------------------------------------------
	function in_array( haystack, needle )
	{
		ret = false;
		
		for( var i = 0; i < haystack.length; i++ )
			if( haystack[i] == needle )
				ret = true;
				
		return ret;
	}
	// ------------------------------------------------------------------------
	// -- Prototypes ----------------------------------------------------------
	String.prototype.pad = function(l, s, t){
		return s || (s = " "), (l -= this.length) > 0 ? (s = new Array(Math.ceil(l / s.length)
			+ 1).join(s)).substr(0, t = !t ? l : t == 1 ? 0 : Math.ceil(l / 2))
			+ this + s.substr(0, l - t) : this;
	};
	function trim(str, chars) {
		return ltrim(rtrim(str, chars), chars);
	}
	
	function ltrim(str, chars) {
		chars = chars || "\\s";
		return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
	}
	
	function rtrim(str, chars) {
		chars = chars || "\\s";
		return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
	}
	// ------------------------------------------------------------------------
	
//
//
////////////////////////////////////////////////////////////////////////////////
