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)
	}
}

function getPrintable(elementName)
{

	if (!getObj(elementName))
		return "";
	var form = getObj(elementName).cloneNode(true);

	var text = "";
	var inputs = form.getElementsByTagName("input");
	for (i=0; i<inputs.length; i++)
	{
		if (inputs[i].type=="text")
		{
			inputs[i].style.display="none";
			if (inputs[i].insertAdjacentHTML)
				inputs[i].insertAdjacentHTML("afterEnd", "<b>" + getObj(inputs[i].id).value + "</b>");
			else
				text += inputs[i].id.replace("Text", "") + ": <b>" + getObj(inputs[i].id).value + "</b><br>"; 
		}
		else 
		{
			if (inputs[i].type=="radio")
			{
				if (getObj(inputs[i].id).checked==true)
				{
					if (inputs[i].value=="true")
					{
						if (inputs[i].insertAdjacentHTML)
							inputs[i].insertAdjacentHTML("afterEnd", "<b>SI</b>");
						else
							text += inputs[i].id.replace("Text", "") + ": <b>SI</b><br>";
					}
					else
					{
						if (inputs[i].insertAdjacentHTML)
							inputs[i].insertAdjacentHTML("afterEnd", "<b>NO</b>");
						else
							text += inputs[i].id.replace("Text", "") + ": <b>NO</b><br>";
					}
				}
			}
		}
		inputs[i].style.display="none";
	}
	
	var textAreas = form.getElementsByTagName("textarea");
	for (i=0; i<textAreas.length; i++)
	{
		if (textAreas[i].insertAdjacentHTML)
		{
			if (document.all)
				textAreas[i].insertAdjacentHTML("afterEnd", "<b>" + getObj(textAreas[i].id).innerText.replace("\r\n","<br>") + "</b>");
			else
				textAreas[i].insertAdjacentHTML("afterEnd", "<b>" + getObj(textAreas[i].id).value.replace("\r\n","<br>") + "</b>");
		}
		else
			text += textAreas[i].id.replace("Text", "") + ": <b>" + getObj(textAreas[i].id).value.replace("\r\n","<br>") + "</b><br>"; 
		
		textAreas[i].style.display="none";
	}
	
	var selects = form.getElementsByTagName("select");
	for (i=0; i<selects.length; i++)
	{
		if (selects[i].insertAdjacentHTML)
			selects[i].insertAdjacentHTML("afterEnd", "<b>" + getObj(selects[i].id)[getObj(selects[i].id).selectedIndex].text + "</b>");
		else
			text += selects[i].id.replace("Text", "") + ": <b>" + getObj(selects[i].id)[getObj(selects[i].id).selectedIndex].text + "</b><br>"; 
		selects[i].style.display="none";
	}
	
	var imgs = form.getElementsByTagName("img");
	for (i=0; i<imgs.length; i++)
	{
		imgs[i].style.display="none";
	}
	var labels = form.getElementsByTagName("label");
	for (i=0; i<labels.length; i++)
	{
		labels[i].style.display="none";
	}
	if (text=="")
		return form.innerHTML;
	else
		return text;
}

