/**
 * jQuery workaround for the cropped oion eles in set width select eles.
 * 
 * Copyright (c) 2010 Ewen Elder
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 * @author: Ewen Elder <glomainn at yahoo dot co dot uk> <ewen at jainaewen dot com>
 * @version: 0.1.1 beta
**/
jQuery.fn.ieSelectWidth=function(a){var b,c,d,e,f,g,h;d=$(this);e=document;f=window;g=false;h=e.documentMode;b={width:'',containerClassName:'ie-select-width-container',overlayClassName:'ie-select-width-overlay',overlayCSS:'',containerCSS:''};a=$.extend(b,a);c={a:function(){var i=this;if(!e.all){return g}$.each(d,function(){var j=$(this);if(j.attr('multiple')||j.attr('size')>0){return g}if(!j.attr('id').length){j.attr('id',String((new Date()).getTime()).replace(/\D/gi,'').substr(8))}if(a.width!==''){j.css('width',a.width+'px')}j.data('a',j.outerWidth());i.b(j);i.c(j);$(j).css({position:'relative',top:'auto',left:'auto',bottom:'auto',right:'auto',margin:'0'})});$(d).bind('dblclick mousedown change blur',function(k){i.d(k)});$(d).bind('mousedown mouseup mouseover mouseout blur change',function(k){i.e(k)})},b:function(j){var l;if(!f.XMLHttpRequest){l='ie6'}else if(f.XMLHttpRequest&&!h){l='ie7'}else if(h){l='ie8'}j.after('<span id="'+j.attr('id')+'-container" class="'+a.containerClassName+' '+l+'"></span>');j.next().append(j);j.parent().css({position:j.css('position')==='static'?'relative':j.css('position'),display:'block',top:j.css('top'),right:j.css('right'),bottom:j.css('bottom'),left:j.css('left'),overflow:'hidden',width:j.outerWidth()+'px',margin:(j.css('margin-top')!=='auto'?j.css('margin-top'):'0')+' '+(j.css('margin-right')!=='auto'?j.css('margin-right'):'0')+' '+(j.css('margin-bottom')!=='auto'?j.css('margin-bottom'):'0')+' '+(j.css('margin-left')!=='auto'?j.css('margin-left'):'0')});if(a.containerCSS!==''){j.parent().css(a.containerCSS)}},c:function(j){var m,n,o,p,q,r,s,t,u,v,w,x,y;q=j.attr('id');v=q+'-'+a.overlayClassName;j.after('<a id="'+v+'" class="'+a.overlayClassName+'"><span></span></a>');u=$('a#'+v);if(!f.XMLHttpRequest&&($.fn.bgIframe||$.fn.bgiframe)){u.bgiframe()}u.bind('mousedown',function(){setTimeout(function(){j.focus()},1)});p=u.children('span').width();o=j.css('border-top-style')!=='none'?+j.css('border-top-width').replace('px',''):0;n=j.css('border-right-style')!=='none'?+j.css('border-right-width').replace('px',''):0;m=j.css('border-bottom-style')!=='none'?+j.css('border-bottom-width').replace('px',''):0;x=+j.css('padding-top').replace('px','');w=+j.css('padding-right').replace('px','');s=j.outerWidth()-p;y=p;r=j.outerHeight();if(h){if(n>0){s=s-(n+w);n=n+'px '+j.css('border-right-style')+' '+j.css('border-right-color')}if(o>0||m>0){r=r-(o+m)}if(w>0){y=(p+w)}t=o+'px 0';u.children('span').css({margin:x+'px 0'})}u.css({position:'absolute',display:'none',top:j.position().top+'px',left:s+'px',width:y+'px',height:r+'px',margin:t,borderRight:n});if(a.overlayCSS!==''){u.css(a.overlayCSS)}},d:function(k){var j,q,z,u,aa,ab,ac;j=$(k.target);q=j.attr('id');z=j.offset();u=$('a#'+q+'-'+a.overlayClassName);aa=k.pageX;ab=k.pageY;ac=k.type;if(ac==='dblclick'){j.css({width:j.data('a')+'px'})}if(ac==='change'||ac==='blur'||(ac==='mousedown'&&u.css('display')==='block'&&z.left<aa&&(z.left+j.data('a'))>aa&&z.top<ab&&(z.top+j.outerHeight())>ab)){return this.f(k)}if(u.css('display')==='none'){u.css('display','block')}if(!j.data('ignore')){j.css('width','auto');if(j.outerWidth()<j.parent().innerWidth()){j.css('width',j.data('a')+'px');j.data('ignore',true)}}},f:function(k){var j=$(k.target);j.siblings('a.'+a.overlayClassName+'').css('display','none');if(!j.data('ignore')){setTimeout(function(){j.css({width:j.data('a')+'px'})},1)}},e:function(k){var j,z,u,aa,ab,ac;j=$(k.target);z=j.offset();u=$('a#'+j.attr('id')+'-'+a.overlayClassName);aa=k.pageX;ab=k.pageY;ac=k.type;if(!u.length){return g}if(ac==='mousedown'&&z.left<aa&&(z.left+j.data('a'))>aa&&z.top<ab&&(z.top+j.outerHeight())>ab){u.removeClass().addClass(a.overlayClassName+' '+a.overlayClassName+'-active')}else if(ac==='mouseover'){u.removeClass().addClass(a.overlayClassName+' '+a.overlayClassName+'-hover')}else if(ac==='mouseup'||ac==='mouseout'||ac==='blur'||ac==='change'){u.removeClass().addClass(a.overlayClassName)}}};c.a()};
