/*
* Kendo UI v2011.3.1407 (http://kendoui.com)
* Copyright 2012 Telerik AD. All rights reserved.
*
* Kendo UI commercial licenses may be obtained at http://kendoui.com/license.
* If you do not own a commercial license, this file shall be governed by the
* GNU General Public License (GPL) version 3. For GPL requirements, please
* review: http://www.gnu.org/copyleft/gpl.html
*/
(function(a,b){var c=window.kendo,d=c.keys,e=c.support.touch,f=c.ui.Widget,g=a.proxy,h=e?"touchend":"mouseup",i=e?"touchstart":"mousedown",j=e?"touchmove":"mousemove",k="k-state-selected",l="k-state-selecting",m="k-selectable",n="selectstart",o=a(document),p="change",q="k-state-unselecting",r=f.extend({init:function(b,c){var d=this;f.fn.init.call(d,b,c),d._marquee=a("
"),d._lastActive=null,d._moveDelegate=g(d._move,d),d._upDelegate=g(d._up,d),d.element.addClass(m),d.element.delegate("."+m+" "+d.options.filter,i,g(d._down,d)),d.bind([p],d.options)},options:{name:"Selectable",filter:">*",multiple:!1},_collide:function(a,b){var c=a.offset(),d={left:c.left,top:c.top,right:c.left+a.outerWidth(),bottom:c.top+a.outerHeight()};return!(d.left>b.right||d.rightb.bottom||d.bottome){var g=e;e=c,c=g}if(d>f){var g=f;f=d,d=g}return{top:d,right:e,left:c,bottom:f}},_down:function(b){var d=this,e,f=b.ctrlKey,g=b.shiftKey,i=!d.options.multiple;d._downTarget=a(b.currentTarget),d._shiftPressed=g,o.unbind(h,d._upDelegate).bind(h,d._upDelegate),d._originalPosition={x:b.pageX,y:b.pageY},!i&&a(b.target).is(":not(:input)")&&(o.unbind(j,d._moveDelegate).bind(j,d._moveDelegate).unbind(n,!1).bind(n,!1),c.support.touch||b.preventDefault()),i||(a("body").append(d._marquee),d._marquee.css({left:b.clientX+1,top:b.clientY+1,width:0,height:0})),e=d._downTarget.hasClass(k),(i||!f&&!g)&&d.element.find(d.options.filter+"."+k).not(d._downTarget).removeClass(k),f&&(d._lastActive=d._downTarget),e&&(f||g)?(d._downTarget.addClass(k),g||d._downTarget.addClass(q)):(!c.support.touch||!i)&&d._downTarget.addClass(l)},_move:function(b){var c=this,d=c._position(b),e=b.ctrlKey,f,g;c._marquee.css({left:d.left,top:d.top,width:d.right-d.left,height:d.bottom-d.top}),c.element.find(c.options.filter).each(function(){f=a(this),g=c._collide(f,d),g?f.hasClass(k)?c._downTarget[0]!==f[0]&&e&&f.removeClass(k).addClass(q):!f.hasClass(l)&&!f.hasClass(q)&&f.addClass(l):f.hasClass(l)?f.removeClass(l):e&&f.hasClass(q)&&f.removeClass(q).addClass(k)})},_up:function(a){var b=this,d=b.options,e=!d.multiple;o.unbind(n,!1).unbind(j,b._moveDelegate).unbind(h,b._upDelegate),e||b._marquee.remove(),c.support.touch&&e&&b._downTarget.addClass(l),!e&&b._shiftPressed===!0?b.selectRange(b._firstSelectee(),b._downTarget):(b.element.find(d.filter+"."+q).removeClass(q).removeClass(k),b.value(b.element.find(d.filter+"."+l))),b._shiftPressed||(b._lastActive=b._downTarget),b._downTarget=null,b._shiftPressed=!1},value:function(a){var b=this,c=g(b._selectElement,b);if(a)a.each(function(){c(this)}),b.trigger(p,{});else return b.element.find(b.options.filter+"."+k)},_firstSelectee:function(){var a=this,b;if(a._lastActive!==null)return a._lastActive;b=a.value();return b.length>0?b[0]:a.element.find(a.options.filter)},_selectElement:function(b){var c=a(b),d=this.trigger("select",{element:b});c.removeClass(l),d||c.addClass(k)},clear:function(){var a=this;a.element.find(a.options.filter+"."+k).removeClass(k)},selectRange:function(b,c){var d=this,e=!1,f=g(d._selectElement,d),h;b=a(b)[0],c=a(c)[0],d.element.find(d.options.filter).each(function(){h=a(this);if(e)f(this),e=this!==c;else if(this===b)e=b!==c,f(this);else if(this===c){var d=b;b=c,c=d,e=!0,f(this)}else h.removeClass(k)}),d.trigger(p,{})}});c.ui.plugin(r)})(jQuery)