//>>built define("dojo/_base/kernel dojo/_base/connect dojo/_base/event dojo/_base/lang dojo/_base/window dojo/dom-class dojo/dom-construct dojo/dom-style dojo/dom-geometry dojo/touch dijit/registry dijit/form/_TextBoxMixin ./sniff ./_css3 ./_maskUtils ./common dojo/_base/declare dojo/has!dojo-bidi?dojox/mobile/bidi/Scrollable".split(" "),function(t,p,v,x,g,n,u,k,y,w,A,B,h,f,z,C,D,E){var l=x.getObject("dojox.mobile",!0);h.add("translate3d",function(){if(h("css3-animations")){var a=g.doc.createElement("div"); a.style[f.name("transform")]="translate3d(0px,1px,0px)";g.doc.documentElement.appendChild(a);var b=g.doc.defaultView.getComputedStyle(a,"")[f.name("transform",!0)],b=b&&0===b.indexOf("matrix");g.doc.documentElement.removeChild(a);return b}});var r=function(){};x.extend(r,{fixedHeaderHeight:0,fixedFooterHeight:0,isLocalFooter:!1,scrollBar:!0,scrollDir:"v",weight:.6,fadeScrollBar:!0,disableFlashScrollBar:!1,threshold:4,constraint:!0,touchNode:null,propagatable:!0,dirLock:!1,height:"",scrollType:0,_parentPadBorderExtentsBottom:0, _moved:!1,init:function(a){if(a)for(var b in a)a.hasOwnProperty(b)&&(this[b]="domNode"!=b&&"containerNode"!=b||"string"!=typeof a[b]?a[b]:g.doc.getElementById(a[b]));C._setTouchAction(this.domNode,"none");this.touchNode=this.touchNode||this.containerNode;this._v=-1!=this.scrollDir.indexOf("v");this._h=-1!=this.scrollDir.indexOf("h");this._f="f"==this.scrollDir;this._ch=[];this._ch.push(p.connect(this.touchNode,w.press,this,"onTouchStart"));if(h("css3-animations"))if(this._useTopLeft=this.scrollType? 2===this.scrollType:!1,this._useTopLeft||(this._useTransformTransition=this.scrollType?3===this.scrollType:6<=h("ios")||0||0),this._useTopLeft)this._ch.push(p.connect(this.containerNode,f.name("transitionEnd"),this,"onFlickAnimationEnd"));else{if(this._useTransformTransition)this._ch.push(p.connect(this.containerNode,f.name("transitionEnd"),this,"onFlickAnimationEnd"));else for(this._ch.push(p.connect(this.containerNode,f.name("animationEnd"),this,"onFlickAnimationEnd")),this._ch.push(p.connect(this.containerNode, f.name("animationStart"),this,"onFlickAnimationStart")),a=0;3>a;a++)this.setKeyframes(null,null,a);h("translate3d")&&k.set(this.containerNode,f.name("transform"),"translate3d(0,0,0)")}this._speed={x:0,y:0};this._appFooterHeight=0;this.isTopLevel()&&!this.noResize&&this.resize();var c=this;setTimeout(function(){c.flashScrollBar()},600);g.global.addEventListener&&(this._onScroll=function(a){if(c.domNode&&"none"!==c.domNode.style.display){a=c.domNode.scrollTop;var b=c.domNode.scrollLeft,d;if(0d.top+d.height-c.fixedFooterHeight&& c.scrollIntoView(a,!1)))}},this.domNode.addEventListener("focus",this._onFocusScroll,!0))},isTopLevel:function(){return!0},cleanup:function(){if(this._ch){for(var a=0;a=d?a-(b.top-c.top)-this._appFooterHeight-this._parentPadBorderExtentsBottom:d-b.bottom}a=Math.max(this.domNode.scrollHeight,this.containerNode.scrollHeight);c=(a?Math.min(a,b):b)+"px"}else this.height&&(c=this.height);c||(c=b+"px");"-"!==c.charAt(0)&& "default"!==c&&(this.domNode.style.height=c);if(!this._conn)this.onTouchEnd()},onFlickAnimationStart:function(a){a&&v.stop(a)},onFlickAnimationEnd:function(a){h("ios")&&this._keepInputCaretInActiveElement();if(a){var b=a.animationName;if(b&&-1===b.indexOf("scrollableViewScroll2")){-1!==b.indexOf("scrollableViewScroll0")?this._scrollBarNodeV&&n.remove(this._scrollBarNodeV,"mblScrollableScrollTo0"):-1!==b.indexOf("scrollableViewScroll1")?this._scrollBarNodeH&&n.remove(this._scrollBarNodeH,"mblScrollableScrollTo1"): (this._scrollBarNodeV&&(this._scrollBarNodeV.className=""),this._scrollBarNodeH&&(this._scrollBarNodeH.className=""));return}if(this._useTransformTransition||this._useTopLeft)if(b=a.target,b===this._scrollBarV||b===this._scrollBarH){a="mblScrollableScrollTo"+(b===this._scrollBarV?"0":"1");n.contains(b,a)?n.remove(b,a):b.className="";return}a.srcElement&&v.stop(a)}this.stopAnimation();if(this._bounce){var c=this,d=c._bounce;setTimeout(function(){c.slideTo(d,.3,"ease-out")},0);c._bounce=void 0}else this.hideScrollBar(), this.removeCover()},isFormElement:function(a){a&&1!==a.nodeType&&(a=a.parentNode);if(!a||1!==a.nodeType)return!1;a=a.tagName;return"SELECT"===a||"INPUT"===a||"TEXTAREA"===a||"BUTTON"===a},onTouchStart:function(a){this.disableTouchScroll||this._conn&&500>(new Date).getTime()-this.startTime||(this._conn||(this._conn=[],this._conn.push(p.connect(g.doc,w.move,this,"onTouchMove")),this._conn.push(p.connect(g.doc,w.release,this,"onTouchEnd"))),this._aborted=!1,n.contains(this.containerNode,"mblScrollableScrollTo2")? this.abort():(this._scrollBarNodeV&&(this._scrollBarNodeV.className=""),this._scrollBarNodeH&&(this._scrollBarNodeH.className="")),this.touchStartX=a.touches?a.touches[0].pageX:a.clientX,this.touchStartY=a.touches?a.touches[0].pageY:a.clientY,this.startTime=(new Date).getTime(),this.startPos=this.getPos(),this._dim=this.getDim(),this._time=[0],this._posX=[this.touchStartX],this._posY=[this.touchStartY],this._moved=this._locked=!1,this._preventDefaultInNextTouchMove=!0,this.isFormElement(a.target)|| (this.propagatable?a.preventDefault():v.stop(a),this._preventDefaultInNextTouchMove=!1))},onTouchMove:function(a){if(!this._locked){if(this._preventDefaultInNextTouchMove){this._preventDefaultInNextTouchMove=!1;var b=A.getEnclosingWidget((a.targetTouches&&1===a.targetTouches.length?a.targetTouches[0]:a).target);b&&b.isInstanceOf(B)&&(this.propagatable?a.preventDefault():v.stop(a))}b=a.touches?a.touches[0].pageX:a.clientX;a=a.touches?a.touches[0].pageY:a.clientY;var c=b-this.touchStartX,d=a-this.touchStartY, e={x:this.startPos.x+c,y:this.startPos.y+d},f=this._dim,c=Math.abs(c),d=Math.abs(d);if(1==this._time.length){if(this.dirLock&&(this._v&&!this._h&&c>=this.threshold&&c>=d||(this._h||this._f)&&!this._v&&d>=this.threshold&&d>=c)){this._locked=!0;return}if(this._v&&this._h){if(dm*h&&(this._time=[this._time[e-1]],this._posX= [this._posX[e-1]],this._posY=[this._posY[e-1]],e=1)}10==e&&(this._time.shift(),this._posX.shift(),this._posY.shift());this._time.push((new Date).getTime()-this.startTime);this._posX.push(b);this._posY.push(a)}},_keepInputCaretInActiveElement:function(){var a=g.doc.activeElement,b;!a||"INPUT"!=a.tagName&&"TEXTAREA"!=a.tagName||(b=a.value,a.value="number"==a.type||"week"==a.type?b?a.value+1:"week"==a.type?"2013-W10":1:a.value+" ",a.value=b)},onTouchEnd:function(a){if(!this._locked){var b=this._speed= {x:0,y:0},c=this._dim,d=this.getPos(),e={};if(a){if(!this._conn)return;for(b=0;bc.o.h- -d.y&&(d.y<-c.o.h?(m=.3,e.y=c.c.h<=c.d.h?0:-c.o.h): (e.y=Math.max(e.y,-c.o.h-20),g="linear",q.y=-c.o.h)));(this._h||this._f)&&this.constraint&&(0c.o.w- -d.x&&(d.x<-c.o.w?(m=.3,e.x=c.c.w<=c.d.w?0:-c.o.w):(e.x=Math.max(e.x,-c.o.w-20),g="linear",q.x=-c.o.w)));this._bounce=void 0!==q.x||void 0!==q.y?q:void 0;if(void 0===m){var k,n;this._v&&this._h?(n=Math.sqrt(b.x*b.x+b.y*b.y),k=Math.sqrt(Math.pow(e.y-d.y,2)+Math.pow(e.x-d.x,2))):this._v?(n=b.y,k=e.y-d.y):this._h&&(n=b.x,k=e.x-d.x);if(0=== k&&!a)return;m=0!==n?Math.abs(k/n):.01}this.slideTo(e,m,g)}}},adjustDestination:function(a,b,c){return!0},abort:function(){this._aborted=!0;this.scrollTo(this.getPos());this.stopAnimation()},stopAnimation:function(){n.remove(this.containerNode,"mblScrollableScrollTo2");this.containerNode.className=this.containerNode.className.replace(/mblScrollableScrollTo2-[^ ]+/,"");this._scrollBarV&&(this._scrollBarV.className="");this._scrollBarH&&(this._scrollBarH.className="");if(this._useTransformTransition|| this._useTopLeft)this.containerNode.style[f.name("transition")]="",this._scrollBarV&&(this._scrollBarV.style[f.name("transition")]=""),this._scrollBarH&&(this._scrollBarH.style[f.name("transition")]="")},scrollIntoView:function(a,b,c){if(this._v){for(var d=this.containerNode,e=this.getDim().d.h,f=0,m=a;m!==d;m=m.offsetParent){if(!m||"BODY"===m.tagName)return;f+=m.offsetTop}a=b?Math.max(e-d.offsetHeight,-f):Math.min(0,e-f-a.offsetHeight);c&&"number"===typeof c?this.slideTo({y:a},c,"ease-out"):this.scrollTo({y:a})}}, getSpeed:function(){var a=0,b=0,c=this._time.length;if(2<=c&&500>(new Date).getTime()-this.startTime-this._time[c-1])var a=this._posX[c-(3this._dim.o.h+a.y?-1*(this._dim.o.h+a.y):0,d={bubbles:!1,cancelable:!1,x:a.x,y:a.y,beforeTop:0a-5&&(c=a-5);return c};"number"==typeof a.y&&this._scrollBarV&&(b.y=d(this._scrollBarWrapperV.offsetHeight,this._scrollBarV.offsetHeight,a.y,c.d.h,c.c.h));"number"==typeof a.x&&this._scrollBarH&&(b.x=d(this._scrollBarWrapperH.offsetWidth,this._scrollBarH.offsetWidth,a.x,c.d.w,c.c.w));return b},scrollScrollBarTo:function(a){this.scrollBar&&(this._v&&this._scrollBarV&&"number"==typeof a.y&&(h("css3-animations")?this._useTopLeft?k.set(this._scrollBarV, f.add({top:a.y+"px"},{transition:""})):(this._useTransformTransition&&(this._scrollBarV.style[f.name("transition")]=""),this._scrollBarV.style[f.name("transform")]=this.makeTranslateStr({y:a.y})):this._scrollBarV.style.top=a.y+"px"),this._h&&this._scrollBarH&&"number"==typeof a.x&&(h("css3-animations")?this._useTopLeft?k.set(this._scrollBarH,f.add({left:a.x+"px"},{transition:""})):(this._useTransformTransition&&(this._scrollBarH.style[f.name("transition")]=""),this._scrollBarH.style[f.name("transform")]= this.makeTranslateStr({x:a.x})):this._scrollBarH.style.left=a.x+"px"))},slideScrollBarTo:function(a,b,c){if(this.scrollBar){var d=this.calcScrollBarPos(this.getPos());a=this.calcScrollBarPos(a);this._v&&this._scrollBarV&&this._runSlideAnimation({y:d.y},{y:a.y},b,c,this._scrollBarV,0);this._h&&this._scrollBarH&&this._runSlideAnimation({x:d.x},{x:a.x},b,c,this._scrollBarH,1)}},_runSlideAnimation:function(a,b,c,d,e,g){if(h("css3-animations"))if(!this._useTopLeft)if(this._useTransformTransition)if(void 0=== b.x&&(b.x=a.x),void 0===b.y&&(b.y=a.y),b.x!==a.x||b.y!==a.y){this.onFlickAnimationStart();k.set(e,f.add({},{transitionProperty:f.name("transform"),transitionDuration:c+"s",transitionTimingFunction:d}));var m=this.makeTranslateStr(b);setTimeout(function(){k.set(e,f.add({},{transform:m}))},0);n.add(e,"mblScrollableScrollTo"+g)}else this.hideScrollBar(),this.removeCover();else{var l=this.findDisp(this.domNode)===this.domNode;a=this.setKeyframes(a,b,g,l);k.set(e,f.add({},{animationDuration:c+"s",animationTimingFunction:d})); n.add(e,a);n.add(e,"mblScrollableScrollTo"+g);2==g?this.scrollTo(b,!0,e):this.scrollScrollBarTo(b)}else{if(void 0!==b.x||void 0!==b.y)this.onFlickAnimationStart(),k.set(e,f.add({},{transitionProperty:void 0!==b.x&&void 0!==b.y?"top, left":void 0!==b.y?"top":"left",transitionDuration:c+"s",transitionTimingFunction:d})),setTimeout(function(){var a={};void 0!==b.x&&(a.left=b.x+"px");void 0!==b.y&&(a.top=b.y+"px");k.set(e,a)},0),n.add(e,"mblScrollableScrollTo"+g)}else if(t.fx&&t.fx.easing&&c){var q=this; t.fx.slideTo({node:e,duration:1E3*c,left:b.x,top:b.y,easing:"ease-out"==d?t.fx.easing.quadOut:t.fx.easing.linear,onBegin:function(){if(2==g)q.onFlickAnimationStart()},onEnd:function(){if(2==g)q.onFlickAnimationEnd()}}).play()}else 2==g?(this.onFlickAnimationStart(),this.scrollTo(b,!1,e),this.onFlickAnimationEnd()):this.scrollScrollBarTo(b)},resetScrollBar:function(){var a=function(a,b,e,f,g,h){if(b){var c={};c[h?"top":"left"]=g+4+"px";g=0>=e-8?1:e-8;c[h?"height":"width"]=g+"px";k.set(a,c);a=Math.round(e* e/f);a=Math.min(Math.max(a-8,5),g);b.style[h?"height":"width"]=a+"px";k.set(b,{opacity:.6})}},b=this.getDim();a(this._scrollBarWrapperV,this._scrollBarV,b.d.h,b.c.h,this.fixedHeaderHeight,!0);a(this._scrollBarWrapperH,this._scrollBarH,b.d.w,b.c.w,0);this.createMask()},createMask:function(){h("mask-image")&&(this._scrollBarWrapperV&&z.createRoundMask(this._scrollBarWrapperV,0,0,0,0,5,this._scrollBarWrapperV.offsetHeight,2,2,.5),this._scrollBarWrapperH&&z.createRoundMask(this._scrollBarWrapperH,0,0, 0,0,this._scrollBarWrapperH.offsetWidth,5,2,2,.5))},flashScrollBar:function(){if(!this.disableFlashScrollBar&&this.domNode&&(this._dim=this.getDim(),!(0>=this._dim.d.h))){this.showScrollBar();var a=this;setTimeout(function(){a.hideScrollBar()},300)}},addCover:function(){h("touch")||h("pointer-events")||this.noCover||(l._cover?l._cover.style.display="":(l._cover=u.create("div",null,g.doc.body),l._cover.className="mblScrollableCover",k.set(l._cover,{backgroundColor:"#ffff00",opacity:0,position:"absolute", top:"0px",left:"0px",width:"100%",height:"100%",zIndex:2147483647}),this._ch.push(p.connect(l._cover,w.press,this,"onTouchEnd"))),this.setSelectable(l._cover,!1),this.setSelectable(this.domNode,!1))},removeCover:function(){!h("touch")&&l._cover&&(l._cover.style.display="none",this.setSelectable(l._cover,!0),this.setSelectable(this.domNode,!0))},setKeyframes:function(a,b,c,d){l._rule||(l._rule=[]);c+=d?"-in":"-out";l._rule[c]||(d=u.create("style",null,g.doc.getElementsByTagName("head")[0]),d.textContent= ".mblScrollableScrollTo"+c+"{"+f.name("animation-name",!0)+": scrollableViewScroll"+c+";}@"+f.name("keyframes",!0)+" scrollableViewScroll"+c+"{}",l._rule[c]=d.sheet.cssRules[1]);if(d=l._rule[c])a&&(d.deleteRule(h("webkit")?"from":0),(d.insertRule||d.appendRule).call(d,"from { "+f.name("transform",!0)+": "+this.makeTranslateStr(a)+"; }")),b&&(void 0===b.x&&(b.x=a.x),void 0===b.y&&(b.y=a.y),d.deleteRule(h("webkit")?"to":1),(d.insertRule||d.appendRule).call(d,"to { "+f.name("transform",!0)+": "+this.makeTranslateStr(b)+ "; }"));return"mblScrollableScrollTo"+c},setSelectable:function(a,b){a.style.KhtmlUserSelect=b?"auto":"none";a.style.MozUserSelect=b?"":"none";a.onselectstart=b?null:function(){return!1};if(h("ie")){a.unselectable=b?"":"on";a=a.getElementsByTagName("*");for(var c=0;c