var button =
{
	init: function()
	{
		if ( !document.getElementById || !document.createElement || !document.appendChild )
			return false;

		as = button.getElementsByClassName( 'btn(.*)' );

		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" );
				a1.appendChild( document.createTextNode( as[ i ].value ) );
				a1.className = as[ i ].className;
				a1.id = as[ i ].id;
				as[ i ] = as[ i ].parentNode.replaceChild( a1, as[ i ] );
				as[ i ] = a1;
				as[ i ].style.cursor = "pointer";
			}

			else if ( as[ i ].tagName == "A" )
			{
				var tt = as[ i ].childNodes;
			}

			else
			{
				return false
			};
			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 );
		}
		// The following lines submits the form if the button id is "submit_btn"
		button.addEvent( document.getElementById( 'submit_btn' ), 'click', function()
		{
			var form = button.findForm( this );
			form.submit();
		});
		// The following lines resets the form if the button id is "reset_btn"
		button.addEvent( document.getElementById( 'reset_btn' ), 'click', function()
		{
			var form = button.findForm( this );
			form.reset();
		});
	},
	findForm: function( f )
	{
		while ( f.tagName != "FORM" )
		{
			f = f.parentNode;
		}
		return f;
	},
	addEvent: function( obj, type, fn )
	{
	    if ( obj == null || obj == "undefined" )
        {
            return;
        }
        
		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;
	}
}

button.addEvent( window, 'load', function()
{
	button.init();
});
