var btn = 
{
    init : function() 
    {
        if (!document.getElementById || !document.createElement || !document.appendChild) return false;
        
        as = btn.getElementsByClassName('btn(.*)');
        
        for (i=0; i<as.length; i++) 
        {
            var i1 = document.createElement('i');
            var i2 = document.createElement('i');
            var s1 = document.createElement('span');
            var s2 = document.createElement('span');
            s1.appendChild(i1);
            s1.appendChild(s2);
            while (as[i].firstChild) 
            {
              s1.appendChild(as[i].firstChild);
            }
            as[i].appendChild(s1);
            as[i] = as[i].insertBefore(i2, s1);
        }
    },
    addEvent : function(obj, type, fn) 
    {
        if (obj.addEventListener) 
        {
            obj.addEventListener(type, fn, false);
        }
        else if (obj.attachEvent) 
        {
            obj["e"+type+fn] = fn;
            obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
            obj.attachEvent("on"+type, obj[type+fn]);
        }
    },
    getElementsByClassName : function(className, tag, elm) 
    {
        var testClass = new RegExp("(^|\s)" + className + "(\s|$)");
        var tag = tag || "*";
        var elm = elm || document;
        var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
        var returnElements = [];
        var current;
        var length = elements.length;
        for(var i=0; i<length; i++)
        {
            current = elements[i];
            if(testClass.test(current.className))
            {
                returnElements.push(current);
            }
        }
        return returnElements;
    }
}

btn.addEvent(window,'load', function() { btn.init();} );

