var btn = {
    init : function() {
        if (!document.getElementById || !document.createElement || !document.appendChild) return false;
        as = btn.getElementsByClassName('azbutton(.*)');
        for (i=0; i<as.length; i++) {
            if ( as[i].tagName == "INPUT" && ( as[i].type.toLowerCase() == "submit" || as[i].type.toLowerCase() == "button" ) ) {
				var a1 = document.createElement("a");
				var form = btn.findParentForm(as[i]);
				a1.setAttribute("onclick", "javascript: document.forms." + form.name + ".submit(); return false;");
				var s1 = document.createElement('span');
				a1.appendChild(s1);
                s1.appendChild(document.createTextNode(as[i].value));
                a1.className = "azbutton";
                a1.id = as[i].id;
                as[i] = as[i].parentNode.replaceChild(a1, as[i]);
                as[i] = a1;
                as[i].style.cursor = "pointer";
				//find parent form
				// The following lines submits the form if the button id is "az_submit_btn"
				btn.addEvent(document.getElementById('az_submit_btn'),'click',function() {
					var form = btn.findParentForm(this);
					form.submit();
				});
				// The following lines resets the form if the button id is "az_reset_btn"
				btn.addEvent(document.getElementById('az_reset_btn'),'click',function() {
					var form = btn.findParentForm(this);
					form.reset();
				});				
            }
            else if (as[i].tagName.toLowerCase() == "span") {
                as[i].parentNode.className = "azbutton";
            }
            else { return false };
        }
    },
    findParentForm : function(f) {
        while(f != null && f.tagName != "FORM") {
            f = f.parentNode;
        }
        return f;
    },
    addEvent : function(obj, type, fn) {
		if (obj == null) { return false; }
		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();} );
