﻿/*
* jQuery Co3 Scroll plugin
* 
* Version 1.4
* 26. November 2009
*
* Co3 Interaktivt kompetencebureau
* www.co3.dk
*
* Developer
* Rune Øllgaard Grønkjær
* rg@co3.dk
*
* Created with jQuery v1.3.2
* Tested with jQuery v1.3.2
*
* Useage:
* Wraps a scrollcontent in a very fexible scrollarea
*
* Settings:
* {
*    width: 400, (Ikke nødvendig. Man kan også style sig ud af det.)
*    height: 300, (Ikke nødvendig. Man kan også style sig ud af det.)
*    scrollSpeed: 500,
*    scrollInInterval: true, //True if the scroll should move in intervals
*    scrollIntervalY: 300, //The Y-axis interval
*    scrollIntervalX: 400, //The X-axis interval
*    upEvents: [{selector: "#scrollButton01UP",
*                startEvent: "mouseover",
*                endEvent: "mouseout" },
*                {selector: "#scrollButton01UP",
*                startEvent: "mousedown",
*                endEvent: "mouseup",
*                scrollSpeed: 1000 }],
*    downEvents: undefined,
*    leftEvents: undefined,
*    rightEvents: undefined,
*    scrollWrapperClasses: "class name or class names separated by space"
*    hideWhenNotNeeded: true/false
*    scrollInInterval: true,
*    scrollInIntervalEventsY: [{firstSelector: "#scrollButton01DOWN",
*                    secondSelector: "#scrollButton01UP",
*                    interval: 300,
*                    scrollNudge: { pixels: 30,
*                                   speed: 200 },
*                    event: "mousedown",
*                    scrollSpeed: 1000,
*                    hideWhenNotNeeded: false}]
* }
* Changelog:
* Version 1.0:
* Created: 08. March 2009
*
* Version 1.1
* Created: 05. June 2009
* Changed:
* The way events are bound to the scrollarrows have been changed. They now work when the scrollcontent is being changed runtime.
*
* Version 1.2
* Created: 11. June 2009
* Changed:
* The arrows are now hidden if you select hideWhenNotNeeded: true
* The Scrollbar jumped in some cases if the content was too small. This is now fixed.
*
* Version 1.3
* Created: 15. June 2009
* Changed:
* The plugin now contains moving message funktionality. With the function "startContinousScroll" you can now let the scrollbar scroll along with no userhelp.
* The startContinousScroll takes a "normal" scrollEventObj in wich you can set the following:
* speed: 70, (The speed of the scroll)
* direction: "down", (the starting direction of the scroll)
* scrollPastBorder: true, (True if you want the scroll to stop after rolling out of the scrollarea; False if you want the scroll to stop like normal at the border of the scrollarea)
* scrollBack: false, (True if you want the scroll to change direction when hitting the border)
* scrollEndDelay: 0, (The dalay before continueing after hitting the border)
* stopAtEnd: false (True if you want the scroll to totally stop after reaching the border)
*
* Version 1.3.1
* Created: 19. June 2009
* Changed:
* Adjusted the intervaltime from 10 to 30
*
* Version 1.3.2
* Created: 06. Juli 2009
* Changed:
* Repaired the left and right functions. They can now again return the position of the scrollarea.
*
* Version 1.4
* Created: 26. November 2009
* Changed:
* Added a mouseover event on the boundaries. If you set the scrollBoundariesX or scrollBoundariesY to a number of pixels the scrollbar will scroll when the Mouse hovers over the boundaries of the scrollarea .
*
*/

/*---MouseWheel Plugin START---*/
eval(function(p, a, c, k, e, r) { e = function(c) { return (c < 62 ? '' : e(parseInt(c / 62))) + ((c = c % 62) > 35 ? String.fromCharCode(c + 29) : c.toString(36)) }; if ('0'.replace(0, e) == 0) { while (c--) r[e(c)] = k[c]; k = [function(e) { return r[e] || e } ]; e = function() { return '[24-9f-zAB]' }; c = 1 }; while (c--) if (k[c]) p = p.replace(new RegExp('\\b' + e(c) + '\\b', 'g'), k[c]); return p } ('(5(b){b.6.g.4={setup:5(){8 c=b.6.g.4.h;7(b.9.i){b(2).m(\'n.4\',5(a){b.f(2,\'j\',{o:a.o,p:a.p,q:a.q,r:a.r})})}7(2.s){2.s((b.9.i?\'t\':\'4\'),c,u)}v{2.w=c}},teardown:5(){8 a=b.6.g.4.h;b(2).x(\'n.4\');7(2.y){2.y((b.9.i?\'t\':\'4\'),a,u)}v{2.w=5(){}}b.removeData(2,\'j\')},h:5(a){8 c=Array.prototype.slice.call(arguments,1);a=b.6.fix(a||window.6);b.z(a,b.f(2,\'j\')||{});8 d=0,e=true;7(a.k){d=a.k/120}7(a.A){d=-a.A/3}7(b.9.opera){d=-a.k}a.f=a.f||{};a.type="4";c.B(d);c.B(a);l b.6.handle.apply(2,c)}};b.fn.z({4:5(a){l a?2.m("4",a):2.trigger("4")},unmousewheel:5(a){l 2.x("4",a)}})})(jQuery);', [], 38, '||this||mousewheel|function|event|if|var|browser||||||data|special|handler|mozilla|mwcursorposdata|wheelDelta|return|bind|mousemove|pageX|pageY|clientX|clientY|addEventListener|DOMMouseScroll|false|else|onmousewheel|unbind|removeEventListener|extend|detail|unshift'.split('|'), 0, {}))
/*---MouseWheel Plugin END---*/

/*---Scroll Plugin START---*/
eval(function(p, a, c, k, e, r) { e = function(c) { return (c < a ? '' : e(parseInt(c / a))) + ((c = c % a) > 35 ? String.fromCharCode(c + 29) : c.toString(36)) }; if (!''.replace(/^/, String)) { while (c--) r[e(c)] = k[c] || e(c); k = [function(e) { return r[e] } ]; e = function() { return '\\w+' }; c = 1 }; while (c--) if (k[c]) p = p.replace(new RegExp('\\b' + e(c) + '\\b', 'g'), k[c]); return p } ('8.p=7(){};8.2B.2C=7(d){5 e=[];4.2D(7(){5 a=1J 8.p();5 b=8(4);b.t("G","27");5 c=a.28(d);b.2E(c);c=8("#"+c.1h("1i"));a.29(d,b,c);e[e.11]=a});s e};8.p.r.2a=7(a,b){5 c=4;1j(a.2F.2G()+b){I"y-1":2(c.9.1k()<c.K.M()){s}a.6="D";E;I"2H":2(c.9.1k()<c.K.M()){s}a.6="W";E;I"x-1":2(c.9.1l()<c.K.N()){s}a.6="F";E;I"2I":2(c.9.1l()<c.K.N()){s}a.6="o";E}2(!c.1a){c.17(a);c.1T=1K;c.1U(a)}u{2(c.S!==(a.6+a.v)){c.S=a.6+a.v;c.1L(a)}}};8.p.r.1U=7(a){5 b=4;2b.1V(7(){2(!b.1W){b.q(a);b.1T=1m}u{b.1W=1m;b.1U(a)}},2J)};8.p.r.17=7(a){5 b=4.J[a.6];2(b!==18){1b(5 c 1X b){5 d=b[a.v];2(!d||b[c].R!==d.R){4.2c(b[c].13)}}}4.J[a.6]=4.J[a.6]||[];5 e=4;1n{5 f=4.J[a.6][a.v].R;2(f>0&&a.z!=="A"){4.q(4.J[a.6][a.v].13)}u{2(f>0){4.J[a.6][a.v].13=a;s}}}1o(1p){}a.1c=a.1c?a.1c:e.1c;5 g=4.J[a.6][a.v]={R:2K(7(){e.2d(a)},a.1c),13:a,2e:(1J 1Y()).1Z()}};8.p.r.1L=7(a,b){5 c=4;5 d={L:a.w*c.1q,1d:a.1d,O:a.O};5 e=7(){c.S=""};1j(a.6){I"y":2(b==="20"){5 f=4.1r();f=4.1r(f.T+1,d,e);2(a.X){2(f.T===f.1M){c.1s(a.14)}c.1t(a.15)}}u{5 f=4.1r();f=4.1r(f.T-1,d,e);2(a.X){2(f.T===1){c.1s(a.15)}c.1t(a.14)}}E;I"x":2(b==="20"){5 f=4.1u();f=4.1u(f.T+1,d,e);2(a.X){2(f.T===f.1M){c.1s(a.14)}c.1t(a.15)}}u{5 f=4.1u();f=4.1u(f.T-1,d,e);2(a.X){2(f.T===1){c.1s(a.15)}c.1t(a.14)}}E}};8.p.r.q=7(a){1n{5 b=4.J[a.6][a.v].R;2(b===0){s}2f(4.J[a.6][a.v].R)}1o(1p){s}4.J[a.6][a.v].R=0;2(4.Y[a.6]!==18&&4.Y[a.6][a.v]!==18){4.Y[a.6][a.v].R=0}1b(5 c 1X 4.Y[a.6]){2(4.Y[a.6][c].R>0){4.17(4.Y[a.6][c].13);E}}};8.p.r.2c=7(a){2f(4.J[a.6][a.v].R);4.Y[a.6]=4.Y[a.6]||[];4.Y[a.6][a.v]={R:4.J[a.6][a.v].R,13:a,2e:(1J 1Y()).1Z()};4.J[a.6][a.v].R=0};8.p.r.2d=7(a){a=4.J[a.6][a.v].13;L=a.w||4.1N;5 b=L*10;2(4.1O){2(4.1v>=4.1O){4.q(a);4.1v=0;s}4.1v+=b;2(4.1v>4.1O){b=4.1v-4.1O;4.q(a)}}1j(a.6){I"D":5 c=4.1w(a);2(4.9.G().C===c){s}5 d=4.9.G().C-b;2(d<-c){d=-c;4.q(a);4.9.t("C",d);2(a.12){a.12()}}4.9.t("C",d);E;I"W":5 e=4.21(a);5 d=4.9.G().C+b;2(d>e){d=e;4.q(a);2(a.12){a.12()}}4.9.t("C",d);E;I"F":5 c=4.1x(a);5 f=4.9.G().o-b;2(f<-c){f=-c;4.q(a);2(a.12){a.12()}}4.9.t("o",f);E;I"o":5 e=4.22(a);5 f=4.9.G().o+b;2(f>e){f=e;4.q(a);2(a.12){a.12()}}4.9.t("o",f);E}};8.p.r.2g=7(e){5 a=4;5 b=0,D=0,o=0,F=0;2(a.U&&a.U>0){b=((a.2h-e.2i)/a.U*a.P.w)/1e;D=((e.2i-a.2j)/a.U*a.P.w)/1e}2(a.V&&a.V>0){o=((a.2k-e.2l)/a.V*a.P.w)/1e;F=((e.2l-a.2m)/a.V*a.P.w)/1e}5 c="";5 d=[];2(b>0&&D>0){a.q({6:"W",z:"A"});a.q({6:"D",z:"A"});s}2(b>0){c+="2L 1d: "+b;d[d.11]={6:"W",z:"A",w:b};a.q({6:"D",z:"A"})}u{a.q({6:"W",z:"A"})}2(D>0){c+="2M 1d: "+D;d[d.11]={6:"D",z:"A",w:D};a.q({6:"W",z:"A"})}u{a.q({6:"D",z:"A"})}2(o>0&&F>0){a.q({6:"o",z:"A"});a.q({6:"F",z:"A"});s}2(o>0){c+="<2n>2N 1d: "+o;d[d.11]={6:"o",z:"A",w:o};a.q({6:"F",z:"A"})}u{a.q({6:"o",z:"A"})}2(F>0){c+="<2n>HØ2O 1d: "+F;d[d.11]={6:"F",z:"A",w:F};a.q({6:"o",z:"A"})}u{a.q({6:"F",z:"A"})}1b(5 i=0;i<d.11;i++){a.17(d[i])}};8.p.r.2o=7(){5 a=4;a.q({6:"o",z:"A"});a.q({6:"F",z:"A"});a.q({6:"W",z:"A"});a.q({6:"D",z:"A"})};8.p.r.Q=7(a,b){2(!a){s}5 c=4;2(b==="1y"){1b(5 i=0;i<a.11;i++){5 d=a[i];d.w=d.w?d.w/1e:c.1N*3;d.1f=d.1f||"#"+c.2p;d.v="1y";4.23(d)}s}2(b==="2q"&&((c.V&&c.V>0)||c.U&&c.U>0)){2(c.U&&c.U>0){c.2h=c.U+c.1z.C;c.2j=c.2r-c.U+c.1z.C}2(c.V&&c.V>0){c.2m=c.2s-c.V+c.1z.o;c.2k=c.V+c.1z.o}c.K.2P(7(e){c.2g(e)});c.K.2Q(7(){c.2o()})}1b(5 i=0;i<a.11;i++){5 d=a[i];2(d.w){d.w=d.w/c.1q}d.6=b;4.23(d)}};8.p.r.23=7(c){5 d=4;2(c.v==="1y"){8(c.1f).2R(7(a,b){2(!d.1T){d.2a(c,b>0?"1":"-1")}u{d.1W=1K}a.2S()});s}2(d.1a){1j(c.6){I"y":5 e=4.1w();5 f=4.9.G().C;2(c.X){2(f<=0){8(c.15).t("16","19")}2(f>=e){8(c.14).t("16","19")}}E;I"x":5 e=4.1x();5 f=4.9.G().o;2(c.X){2(f<=0){8(c.15).t("16","19")}2(f>=e){8(c.14).t("16","19")}}E}2(c.14&&c.15){8(c.14).1P(c.1g,7(){2(d.S!==c.6+c.1g){d.S=c.6+c.1g;d.1L(c,"20")}});8(c.15).1P(c.1g,7(){2(d.S!==c.6+c.1g){d.S=c.6+c.1g;d.1L(c,"2T")}})}}u{1n{8(c.1f).1P(c.v,7(){2(d.S!==c.6+c.v){d.S=c.6+c.v;d.17(c)}});2(!d.1a){8(c.1f).1P(c.24,7(){2(d.S!==c.6+c.24){d.S=c.6+c.24;2(c.v!=="2t"){1n{d.q(d.J[c.6].2t.13)}1o(1p){}}d.q(c)}})}}1o(1p){2U("2V 2W 2X 2Y 2Z 1a: 1K 1X 31 32 P")}}};8.p.r.1A=7(a){2(a){1b(5 i=0;i<a.11;i++){5 b=a[i];2(b.X){8(b.1f).t("16","19")}}}};8.p.r.33=7(a,b){5 c=4;2b.1V(7(){c.q(a);c.34=1m},b)};8.p.r.28=7(a){5 b=(1J 1Y()).1Z();5 c=8(35.36(\'37\'));c.t("G","27");c.t("38","39");2(a.N){c.t("N",a.N)}2(a.M){c.t("M",a.M)}c.1h("1i",b);c.2u("3a");2(a.2v){c.2u(a.2v)}s c};8.p.r.29=7(a,b,c){5 d=4;2(!a.M){a.M=c.M()}2(!a.N){a.N=c.N()}d.1Q=b.1h("1i");2(!d.1Q||d.1Q===""){d.1Q="3b"+c.1h("1i")}d.1q=25;d.1N=a.w/d.1q;d.3c=a.3d/d.1q;d.9=b;d.3e=b[0];d.K=c;d.3f=d.K.G();d.1z=d.K.3g();d.2s=d.K.1l();d.2r=d.K.1k();d.2p=c.1h("1i");d.3h=b.G().C;d.3i=b.G().o;d.1c=30;d.J=[];d.Y=[];d.S="";d.P=a;d.3j=[];d.3k=[];d.1a=a.1a;d.V=a.V;d.U=a.U;2(a.M<d.9.1k()){d.Q(a.1B,"W");d.Q(a.1C,"D");d.Q(a.2w,"y")}u{2(a.1B&&!a.1B.X){d.Q(a.1B,"W")}d.1A(a.1B);2(a.1C&&!a.1C.X){d.Q(a.1C,"D")}d.1A(a.1C)}2(a.N<d.9.1l()){d.Q(a.1D,"o");d.Q(a.1E,"F")}u{2(a.1D&&!a.1D.X){d.Q(a.1D,"o")}d.1A(a.1D);2(a.1E&&!a.1E.X){d.Q(a.1E,"F")}d.1A(a.1E)}d.Q(a.2w,"y");d.Q(a.3l,"x");d.Q(a.1y,"1y");d.Q([],"2q")};8.p.r.1s=7(a){8(a).Z({26:0},25,7(){8(4).t("16","19")})};8.p.r.1t=7(a){5 b=8(a);2(b.t("16")==="19"){b.t("26",0).t("16","3m").Z({26:1},25,7(){1n{4.3n.3o(\'3p\')}1o(1p){}})}};8.p.r.1x=7(a){5 b=4.9.1l();2(a===18||!a.1F){b=b-4.K.N()}s b>0?b:0};8.p.r.22=7(a){5 b=0;2(a===18||a.1F){b=4.K.N()}s b>0?b:0};8.p.r.1w=7(a){5 b=4.9.1k();2(a===18||!a.1F){b=b-4.K.M()}s b>0?b:0};8.p.r.21=7(a){5 b=0;2(a===18||a.1F){b=4.K.M()}s b>0?b:0};8.p.r.3q=7(a){5 b=a.1G||0;5 c=0;2(b>0){c=(a.L||1H)}s c};8.p.r.C=7(a,b,c){5 d=4;5 e=4.1w();5 f=-d.9.G().C;2(a&&a!==f){a=a<=e?a:e;5 g=d.P.w;5 h=-f;5 i=0;2(b){g=b.L||g;2(b.O){5 j=(b.O.1G||30);h=(a<f?-j:j)-f;i=b.O.L||1H}}u{g=0}2(a!==f){d.9.Z({C:h},i).Z({C:-a},g,7(){2(c){c(a,d)}})}}u{a=f}s a};8.p.r.o=7(a,b,c){5 d=4;5 e=4.1x();5 f=-d.9.G().o;2(a&&a!==f){a=a<=e?a:e;5 g=d.P.w;5 h=-f;5 i=0;2(b){g=b.L||g;2(b.O){5 j=(b.O.1G||30);h=(a<f?-j:j)-f;i=b.O.L||1H}}u{g=0}2(a!==f){d.9.Z({o:h},i).Z({o:-a},g,7(){2(c){c(a,d)}})}}u{a=f}s a};8.p.r.1u=7(a,b,c){5 d=4;5 e=-d.9.G().o;5 f=1R.2x(d.9.N()/d.P.N);5 g=d.P.N;a=a<1?1:a;a=a>f?f:a;5 h=1R.2y(e/g)+1;5 i=e-(h-1)*g;5 j={1M:f,T:h,1S:i};2(a&&a!==h){a=a<=f?a:f;5 k=d.P.w;5 l=-e;5 m=0;2(b){k=b.L||k;2(b.O){5 n=(b.O.1G||30);l=(a<h?-n:n)-e;m=b.O.L||1H}}j.T=a;j.1S=0;2(a!==h){3r=a;d.9.Z({o:l},m).Z({o:-((a-1)*g)},k,7(){2(c){c(j,d)}})}}u{2(c){c(j,d)}}s j};8.p.r.1r=7(a,b,c){5 d=4;5 e=-d.9.G().C;5 f=1R.2x(d.9.M()/d.P.M);5 g=d.P.M;a=a<1?1:a;a=a>f?f:a;5 h=1R.2y(e/g)+1;5 i=e-(h-1)*g;5 j={1M:f,T:h,1S:i};2(a&&a!==h){a=a<=f?a:f;5 k=d.P.w;5 l=-e;5 m=0;2(b){k=b.L||k;2(b.O){5 n=(b.O.1G||30);l=(a<h?-n:n)-e;m=b.O.L||1H}}j.T=a;j.1S=0;2(a!==h){d.9.Z({C:l},m).Z({C:-((a-1)*g)},k,7(){2(c){c(j,d)}})}}u{2(c){c(j,d)}}s j};8.p.r.3s=7(a){5 b=4;2(a){b.B=8.3t({L:3u,6:"D",1F:1K,1I:1m,2z:0,2A:1m},a);b.B.w=a.L?a.L/1e:b.1N*3}b.B.12=7(){2(b.B.2A){s}1j(b.B.6){I"D":2(b.B.1I){b.B.6="W"}u{b.9.t("C",b.21(b.B))}E;I"W":2(b.B.1I){b.B.6="D"}u{b.9.t("C",-b.1w(b.B))}E;I"F":2(b.B.1I){b.B.6="o"}u{b.9.t("o",b.22(b.B))}E;I"o":2(b.B.1I){b.B.6="F"}u{b.9.t("o",-b.1x(b.B))}E}1V(7(){b.17(b.B)},b.B.2z)};b.17(b.B)};8.p.r.3v=7(){5 a=4;a.q(a.B)};', 62, 218, '||if||this|var|direction|function|jQuery|jQueryScrollContent|||||||||||||||left|Co3Scroll|stop|prototype|return|css|else|startEvent|scrollSpeed|||startevent|boundaryscroll|continousScrollEventObj|top|down|break|right|position||case|startedScrolls|scrollarea|speed|height|width|scrollNudge|settings|bindEvents|intervalID|lastEvent|currentPage|scrollBoundariesY|scrollBoundariesX|up|hideWhenNotNeeded|pausedScrolls|animate||length|OnAtEnd|scrollEventObj|firstSelector|secondSelector|display|startScroll|undefined|none|scrollInInterval|for|intervalTime|interval|250|selector|event|attr|id|switch|outerHeight|outerWidth|false|try|catch|ex|scrollSpeedModifier|yPage|hideElement|showElement|xPage|scrollIntervalCount|getMaxHeight|getMaxWidth|mouseWheelEvent|scrollareaOffset|hideEventElements|upEvents|downEvents|leftEvents|rightEvents|scrollPastBorder|pixels|200|scrollBack|new|true|startIntervalScroll|pages|speedPerPixel|scrollInterval|bind|scrollContentID|Math|extraPixels|mouseWheelInProgress|startWheelTimeout|setTimeout|mouseWheelInQue|in|Date|getTime|first|getMinHeight|getMinWidth|bindEvent|endEvent|500|opacity|relative|createScrollArea|setupCo3Scroll|startWheelScroll|window|pause|scroll|startTime|clearInterval|startBoundaryScroll|boundaryUp|pageY|boundaryDown|boundaryLeft|pageX|boundaryRight|br|stopBoundaryScroll|scrollareaID|scrollBoundaryEvent|scrollareaOuterHeight|scrollareaOuterWidth|mousedown|addClass|scrollWrapperClasses|scrollInIntervalEventsY|ceil|floor|scrollEndDelay|stopAtEnd|fn|wrapInScrollbar|each|wrap|axis|toLowerCase|y1|x1|150|setInterval|OP|NED|VENSTRE|JRE|mousemove|mouseleave|mousewheel|preventDefault|second|alert|You|might|need|to|set||the|scrollbar|startLongTimeout|unstopableScrollInProgress|document|createElement|div|overflow|hidden|co3Scroll|sc|speedPerPixelClick|scrollSpeedClick|scrollContent|scrollareaPosition|offset|xPos|yPos|scrollbarsVertical|scrollbarsHorizontal|scrollInIntervalEventsX|block|style|removeAttribute|filter|getScrollNudgeSpeed|rtnPos|startContinousScroll|extend|70|stopContinousScroll'.split('|'), 0, {}))
/*---Scroll Plugin END---*/