IEmarginFix={list:[],ss:null,needsFixed:function(){var n=navigator.userAgent;return/msie [5-7]\./i.test(n)&&!/mac/i.test(n)&&document.compatMode!="CSS1Compat"&&window.attachEvent&&document.styleSheets.length>0}(),init:function(){if(IEmarginFix.needsFixed){this.ss=document.styleSheets;for(var u,i=[],t=[],f=[],r=this.getRules(),n=0;n<r.length;n++)this.checkMargin(r[n][1])?i[i.length]=r[n][0]:this.checkLopsided(r[n][1])&&(t[t.length]=r[n][0]);for(n=0;u=i[n];n++)this.ss[this.ss.length-1].addRule(u,"margin-left : expression( IEmarginFix.autoFix(this) );");for(n=0;u=t[n];n++)this.ss[this.ss.length-1].addRule(u,"margin-left : expression( IEmarginFix.lopsidedFix(this) );");this.list=i.length>0?t.length>0?i.concat(t):i:t,window.attachEvent("onload",IEmarginFix.checkInline)}},autoFix:function(n){var t="auto",r=n.currentStyle.width,i=n.id?"#"+n.id:n.className?n.tagName+"."+n.className:n.tagName;return r.indexOf("%")!=-1?(t=(100-parseInt(r))/2+"%",IEmarginFix.ss[IEmarginFix.ss.length-1].addRule(i,"margin-left : "+t+"; margin-right : "+t+"; width : 100%")):IEmarginFix.ss[IEmarginFix.ss.length-1].addRule(i,"margin-left : expression( IEmarginFix.pxAutoFix(this) );"),t},pxAutoFix:function(n){var t,i=n.parentNode;return t=i.clientWidth>0?i.clientWidth:i.scrollWidth,t=(t-n.offsetWidth)/2,Math.max(t,0)},lopsidedFix:function(n){var i=n.parentNode,r,t;return r=i.clientWidth>0?i.clientWidth:i.scrollWidth,t=r-n.offsetWidth,n.currentStyle.marginRight.indexOf("px")!=-1?t-=parseInt(n.currentStyle.marginRight):n.currentStyle.marginRight.indexOf("%")!=-1&&(t-=parseInt(n.currentStyle.marginRight)*.01*r),t-=parseInt(i.currentStyle.paddingLeft)+parseInt(i.currentStyle.paddingRight)},checkInline:function(){for(var r,t,u,i=[],f=IEmarginFix.list,n=0;r=f[n];n++)if(r.indexOf(".")!=-1)i=i.concat(IEmarginFix.getClass(r.substring(r.indexOf(".")+1)));else if(r.charAt(0)=="#")i[i.length]=document.all[r.substring(1)];else if(t=document.getElementsByTagName(r),t.length>0)for(n=0;n<t.length;n++)i=i.concat(t.item(n));for(n=0;n<i.length;n++)t=i[n],t&&t.style&&(u=IEmarginFix.getStyle(t,"display"),u=="block"||(IEmarginFix.ie50?IEmarginFix.ie50check(t.tagName):u=="list-item")||(t.style.margin=0))},checkMargin:function(n){return n.search(/position\s*:\s*absolute/i)==-1&&(n.match(/margin\s*:\s*auto(;|$)/i)||n.match(/margin\s*:\s*\S+\s+auto(;|$)/i)||n.match(/margin-left\s*:\s*auto/i)&&n.match(/margin-right\s*:\s*auto/i)||n.match(/margin\s*:\s*\S+\s+auto\s+\S+(;|$)/i)||n.match(/margin\s*:\s*\S+\s+auto\s+\S+\s+auto/i))},checkLopsided:function(n){return n.search(/position\s*:\s*absolute/i)==-1&&(n.match(/margin-left\s*:\s*auto/i)&&n.match(/margin-right\s*:\s*\d+(px|%)?/i)||n.match(/margin-left\s*:\s*auto/i)&&!n.match(/margin-right/i))},ie50:navigator.appVersion.toLowerCase().indexOf("msie 5.0")!=-1,ie50check:function(n){var t,i=!1;for(n=n.toUpperCase(),t=0;t<this.blockElms.length;t++)n==this.blockElms[t]&&(i=!0);return i},blockElms:["ADDRESS","BLOCKQUOTE","BODY","CENTER","COL","COLGROUP","DD","DIR","DIV","DL","DT","FIELDSET","FORM","FRAME","HN","HR","IFRAME","LEGEND","LI","LISTING","MARQUEE","MENU","OL","P","PLAINTEXT","PRE","TABLE","TBODY","TD","TFOOT","TH","THEAD","TR","UL","XMP"],getClass:function(n){for(var r=document.all?document.all:document.getElementsByTagName("*"),t=[],i=0;r[i];i++)r[i].className==n&&(t[t.length]=r[i]);return t.length==0&&(t=null),t},getRules:function(n){var r=null,e,t,i,s,o,h,u,f;if(document.styleSheets&&document.styleSheets.length)for(u=!0,f=!0,r=[],e=0;e<document.styleSheets.length;e++){if(t=document.styleSheets.item(e),n&&(u=(t.title||t.id)==n),f=typeof t.media=="string"&&t.media.length>0&&!t.media.match(/^(screen)|(media)$/i)?!1:!0,!t.disabled&&f&&u)if(t.rules){if(t.imports&&t.imports.length)for(i=0;i<t.imports.length;i++)for(o=0;h=t.imports[i].rules[o];o++)r[r.length]=[h.selectorText,h.style.cssText];for(i=0;s=t.rules[i];i++)r[r.length]=[s.selectorText,s.style.cssText]}else return null;if(n&&u)break;else u=!0}return r},getStyle:function(n,t){var r=IEmarginFix.compactStyle(t),i=n.style[r];return i==""&&(i=document.defaultView?document.defaultView.getComputedStyle(n,"").getPropertyValue(t):n.currentStyle[r]),i||(i=null),i},compactStyle:function(n){var r=n.split("-"),t=[r[0]];for(i=1;j=r[i];i++)t[t.length]=j.charAt(0).toUpperCase(),t[t.length]=j.substring(1);return t.join("")}},IEmarginFix.init()
