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) 
        } 
} 

