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 ie7=!!(document.uniqueID&&typeof(XMLHttpRequest)!='undefined')
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._timerId=(nTimerId+=1);el.selectedIndex=Math.max(0,el.selectedIndex);oTimer['_'+el._timerId]=setTimeout('void(0)',0);oAnim['A'+el._timerId]=setTimeout('void(0)',0);YUE.on(el,'mouseover',onMouseOver);YUE.on(document,'mousedown',onMouseDown,el,true);YUE.on(el,'change',collapseSelect,el,true);}
function collapseSelect(e)
{status++;this.runtimeStyle.width='';}
function onMouseOver(e)
{var el=this;if(dLastFocalItem&&dLastFocalItem!=el)
{onMouseDown.call(dLastFocalItem,e);};var sTimerId='_'+el._timerId;var sAniId='A'+el._timerId;clearTimeout(oTimer[sTimerId]);var onTween=function()
{clearTimeout(oAnim[sAniId]);if(Math.abs(nEndWidth-nStartWidth)>3)
{nStartWidth+=(nEndWidth-nStartWidth)/3;el.runtimeStyle.width=nStartWidth+'px';oAnim[sAniId]=setTimeout(onTween,0);}
else
{el.runtimeStyle.width='auto';el.selectedIndex=Math.max(0,el.selectedIndex);}}
var nStartWidth=el.offsetWidth;el.runtimeStyle.width='auto';var nEndWidth=el.offsetWidth;clearTimeout(oAnim[sAniId]);onTween();el.focus();dLastFocalItem=el;}
function onMouseDown(e,el)
{el=(e.srcElement||e.target);if(el==this&&e.type!='mouseover')
{status++;YUE.stopEvent(e);return false;};el=this;clearTimeout(oAnim['A'+el._timerId]);var sTimerId='_'+el._timerId;var doItLater=function()
{el.runtimeStyle.width='';};if(e.type=='mouseover')
{doItLater();}
else{oTimer[sTimerId]=setTimeout(doItLater,100);}}
function constructor(sId)
{sId=[sId,''].join('');if(document.uniqueID&&window.createPopup)
{YUE.onAvailable(sId,init);return true;}else{return false};};return constructor;}
