var btn = {
	init : function() {
		if (!document.getElementById || !document.createElement || !document.appendChild) return false;
		as = btn.getElementsByClassName('roundbutton(.*)');
		for (i=0; i<as.length; i++) {
			if ( (as[i].tagName == "INPUT" && ( as[i].type.toLowerCase() == "submit" || as[i].type.toLowerCase() == "button" )) || as[i].tagName == "BUTTON" ) {
				try{
					var a1 = document.createElement("a");
					var inner = document.createElement("span");
					var text = as[i].textContent || as[i].value;
					inner.appendChild(document.createTextNode(text));
					a1.appendChild(inner);
					a1.id = as[i].id;
					a1.className = as[i].className;
					as[i].parentNode.insertBefore(a1, as[i]);
										
					a1.style.marginTop = as[i].style.marginTop || "";
					a1.style.marginRight = as[i].style.marginRight || "";
					a1.style.marginBottom = as[i].style.marginBottom || "";
					a1.style.marginLeft = as[i].style.marginLeft || "";
					a1.origElem = as[i];					
					
					as[i].style.display = "none";
					btn.addEvent(a1, "click", function(e){ 
														if (!e) var e = window.event;
														if (e.target) targ = e.target;
														else if (e.srcElement) targ = e.srcElement;
														if (targ.nodeType == 3) // defeat Safari bug
															targ = targ.parentNode;
														targ = targ.tagName == "A"? targ : targ.parentNode;
														targ.origElem.click(); });
					btn.addEvent(a1, "mouseover", function(e){ 
														if (!e) var e = window.event;
														if (e.target) targ = e.target;
														else if (e.srcElement) targ = e.srcElement;
														if (targ.nodeType == 3) // defeat Safari bug
															targ = targ.parentNode;
														targ = targ.tagName == "A"? targ : targ.parentNode;
														btn.addClass(targ, "roundbuttonhover"); });
					btn.addEvent(a1, "mouseout", function(e){ 
														if (!e) var e = window.event;
														if (e.target) targ = e.target;
														else if (e.srcElement) targ = e.srcElement;
														if (targ.nodeType == 3) // defeat Safari bug
															targ = targ.parentNode;
														targ = targ.tagName == "A"? targ : targ.parentNode;
														btn.removeClass(targ, "roundbuttonhover"); });
				}
				catch(err){
					//alert(err);
				}
			}			
		}
	},
	findForm : function(f) {
		while(f.tagName != "FORM") {
			f = f.parentNode;
		}
		return f;
	},
	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;
	},
	hasClass: function(ele, cls){	
		return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));	
	}, 	
	addClass: function(ele, cls){	
		if (!this.hasClass(ele,cls)) ele.className += " "+cls;	
	}, 	
	removeClass: function(ele, cls){	
		if(this.hasClass(ele,cls)){	
			var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');	
			ele.className=ele.className.replace(reg,' ');	
		}	
	}
}
btn.addEvent(window,'load', function() { btn.init();} );