//>>built
define("dojox/gfx/_gfxBidiSupport",["./_base","dojo/_base/lang","dojo/_base/sniff","dojo/dom","dojo/_base/html","dojo/_base/array","./utils","./shape","./path","dojox/string/BidiEngine"],function(g,_1,_2,_3,_4,_5,_6,_7,_8,_9){_1.getObject("dojox.gfx._gfxBidiSupport",true);switch(g.renderer){case "vml":g.isVml=true;break;case "svg":g.isSvg=true;if(g.svg.useSvgWeb){g.isSvgWeb=true;}break;case "silverlight":g.isSilverlight=true;break;case "canvas":case "canvasWithEvents":g.isCanvas=true;break;}var _a={LRM:"‎",LRE:"‪",PDF:"‬",RLM:"‏",RLE:"‫"};var _b=new _9();_1.extend(g.shape.Surface,{textDir:"",setTextDir:function(_c){_d(this,_c);},getTextDir:function(){return this.textDir;}});_1.extend(g.Group,{textDir:"",setTextDir:function(_e){_d(this,_e);},getTextDir:function(){return this.textDir;}});_1.extend(g.Text,{textDir:"",formatText:function(_f,_10){if(_10&&_f&&_f.length>1){var _11="ltr",_12=_10;if(_12=="auto"){if(g.isVml){return _f;}_12=_b.checkContextual(_f);}if(g.isVml){_11=_b.checkContextual(_f);if(_12!=_11){if(_12=="rtl"){return !_b.hasBidiChar(_f)?_b.bidiTransform(_f,"IRNNN","ILNNN"):_a.RLM+_a.RLM+_f;}else{return _a.LRM+_f;}}return _f;}if(g.isSvgWeb){if(_12=="rtl"){return _b.bidiTransform(_f,"IRNNN","ILNNN");}return _f;}if(g.isSilverlight){return (_12=="rtl")?_b.bidiTransform(_f,"IRNNN","VLYNN"):_b.bidiTransform(_f,"ILNNN","VLYNN");}if(g.isCanvas){return (_12=="rtl")?_a.RLE+_f+_a.PDF:_a.LRE+_f+_a.PDF;}if(g.isSvg){if(_2("ff")<4){return (_12=="rtl")?_b.bidiTransform(_f,"IRYNN","VLNNN"):_b.bidiTransform(_f,"ILYNN","VLNNN");}else{return _a.LRM+(_12=="rtl"?_a.RLE:_a.LRE)+_f+_a.PDF;}}}return _f;},bidiPreprocess:function(_13){return _13;}});_1.extend(g.TextPath,{textDir:"",formatText:function(_14,_15){if(_15&&_14&&_14.length>1){var _16="ltr",_17=_15;if(_17=="auto"){if(g.isVml){return _14;}_17=_b.checkContextual(_14);}if(g.isVml){_16=_b.checkContextual(_14);if(_17!=_16){if(_17=="rtl"){return !_b.hasBidiChar(_14)?_b.bidiTransform(_14,"IRNNN","ILNNN"):_a.RLM+_a.RLM+_14;}else{return _a.LRM+_14;}}return _14;}if(g.isSvgWeb){if(_17=="rtl"){return _b.bidiTransform(_14,"IRNNN","ILNNN");}return _14;}if(g.isSvg){if(_2("opera")||_2("ff")>=4){_14=_a.LRM+(_17=="rtl"?_a.RLE:_a.LRE)+_14+_a.PDF;}else{_14=(_17=="rtl")?_b.bidiTransform(_14,"IRYNN","VLNNN"):_b.bidiTransform(_14,"ILYNN","VLNNN");}}}return _14;},bidiPreprocess:function(_18){if(_18&&(typeof _18=="string")){this.origText=_18;_18=this.formatText(_18,this.textDir);}return _18;}});var _19=function(_1a,_1b,_1c,_1d){var old=_1a.prototype[_1b];_1a.prototype[_1b]=function(){var _1e;if(_1c){_1e=_1c.apply(this,arguments);}var r=old.call(this,_1e);if(_1d){r=_1d.call(this,r,arguments);}return r;};};var _1f=function(_20){if(_20){if(_20.textDir){_20.textDir=_21(_20.textDir);}if(_20.text&&(_20.text instanceof Array)){_20.text=_20.text.join(",");}}if(_20&&(_20.text!=undefined||_20.textDir)&&(this.textDir!=_20.textDir||_20.text!=this.origText)){this.origText=(_20.text!=undefined)?_20.text:this.origText;if(_20.textDir){this.textDir=_20.textDir;}_20.text=this.formatText(this.origText,this.textDir);}return this.bidiPreprocess(_20);};_19(g.Text,"setShape",_1f,null);_19(g.TextPath,"setText",_1f,null);var _22=function(_23){var obj=_1.clone(_23);if(obj&&this.origText){obj.text=this.origText;}return obj;};_19(g.Text,"getShape",null,_22);_19(g.TextPath,"getText",null,_22);var _24=function(_25,_26){var _27;if(_26&&_26[0]){_27=_21(_26[0]);}_25.setTextDir(_27?_27:this.textDir);return _25;};_19(g.Surface,"createGroup",null,_24);_19(g.Group,"createGroup",null,_24);var _28=function(_29){if(_29){var _2a=_29.textDir?_21(_29.textDir):this.textDir;if(_2a){_29.textDir=_2a;}}return _29;};_19(g.Surface,"createText",_28,null);_19(g.Surface,"createTextPath",_28,null);_19(g.Group,"createText",_28,null);_19(g.Group,"createTextPath",_28,null);g.createSurface=function(_2b,_2c,_2d,_2e){var s=g[g.renderer].createSurface(_2b,_2c,_2d);var _2f=_21(_2e);if(g.isSvgWeb){s.textDir=_2f?_2f:_4.style(_3.byId(_2b),"direction");return s;}if(g.isVml||g.isSvg||g.isCanvas){s.textDir=_2f?_2f:_4.style(s.rawNode,"direction");}if(g.isSilverlight){s.textDir=_2f?_2f:_4.style(s._nodes[1],"direction");}return s;};function _d(obj,_30){var _31=_21(_30);if(_31){g.utils.forEach(obj,function(e){if(e instanceof g.Surface||e instanceof g.Group){e.textDir=_31;}if(e instanceof g.Text){e.setShape({textDir:_31});}if(e instanceof g.TextPath){e.setText({textDir:_31});}},obj);}return obj;};function _21(_32){var _33=["ltr","rtl","auto"];if(_32){_32=_32.toLowerCase();if(_5.indexOf(_33,_32)<0){return null;}}return _32;};return g;});