//************************ Adjacents.js  **********************************************

// 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.toLowerCase()){
			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)
		}
		if(!HTMLElement.prototype.innerHTML){
			// Inserta InnerHTML y compañía
			HTMLElement.prototype.innerHTML setter = function (str) {
			   var r = this.ownerDocument.createRange();
			   r.selectNodeContents(this);
			   r.deleteContents();
			   var df = r.createContextualFragment(str);
			   this.appendChild(df);
			   return str;
			}
			
			HTMLElement.prototype.outerHTML setter = function (str) {
			   var r = this.ownerDocument.createRange();
			   r.setStartBefore(this);
			   var df = r.createContextualFragment(str);
			   this.parentNode.replaceChild(df, this);
			   return str;
			}
			
			
			HTMLElement.prototype.innerHTML getter = function () {
			   return getInnerHTML(this);
			}
			
			HTMLElement.prototype.outerHTML getter = function () {
			   return getOuterHTML(this)
			} 
		}
	}
