function LBOX() {
	if (document.Entry.program.offsetWidth < 350)
		document.Entry.program.style.width = '350px';
	else
	{
		document.Entry.program.style.width = '350px';
		var s1 = new YAHOO.Hack.FixIESelectWidth( 's1'  ); //program field
	}
	var s2 = new YAHOO.Hack.FixIESelectWidth( 's2'  ); //state field
	var s3 = new YAHOO.Hack.FixIESelectWidth( 's3'  ); //country field
}

YAHOO.namespace( 'YAHOO.Hack' ).FixIESelectWidth = new function()
{
	var oSelf = this; 
	var YUE = YAHOO.util.Event;
	var YUD = YAHOO.util.Dom;
	var oTimer = {};
	var oAnim = {};
	var nTimerId =  0 ;
	var dLastFocalItem;
	var ie6 = (document.compatMode && document.all);
	var ie7 = (window.XMLHttpRequest && document.all);
	function init(el)
	{
		
		el = el || this;
		
		if( el.tagName.toLowerCase() != 'select')
		{
			throw Error('element [' + el.id + '] is not <select>');
			return;
		};	
		
		if(!YUD.hasClass( el.parentNode, 'select-box'))
		{
			throw Error('className select-box is not included for element [' + el.id + ']');
			return;
		};	
		
		var oRs = el.runtimeStyle;
		var oPRs = el.parentNode.runtimeStyle;
		
		oPRs.fonSize = 0;
		
		var sDisplay = el.parentNode.currentStyle.display.toLowerCase() ;
		if(  sDisplay=='' ||  sDisplay=='inline' ||  sDisplay=='inline-block' )
		{
			oPRs.display = 'inline-block';
			oPRs.width = el.offsetWidth + 'px';
			oPRs.height =el.offsetHeight + 'px';
			oPRs.position = 'relative';
			oRs.position = 'absolute';
			oRs.top = 0;
			oRs.left = 0;
		};

		//el.selectedIndex = Math.max( 0 , el.selectedIndex );
		
		//-- IE 6 will not work if there is a mousedown event attached to the drop down
		//-- the selected index will not change

		/*		
		this.onactivate = function () {
			//alert('hi');
			return false;
		}*/

		if (ie7)
		{
			YUE.on( el, 'mousedown' , mymousedown);
			YUE.on( el, 'click' , myclick);
			YUE.on( el, 'dblclick' , mydoubleclick);
			YUE.on(  el, 'change' ,collapseSelect, el, false);
			YUE.on(  el, 'blur' ,collapseSelect , el, true);
		}
		/*
		else if (ie6)
		{
			//alert('this is ie6');
			
			YUE.on( el, 'activate' , mymousedown);
			YUE.on( el, 'click' , myclick);
			YUE.on( el, 'dblclick' , mydoubleclick);
			YUE.on(  el, 'change' ,collapseSelect, el, false);
			YUE.on(  el, 'blur' ,collapseSelect , el, true);
		}
		*/
	}
	
	
	var firstopen = false;
	function mymousedown(e)
	{
		status++;
		
		if (this.runtimeStyle.width != 'auto')
		{
			this.runtimeStyle.width = 'auto';
			firstopen = true;
		}
		//el.focus();
		//el.click();
	}
	
	function myclick()
	{
		status++;
		
		if (firstopen == false)
		{
			this.runtimeStyle.width = '';
			expanded = false;
		}
		else
		{
			firstopen = false;
		}
	}
	
	function mydoubleclick()
	{
		status++;
		
		if (firstopen == false)
		{
			this.runtimeStyle.width = '';
			expanded = false;
		}
		else
		{
			firstopen = false;
		}
	}
	
	
	function collapseSelect(e)
	{
		status++;
		this.runtimeStyle.width = '';
	}
	
	

























	function onMouseDown(e , el )
	{
		el = ( e.srcElement || e.target );
		
		if( el == this && e.type!='click' )
		{
			status++;
			YUE.stopEvent(e);
			return false;
		};
		el = this;
		
	}

	function constructor(sId)
	{
		sId = [ sId , ''].join('');
		//Only fix for IE55 ~ IE7
		
		if(document.uniqueID && window.createPopup )
		{			
			YUE.onAvailable(sId ,init );
			return true;

		}else{return false};
	};

	return constructor;
}
