').appendTo(this.parentNode),verticalScrollHint:a('
').appendTo(this.parentNode)};
if(this._useRoundedHints){d.horizontalScrollHint.css({"-moz-border-radius":"3px","-webkit-border-radius":"3px","border-radius":"3px"});
d.verticalScrollHint.css({"-moz-border-radius":"3px","-webkit-border-radius":"3px","border-radius":"3px"});
}e.data("dragID",c.containers.push(d)-1);
});
if(b.TouchScrollExtender._getNeedsScrollExtender()){this._containerElements.bind("touchstart",a.proxy(this._startDrag,this));
this._containerElements.bind("gesturestart",a.proxy(this._onGestureStart,this));
this._containerElements.bind("gestureend",a.proxy(this._onGestureEnd,this));
}else{this._containerElements.bind("mousedown",a.proxy(this._startDrag,this));
}this._storeLastLocation=a.throttle(100,function(d){this._lastAnimator.kX=d.x;
this._lastAnimator.kY=d.y;
});
this._alignScrollHints=a.throttle(20,function(){var h=0;
var f=0;
var i=this._lastAnimator.element[0];
var d=this._lastAnimator.horizontalScrollHint;
var e=this._lastAnimator.verticalScrollHint;
var g=this._getBorderBox(i);
if(this._hasHorizontalScrollHint&&d){h=Math.abs(i.scrollLeft)*this._widthConstant+i.offsetLeft+g.left;
d.css({left:h});
}if(this._hasVerticalScrollHint&&e){f=Math.abs(i.scrollTop)*this._heightConstant+i.offsetTop+g.top;
e.css({top:f});
}});
this._throttleScroll=a.throttle(10,function(d){this._lastAnimator.element[0].scrollLeft=this._lastAnimator.dragStartX-d.x;
this._lastAnimator.element[0].scrollTop=this._lastAnimator.dragStartY-d.y;
});
}},dispose:function(){this.containers=null;
this._containerElements=null;
this._events=null;
},_startDrag:function(j){var g=a(j.target);
var i=g.parents(".RadTouchExtender");
if(g.hasClass("RadTouchExtender")){i=i.add(g);
}var f=this._lastAnimator=this.containers[i.data("dragID")];
var h=f.element[0];
this._hasHorizontalScrollHint=h.offsetWidth0?k:0)+c.x;
f.dragStartY=(d>0?d:0)+c.y;
if(b.TouchScrollExtender._getNeedsScrollExtender()){a(document.body).bind({touchmove:a.proxy(this._compositeDragger,this),touchend:a.proxy(this._endDrag,this)});
}else{a(document.body).bind({mousemove:a.proxy(this._compositeDragger,this),mouseup:a.proxy(this._endDrag,this)});
}}},_getBorderBox:function(c){var e={left:0,top:0,right:0,bottom:0,horizontal:0,vertical:0};
if(window.getComputedStyle){var d=window.getComputedStyle(c,null);
e.left=parseInt(d.getPropertyValue("border-left-width"),10);
e.right=parseInt(d.getPropertyValue("border-right-width"),10);
e.top=parseInt(d.getPropertyValue("border-top-width"),10);
e.bottom=parseInt(d.getPropertyValue("border-bottom-width"),10);
}else{e.left=c.currentStyle.borderLeftWidth;
e.right=c.currentStyle.borderRightWidth;
e.top=c.currentStyle.borderTopWidth;
e.bottom=c.currentStyle.borderBottomWidth;
}e.horizontal=e.left+e.right;
e.vertical=e.top+e.bottom;
return e;
},_addScrollHints:function(){if(this._showScrollHints){var j=0;
var f=0;
var c=this._lastAnimator;
var k=c.element[0];
var e=this._getBorderBox(k);
if(this._hasHorizontalScrollHint){var h=c.element.innerWidth();
var i=~~((h/k.scrollWidth)*h)-2;
this._widthConstant=(i/h);
setTimeout(function(){j=Math.abs(k.scrollLeft)*(i/h)+k.offsetLeft+e.left;
f=k.offsetHeight+k.offsetTop+e.top-7;
c.horizontalScrollHint.width(i).css({left:j,top:f});
},0);
c.horizontalScrollHint.fadeTo(200,0.5);
}if(this._hasVerticalScrollHint){var g=c.element.innerHeight();
var d=~~((g/k.scrollHeight)*g)-2;
this._heightConstant=(d/g);
setTimeout(function(){f=Math.abs(k.scrollTop)*(d/g)+k.offsetTop+e.top;
j=k.offsetWidth+k.offsetLeft+e.left-7;
c.verticalScrollHint.height(d).css({left:j,top:f});
},0);
c.verticalScrollHint.fadeTo(200,0.5);
}}},_removeScrollHints:function(){if(this._showScrollHints){var c=this._lastAnimator.horizontalScrollHint;
var d=this._lastAnimator.verticalScrollHint;
if(this._hasHorizontalScrollHint&&c){c.hide();
}if(this._hasVerticalScrollHint&&d){d.hide();
}}},_simpleDragger:function(c){if(this._dragCanceled){return;
}var d=$telerik.getTouchEventLocation(c);
if(this._lastAnimator.element.length){this._throttleScroll(d);
this._alignScrollHints();
}this._storeLastLocation(d);
},_compositeDragger:function(c){if(this._dragCanceled){return;
}this._cancelEvents(c);
var d=$telerik.getTouchEventLocation(c);
var f=this._lastAnimator;
var g=f.element[0];
if(Math.abs(f.kX-d.x)>10||Math.abs(f.kY-d.y)>10){f.hasDragged=true;
this._addScrollHints();
if(b.TouchScrollExtender._getNeedsScrollExtender()){a(document.body).unbind("touchmove",this._compositeDragger).bind("touchmove",a.proxy(this._simpleDragger,this));
}else{a(document.body).unbind("mousemove",this._compositeDragger).bind("mousemove",a.proxy(this._simpleDragger,this));
}if($telerik.isIE){f.element.bind("click",this._cancelEvents);
g.setCapture(true);
}else{g.addEventListener("click",this._cancelEvents,true);
}}},_onGestureStart:function(){this._dragCanceled=true;
},_onGestureEnd:function(){this._dragCanceled=false;
},_endDrag:function(g){if(this._dragCanceled){return;
}this._cancelEvents(g);
if(b.TouchScrollExtender._getNeedsScrollExtender()){a(document.body).unbind("touchmove",this._simpleDragger).unbind("touchmove",this._compositeDragger).unbind("touchend",this._endDrag);
if(this._lastAnimator.originalEvent.touches.length==1&&!this._lastAnimator.hasDragged){var c=this._lastAnimator.originalEvent;
var i=document.createEvent("MouseEvents");
i.initMouseEvent("click",c.bubbles,c.cancelable,c.view,c.detail,c.screenX,c.screenY,c.clientX,c.clientY,false,false,false,false,c.button,c.relatedTarget);
c.target.dispatchEvent(i);
}}else{a(document.body).unbind("mousemove",this._simpleDragger).unbind("mousemove",this._compositeDragger).unbind("mouseup",this._endDrag);
}var h=this;
var d=$telerik.getTouchEventLocation(g);
var f=this._lastAnimator;
if($telerik.isIE){setTimeout(function(){f.element.unbind("click",h._cancelEvents);
document.releaseCapture();
},10);
}else{setTimeout(function(){f.element[0].removeEventListener("click",h._cancelEvents,true);
},0);
}if(f.hasDragged){if(f.element.length){f.endX=d.x;
f.endY=d.y;
}this._finishDrag(f);
}},_finishDrag:function(d){var e=d.element[0].scrollLeft+d.kX-d.endX;
var c=d.element[0].scrollTop+d.kY-d.endY;
d.kX=0;
d.kY=0;
var f=this;
d.element.stop(true).animate({scrollLeft:e,scrollTop:c},{duration:500,easing:"easeOutQuad",complete:function(){f._removeScrollHints();
},step:function(){f._alignScrollHints();
}});
if(this._hasHorizontalScrollHint&&d.horizontalScrollHint){d.horizontalScrollHint.stop().css("opacity",0.5).fadeTo(450,0);
}if(this._hasVerticalScrollHint&&d.verticalScrollHint){d.verticalScrollHint.stop().css("opacity",0.5).fadeTo(450,0);
}},_cancelEvents:function(c){c.stopPropagation();
c.preventDefault();
}};
Telerik.Web.UI.TouchScrollExtender.registerClass("Telerik.Web.UI.TouchScrollExtender",null,Sys.IDisposable);
})($telerik.$);
if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();