/* getDocObj() and getStyleObj. 
	getDocObj() creates the document object for the browser in use depending on whether it recognizes document.layers, document.all or document.getElementById(). 
	getStyleObj() gets the style object of a document object. 
To invoke, use:
variablename = eval(getDocObj(elementidvalue)); 
variablename = eval(getStyleObj(elementidvalue)); 
Use in conjunction with any cross-browser script where you must account for Netscape 4.x, IE 4.x and W3C DOM compliant browsers.
*/

function getDocObj(elem,parent) 
{
	if (document.layers) 
	{
	    if (parent) 
		{
	    	return "document."+parent+".document."+elem;
		}
	    else 
		{
			return "document."+elem;
		}
	} 
	else if (document.all) 
	{
		return "document.all."+elem;
	} 
	else if (document.getElementById) 
	{
		return "document.getElementById('"+elem+"')";
	}
}

function getStyleObj(elem,parent) 
{
	if (document.layers) 
	{
	    if (parent) 
		{
	     return "document."+parent+".document."+elem;
	    }
		else 
		{
			return "document."+elem + ".style";
		}
	} 
	else if (document.all) 
	{
		return "document.all."+elem + ".style";
	} 
	else if (document.getElementById) 
	{
		return "document.getElementById('"+elem+"').style";
		
	}
}

// insertAdjacentHTML(), insertAdjacentText() and insertAdjacentElement()
// for Netscape 6/Mozilla by Thor Larholm thor@jscript.dk
// Usage: include this code segment at the beginning of your document
// before any other Javascript contents.
if(typeof HTMLElement!="undefined" && !HTMLElement.prototype.insertAdjacentElement)
{
	HTMLElement.prototype.insertAdjacentElement = function(where,parsedNode)
	{
		switch (where)
		{
			case 'BeforeBegin':
				this.parentNode.insertBefore(parsedNode,this)
				break;
			case 'AfterBegin':
				this.insertBefore(parsedNode,this.firstChild);
				break;
			case 'BeforeEnd':
				this.appendChild(parsedNode);
				break;
			case 'AfterEnd':
				if (this.nextSibling) 
					this.parentNode.insertBefore(parsedNode,this.nextSibling);
				else 
					this.parentNode.appendChild(parsedNode);
				break;
		}
	}

	HTMLElement.prototype.insertAdjacentHTML = function(where,htmlStr)
	{
		var r = this.ownerDocument.createRange();
		r.setStartBefore(this);
		var parsedHTML = r.createContextualFragment(htmlStr);
		this.insertAdjacentElement(where,parsedHTML);
	}

	HTMLElement.prototype.insertAdjacentText = function(where,txtStr)
	{
		var parsedText = document.createTextNode(txtStr);
		this.insertAdjacentElement(where,parsedText);
	}
}