Form={
	
	CLASS:'pbg',
	FLOATED_ELEM:'label',
	
	form:null,	

	init:function()
	{
		
		Form.form = Form.getElementsByClassName( Form.CLASS, 'form' );
		
		if( !Form.form || Form.form == undefined || Form.form == '' ) return;
				
		Form.fixListItemHeight();
		
	},
	
	fixListItemHeight:function()
	{

		var labels = Form.form.getElementsByTagName( Form.FLOATED_ELEM );
		
		for( var i=0; i<labels.length; i++ )
		{
			
			var parent = labels[i].parentNode;
			
			var padding;
				
			if( window.getComputedStyle )
			{
				
				padding = parseInt( window.getComputedStyle( parent, null ).paddingTop );
				
			} else {

				padding = parseInt( parent.currentStyle.paddingTop );
				
			}
			
			if( parent.offsetHeight - padding <= labels[i].offsetHeight )
			{
							
				parent.style.height = labels[i].offsetHeight + padding + 'px';
				
			}
			
		}
	
	},
	
	/**
	* Gets elements with the specified class name. Also takes an optional
	* paramter for specifying a particular type of element.
	*/
		
	getElementsByClassName:function( theClass, theType )
	{
		
		if( !theType || theType == undefined ) {
			
			theType = '*';
			
		}
		
		var byClass = new Array();
		
		var all = document.getElementsByTagName( theType );
		
		for( var i=0; i<all.length; i++ ) {
			
			if( all[i].className == theClass ) {
				
				byClass[ byClass.length ] = all[i];
				
			}
			
		}
		
		if( byClass.length == 1 )
		{
			
			byClass = byClass[0];
			
		}
		
		return byClass;
		
	},
	
	/**
	* Simple utility method for allowing the use of multiple window.onload functions.
	* Written by Simon Willison
	*/
	
	addLoadEvent:function( func ) 
	{
		
		var oldonload = window.onload;
		
		if( typeof window.onload != 'function' ) {
			
			window.onload = func;
			
		} else {
			
			window.onload = function() {
				
				oldonload();
				func();
				
			}
			
		}
		
	}
			
}

Form.addLoadEvent( Form.init );
