/*
 *
 * Wijmo Library 1.0.1
 * http://wijmo.com/
 *
 * Copyright(c) ComponentOne, LLC.  All rights reserved.
 * 
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * licensing@wijmo.com
 * http://www.wijmo.com/license
 *
 **/
(function(a){"use strict";var i="wijmo-wijsuperpanel ui-widget ui-widget-content",h="ui-corner-all",b="ui-state-disabled",f="ui-state-hover",g="ui-state-active",e="ui-state-default",c="wijmo-wijsuperpanel-handle",d="wijmo-wijsuperpanel-hbarcontainer",j="wijmo-wijsuperpanel-vbarcontainer",l="<div class='wijmo-wijsuperpanel-statecontainer'><div class='wijmo-wijsuperpanel-contentwrapper'><div class='wijmo-wijsuperpanel-templateouterwrapper'></div></div></div>",k="<div class='wijmo-wijsuperpanel-hbarcontainer ui-widget-header'><div class='wijmo-wijsuperpanel-handle ui-state-default ui-corner-all'><span class='ui-icon ui-icon-grip-solid-vertical'></span></div><div class='wijmo-wijsuperpanel-hbar-buttonleft ui-state-default ui-corner-bl'><span class='ui-icon ui-icon-triangle-1-w'></span></div><div class='wijmo-wijsuperpanel-hbar-buttonright ui-state-default ui-corner-br'><span class='ui-icon ui-icon-triangle-1-e'></span></div></div>",n="<div class='wijmo-wijsuperpanel-vbarcontainer ui-widget-header'><div class='wijmo-wijsuperpanel-handle ui-state-default ui-corner-all'><span class='ui-icon ui-icon-grip-solid-horizontal'></span></div><div class='wijmo-wijsuperpanel-vbar-buttontop ui-state-default ui-corner-tr'><span class='ui-icon ui-icon-triangle-1-n'></span></div><div class='wijmo-wijsuperpanel-vbar-buttonbottom ui-state-default ui-corner-br'><span class='ui-icon ui-icon-triangle-1-s'></span></div></div>",m="<div class='ui-state-default wijmo-wijsuperpanel-button wijmo-wijsuperpanel-buttonleft'><span class='ui-icon ui-icon-carat-1-w'></span></div><div class='ui-state-default wijmo-wijsuperpanel-button wijmo-wijsuperpanel-buttonright'><span class='ui-icon ui-icon-carat-1-e'></span></div>",o="<div class='ui-state-default wijmo-wijsuperpanel-button wijmo-wijsuperpanel-buttontop'><span class='ui-icon ui-icon-carat-1-n'></span></div><div class='ui-state-default wijmo-wijsuperpanel-button wijmo-wijsuperpanel-buttonbottom'><span class='ui-icon ui-icon-carat-1-s'></span></div>";a.widget("wijmo.wijsuperpanel",{options:{allowResize:false,autoRefresh:false,animationOptions:{queue:false,duration:250,easing:undefined},dragstop:null,painted:null,hScroller:{scrollBarPosition:"bottom",scrollBarVisibility:"auto",scrollMode:"scrollbar",scrollValue:null,scrollMax:100,scrollMin:0,scrollLargeChange:null,scrollSmallChange:null,scrollMinDragLength:6,increaseButtonPosition:null,decreaseButtonPosition:null,hoverEdgeSpan:20,firstStepChangeFix:0},keyboardSupport:false,keyDownInterval:100,mouseWheelSupport:true,bubbleScrollingEvent:true,resized:null,resizableOptions:{handles:"all",helper:"ui-widget-content wijmo-wijsuperpanel-helper"},scrolling:null,scrolled:null,showRounder:true,vScroller:{scrollBarPosition:"right",scrollBarVisibility:"auto",scrollMode:"scrollbar",scrollValue:null,scrollMax:100,scrollMin:0,scrollLargeChange:null,scrollSmallChange:null,scrollMinDragLength:6,increaseButtonPosition:null,decreaseButtonPosition:null,hoverEdgeSpan:20,firstStepChangeFix:0}},_setOption:function(d,b){var c=this,h=c.options,g=c._fields(),e=g.hbarDrag,f=g.vbarDrag,i=g.resizer;if(d==="animationOptions")b=a.extend(h.animationOptions,b);else if(d==="hScroller"){if(b.scrollLargeChange!==undefined&&b.scrollLargeChange!==null)c._autoHLarge=false;b=a.extend(h.hScroller,b)}else if(d==="vScroller"){if(b.scrollLargeChange!==undefined&&b.scrollLargeChange!==null)c._autoVLarge=false;b=a.extend(h.vScroller,b)}else if(d==="resizableOptions")b=a.extend(c.resizableOptions,b);a.Widget.prototype._setOption.apply(c,arguments);switch(d){case"allowResize":c._initResizer();break;case"disabled":if(b){e!==undefined&&e.draggable("disable");f!==undefined&&f.draggable("disable");i!==undefined&&i.resizable("disable")}else{e!==undefined&&e.draggable("enable");f!==undefined&&f.draggable("enable");i!==undefined&&i.resizable("enable")}break;case"mouseWheelSupport":case"keyboardSupport":c._bindElementEvents(c,g,c.element,h)}return c},_create:function(){var a=this,b=a.options;b.vScroller.dir="v";b.hScroller.dir="h";a.paintPanel();a._initResizer();a.options.disabled&&a.disable();a._detectAutoRefresh()},_detectAutoRefresh:function(){var c=this,b=a.wijmo.wijsuperpanel.panels;if(b===undefined){b=[];a.wijmo.wijsuperpanel.panels=b}b.push(c);if(c.options.autoRefresh)if(!a.wijmo.wijsuperpanel.setAutoRefreshInterval){a.wijmo.wijsuperpanel.setAutoRefreshInterval=c._setAutoRefreshInterval;a.wijmo.wijsuperpanel.setAutoRefreshInterval()}},_setAutoRefreshInterval:function(){var b=a.wijmo.wijsuperpanel.autoRereshInterval,c=a.wijmo.wijsuperpanel.panels,d=window.setInterval(function(){window.clearInterval(d);for(var k=c.length,j=false,b,g,i,f,e,h=0;h<k;h++){b=c[h];g=b.element[0];i=b.options.autoRefresh;if(i)j=true;f=b.getContentElement();e=b._paintedMark;b.options.autoRefresh&&f.is(":visible")&&(e===undefined||e.width!==f[0].offsetWidth||e.height!==f[0].offsetHeight||e.mainWidth!==g.offsetWidth||e.mainHeight!==g.offsetHeight)&&b.paintPanel()}j&&window.setTimeout(a.wijmo.wijsuperpanel.setAutoRefreshInterval,0)},b===undefined?500:b)},destroy:function(){var c=this,b=c._fields(),d=c.element,f,e;a.wijmo.wijsuperpanel.panels=a.grep(a.wijmo.wijsuperpanel.panels,function(a){return a!==c});if(!b.initialized)return;c._radiusKey&&c.element.css(c._radiusKey,"");if(b.intervalID!==undefined){window.clearInterval(b.intervalID);b.intervalID=undefined}b.resizer!==undefined&&b.resizer.resizable("destroy");if(b.hbarContainer!==undefined){b.hbarDrag.remove();b.hbarContainer.unbind("."+c.widgetName)}if(b.vbarContainer!==undefined){b.vbarDrag.remove();b.vbarContainer.unbind("."+c.widgetName)}d.unbind("."+c.widgetName);b.contentWrapper.unbind("."+c.widgetName);f=b.stateContainer.find(">.wijmo-wijsuperpanel-button");f.unbind("."+c.widgetName);e=b.templateWrapper;e.contents().each(function(b,a){d.append(a)});b.stateContainer.remove();b.tabindex&&d.removeAttr("tabindex");d.removeClass(i+" "+h);a.Widget.prototype.destroy.apply(c,arguments)},_fields:function(){var b=this,c=b.element,d=b.widgetName+"-fields",a=b._fieldsStore;if(a===undefined){a={};c.data(d,a);b._fieldsStore=a}return a},_hasMode:function(b,d){var c=b.scrollMode.split(",");return a.inArray(d,c)>-1},_bindElementEvents:function(a,g,b,d){var e=a._hasMode(d.hScroller,"edge"),f=a._hasMode(d.vScroller,"edge"),c=a.widgetName;if(e||f){if(a._mousemoveBind===undefined){a._mousemoveBind=true;b.bind("mousemove."+c,a,a._contentMouseMove);b.bind("mouseleave."+c,null,function(){a._clearInterval()})}}else{b.unbind("mousemove",a._contentMouseMove);a._mousemoveBind=undefined}if(d.mouseWheelSupport){if(a._mouseWheelBind===undefined){a._mouseWheelBind=true;b.bind("mousewheel."+c,a,a._panelMouseWheel)}}else{a.element.unbind("mousewheel",a._panelMouseWheel);a._mouseWheelBind=undefined}if(d.keyboardSupport){if(a._keyboardBind===undefined){a._keyboardBind=true;b.bind("keydown."+c,a,a._panelKeyDown)}}else{b.unbind("keydown",a._panelKeyDown);a._keyboardBind=undefined}},_dragStop:function(d,b,c){var a={dragHandle:c};b._trigger("dragstop",d,a)},_contentMouseMove:function(g){var b=g.data,n=b.options,i,j,f,s,q,r,h,m,d,e,k,l,o,p,c;if(n.disabled)return;i=n.hScroller;j=n.vScroller;f=a(g.currentTarget);s=b._fields();q=b._hasMode(i,"edge");r=b._hasMode(j,"edge");b._clearInterval();h={X:g.pageX,Y:g.pageY};m=f.offset();d=m.left;e=m.top;d=h.X-d;e=h.Y-e;k=i.hoverEdgeSpan;l=j.hoverEdgeSpan;o=f.innerHeight();p=f.innerWidth();c="";if(q){if(d<k)c="left";if(d>p-k)c="right"}if(r){if(e<l)c="top";if(e>o-l)c="bottom"}b._setScrollingInterval(s,c,b,false)},_setScrollingInterval:function(d,b,a,c){var e=a.options;if(b.length>0)d.internalFuncID=window.setInterval(function(){a._doScrolling(b,a,c)},e.keyDownInterval)},_scrollButtonMouseOver:function(e){var c=e.data,d;if(c.options.disabled)return;d=a(e.currentTarget);if(!d.hasClass(b)){d.bind("mouseout."+c.widgetName,c,c._buttonMouseOut).bind("mousedown."+c.widgetName,c,c._buttonMouseDown).bind("mouseup."+c.widgetName,c,c._buttonMouseUp).addClass(f);c._buttonScroll(d,c,"buttonshover")}},_buttonScroll:function(c,a,f){var b="",g=a.options,h=a._fields(),d=a._hasMode(g.hScroller,f),e=a._hasMode(g.vScroller,f);if(c.hasClass("wijmo-wijsuperpanel-buttonleft")&&d)b="left";else if(c.hasClass("wijmo-wijsuperpanel-buttonright")&&d)b="right";else if(c.hasClass("wijmo-wijsuperpanel-buttontop")&&e)b="top";else if(c.hasClass("wijmo-wijsuperpanel-buttonbottom")&&e)b="bottom";if(b.length>0){a._clearInterval();a._doScrolling(b,a,true);a._setScrollingInterval(h,b,a,true)}},_buttonMouseDown:function(e){var d=e.data,c;if(d.options.disabled)return;c=a(e.currentTarget);if(!c.hasClass(b)){c.addClass(g);d._buttonScroll(c,d,"buttons")}},_buttonMouseUp:function(b){var d=b.data,c=a(b.currentTarget);c.removeClass("ui-state-active");d._clearInterval()},_buttonMouseOut:function(c){var b=c.data,d=a(c.currentTarget);d.unbind("mouseout",b._buttonMouseOut).unbind("mousedown",b._buttonMouseDown).unbind("mouseup",b._buttonMouseUp).removeClass(f).removeClass(g);b._clearInterval()},_panelKeyDown:function(e){var b=e.data,f=b.options,d,c;if(!f.keyboardSupport||f.disabled)return;d=e.shiftKey;c=e.keyCode;if(c===a.ui.keyCode.LEFT)b._doScrolling("left",b,d);else if(c===a.ui.keyCode.RIGHT)b._doScrolling("right",b,d);else if(c===a.ui.keyCode.UP)b._doScrolling("top",b,d);else c===a.ui.keyCode.DOWN&&b._doScrolling("bottom",b,d);e.stopPropagation();e.preventDefault()},_draggingInternal:function(c,a,f){var d=a.dir,i=d==="h",h=i?"left":"top",l=parseFloat(f[0].style[h].replace("px",""))-c._getScrollContainerPadding(h),k=c._getTrackLen(d)-f[i?"outerWidth":"outerHeight"](),j=l/k,e=a.scrollMax-a.scrollLargeChange+1,b=j*e,g;if(b<a.scrollMin)b=a.scrollMin;if(b>e)b=e;g={oldValue:a.scrollValue,newValue:b,dir:d};if(!c._scrolling(true,c,g))return;a.scrollValue=b;c._setDragAndContentPosition(true,false,d,"dragging")},_dragging:function(f,b){var e=b.options,c=a(f.target),g=c.parent();if(g.hasClass(d))b._draggingInternal(b,e.hScroller,c);else b._draggingInternal(b,e.vScroller,c)},_panelMouseWheel:function(h,l){var c=h.data,i=c.options,k,b,j,f,g,e;if(!i.mouseWheelSupport||i.disabled)return;k=a(h.srcElement||h.originalEvent.target);b="";j=k.closest("."+d,c.element).size()>0;f=i.hScroller;g=i.vScroller;if(l>0)b=j?"left":"top";else b=j?"right":"bottom";b.length>0&&c._doScrolling(b,c);e=false;if(b==="left")e=!c.hNeedScrollBar||Math.abs(f.scrollValue-f.scrollMin)<.001;if(b==="right")e=!c.hNeedScrollBar||Math.abs(f.scrollValue-(f.scrollMax-c._getHScrollBarLargeChange()+1))<.001;if(b==="top")e=!c.vNeedScrollBar||Math.abs(g.scrollValue-g.scrollMin)<.001;if(b==="bottom")e=!c.vNeedScrollBar||Math.abs(g.scrollValue-(g.scrollMax-c._getVScrollBarLargeChange()+1))<.001;if(!e||!i.bubbleScrollingEvent||b==="left"||b==="right"){h.stopPropagation();h.preventDefault()}},_documentMouseUp:function(c){var b=c.data.self,d=c.data.ele;d.removeClass(g);b._clearInterval();a(document).unbind("mouseup",b._documentMouseUp)},_scrollerMouseOver:function(i){var b=i.data,g,c,h;if(b.options.disabled)return;g=a(i.srcElement||i.originalEvent.target);c=null;h=false;if(g.hasClass(e)){c=g;h=true}else if(g.parent().hasClass(e)){c=g.parent();h=true}else if(g.hasClass(j)||g.hasClass(d))c=g;if(c!==undefined){h&&c.addClass(f);c.bind("mouseout."+b.widgetName,b,b._elementMouseOut);c.bind("mousedown."+b.widgetName,b,b._elementMouseDown);c.bind("mouseup."+b.widgetName,b,b._elementMouseUp)}},_elementMouseUp:function(c){var b=a(c.currentTarget);b.removeClass("ui-state-active")},_elementMouseDown:function(i){var b=a(i.currentTarget),f=i.data,e,h,g,k,n,l,m,o;if(f.options.disabled)return;e="";h=false;g=false;if(b.hasClass("wijmo-wijsuperpanel-vbar-buttontop")){e="top";g=true}else if(b.hasClass("wijmo-wijsuperpanel-vbar-buttonbottom")){e="bottom";g=true}else if(b.hasClass("wijmo-wijsuperpanel-hbar-buttonleft")){e="left";g=true}else if(b.hasClass("wijmo-wijsuperpanel-hbar-buttonright")){e="right";g=true}else if(b.hasClass(c)){b.addClass("ui-state-active");return}else if(b.hasClass(d)){k=b.find("."+c);n=k.offset();if(i.pageX<n.left)e="left";else e="right";h=true}else if(b.hasClass(j)){l=b.find("."+c);m=l.offset();if(i.pageY<m.top)e="top";else e="bottom";h=true}f._clearInterval();f._doScrolling(e,f,h);o=f._fields();f._setScrollingInterval(o,e,f,h);g&&b.addClass("ui-state-active");a(document).bind("mouseup."+f.widgetName,{self:f,ele:b},f._documentMouseUp)},doScrolling:function(b,a){this._doScrolling(b,this,a)},_setScrollerValue:function(n,b,l,h,m,i,e){var f=b.scrollMin,j=i?h:l,c=b.scrollValue,a,d,g,k;if(!c)c=f;a=0;if(m){d=b.scrollMax-h+1;if(Math.abs(c-d)<.001){e._clearInterval();return false}g=b.firstStepChangeFix;a=c+j;if(!i&&Math.abs(c-f)<1e-4&&!isNaN(g))a+=g;if(a>d)a=d}else{if(Math.abs(c-f)<.001){e._clearInterval();return false}a=c-j;if(a<0)a=f}k={oldValue:b.scrollValue,newValue:a,direction:n,dir:b.dir};if(!e._scrolling(true,e,k))return false;b.scrollValue=a;return true},_doScrolling:function(a,b,c){var d=b.options,f=d.vScroller,e=d.hScroller,j=b._getVScrollBarSmallChange(),i=b._getVScrollBarLargeChange(),g=b._getHScrollBarLargeChange(),h=b._getHScrollBarSmallChange();if(a==="top"||a==="bottom"){if(!b._setScrollerValue(a,f,j,i,a==="bottom",c,b))return;a="v"}else if(a==="left"||a==="right"){if(!b._setScrollerValue(a,e,h,g,a==="right",c,b))return;a="h"}b._setDragAndContentPosition(true,true,a)},_disableButtonIfNeeded:function(h){var a=h._fields(),c,f,j,g,i,m,o,d,k,n,p,e,l;a.intervalID>0&&window.clearInterval(a.intervalID);c=h.options;f=a.buttonLeft;j=a.buttonRight;g=a.buttonTop;i=a.buttonBottom;if(f!==undefined){m=h._getHScrollBarLargeChange();o=c.hScroller.scrollMax-m+1;d=c.hScroller.scrollValue;k=c.hScroller.scrollMin;if(d===undefined)d=k;if(Math.abs(d-k)<.001||!a.hScrolling)f.addClass(b);else f.removeClass(b);if(Math.abs(d-o)<.001||!a.hScrolling)j.addClass(b);else j.removeClass(b)}if(g!==undefined){n=h._getVScrollBarLargeChange();p=c.vScroller.scrollMax-n+1;e=c.vScroller.scrollValue;l=c.vScroller.scrollMin;if(e===undefined)e=l;if(Math.abs(e-l)<.001||!a.vScrolling)g.addClass(b);else g.removeClass(b);if(Math.abs(e-p)<.001||!a.vScrolling)i.addClass(b);else i.removeClass(b)}},_clearInterval:function(){var b=this._fields(),a=b.internalFuncID;if(a>0){window.clearInterval(a);b.internalFuncID=-1}},_elementMouseOut:function(d){var b=a(d.currentTarget),c=d.data;b.unbind("mouseout",c._elementMouseOut);b.unbind("mousedown",c._elementMouseDown);b.unbind("mouseup",c._elementMouseUp);b.removeClass(f)},scrollChildIntoView:function(k){var f=a(k),i,d,j,g,h,b,e,c;if(f.size()===0)return;i=this._fields();d=i.contentWrapper;j=i.templateWrapper;b=f.offset();e=j.offset();b.leftWidth=b.left+f.outerWidth();b.topHeight=b.top+f.outerHeight();c=d.offset();c.leftWidth=c.left+d.outerWidth();c.topHeight=c.top+d.outerHeight();if(b.left<c.left)g=b.left-e.left;else if(b.leftWidth>c.leftWidth)g=b.leftWidth-e.left-d.innerWidth();if(b.top<c.top)h=b.top-e.top;else if(b.topHeight>c.topHeight)h=b.topHeight-e.top-d.innerHeight();g!==undefined&&this.hScrollTo(g);h!==undefined&&this.vScrollTo(h)},hScrollTo:function(b){var a=this.options;a.hScroller.scrollValue=this.scrollPxToValue(b,"h");this._setDragAndContentPosition(false,true,"h","nonestop")},vScrollTo:function(b){var a=this.options;a.vScroller.scrollValue=this.scrollPxToValue(b,"v");this._setDragAndContentPosition(false,true,"v","nonestop")},scrollPxToValue:function(o,b){var g=this.options,p=b==="h"?"outerWidth":"outerHeight",n=b==="h"?"contentWidth":"contentHeight",e=b==="h"?"hScroller":"vScroller",f=this._fields(),j=f.contentWrapper,l=f[n],h=j[p](),d=g[e].scrollMin,m=g[e].scrollMax,k=m-d,i=b==="h"?this._getHScrollBarLargeChange():this._getVScrollBarLargeChange(),c=k-i+1,a=c*(o/(l-h));if(a<d)a=d;if(a>c)a=c;return a},scrollTo:function(a,b){this.hScrollTo(a);this.vScrollTo(b)},paintPanel:function(){var b=this,e=b.element,g,f,c,d;if(e.is(":visible")){g=document.activeElement;f=b.options;c=b._fields();!c.initialized&&b._initialize(c,e,b);b._resetLargeChange(b,c,f);b._bindElementEvents(b,c,e,f);d=c.templateWrapper;d.css({"float":"left",left:"0px",top:"0px",width:"auto",height:"auto"});d.hide();d.show();c.contentWidth=d.width();c.contentHeight=d.height();d.css("float","");b._setRounder(b,e);b._setInnerElementsSize(c,e);b._testScroll(b,c,f);b._initScrollBars(b,c,f);b._initScrollButtons(b,c,f);b._trigger("painted");b._paintedMark={date:new Date,mainWidth:e[0].offsetWidth,mainHeight:e[0].offsetHeight,width:c.contentWidth,height:c.contentWidth};g!==undefined&&a(g).focus();return true}return false},_resetLargeChange:function(b,a,c){if(b._autoVLarge)c.vScroller.scrollLargeChange=null;if(b._autoHLarge)c.hScroller.scrollLargeChange=null;a.vTrackLen=undefined;a.hTrackLen=undefined;if(a.vbarContainer){a.vbarContainer.remove();a.vbarContainer=undefined}if(a.hbarContainer){a.hbarContainer.remove();a.hbarContainer=undefined}},_initialize:function(b,a,c){b.initialized=true;a.addClass(i);b.oldHeight=a.css("height");var d=a.css("overflow");a.css("overflow","");a.height(a.height());a.css("overflow",d);c._createAdditionalDom(c,b,a)},getContentElement:function(){return this._fields().templateWrapper},_setButtonPosition:function(f,s,g,r,n,d,k){var b=r==="h",q="mouseover."+f.widgetName,i=b?"buttonLeft":"buttonTop",j=b?"buttonRight":"buttonBottom",e=d[i],h=d[j],p,l,c;if(f._hasMode(g,"buttons")||f._hasMode(g,"buttonshover")){p=b?m:o;if(e===undefined){l=a(p).appendTo(k);l.bind(q,f,f._scrollButtonMouseOver);d[i]=e=k.children(b?".wijmo-wijsuperpanel-buttonleft":".wijmo-wijsuperpanel-buttontop");d[j]=h=k.children(b?".wijmo-wijsuperpanel-buttonright":".wijmo-wijsuperpanel-buttonbottom")}c={my:b?"left":"top",of:n,at:b?"left":"top",collision:"none"};a.extend(c,g.decreaseButtonPosition);e.position(c);c={my:b?"right":"bottom",of:n,at:b?"right":"bottom",collision:"none"};a.extend(c,g.increaseButtonPosition);h.position(c)}else if(e!==undefined){e.remove();h.remove();d[i]=d[j]=undefined}},_initScrollButtons:function(a,b,c){var e=b.contentWrapper,d=b.stateContainer;a._setButtonPosition(a,c,c.hScroller,"h",e,b,d);a._setButtonPosition(a,c,c.vScroller,"v",e,b,d)},_getVScrollBarSmallChange:function(){var a=this.options,b;if(!a.vScroller.scrollSmallChange){b=this._getVScrollBarLargeChange();a.vScroller.scrollSmallChange=b/2}return a.vScroller.scrollSmallChange},_getVScrollBarLargeChange:function(){return this._getLargeChange("v")},_getLargeChange:function(q){var f=this,m=f.options,l=f._fields(),c=q==="v",a=c?m.vScroller:m.hScroller,n=c?"clientHeight":"clientWidth",o=c?"contentHeight":"contentWidth",p=c?"_autoVLarge":"_autoHLarge",j,k,i,h,d,g,e,b;if(a.scrollLargeChange)return a.scrollLargeChange;j=a.scrollMax;k=a.scrollMin;i=j-k;h=l.contentWrapper;d=h[0][n];g=l[o];e=d/(g-d);b=(i+1)*e/(1+e);if(isNaN(b))b=0;a.scrollLargeChange=b;f[p]=true;return a.scrollLargeChange},_getHScrollBarSmallChange:function(){var a=this.options,b;if(!a.hScroller.scrollSmallChange){b=this._getHScrollBarLargeChange();a.hScroller.scrollSmallChange=b/2}return a.hScroller.scrollSmallChange},_getHScrollBarLargeChange:function(){return this._getLargeChange("h")},_initScrollBars:function(c,q,d){var o=d.hScroller,t=o.scrollMax,u=o.scrollMin,r=t-u,p=d.vScroller,v=p.scrollMax,w=p.scrollMin,s=v-w,a=q.hbarDrag,b=q.vbarDrag,k,i,f,n,j,l,g,e,m,h;if(c.hNeedScrollBar&&a.is(":visible")){k=c._getHScrollBarLargeChange();i=c._getTrackLen("h");f=c._getDragLength(r,k,i,d.hScroller.scrollMinDragLength);a.width(f);n=a.outerWidth()-a.width();a.width(f-n);j=a.children("span");j.css("margin-left",(a.width()-j[0].offsetWidth)/2);if(i<=a.outerWidth())a.hide();else a.show()}if(c.vNeedScrollBar&&b.is(":visible")){l=c._getVScrollBarLargeChange();g=c._getTrackLen("v");e=c._getDragLength(s,l,g,d.vScroller.scrollMinDragLength);b.height(e);m=b.outerHeight()-b.height();b.height(e-m);h=b.children("span");h.css("margin-top",(b.height()-h[0].offsetHeight)/2);if(g<=b.outerHeight())b.hide();else b.show()}c._setDragAndContentPosition(false,false,"both")},_getTrackLen:function(f){var e=this,a=e._fields(),d=f+"TrackLen",g,h,c,b;if(a[d]!==undefined)return a[d];g=a.hbarContainer;h=a.vbarContainer;c=0;b=0;if(f==="h"){b=e._getScrollContainerPadding("h");c=g.innerWidth()}if(f==="v"){b=e._getScrollContainerPadding("v");c=h.innerHeight()}a[d]=c-b;return a[d]},_getScrollContainerPadding:function(b){var c=this,d=c._fields(),a=0,f,e;if(b==="h")a=c._getScrollContainerPadding("left")+c._getScrollContainerPadding("right");else if(b==="v")a=c._getScrollContainerPadding("top")+c._getScrollContainerPadding("bottom");else{if(b==="left"||b==="right")f=d.hbarContainer;else f=d.vbarContainer;e=b+"Padding";if(d[e]!==undefined){a=d[e];return a}a=parseFloat(f.css("padding-"+b).replace("px",""));d[e]=a}return a},_contentDragAnimate:function(h,p,C,g,A,t,w){var b=this,f=b.options,d=h==="v",j=d?f.vScroller:f.hScroller,H=d?"outerHeight":"outerWidth",I=d?"innerHeight":"innerWidth",E=d?"contentHeight":"contentWidth",F=d?"top":"left",q=j.scrollMin,K=j.scrollMax,J=K-q,k=j.scrollValue===undefined?q:j.scrollValue-q,D=b._getLargeChange(h),l=J-D+1,s=b._fields(),G=s.contentWrapper,i=s.templateWrapper,c,e,y,z,B,x,n,v,m,o,u,r;if(k>l)k=l;c=(s[E]-G[I]())*(k/l);if(Math.abs(c)<.001)c=0;c=Math.round(c);e=-1;if(C!==undefined){p&&g.is(":animated")&&A!=="nonestop"&&g.stop(true,false);y=b._getTrackLen(h);z=g[H]();B=y-z;x=b._getScrollContainerPadding(F);e=k/l*B+x}if(p&&f.animationOptions){if(e>=0&&w!=="dragging"){n=a.extend({},f.animationOptions);n.complete=undefined;v=d?{top:e}:{left:e};g.animate(v,n)}m=a.extend({},f.animationOptions);o=f.animationOptions.complete;m.complete=function(){b._scrollEnd(t,b,h);a.isFunction(o)&&o(arguments)};p&&i.is(":animated")&&A!=="nonestop"&&i.stop(true,false);u=d?{top:-c}:{left:-c};i.animate(u,m)}else{r=d?"top":"left";if(e>=0&&w!=="dragging")g[0].style[r]=e+"px";i[0].style[r]=-c+"px";b._scrollEnd(t,b,h)}},_setDragAndContentPosition:function(d,e,c,g,f){var b=this,a=b._fields(),h=a.hbarContainer,j=a.hbarDrag,i=a.vbarContainer,k=a.vbarDrag;(c==="both"||c==="h")&&a.hScrolling&&b._contentDragAnimate("h",e,h,j,g,d,f);(c==="both"||c==="v")&&a.vScrolling&&b._contentDragAnimate("v",e,i,k,g,d,f);a.intervalID>0&&window.clearInterval(a.intervalID);a.intervalID=window.setInterval(function(){b._disableButtonIfNeeded(b)},500)},_scrolling:function(d,a,b){var c=true;if(d){b.beforePosition=a.getContentElement().position();a._beforePosition=b.beforePosition;c=a._trigger("scrolling",null,b)}return c},_scrollEnd:function(b,a,c){b&&window.setTimeout(function(){var e=a.getContentElement(),b,d;if(!e.is(":visible"))return;b=a.getContentElement().position();d={dir:c,beforePosition:a._beforePosition,afterPosition:b};a._trigger("scrolled",null,d)},0)},_getDragLength:function(f,d,b,g){var e=f/d,a=b/e,c=g;if(a<c)a=c;else if(a+1>=b)a=b-1;return Math.round(a)},_needScrollbar:function(b,e){var d=this._hasMode(b,"scrollbar"),a=b.scrollBarVisibility,c=d&&(a==="visible"||a==="auto"&&e);return c},_bindBarEvent:function(d,e,c){var b=this;d.bind("mouseover."+b.widgetName,b,b._scrollerMouseOver);e.draggable({axis:c==="h"?"x":"y",drag:function(a){b._dragging(a,b)},containment:"parent",stop:function(d){b._dragStop(d,b,c);a(d.target).removeClass("ui-state-active")}})},_createBarIfNeeded:function(m,k,b,p,g){if(m){var h=this,j=h._fields(),l=b+"barContainer",o=b+"barDrag",e=b==="h",n=g[0][e?"clientHeight":"clientWidth"],d=j[l]=a(p),f,i;k.append(d);f=d[0][e?"offsetHeight":"offsetWidth"];i=j[o]=d.find("."+c);h._bindBarEvent(d,i,b);g[e?"height":"width"](n-f)}},_setScrollbarPosition:function(u,p,f,a,s,r,h,q,c,g,t){var b=g==="h",e,m,i,n,j,o,k,l,d;if(r){e=a[0][b?"offsetHeight":"offsetWidth"];m=p._getScrollContainerPadding(g);i=b?"top":"left";n=b?{top:"0px",bottom:"auto",left:"auto",right:"auto"}:{left:"0px",right:"auto",top:"auto",bottom:"auto"};j=b?{top:e+"px"}:{left:e+"px"};o=b?{top:"auto",right:"auto",left:"auto",bottom:"0px"}:{left:"auto",right:"0px",top:"auto",bottom:"auto"};k=b?{top:""}:{left:""};l=f[0][b?"clientWidth":"clientHeight"];if(q===i){a.css(n);f.css(j);if(b){a.children(".wijmo-wijsuperpanel-hbar-buttonleft").removeClass("ui-corner-bl").addClass("ui-corner-tl");a.children(".wijmo-wijsuperpanel-hbar-buttonright").removeClass("ui-corner-br").addClass("ui-corner-tr");a.removeClass("ui-corner-bottom").addClass("ui-corner-top")}else{a.children(".wijmo-wijsuperpanel-vbar-buttontop").removeClass("ui-corner-tr").addClass("ui-corner-tl");a.children(".wijmo-wijsuperpanel-vbar-buttonbottom").removeClass("ui-corner-br").addClass("ui-corner-bl");a.removeClass("ui-corner-right").addClass("ui-corner-left")}}else{a.css(o);f.css(k);if(b){a.children(".wijmo-wijsuperpanel-hbar-buttonleft").removeClass("ui-corner-tl").addClass("ui-corner-bl");a.children(".wijmo-wijsuperpanel-hbar-buttonright").removeClass("ui-corner-bl").addClass("ui-corner-br");a.removeClass("ui-corner-top").addClass("ui-corner-bottom")}else{a.children(".wijmo-wijsuperpanel-vbar-buttontop").removeClass("ui-corner-tl").addClass("ui-corner-tr");a.children(".wijmo-wijsuperpanel-vbar-buttonbottom").removeClass("ui-corner-bl").addClass("ui-corner-br");a.removeClass("ui-corner-left").addClass("ui-corner-right")}}d=0;if(h){d=s[0][b?"offsetWidth":"offsetHeight"];if(c==="left")a.css("right","0px");else if(c==="right")a.css("left","0px");else if(c==="top")a.css("bottom","0px");else c==="bottom"&&a.css("top","0px")}if(!b&&h)d=0;a[b?"width":"height"](l-m);p._enableDisableScrollBar(g,a,!t)}else u.css(b?"left":"top","")},_testScroll:function(b,a,f){var c=a.templateWrapper,d=a.contentWrapper,h=a.stateContainer,p=d.innerWidth(),o=d.innerHeight(),r=a.contentWidth,q=a.contentHeight,e,g,i,j,l,m;a.hScrolling=r>p;a.vScrolling=q>o;e=b.hNeedScrollBar=b._needScrollbar(f.hScroller,a.hScrolling);b._createBarIfNeeded(b.hNeedScrollBar,h,"h",k,d);if(e&&!a.vScrolling){c.css("float","left");a.contentHeight=c.height();a.vScrolling=a.contentHeight>o-a.hbarContainer[0].offsetHeight;c.css("float","")}g=b.vNeedScrollBar=b._needScrollbar(f.vScroller,a.vScrolling);b._createBarIfNeeded(b.vNeedScrollBar,h,"v",n,d);if(g&&!a.hScrolling){c.css("float","left");a.contentWidth=c.width();a.hScrolling=a.contentWidth>p-a.vbarContainer[0].offsetWidth;c.css("float","");if(a.hScrolling){e=b.hNeedScrollBar=b._needScrollbar(f.hScroller,a.hScrolling);b._createBarIfNeeded(b.hNeedScrollBar,h,"h",k,d)}}i=a.hbarContainer;j=a.vbarContainer;l=f.hScroller.scrollBarPosition;m=f.vScroller.scrollBarPosition;b._setScrollbarPosition(c,b,d,i,j,e,g,l,m,"h",a.hScrolling);b._setScrollbarPosition(c,b,d,j,i,g,e,m,l,"v",a.vScrolling)},_enableDisableScrollBar:function(f,a,d){if(f==="v"){a[d?"addClass":"removeClass"]("wijmo-wijsuperpanel-vbarcontainer-disabled");a.find("."+e)[d?"addClass":"removeClass"](b)}else if(f==="h"){a[d?"addClass":"removeClass"]("wijmo-wijsuperpanel-hbarcontainer-disabled");a.find("."+e)[d?"addClass":"removeClass"](b)}a.children("."+c)[d?"hide":"show"]()},_initResizer:function(){var b=this,g=b.options,d=b._fields(),f=d.resizer,c,e;if(!f&&g.allowResize){c=g.resizableOptions;e=c.stop;c.stop=function(c){b._resizeStop(c,b);a.isFunction(e)&&e(c)};d.resizer=f=b.element.resizable(c)}if(!g.allowResize&&d.resizer){f.resizable("destroy");d.resizer=null}},_resizeStop:function(b,a){!this.options.autoRefresh&&a.paintPanel();a._trigger("resized")},_createAdditionalDom:function(f,b,c){if(!c.attr("tabindex")){c.attr("tabindex","-1");b.tabindex=true}var d=b.stateContainer=a(l),e;b.contentWrapper=d.children();e=b.templateWrapper=b.contentWrapper.children();c.contents().each(function(f,d){var c=a(d);if(c.hasClass("wijmo-wijsuperpanel-header")){b.header=c;return}if(c.hasClass("wijmo-wijsuperpanel-footer")){b.footer=c;return}e[0].appendChild(d)});b.header!==undefined&&c.prepend(b.header);c[0].appendChild(d[0]);b.footer!==undefined&&b.footer.insertAfter(d)},_setRounder:function(e,d){if(this.options.showRounder){d.addClass(h);if(e._rounderAdded)return;if(a.browser.msie)return;var b,c,g,f;b=c="";if(a.browser.webkit){c="WebkitBorderTopLeftRadius";b="WebkitBorderRadius"}else if(a.browser.mozilla){c="MozBorderRadiusBottomleft";b="MozBorderRadius"}else{c="border-top-left-radius";b="border-radius"}g=d.css(c);f=parseInt(g,10);d.css(b,f+1);e._rounderAdded=true;e._radiusKey=b}else d.removeClass(h)},_setInnerElementsSize:function(a,g){var i=a.stateContainer,h=a.contentWrapper,e=0,b,c,d,f;if(a.header!==undefined)e+=a.header.outerHeight();if(a.footer!==undefined)e+=a.footer.outerHeight();b=i[0].style;c=g[0].clientHeight-e;d=g[0].clientWidth;b.display="none";b.height=c+"px";b.width=d+"px";f=h[0].style;f.height=c+"px";f.width=d+"px";b.display=""}})})(jQuery);
