/* Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. Available via Academic Free License >= 2.1 OR the modified BSD license. see: http://dojotoolkit.org/license for details */ if(!dojo._hasResource["dojox.html.ext-dojo.style"]){ dojo._hasResource["dojox.html.ext-dojo.style"]=true; dojo.provide("dojox.html.ext-dojo.style"); dojo.experimental("dojox.html.ext-dojo.style"); dojo.mixin(dojox.html["ext-dojo"].style,{supportsTransform:true,_toPx:function(_1){ var ds=dojo.style,_2=this._conversion; if(typeof _1==="number"){ return _1+"px"; }else{ if(_1.toLowerCase().indexOf("px")!=-1){ return _1; } } !_2.parentNode&&dojo.place(_2,dojo.body()); ds(_2,"margin",_1); return ds(_2,"margin"); },init:function(){ var ds=dojo.style,_3=dojo.doc.documentElement.style,_4=dojox.html["ext-dojo"].style; dojo.style=function(_5,_6,_7){ var n=dojo.byId(_5),tr=(_6=="transform"),to=(_6=="transformOrigin"),_8=arguments.length; if(_8==3){ if(tr){ _4.setTransform(n,_7,true); }else{ if(to){ _4.setTransformOrigin(n,_7); }else{ ds(_5,_6,_7); } } } if(_8==2){ if(tr){ return _4.getTransform(_5); }else{ if(to){ return _4.getTransformOrigin(_5); }else{ return ds(_5,_6); } } } }; for(var i=0,_9=["WebkitT","MozT","OT","t"];i<_9.length;i++){ if(typeof _3[_9[i]+"ransform"]!=="undefined"){ this.tPropertyName=_9[i]+"ransform"; } if(typeof _3[_9[i]+"ransformOrigin"]!=="undefined"){ this.toPropertyName=_9[i]+"ransformOrigin"; } } if(this.tPropertyName){ this.setTransform=function(_a,_b){ return dojo.style(_a,this.tPropertyName,_b); }; this.getTransform=function(_c){ return dojo.style(_c,this.tPropertyName); }; }else{ if(dojo.isIE){ this.setTransform=this._setTransformFilter; this.getTransform=this._getTransformFilter; } } if(this.toPropertyName){ this.setTransformOrigin=function(_d,_e){ return dojo.style(_d,this.toPropertyName,_e); }; this.getTransformOrigin=function(_f){ return dojo.style(_f,this.toPropertyName); }; }else{ if(dojo.isIE){ this.setTransformOrigin=this._setTransformOriginFilter; this.getTransformOrigin=this._getTransformOriginFilter; }else{ this.supportsTransform=false; } } this._conversion=dojo.create("div",{style:{position:"absolute",top:"-100px",left:"-100px",fontSize:0,width:"0",backgroundPosition:"50% 50%"}}); },_notSupported:function(){ console.warn("Sorry, this browser doesn't support transform and transform-origin"); },_setTransformOriginFilter:function(_10,_11){ var to=dojo.trim(_11).replace(" top"," 0").replace("left ","0 ").replace(" center","50%").replace("center ","50% ").replace(" bottom"," 100%").replace("right ","100% ").replace(/\s+/," "),_12=to.split(" "),n=dojo.byId(_10),t=this.getTransform(n),_13=true; for(var i=0;i<_12.length;i++){ _13=_13&&/^0|(\d+(%|px|pt|in|pc|mm|cm))$/.test(_12[i]); if(_12[i].indexOf("%")==-1){ _12[i]=this._toPx(_12[i]); } } if(!_13){ return; } if(!_12.length||_12.length>2){ return; } dojo.attr(n,"dojo-transform-origin",_12.join(" ")); t&&this.setTransform(_10,t); },_getTransformOriginFilter:function(_14){ return dojo.attr(_14,"dojo-transform-origin")||"50% 50%"; },_setTransformFilter:function(_15,_16){ var t=_16.replace(/\s/g,""),n=dojo.byId(_15),_17=t.split(")"),_18=1,_19=1,_1a="DXImageTransform.Microsoft.Matrix",_1b=dojo.hasAttr,_1c=dojo.attr,PI=Math.PI,cos=Math.cos,sin=Math.sin,tan=Math.tan,max=Math.max,min=Math.min,abs=Math.abs,_1d=PI/180,_1e=PI/200,ct="",_1f="",_20=[],x0=0,y0=0,dx=0,dy=0,xc=0,yc=0,a=0,m11=1,m12=0,m21=0,m22=1,tx=0,ty=0,_21=[m11,m12,m21,m22,tx,ty],_22=false,ds=dojo.style,_23=ds(n,"position")=="absolute"?"absolute":"relative",w=ds(n,"width")+ds(n,"paddingLeft")+ds(n,"paddingRight"),h=ds(n,"height")+ds(n,"paddingTop")+ds(n,"paddingBottom"),_24=this._toPx; !_1b(n,"dojo-transform-origin")&&this.setTransformOrigin(n,"50% 50%"); for(var i=0,l=_17.length;i_2a?0:(_2a-_29)/2); } }else{ if(dojo.isIE==8){ ds(n,"zIndex")=="auto"&&(n.style.zIndex="0"); } } try{ _22=!!n.filters.item(_1a); } catch(e){ _22=false; } if(_22){ n.filters.item(_1a).M11=m11; n.filters.item(_1a).M12=m12; n.filters.item(_1a).M21=m21; n.filters.item(_1a).M22=m22; n.filters.item(_1a).filterType="bilinear"; n.filters.item(_1a).Dx=0; n.filters.item(_1a).Dy=0; n.filters.item(_1a).sizingMethod="auto expand"; }else{ n.style.filter+=" progid:"+_1a+"(M11="+m11+",M12="+m12+",M21="+m21+",M22="+m22+",FilterType='bilinear',Dx=0,Dy=0,sizingMethod='auto expand')"; } tx=parseInt(_1c(n,"dojo-transform-matrix-tx")||"0"); ty=parseInt(_1c(n,"dojo-transform-matrix-ty")||"0"); var _2b=_1c(n,"dojo-transform-origin").split(" "); for(i=0;i<2;i++){ _2b[i]=_2b[i]||"50%"; } xc=(_2b[0].toString().indexOf("%")!=-1)?w*parseInt(_2b[0])*0.01:_2b[0]; yc=(_2b[1].toString().indexOf("%")!=-1)?h*parseInt(_2b[1])*0.01:_2b[1]; if(_1b(n,"dojo-startX")){ x0=parseInt(_1c(n,"dojo-startX")); }else{ x0=parseInt(ds(n,"left")); _1c(n,"dojo-startX",_23=="absolute"?x0:"0"); } if(_1b(n,"dojo-startY")){ y0=parseInt(_1c(n,"dojo-startY")); }else{ y0=parseInt(ds(n,"top")); _1c(n,"dojo-startY",_23=="absolute"?y0:"0"); } ds(n,{position:_23,left:x0-parseInt(dx)+parseInt(xc)-((parseInt(xc)-tx)*m11+(parseInt(yc)-ty)*m12)+"px",top:y0-parseInt(dy)+parseInt(yc)-((parseInt(xc)-tx)*m21+(parseInt(yc)-ty)*m22)+"px"}); },_getTransformFilter:function(_2c){ try{ var n=dojo.byId(_2c),_2d=n.filters.item(0); return "matrix("+_2d.M11+", "+_2d.M12+", "+_2d.M21+", "+_2d.M22+", "+(dojo.attr(_2c,"dojo-transform-tx")||"0")+", "+(dojo.attr(_2c,"dojo-transform-ty")||"0")+")"; } catch(e){ return "matrix(1, 0, 0, 1, 0, 0)"; } },setTransform:function(){ this._notSupported(); },setTransformOrigin:function(){ this._notSupported(); }}); dojox.html["ext-dojo"].style.init(); }