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 replace_tag(obj, result_tag, form_name) {
	text=obj.value
	name=obj.name
	re=/\\n/gi
	re1=/\n/gi
	re2=/\'/gi
	if (result_tag=='textarea') {
		text=text.replace(re,"\n")
		obj.outerHTML='<textarea cols=20 rows=3 onblur="replace_tag(this, \'input\',\''+form_name+
		'\')" name='+obj.name+'>'+text+'</textarea>'
		document.forms[form_name][name].focus()
	} else if (result_tag='input'){ 
		text=text.replace(re1,"\\n")
		text=text.replace(re2,"&#039;")
		obj.outerHTML='<input name='+obj.name+' type=text value="'+text+
		'" onfocus="replace_tag(this, \'textarea\', \''+form_name+'\')">'
	}
}
