PageSourceSearch

https://www.pomonapark.com/sites/default/files/js/js_EYWgJDrtQYbMsJAzOdA8bixajQ7Zw8O4fGx9zacTnqw.js

js pomonapark.com collected 2026-10-02 20:51:43 UTC 64,283 bytes, 919 lines download raw bytes

1(function ($) {
2  var Quickfit, QuickfitHelper, defaults, pluginName;
3
4  pluginName = 'quickfit';
5
6  defaults = {
7    min: 8,
8    max: 12,
9    tolerance: 0.02,
10    truncate: false,
11    width: null,
12    sampleNumberOfLetters: 10,
13    sampleFontSize: 12
14  };
15  QuickfitHelper = (function () {
16
17    var sharedInstance = null;
18
19    QuickfitHelper.instance = function (options) {
20      if (!sharedInstance) {
21        sharedInstance = new QuickfitHelper(options);
22      }
23      return sharedInstance;
24    };
25
26    function QuickfitHelper(options) {
27      this.options = options;
28
29      this.item = $('<span id="meassure"></span>');
30      this.item.css({
31        position: 'absolute',
32        left: '-1000px',
33        top: '-1000px',
34        'font-size': "" + this.options.sampleFontSize + "px"
35      });
36      $('body').append(this.item);
37
38      this.meassures = {};
39    }
40
41    QuickfitHelper.prototype.getMeassure = function (letter) {
42      var currentMeassure;
43      currentMeassure = this.meassures[letter];
44      if (!currentMeassure) {
45        currentMeassure = this.setMeassure(letter);
46      }
47      return currentMeassure;
48    };
49
50    QuickfitHelper.prototype.setMeassure = function (letter) {
51      var currentMeassure, index, sampleLetter, text, _ref;
52
53      text = '';
54      sampleLetter = letter === ' ' ? '&nbsp;' : letter;
55
56      for (index = 0, _ref = this.options.sampleNumberOfLetters - 1; 0 <= _ref ? index <= _ref : index >= _ref; 0 <= _ref ? index++ : index--) {
57        text += sampleLetter;
58      }
59
60      this.item.html(text);
61      currentMeassure = this.item.width() / this.options.sampleNumberOfLetters / this.options.sampleFontSize;
62      this.meassures[letter] = currentMeassure;
63
64      return currentMeassure;
65    };
66
67    return QuickfitHelper;
68
69  })();
70
71  Quickfit = (function () {
72
73    function Quickfit(element, options) {
74      this.$element = element;
75      this.options = $.extend({}, defaults, options);
76      this.$element = $(this.$element);
77      this._defaults = defaults;
78      this._name = pluginName;
79      this.quickfitHelper = QuickfitHelper.instance(this.options);
80    }
81
82    Quickfit.prototype.fit = function () {
83      var elementWidth;
84      if (!this.options.width) {
85        elementWidth = this.$element.width();
86        this.options.width = elementWidth - this.options.tolerance * elementWidth;
87      }
88      if (this.text = this.$element.attr('data-quickfit')) {
89        this.previouslyTruncated = true;
90      } else {
91        this.text = this.$element.text();
92      }
93      this.calculateFontSize();
94
95      if (this.options.truncate) this.truncate();
96
97      return {
98        $element: this.$element,
99        size: this.fontSize
100      };
101    };
102
103    Quickfit.prototype.calculateFontSize = function () {
104      var letter, textWidth, i;
105
106      textWidth = 0;
107      for (i = 0; i < this.text.length; ++i) {
108        letter = this.text.charAt(i);
109        textWidth += this.quickfitHelper.getMeassure(letter);
110      }
111
112      this.targetFontSize = parseInt(this.options.width / textWidth);
113      return this.fontSize = Math.max(this.options.min, Math.min(this.options.max, this.targetFontSize));
114    };
115
116    Quickfit.prototype.truncate = function () {
117      var index, lastLetter, letter, textToAdd, textWidth;
118
119      if (this.fontSize > this.targetFontSize) {
120        textToAdd = '';
121        textWidth = 3 * this.quickfitHelper.getMeassure('.') * this.fontSize;
122
123        index = 0;
124        while (textWidth < this.options.width && index < this.text.length) {
125          letter = this.text[index++];
126          if (lastLetter) textToAdd += lastLetter;
127          textWidth += this.fontSize * this.quickfitHelper.getMeassure(letter);
128          lastLetter = letter;
129        }
130
131        if (textToAdd.length + 1 === this.text.length) {
132          textToAdd = this.text;
133        } else {
134          textToAdd += '...';
135        }
136        this.textWasTruncated = true;
137
138        return this.$element.attr('data-quickfit', this.text).html(textToAdd);
139
140      } else {
141        if (this.previouslyTruncated) {
142          return this.$element.html(this.text);
143        }
144      }
145    };
146
147    return Quickfit;
148
149  })();
150
151  return $.fn.quickfit = function (options) {
152    var measurements = [];
153
154    // Separate measurements from repaints
155    // First calculate all measurements...
156    var $elements = this.each(function () {
157      var measurement = new Quickfit(this, options).fit();
158      measurements.push(measurement);
159      return measurement.$element;
160    });
161
162    // ... then apply the measurements.
163    for (var i = 0; i < measurements.length; i++) {
164      var measurement = measurements[i];
165
166      measurement.$element.css({ fontSize: measurement.size + 'px' });
167    }
168
169    return $elements;
170  };
171
172})(jQuery, window);
173;
174/*
175 * jQuery Cycle Plugin (with Transition Definitions)
176 * Examples and documentation at: http://jquery.malsup.com/cycle/
177 * Copyright (c) 2007-2010 M. Alsup
178 * Version: 2.88 (08-JUN-2010)
179 * Dual licensed under the MIT and GPL licenses.
180 * http://jquery.malsup.com/license.html
181 * Requires: jQuery v1.2.6 or later
182 */
183(function($){var ver="2.88";if($.support==undefined){$.support={opacity:!($.browser.msie)};}function debug(s){if($.fn.cycle.debug){log(s);}}function log(){if(window.console&&window.console.log){window.console.log("[cycle] "+Array.prototype.join.call(arguments," "));}}$.fn.cycle=function(options,arg2){var o={s:this.selector,c:this.context};if(this.length===0&&options!="stop"){if(!$.isReady&&o.s){log("DOM not ready, queuing slideshow");$(function(){$(o.s,o.c).cycle(options,arg2);});return this;}log("terminating; zero elements found by selector"+($.isReady?"":" (DOM not ready)"));return this;}return this.each(function(){var opts=handleArguments(this,options,arg2);if(opts===false){return;}opts.updateActivePagerLink=opts.updateActivePagerLink||$.fn.cycle.updateActivePagerLink;if(this.cycleTimeout){clearTimeout(this.cycleTimeout);}this.cycleTimeout=this.cyclePause=0;var $cont=$(this);var $slides=opts.slideExpr?$(opts.slideExpr,this):$cont.children();var els=$slides.get();if(els.length<2){log("terminating; too few slides: "+els.length);return;}var opts2=buildOptions($cont,$slides,els,opts,o);if(opts2===false){return;}var startTime=opts2.continuous?10:getTimeout(els[opts2.currSlide],els[opts2.nextSlide],opts2,!opts2.rev);if(startTime){startTime+=(opts2.delay||0);if(startTime<10){startTime=10;}debug("first timeout: "+startTime);this.cycleTimeout=setTimeout(function(){go(els,opts2,0,(!opts2.rev&&!opts.backwards));},startTime);}});};function handleArguments(cont,options,arg2){if(cont.cycleStop==undefined){cont.cycleStop=0;}if(options===undefined||options===null){options={};}if(options.constructor==String){switch(options){case"destroy":case"stop":var opts=$(cont).data("cycle.opts");if(!opts){return false;}cont.cycleStop++;if(cont.cycleTimeout){clearTimeout(cont.cycleTimeout);}cont.cycleTimeout=0;$(cont).removeData("cycle.opts");if(options=="destroy"){destroy(opts);}return false;case"toggle":cont.cyclePause=(cont.cyclePause===1)?0:1;checkInstantResume(cont.cyclePause,arg2,cont);return false;case"pause":cont.cyclePause=1;return false;case"resume":cont.cyclePause=0;checkInstantResume(false,arg2,cont);return false;case"prev":case"next":var opts=$(cont).data("cycle.opts");if(!opts){log('options not found, "prev/next" ignored');return false;}$.fn.cycle[options](opts);return false;default:options={fx:options};}return options;}else{if(options.constructor==Number){var num=options;options=$(cont).data("cycle.opts");if(!options){log("options not found, can not advance slide");return false;}if(num<0||num>=options.elements.length){log("invalid slide index: "+num);return false;}options.nextSlide=num;if(cont.cycleTimeout){clearTimeout(cont.cycleTimeout);cont.cycleTimeout=0;}if(typeof arg2=="string"){options.oneTimeFx=arg2;}go(options.elements,options,1,num>=options.currSlide);return false;}}return options;function checkInstantResume(isPaused,arg2,cont){if(!isPaused&&arg2===true){var options=$(cont).data("cycle.opts");if(!options){log("options not found, can not resume");return false;}if(cont.cycleTimeout){clearTimeout(cont.cycleTimeout);cont.cycleTimeout=0;}go(options.elements,options,1,(!opts.rev&&!opts.backwards));}}
183}function removeFilter(el,opts){if(!$.support.opacity&&opts.cleartype&&el.style.filter){try{el.style.removeAttribute("filter");}catch(smother){}}}function destroy(opts){if(opts.next){$(opts.next).unbind(opts.prevNextEvent);}if(opts.prev){$(opts.prev).unbind(opts.prevNextEvent);}if(opts.pager||opts.pagerAnchorBuilder){$.each(opts.pagerAnchors||[],function(){this.unbind().remove();});}opts.pagerAnchors=null;if(opts.destroy){opts.destroy(opts);}}function buildOptions($cont,$slides,els,options,o){var opts=$.extend({},$.fn.cycle.defaults,options||{},$.metadata?$cont.metadata():$.meta?$cont.data():{});if(opts.autostop){opts.countdown=opts.autostopCount||els.length;}var cont=$cont[0];$cont.data("cycle.opts",opts);opts.$cont=$cont;opts.stopCount=cont.cycleStop;opts.elements=els;opts.before=opts.before?[opts.before]:[];opts.after=opts.after?[opts.after]:[];opts.after.unshift(function(){opts.busy=0;});if(!$.support.opacity&&opts.cleartype){opts.after.push(function(){removeFilter(this,opts);});}if(opts.continuous){opts.after.push(function(){go(els,opts,0,(!opts.rev&&!opts.backwards));});}saveOriginalOpts(opts);if(!$.support.opacity&&opts.cleartype&&!opts.cleartypeNoBg){clearTypeFix($slides);}if($cont.css("position")=="static"){$cont.css("position","relative");}if(opts.width){$cont.width(opts.width);}if(opts.height&&opts.height!="auto"){$cont.height(opts.height);}if(opts.startingSlide){opts.startingSlide=parseInt(opts.startingSlide);}else{if(opts.backwards){opts.startingSlide=els.length-1;}}if(opts.random){opts.randomMap=[];for(var i=0;i<els.length;i++){opts.randomMap.push(i);}opts.randomMap.sort(function(a,b){return Math.random()-0.5;});opts.randomIndex=1;opts.startingSlide=opts.randomMap[1];}else{if(opts.startingSlide>=els.length){opts.startingSlide=0;}}opts.currSlide=opts.startingSlide||0;var first=opts.startingSlide;$slides.css({position:"absolute",top:0,left:0}).hide().each(function(i){var z;if(opts.backwards){z=first?i<=first?els.length+(i-first):first-i:els.length-i;}else{z=first?i>=first?els.length-(i-first):first-i:els.length-i;}$(this).css("z-index",z);});$(els[first]).css("opacity",1).show();removeFilter(els[first],opts);if(opts.fit&&opts.width){$slides.width(opts.width);}if(opts.fit&&opts.height&&opts.height!="auto"){$slides.height(opts.height);}var reshape=opts.containerResize&&!$cont.innerHeight();if(reshape){var maxw=0,maxh=0;for(var j=0;j<els.length;j++){var $e=$(els[j]),e=$e[0],w=$e.outerWidth(),h=$e.outerHeight();if(!w){w=e.offsetWidth||e.width||$e.attr("width");}if(!h){h=e.offsetHeight||e.height||$e.attr("height");}maxw=w>maxw?w:maxw;maxh=h>maxh?h:maxh;}if(maxw>0&&maxh>0){$cont.css({width:maxw+"px",height:maxh+"px"});}}if(opts.pause){$cont.hover(function(){this.cyclePause++;},function(){this.cyclePause--;});}if(supportMultiTransitions(opts)===false){return false;}var requeue=false;options.requeueAttempts=options.requeueAttempts||0;$slides.each(function(){var $el=$(this);this.cycleH=(opts.fit&&opts.height)?opts.height:($el.height()||this.offsetHeight||this.height||$el.attr("height")||0);this.cycleW=(opts.fit&&opts.width)?opts.width:($el.width()||this.offsetWidth||this.width||$el.attr("width")||0);if($el.is("img")){var loadingIE=($.browser.msie&&this.cycleW==28&&this.cycleH==30&&!this.complete);var loadingFF=($.browser.mozilla&&this.cycleW==34&&this.cycleH==19&&!this.complete);var loadingOp=($.browser.opera&&((this.cycleW==42&&this.cycleH==19)||(this.cycleW==37&&this.cycleH==17))&&!this.complete);var loadingOther=(this.cycleH==0&&this.cycleW==0&&!this.complete);if(loadingIE||loadingFF||loadingOp||loadingOther){if(o.s&&opts.requeueOnImageNotLoaded&&++options.requeueAttempts<100){log(options.requeueAttempts," - img slide not loaded, requeuing slideshow: ",this.src,this.cycleW,this.cycleH);setTimeout(function(){$(o.s,o.c).cycle(options);},opts.requeueTimeout);requeue=true;return false;}else{log("could not determine size of image: "+this.src,this.cycleW,this.cycleH);}}}return true;});if(requeue){return false;}opts.cssBefore=opts.cssBefore||{};opts.animIn=opts.animIn||{};opts.animOut=opts.animOut||{};$slides.not(":eq("+first+")").css(opts.cssBefore);if(opts.cssFirst){$($slides[first]).css(opts.cssFirst);}if(opts.timeout){opts.timeout=parseInt(opts.timeout);if(opts.speed.constructor==String){opts.speed=$.fx.speeds[opts.speed]||parseInt(opts.speed);}if(!opts.sync){opts.speed=opts.speed/2;}var buffer=opts.fx=="shuffle"?500:250;
183while((opts.timeout-opts.speed)<buffer){opts.timeout+=opts.speed;}}if(opts.easing){opts.easeIn=opts.easeOut=opts.easing;}if(!opts.speedIn){opts.speedIn=opts.speed;}if(!opts.speedOut){opts.speedOut=opts.speed;}opts.slideCount=els.length;opts.currSlide=opts.lastSlide=first;if(opts.random){if(++opts.randomIndex==els.length){opts.randomIndex=0;}opts.nextSlide=opts.randomMap[opts.randomIndex];}else{if(opts.backwards){opts.nextSlide=opts.startingSlide==0?(els.length-1):opts.startingSlide-1;}else{opts.nextSlide=opts.startingSlide>=(els.length-1)?0:opts.startingSlide+1;}}if(!opts.multiFx){var init=$.fn.cycle.transitions[opts.fx];if($.isFunction(init)){init($cont,$slides,opts);}else{if(opts.fx!="custom"&&!opts.multiFx){log("unknown transition: "+opts.fx,"; slideshow terminating");return false;}}}var e0=$slides[first];if(opts.before.length){opts.before[0].apply(e0,[e0,e0,opts,true]);}if(opts.after.length>1){opts.after[1].apply(e0,[e0,e0,opts,true]);}if(opts.next){$(opts.next).bind(opts.prevNextEvent,function(){return advance(opts,opts.rev?-1:1);});}if(opts.prev){$(opts.prev).bind(opts.prevNextEvent,function(){return advance(opts,opts.rev?1:-1);});}if(opts.pager||opts.pagerAnchorBuilder){buildPager(els,opts);}exposeAddSlide(opts,els);return opts;}function saveOriginalOpts(opts){opts.original={before:[],after:[]};opts.original.cssBefore=$.extend({},opts.cssBefore);opts.original.cssAfter=$.extend({},opts.cssAfter);opts.original.animIn=$.extend({},opts.animIn);opts.original.animOut=$.extend({},opts.animOut);$.each(opts.before,function(){opts.original.before.push(this);});$.each(opts.after,function(){opts.original.after.push(this);});}function supportMultiTransitions(opts){var i,tx,txs=$.fn.cycle.transitions;if(opts.fx.indexOf(",")>0){opts.multiFx=true;opts.fxs=opts.fx.replace(/\s*/g,"").split(",");for(i=0;i<opts.fxs.length;i++){var fx=opts.fxs[i];tx=txs[fx];if(!tx||!txs.hasOwnProperty(fx)||!$.isFunction(tx)){log("discarding unknown transition: ",fx);opts.fxs.splice(i,1);i--;}}if(!opts.fxs.length){log("No valid transitions named; slideshow terminating.");return false;}}else{if(opts.fx=="all"){opts.multiFx=true;opts.fxs=[];for(p in txs){tx=txs[p];if(txs.hasOwnProperty(p)&&$.isFunction(tx)){opts.fxs.push(p);}}}}if(opts.multiFx&&opts.randomizeEffects){var r1=Math.floor(Math.random()*20)+30;for(i=0;i<r1;i++){var r2=Math.floor(Math.random()*opts.fxs.length);opts.fxs.push(opts.fxs.splice(r2,1)[0]);}debug("randomized fx sequence: ",opts.fxs);}return true;}function exposeAddSlide(opts,els){opts.addSlide=function(newSlide,prepend){var $s=$(newSlide),s=$s[0];if(!opts.autostopCount){opts.countdown++;}els[prepend?"unshift":"push"](s);if(opts.els){opts.els[prepend?"unshift":"push"](s);}opts.slideCount=els.length;$s.css("position","absolute");$s[prepend?"prependTo":"appendTo"](opts.$cont);if(prepend){opts.currSlide++;opts.nextSlide++;}if(!$.support.opacity&&opts.cleartype&&!opts.cleartypeNoBg){clearTypeFix($s);}if(opts.fit&&opts.width){$s.width(opts.width);}if(opts.fit&&opts.height&&opts.height!="auto"){$slides.height(opts.height);}s.cycleH=(opts.fit&&opts.height)?opts.height:$s.height();s.cycleW=(opts.fit&&opts.width)?opts.width:$s.width();$s.css(opts.cssBefore);if(opts.pager||opts.pagerAnchorBuilder){$.fn.cycle.createPagerAnchor(els.length-1,s,$(opts.pager),els,opts);}if($.isFunction(opts.onAddSlide)){opts.onAddSlide($s);}else{$s.hide();}};}$.fn.cycle.resetState=function(opts,fx){fx=fx||opts.fx;opts.before=[];opts.after=[];opts.cssBefore=$.extend({},opts.original.cssBefore);opts.cssAfter=$.extend({},opts.original.cssAfter);opts.animIn=$.extend({},opts.original.animIn);opts.animOut=$.extend({},opts.original.animOut);opts.fxFn=null;$.each(opts.original.before,function(){opts.before.push(this);});$.each(opts.original.after,function(){opts.after.push(this);});var init=$.fn.cycle.transitions[fx];if($.isFunction(init)){init(opts.$cont,$(opts.elements),opts);}};function go(els,opts,manual,fwd){if(manual&&opts.busy&&opts.manualTrump){debug("manualTrump in go(), stopping active transition");$(els).stop(true,true);opts.busy=false;}if(opts.busy){debug("transition active, ignoring new tx request");return;}var p=opts.$cont[0],curr=els[opts.currSlide],next=els[opts.nextSlide];if(p.cycleStop!=opts.stopCount||p.cycleTimeout===0&&!manual){return;}if(!manual&&!p.cyclePause&&!opts.bounce&&((opts.autostop&&(--opts.countdown<=0))||(opts.nowrap&&!opts.random&&opts.nextSlide<opts.currSlide))){if(opts.end){opts.end(opts);}return;}var changed=false;if((manual||!p.cyclePause)&&(opts.nextSlide!=opts.currSlide)){changed=true;var fx=opts.fx;curr.cycleH=curr.cycleH||$(curr).height();curr.cycleW=curr.cycleW||$(curr).width();next.cycleH=next.cycleH||$(next).height();next.cycleW=next.cycleW||$(next).width();if(opts.multiFx){if(opts.lastFx==undefined||++opts.lastFx>=opts.fxs.length){opts.lastFx=0;}fx=opts.fxs[opts.lastFx];opts.currFx=fx;}if(opts.oneTimeFx){fx=opts.oneTimeFx;opts.oneTimeFx=null;}$.fn.cycle.resetState(opts,fx);if(opts.before.length){$.each(opts.before,function(i,o){if(p.cycleStop!=opts.stopCount){return;}o.apply(next,[curr,next,opts,fwd]);});}var after=function(){$.each(opts.after,function(i,o){if(p.cycleStop!=opts.stopCount){return;}o.apply(next,[curr,next,opts,fwd]);});};debug("tx firing; currSlide: "+opts.currSlide+"; nextSlide: "+opts.nextSlide);opts.busy=1;if(opts.fxFn){opts.fxFn(curr,next,opts,after,fwd,manual&&opts.fastOnEvent);}else{if($.isFunction($.fn.cycle[opts.fx])){$.fn.cycle[opts.fx](curr,next,opts,after,fwd,manual&&opts.fastOnEvent);}else{$.fn.cycle.custom(curr,next,opts,after,fwd,manual&&opts.fastOnEvent);}}}if(changed||opts.nextSlide==opts.currSlide){opts.lastSlide=opts.currSlide;if(opts.random){opts.currSlide=opts.nextSlide;if(++opts.randomIndex==els.length){opts.randomIndex=0;}opts.nextSlide=opts.randomMap[opts.randomIndex];if(opts.nextSlide==opts.currSlide){opts.nextSlide=(opts.currSlide==opts.slideCount-1)?0:opts.currSlide+1;}}else{if(opts.backwards){var roll=(opts.nextSlide-1)<0;if(roll&&opts.bounce){opts.backwards=!opts.backwards;opts.nextSlide=1;opts.currSlide=0;}else{opts.nextSlide=roll?(els.length-1):opts.nextSlide-1;opts.currSlide=roll?0:opts.nextSlide+1;}}else{var roll=(opts.nextSlide+1)==els.length;if(roll&&opts.bounce){opts.backwards=!opts.backwards;opts.nextSlide=els.length-2;opts.currSlide=els.length-1;}else{opts.nextSlide=roll?0:opts.nextSlide+1;opts.currSlide=roll?els.length-1:opts.nextSlide-1;}}}}if(changed&&opts.pager){opts.updateActivePagerLink(opts.pager,opts.currSlide,opts.activePagerClass);}var ms=0;if(opts.timeout&&!opts.continuous){ms=getTimeout(els[opts.currSlide],els[opts.nextSlide],opts,fwd);}
183else{if(opts.continuous&&p.cyclePause){ms=10;}}if(ms>0){p.cycleTimeout=setTimeout(function(){go(els,opts,0,(!opts.rev&&!opts.backwards));},ms);}}$.fn.cycle.updateActivePagerLink=function(pager,currSlide,clsName){$(pager).each(function(){$(this).children().removeClass(clsName).eq(currSlide).addClass(clsName);});};function getTimeout(curr,next,opts,fwd){if(opts.timeoutFn){var t=opts.timeoutFn.call(curr,curr,next,opts,fwd);while((t-opts.speed)<250){t+=opts.speed;}debug("calculated timeout: "+t+"; speed: "+opts.speed);if(t!==false){return t;}}return opts.timeout;}$.fn.cycle.next=function(opts){advance(opts,opts.rev?-1:1);};$.fn.cycle.prev=function(opts){advance(opts,opts.rev?1:-1);};function advance(opts,val){var els=opts.elements;var p=opts.$cont[0],timeout=p.cycleTimeout;if(timeout){clearTimeout(timeout);p.cycleTimeout=0;}if(opts.random&&val<0){opts.randomIndex--;if(--opts.randomIndex==-2){opts.randomIndex=els.length-2;}else{if(opts.randomIndex==-1){opts.randomIndex=els.length-1;}}opts.nextSlide=opts.randomMap[opts.randomIndex];}else{if(opts.random){opts.nextSlide=opts.randomMap[opts.randomIndex];}else{opts.nextSlide=opts.currSlide+val;if(opts.nextSlide<0){if(opts.nowrap){return false;}opts.nextSlide=els.length-1;}else{if(opts.nextSlide>=els.length){if(opts.nowrap){return false;}opts.nextSlide=0;}}}}var cb=opts.onPrevNextEvent||opts.prevNextClick;if($.isFunction(cb)){cb(val>0,opts.nextSlide,els[opts.nextSlide]);}go(els,opts,1,val>=0);return false;}function buildPager(els,opts){var $p=$(opts.pager);$.each(els,function(i,o){$.fn.cycle.createPagerAnchor(i,o,$p,els,opts);});opts.updateActivePagerLink(opts.pager,opts.startingSlide,opts.activePagerClass);}$.fn.cycle.createPagerAnchor=function(i,el,$p,els,opts){var a;if($.isFunction(opts.pagerAnchorBuilder)){a=opts.pagerAnchorBuilder(i,el);debug("pagerAnchorBuilder("+i+", el) returned: "+a);}else{a='<a href="#">'+(i+1)+"</a>";}if(!a){return;}var $a=$(a);if($a.parents("body").length===0){var arr=[];if($p.length>1){$p.each(function(){var $clone=$a.clone(true);$(this).append($clone);arr.push($clone[0]);});$a=$(arr);}else{$a.appendTo($p);}}opts.pagerAnchors=opts.pagerAnchors||[];opts.pagerAnchors.push($a);$a.bind(opts.pagerEvent,function(e){e.preventDefault();opts.nextSlide=i;var p=opts.$cont[0],timeout=p.cycleTimeout;if(timeout){clearTimeout(timeout);p.cycleTimeout=0;}var cb=opts.onPagerEvent||opts.pagerClick;if($.isFunction(cb)){cb(opts.nextSlide,els[opts.nextSlide]);}go(els,opts,1,opts.currSlide<i);});if(!/^click/.test(opts.pagerEvent)&&!opts.allowPagerClickBubble){$a.bind("click.cycle",function(){return false;});}if(opts.pauseOnPagerHover){$a.hover(function(){opts.$cont[0].cyclePause++;},function(){opts.$cont[0].cyclePause--;});}};$.fn.cycle.hopsFromLast=function(opts,fwd){var hops,l=opts.lastSlide,c=opts.currSlide;if(fwd){hops=c>l?c-l:opts.slideCount-l;}else{hops=c<l?l-c:l+opts.slideCount-c;}return hops;};function clearTypeFix($slides){debug("applying clearType background-color hack");function hex(s){s=parseInt(s).toString(16);return s.length<2?"0"+s:s;}function getBg(e){for(;e&&e.nodeName.toLowerCase()!="html";e=e.parentNode){var v=$.css(e,"background-color");if(v.indexOf("rgb")>=0){var rgb=v.match(/\d+/g);return"#"+hex(rgb[0])+hex(rgb[1])+hex(rgb[2]);}if(v&&v!="transparent"){return v;}}return"#ffffff";}$slides.each(function(){$(this).css("background-color",getBg(this));});}$.fn.cycle.commonReset=function(curr,next,opts,w,h,rev){$(opts.elements).not(curr).hide();opts.cssBefore.opacity=1;opts.cssBefore.display="block";if(w!==false&&next.cycleW>0){opts.cssBefore.width=next.cycleW;}if(h!==false&&next.cycleH>0){opts.cssBefore.height=next.cycleH;}opts.cssAfter=opts.cssAfter||{};opts.cssAfter.display="none";$(curr).css("zIndex",opts.slideCount+(rev===true?1:0));$(next).css("zIndex",opts.slideCount+(rev===true?0:1));};$.fn.cycle.custom=function(curr,next,opts,cb,fwd,speedOverride){var $l=$(curr),$n=$(next);var speedIn=opts.speedIn,speedOut=opts.speedOut,easeIn=opts.easeIn,easeOut=opts.easeOut;$n.css(opts.cssBefore);if(speedOverride){if(typeof speedOverride=="number"){speedIn=speedOut=speedOverride;}else{speedIn=speedOut=1;}easeIn=easeOut=null;}var fn=function(){$n.animate(opts.animIn,speedIn,easeIn,cb);};$l.animate(opts.animOut,speedOut,easeOut,function(){if(opts.cssAfter){$l.css(opts.cssAfter);}if(!opts.sync){fn();}});if(opts.sync){fn();}};$.fn.cycle.transitions={fade:function($cont,$slides,opts){$slides.not(":eq("+opts.currSlide+")").css("opacity",0);opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts);opts.cssBefore.opacity=0;});opts.animIn={opacity:1};opts.animOut={opacity:0}
183;opts.cssBefore={top:0,left:0};}};$.fn.cycle.ver=function(){return ver;};$.fn.cycle.defaults={fx:"fade",timeout:4000,timeoutFn:null,continuous:0,speed:1000,speedIn:null,speedOut:null,next:null,prev:null,onPrevNextEvent:null,prevNextEvent:"click.cycle",pager:null,onPagerEvent:null,pagerEvent:"click.cycle",allowPagerClickBubble:false,pagerAnchorBuilder:null,before:null,after:null,end:null,easing:null,easeIn:null,easeOut:null,shuffle:null,animIn:null,animOut:null,cssBefore:null,cssAfter:null,fxFn:null,height:"auto",startingSlide:0,sync:1,random:0,fit:0,containerResize:1,pause:0,pauseOnPagerHover:0,autostop:0,autostopCount:0,delay:0,slideExpr:null,cleartype:!$.support.opacity,cleartypeNoBg:false,nowrap:0,fastOnEvent:0,randomizeEffects:1,rev:0,manualTrump:true,requeueOnImageNotLoaded:true,requeueTimeout:250,activePagerClass:"activeSlide",updateActivePagerLink:null,backwards:false};})(jQuery);
184/*
185 * jQuery Cycle Plugin Transition Definitions
186 * This script is a plugin for the jQuery Cycle Plugin
187 * Examples and documentation at: http://malsup.com/jquery/cycle/
188 * Copyright (c) 2007-2010 M. Alsup
189 * Version:	 2.72
190 * Dual licensed under the MIT and GPL licenses:
191 * http://www.opensource.org/licenses/mit-license.php
192 * http://www.gnu.org/licenses/gpl.html
193 */
194(function($){$.fn.cycle.transitions.none=function($cont,$slides,opts){opts.fxFn=function(curr,next,opts,after){$(next).show();$(curr).hide();after();};};$.fn.cycle.transitions.scrollUp=function($cont,$slides,opts){$cont.css("overflow","hidden");opts.before.push($.fn.cycle.commonReset);var h=$cont.height();opts.cssBefore={top:h,left:0};opts.cssFirst={top:0};opts.animIn={top:0};opts.animOut={top:-h};};$.fn.cycle.transitions.scrollDown=function($cont,$slides,opts){$cont.css("overflow","hidden");opts.before.push($.fn.cycle.commonReset);var h=$cont.height();opts.cssFirst={top:0};opts.cssBefore={top:-h,left:0};opts.animIn={top:0};opts.animOut={top:h};};$.fn.cycle.transitions.scrollLeft=function($cont,$slides,opts){$cont.css("overflow","hidden");opts.before.push($.fn.cycle.commonReset);var w=$cont.width();opts.cssFirst={left:0};opts.cssBefore={left:w,top:0};opts.animIn={left:0};opts.animOut={left:0-w};};$.fn.cycle.transitions.scrollRight=function($cont,$slides,opts){$cont.css("overflow","hidden");opts.before.push($.fn.cycle.commonReset);var w=$cont.width();opts.cssFirst={left:0};opts.cssBefore={left:-w,top:0};opts.animIn={left:0};opts.animOut={left:w};};$.fn.cycle.transitions.scrollHorz=function($cont,$slides,opts){$cont.css("overflow","hidden").width();opts.before.push(function(curr,next,opts,fwd){$.fn.cycle.commonReset(curr,next,opts);opts.cssBefore.left=fwd?(next.cycleW-1):(1-next.cycleW);opts.animOut.left=fwd?-curr.cycleW:curr.cycleW;});opts.cssFirst={left:0};opts.cssBefore={top:0};opts.animIn={left:0};opts.animOut={top:0};};$.fn.cycle.transitions.scrollVert=function($cont,$slides,opts){$cont.css("overflow","hidden");opts.before.push(function(curr,next,opts,fwd){$.fn.cycle.commonReset(curr,next,opts);opts.cssBefore.top=fwd?(1-next.cycleH):(next.cycleH-1);opts.animOut.top=fwd?curr.cycleH:-curr.cycleH;});opts.cssFirst={top:0};opts.cssBefore={left:0};opts.animIn={top:0};opts.animOut={left:0};};$.fn.cycle.transitions.slideX=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$(opts.elements).not(curr).hide();$.fn.cycle.commonReset(curr,next,opts,false,true);opts.animIn.width=next.cycleW;});opts.cssBefore={left:0,top:0,width:0};opts.animIn={width:"show"};opts.animOut={width:0};};$.fn.cycle.transitions.slideY=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$(opts.elements).not(curr).hide();$.fn.cycle.commonReset(curr,next,opts,true,false);opts.animIn.height=next.cycleH;});opts.cssBefore={left:0,top:0,height:0};opts.animIn={height:"show"};opts.animOut={height:0};};$.fn.cycle.transitions.shuffle=function($cont,$slides,opts){var i,w=$cont.css("overflow","visible").width();$slides.css({left:0,top:0});opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,true,true);});if(!opts.speedAdjusted){opts.speed=opts.speed/2;opts.speedAdjusted=true;}opts.random=0;opts.shuffle=opts.shuffle||{left:-w,top:15};opts.els=[];for(i=0;i<$slides.length;i++){opts.els.push($slides[i]);}for(i=0;i<opts.currSlide;i++){opts.els.push(opts.els.shift());}opts.fxFn=function(curr,next,opts,cb,fwd){var $el=fwd?$(curr):$(next);$(next).css(opts.cssBefore);var count=opts.slideCount;$el.animate(opts.shuffle,opts.speedIn,opts.easeIn,function(){var hops=$.fn.cycle.hopsFromLast(opts,fwd);for(var k=0;k<hops;k++){fwd?opts.els.push(opts.els.shift()):opts.els.unshift(opts.els.pop());}if(fwd){for(var i=0,len=opts.els.length;i<len;i++){$(opts.els[i]).css("z-index",len-i+count);}}else{var z=$(curr).css("z-index");$el.css("z-index",parseInt(z)+1+count);}$el.animate({left:0,top:0},opts.speedOut,opts.easeOut,function(){$(fwd?this:curr).hide();if(cb){cb();}});});};opts.cssBefore={display:"block",opacity:1,top:0,left:0};};$.fn.cycle.transitions.turnUp=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,false);opts.cssBefore.top=next.cycleH;opts.animIn.height=next.cycleH;});opts.cssFirst={top:0};opts.cssBefore={left:0,height:0};opts.animIn={top:0};opts.animOut={height:0};};$.fn.cycle.transitions.turnDown=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,false);opts.animIn.height=next.cycleH;opts.animOut.top=curr.cycleH;});opts.cssFirst={top:0};opts.cssBefore={left:0,top:0,height:0};opts.animOut={height:0};};$.fn.cycle.transitions.turnLeft=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,false,true);opts.cssBefore.left=next.cycleW;opts.animIn.width=next.cycleW;});opts.cssBefore={top:0,width:0};opts.animIn={left:0};opts.animOut={width:0};};$.fn.cycle.transitions.turnRight=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,false,true);opts.animIn.width=next.cycleW;opts.animOut.left=curr.cycleW;});opts.cssBefore={top:0,left:0,width:0};opts.animIn={left:0};opts.animOut={width:0};};$.fn.cycle.transitions.zoom=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,false,false,true);opts.cssBefore.top=next.cycleH/2;opts.cssBefore.left=next.cycleW/2;opts.animIn={top:0,left:0,width:next.cycleW,height:next.cycleH};opts.animOut={width:0,height:0,top:curr.cycleH/2,left:curr.cycleW/2};});opts.cssFirst={top:0,left:0};opts.cssBefore={width:0,height:0};};$.fn.cycle.transitions.fadeZoom=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,false,false);opts.cssBefore.left=next.cycleW/2;opts.cssBefore.top=next.cycleH/2;opts.animIn={top:0,left:0,width:next.cycleW,height:next.cycleH};});opts.cssBefore={width:0,height:0};opts.animOut={opacity:0}
194;};$.fn.cycle.transitions.blindX=function($cont,$slides,opts){var w=$cont.css("overflow","hidden").width();opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts);opts.animIn.width=next.cycleW;opts.animOut.left=curr.cycleW;});opts.cssBefore={left:w,top:0};opts.animIn={left:0};opts.animOut={left:w};};$.fn.cycle.transitions.blindY=function($cont,$slides,opts){var h=$cont.css("overflow","hidden").height();opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts);opts.animIn.height=next.cycleH;opts.animOut.top=curr.cycleH;});opts.cssBefore={top:h,left:0};opts.animIn={top:0};opts.animOut={top:h};};$.fn.cycle.transitions.blindZ=function($cont,$slides,opts){var h=$cont.css("overflow","hidden").height();var w=$cont.width();opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts);opts.animIn.height=next.cycleH;opts.animOut.top=curr.cycleH;});opts.cssBefore={top:h,left:w};opts.animIn={top:0,left:0};opts.animOut={top:h,left:w};};$.fn.cycle.transitions.growX=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,false,true);opts.cssBefore.left=this.cycleW/2;opts.animIn={left:0,width:this.cycleW};opts.animOut={left:0};});opts.cssBefore={width:0,top:0};};$.fn.cycle.transitions.growY=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,false);opts.cssBefore.top=this.cycleH/2;opts.animIn={top:0,height:this.cycleH};opts.animOut={top:0};});opts.cssBefore={height:0,left:0};};$.fn.cycle.transitions.curtainX=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,false,true,true);opts.cssBefore.left=next.cycleW/2;opts.animIn={left:0,width:this.cycleW};opts.animOut={left:curr.cycleW/2,width:0};});opts.cssBefore={top:0,width:0};};$.fn.cycle.transitions.curtainY=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,false,true);opts.cssBefore.top=next.cycleH/2;opts.animIn={top:0,height:next.cycleH};opts.animOut={top:curr.cycleH/2,height:0};});opts.cssBefore={left:0,height:0};};$.fn.cycle.transitions.cover=function($cont,$slides,opts){var d=opts.direction||"left";var w=$cont.css("overflow","hidden").width();var h=$cont.height();opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts);if(d=="right"){opts.cssBefore.left=-w;}else{if(d=="up"){opts.cssBefore.top=h;}else{if(d=="down"){opts.cssBefore.top=-h;}else{opts.cssBefore.left=w;}}}});opts.animIn={left:0,top:0};opts.animOut={opacity:1};opts.cssBefore={top:0,left:0};};$.fn.cycle.transitions.uncover=function($cont,$slides,opts){var d=opts.direction||"left";var w=$cont.css("overflow","hidden").width();var h=$cont.height();opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,true,true);if(d=="right"){opts.animOut.left=w;}else{if(d=="up"){opts.animOut.top=-h;}else{if(d=="down"){opts.animOut.top=h;}else{opts.animOut.left=-w;}}}});opts.animIn={left:0,top:0};opts.animOut={opacity:1};opts.cssBefore={top:0,left:0};};$.fn.cycle.transitions.toss=function($cont,$slides,opts){var w=$cont.css("overflow","visible").width();var h=$cont.height();opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,true,true);if(!opts.animOut.left&&!opts.animOut.top){opts.animOut={left:w*2,top:-h/2,opacity:0};}else{opts.animOut.opacity=0;}});opts.cssBefore={left:0,top:0};opts.animIn={left:0};};$.fn.cycle.transitions.wipe=function($cont,$slides,opts){var w=$cont.css("overflow","hidden").width();var h=$cont.height();opts.cssBefore=opts.cssBefore||{};var clip;if(opts.clip){if(/l2r/.test(opts.clip)){clip="rect(0px 0px "+h+"px 0px)";}else{if(/r2l/.test(opts.clip)){clip="rect(0px "+w+"px "+h+"px "+w+"px)";}else{if(/t2b/.test(opts.clip)){clip="rect(0px "+w+"px 0px 0px)";}else{if(/b2t/.test(opts.clip)){clip="rect("+h+"px "+w+"px "+h+"px 0px)";}else{if(/zoom/.test(opts.clip)){var top=parseInt(h/2);var left=parseInt(w/2);clip="rect("+top+"px "+left+"px "+top+"px "+left+"px)";}}}}}}opts.cssBefore.clip=opts.cssBefore.clip||clip||"rect(0px 0px 0px 0px)";var d=opts.cssBefore.clip.match(/(\d+)/g);
194var t=parseInt(d[0]),r=parseInt(d[1]),b=parseInt(d[2]),l=parseInt(d[3]);opts.before.push(function(curr,next,opts){if(curr==next){return;}var $curr=$(curr),$next=$(next);$.fn.cycle.commonReset(curr,next,opts,true,true,false);opts.cssAfter.display="block";var step=1,count=parseInt((opts.speedIn/13))-1;(function f(){var tt=t?t-parseInt(step*(t/count)):0;var ll=l?l-parseInt(step*(l/count)):0;var bb=b<h?b+parseInt(step*((h-b)/count||1)):h;var rr=r<w?r+parseInt(step*((w-r)/count||1)):w;$next.css({clip:"rect("+tt+"px "+rr+"px "+bb+"px "+ll+"px)"});(step++<=count)?setTimeout(f,13):$curr.css("display","none");})();});opts.cssBefore={display:"block",opacity:1,top:0,left:0};opts.animIn={left:0};opts.animOut={left:0};};})(jQuery);;
195/**
196 *  @file
197 *  A simple jQuery Cycle Div Slideshow Rotator.
198 */
199
200/**
201 * This will set our initial behavior, by starting up each individual slideshow.
202 */
203(function ($) {
204  Drupal.behaviors.viewsSlideshowCycle = {
205    attach: function (context) {
206      $('.views_slideshow_cycle_main:not(.viewsSlideshowCycle-processed)', context).addClass('viewsSlideshowCycle-processed').each(function() {
207        var fullId = '#' + $(this).attr('id');
208        var settings = Drupal.settings.viewsSlideshowCycle[fullId];
209        settings.targetId = '#' + $(fullId + " :first").attr('id');
210
211        settings.slideshowId = settings.targetId.replace('#views_slideshow_cycle_teaser_section_', '');
212        // Pager after function.
213        var pager_after_fn = function(curr, next, opts) {
214          // Need to do some special handling on first load.
215          var slideNum = opts.currSlide;
216          if (typeof settings.processedAfter == 'undefined' || !settings.processedAfter) {
217            settings.processedAfter = 1;
218            slideNum = (typeof settings.opts.startingSlide == 'undefined') ? 0 : settings.opts.startingSlide;
219          }
220          if (settings.pause_after_slideshow) {
221            opts.counter += 1;
222            if (opts.counter == settings.num_divs + 1) {
223              opts.counter = 1;
224              Drupal.viewsSlideshow.action({ "action": 'pause', "slideshowID": settings.slideshowId, "force": true });
225            }
226          }
227          Drupal.viewsSlideshow.action({ "action": 'transitionEnd', "slideshowID": settings.slideshowId, "slideNum": slideNum });
228        }
229        // Pager before function.
230        var pager_before_fn = function(curr, next, opts) {
231          $(document).trigger('drupal:views_slideshow_cycle:before', {
232            curr: curr, next: next, opts: opts, settings: settings
233          });
234
235          var slideNum = opts.nextSlide;
236
237          // Remember last slide.
238          if (settings.remember_slide) {
239            createCookie(settings.vss_id, slideNum, settings.remember_slide_days);
240          }
241
242          // Make variable height.
243          if (!settings.fixed_height) {
244            //get the height of the current slide
245            var $ht = $(next).height();
246            //set the container's height to that of the current slide
247            $(next).parent().animate({height: $ht});
248          }
249
250          // Need to do some special handling on first load.
251          if (typeof settings.processedBefore == 'undefined' || !settings.processedBefore) {
252            settings.processedBefore = 1;
253            slideNum = (typeof opts.startingSlide == 'undefined') ? 0 : opts.startingSlide;
254          }
255
256          Drupal.viewsSlideshow.action({ "action": 'transitionBegin', "slideshowID": settings.slideshowId, "slideNum": slideNum });
257        }
258        settings.loaded = false;
259
260        settings.opts = {
261          speed:settings.speed,
262          timeout:settings.timeout,
263          delay:settings.delay,
264          sync:settings.sync,
265          random:settings.random,
266          nowrap:settings.nowrap,
267          pause_after_slideshow:settings.pause_after_slideshow,
268          counter:0,
269          after:pager_after_fn,
270          before:pager_before_fn,
271          cleartype:(settings.cleartype)? true : false,
272          cleartypeNoBg:(settings.cleartypenobg)? true : false
273        }
274
275        // Set the starting slide if we are supposed to remember the slide
276        if (settings.remember_slide) {
277          var startSlide = readCookie(settings.vss_id);
278          if (startSlide == null) {
279            startSlide = 0;
280          }
281          settings.opts.startingSlide = parseInt(startSlide);
282        }
283
284        if (settings.effect == 'none') {
285          settings.opts.speed = 1;
286        }
287        else {
288          settings.opts.fx = settings.effect;
289        }
290
291        // Take starting item from fragment.
292        var hash = location.hash;
293        if (hash) {
294          var hash = hash.replace('#', '');
295          var aHash = hash.split(';');
296          var aHashLen = aHash.length;
297
298          // Loop through all the possible starting points.
299          for (var i = 0; i < aHashLen; i++) {
300            // Split the hash into two parts. One part is the slideshow id the
301            // other is the slide number.
302            var initialInfo = aHash[i].split(':');
303            // The id in the hash should match our slideshow.
304            // The slide number chosen shouldn't be larger than the number of
305            // slides we have.
306            if (settings.slideshowId == initialInfo[0] && settings.num_divs >
306 initialInfo[1]) {
307              settings.opts.startingSlide = parseInt(initialInfo[1]);
308            }
309          }
310        }
311
312        // Pause on hover.
313        if (settings.pause) {
314          var mouseIn = function() {
315            Drupal.viewsSlideshow.action({ "action": 'pause', "slideshowID": settings.slideshowId });
316          }
317
318          var mouseOut = function() {
319            Drupal.viewsSlideshow.action({ "action": 'play', "slideshowID": settings.slideshowId });
320          }
321
322          if (jQuery.fn.hoverIntent) {
323            $('#views_slideshow_cycle_teaser_section_' + settings.vss_id).hoverIntent(mouseIn, mouseOut);
324          }
325          else {
326            $('#views_slideshow_cycle_teaser_section_' + settings.vss_id).hover(mouseIn, mouseOut);
327          }
328        }
329
330        // Play on hover.
331        if (settings.play_on_hover) {
332          var mouseIn = function() {
333            Drupal.viewsSlideshow.action({ "action": 'play', "slideshowID": settings.slideshowId, "force": true });
334          }
335
336          var mouseOut = function() {
337            Drupal.viewsSlideshow.action({ "action": 'pause', "slideshowID": settings.slideshowId });
338          }
339
340          if (jQuery.fn.hoverIntent) {
341            $('#views_slideshow_cycle_teaser_section_' + settings.vss_id).hoverIntent(mouseIn, mouseOut);
342          }
343          else {
344            $('#views_slideshow_cycle_teaser_section_' + settings.vss_id).hover(mouseIn, mouseOut);
345          }
346        }
347
348        // Pause on clicking of the slide.
349        if (settings.pause_on_click) {
350          $('#views_slideshow_cycle_teaser_section_' + settings.vss_id).click(function() {
351            Drupal.viewsSlideshow.action({ "action": 'pause', "slideshowID": settings.slideshowId, "force": true });
352          });
353        }
354
355        if (typeof JSON != 'undefined') {
356          var advancedOptions = JSON.parse(settings.advanced_options);
357          for (var option in advancedOptions) {
358            switch(option) {
359
360              // Standard Options
361              case "activePagerClass":
362              case "allowPagerClickBubble":
363              case "autostop":
364              case "autostopCount":
365              case "backwards":
366              case "bounce":
367              case "cleartype":
368              case "cleartypeNoBg":
369              case "containerResize":
370              case "continuous":
371              case "delay":
372              case "easeIn":
373              case "easeOut":
374              case "easing":
375              case "fastOnEvent":
376              case "fit":
377              case "fx":
378              case "manualTrump":
379              case "metaAttr":
380              case "next":
381              case "nowrap":
382              case "pager":
383              case "pagerEvent":
384              case "pause":
385              case "pauseOnPagerHover":
386              case "prev":
387              case "prevNextEvent":
388              case "random":
389              case "randomizeEffects":
390              case "requeueOnImageNotLoaded":
391              case "requeueTimeout":
392              case "rev":
393              case "slideExpr":
394              case "slideResize":
395              case "speed":
396              case "speedIn":
397              case "speedOut":
398              case "startingSlide":
399              case "sync":
400              case "timeout":
401                var optionValue = advancedOptions[option];
402                optionValue = Drupal.viewsSlideshowCycle.advancedOptionCleanup(optionValue);
403                settings.opts[option] = optionValue;
404                break;
405
406              // If width is set we need to disable resizing.
407              case "width":
408                var optionValue = advancedOptions["width"];
409                optionValue = Drupal.viewsSlideshowCycle.advancedOptionCleanup(optionValue);
410                settings.opts["width"] = optionValue;
411                settings.opts["containerResize"] = 0;
412                break;
413
414              // If height is set we need to set fixed_height to true.
415              case "height":
416                var optionValue = advancedOptions["height"];
417                optionValue = Drupal.viewsSlideshowCycle.advancedOptionCleanup(optionValue);
418                settings.opts["height"] = optionValue;
419                settings.fixed_height = 1;
420                break;
421
422              // These process options that look like {top:50, bottom:20}
423              case "animIn":
424              case "animInDelay":
425              case "animOut":
426              case "animOutDelay":
427              case "cssBefore":
428              case "cssAfter":
429              case "shuffle":
430                var cssValue = advancedOptions[option];
431                cssValue = Drupal.viewsSlideshowCycle.advancedOptionCleanup(cssValue);
432                settings.opts[option] = eval('(' + cssValue + ')');
433                break;
434
435              // These options have their own functions.
436              case "after":
437                var afterValue = advancedOptions[option];
438                afterValue = Drupal.viewsSlideshowCycle.advancedOptionCleanup(afterValue);
439                // transition callback (scope set to element that was shown): function(currSlideElement, nextSlideElement, options, forwardFlag)
440                settings.opts[option] = function(currSlideElement, nextSlideElement, options, forwardFlag) {
441                  pager_after_fn(currSlideElement, nextSlideElement, options);
442                  eval(afterValue);
443                }
444                break;
445
446              case "before":
447                var beforeValue = advancedOptions[option];
448                beforeValue = Drupal.viewsSlideshowCycle.advancedOptionCleanup(beforeValue);
449                // transition callback (scope set to element to be shown):     function(currSlideElement, nextSlideElement, options, forwardFlag)
450                settings.opts[option] = function(currSlideElement, nextSlideElement, options, forwardFlag) {
451                  pager_before_fn(currSlideElement, nextSlideElement, options);
452                  eval(beforeValue);
453                }
454                break;
455
456              case "end":
457                var endValue = advancedOptions[option];
458                endValue = Drupal.viewsSlideshowCycle.advancedOptionCleanup(endValue);
459                // callback invoked when the slideshow terminates (use with autostop or nowrap options): function(options)
460                settings.opts[option] = function(options) {
461                  eval(endValue);
462                }
463                break;
464
465              case "fxFn":
466                var fxFnValue = advancedOptions[option];
467                fxFnValue = Drupal.viewsSlideshowCycle.advancedOptionCleanup(fxFnValue);
468                // function used to control the transition: function(currSlideElement, nextSlideElement, options, afterCalback, forwardFlag)
469                settings.opts[option] = function(currSlideElement, nextSlideElement, options, afterCalback, forwardFlag) {
470                  eval(fxFnValue);
471                }
472                break;
473
474              case "onPagerEvent":
475                var onPagerEventValue = advancedOptions[option];
476                onPagerEventValue = Drupal.viewsSlideshowCycle.advancedOptionCleanup(onPagerEventValue);
477                settings.opts[option] = function(zeroBasedSlideIndex, slideElement) {
478                  eval(onPagerEventValue);
479                }
480                break;
481
482              case "onPrevNextEvent":
483                var onPrevNextEventValue = advancedOptions[option];
484                onPrevNextEventValue = Drupal.viewsSlideshowCycle.advancedOptionCleanup(onPrevNextEventValue);
485                settings.opts[option] = function(isNext, zeroBasedSlideIndex, slideElement) {
486                  eval(onPrevNextEventValue);
487                }
488                break;
489
490              case "pagerAnchorBuilder":
491                var pagerAnchorBuilderValue = advancedOptions[option];
492                pagerAnchorBuilderValue = Drupal.viewsSlideshowCycle.advancedOptionCleanup(pagerAnchorBuilderValue);
493                // callback fn for building anchor links:  function(index, DOMelement)
494                settings.opts[option] = function(index, DOMelement) {
495                  var returnVal = '';
496                  eval(pagerAnchorBuilderValue);
497                  return returnVal;
498                }
499                break;
500
501              case "pagerClick":
502                var pagerClickValue = advancedOptions[option];
503                pagerClickValue = Drupal.viewsSlideshowCycle.advancedOptionCleanup(pagerClickValue);
504                // callback fn for pager clicks:    function(zeroBasedSlideIndex, slideElement)
505                settings.opts[option] = function(zeroBasedSlideIndex, slideElement) {
506                  eval(pagerClickValue);
507                }
508                break;
509
510              case "paused":
511                var pausedValue = advancedOptions[option];
512                pausedValue = Drupal.viewsSlideshowCycle.advancedOptionCleanup(pausedValue);
513                // undocumented callback when slideshow is paused:    function(cont, opts, byHover)
514                settings.opts[option] = function(cont, opts, byHover) {
515                  eval(pausedValue);
516                }
517                break;
518
519              case "resumed":
520                var resumedValue = advancedOptions[option];
521                resumedValue = Drupal.viewsSlideshowCycle.advancedOptionCleanup(resumedValue);
522                // undocumented callback when slideshow is resumed:    function(cont, opts, byHover)
523                settings.opts[option] = function(cont, opts, byHover) {
524                  eval(resumedValue);
525                }
526                break;
527
528              case "timeoutFn":
529                var timeoutFnValue = advancedOptions[option];
530                timeoutFnValue = Drupal.viewsSlideshowCycle.advancedOptionCleanup(timeoutFnValue);
531                settings.opts[option] = function(currSlideElement, nextSlideElement, options, forwardFlag) {
532                  // Set a sane return value unless function overrides it.
533                  var returnVal = settings.timeout;
534                  eval(timeoutFnValue);
535                  return returnVal;
536                }
537                break;
538
539              case "updateActivePagerLink":
540                var updateActivePagerLinkValue = advancedOptions[option];
541                updateActivePagerLinkValue = Drupal.viewsSlideshowCycle.advancedOptionCleanup(updateActivePagerLinkValue);
542                // callback fn invoked to update the active pager link (adds/removes activePagerClass style)
543                settings.opts[option] = function(pager, currSlideIndex) {
544                  eval(updateActivePagerLinkValue);
545                }
546                break;
547            }
548          }
549        }
550
551        // If selected wait for the images to be loaded.
552        // otherwise just load the slideshow.
553        if (settings.wait_for_image_load) {
554          // For IE/Chrome/Opera we if there are images then we need to make
555          // sure the images are loaded before starting the slideshow.
556          settings.totalImages = $(settings.targetId + ' img').length;
557          if (settings.totalImages) {
558            settings.loadedImages = 0;
559
560            // Add a load event for each image.
561            $(settings.targetId + ' img').each(function() {
562              var $imageElement = $(this);
563              $imageElement.bind('load', function () {
564                Drupal.viewsSlideshowCycle.imageWait(fullId);
565              });
566
567              // Removing the source and adding it again will fire the load event.
568              var imgSrc = $imageElement.attr('src');
569              $imageElement.attr('src', '');
570              $imageElement.attr('src', imgSrc);
571            });
572
573            // We need to set a timeout so that the slideshow doesn't wait
574            // indefinitely for all images to load.
575            setTimeout("Drupal.viewsSlideshowCycle.load('" + fullId + "')", settings.wait_for_image_load_timeout);
576          }
577          else {
578            Drupal.viewsSlideshowCycle.load(fullId);
579          }
580        }
581        else {
582          Drupal.viewsSlideshowCycle.load(fullId);
583        }
584      });
585    }
586  };
587
588  /**
589   * Views Slideshow swipe support.
590   */
591  Drupal.behaviors.viewsSlideshowSwipe = {
592    attach: function (context) {
593      var isTouch = (('ontouchstart' in window) || (navigator.msMaxTouchPoints > 0));
594      if (isTouch === true && $('.views-slideshow-cycle-main-frame').length) {
595        var $slider = $('.views-slideshow-cycle-main-frame'),
596          opts = {
597            start: {x: 0, y: 0},
598            end: {x: 0, y: 0},
599            hdiff: 0,
600            vdiff: 0,
601            length: 0,
602            angle: null,
603            direction: null,
604          },
605          optsReset = $.extend(true, {}, opts),
606         H_THRESHOLD =  110, // roughly one inch effective resolution on ipad
607         V_THRESHOLD = 50;
608        $slider.data('bw', opts)
609        .bind('touchstart.cycle', function (e) {
610          var touch = e.originalEvent.touches[0] || e.originalEvent.changedTouches[0];
611          if (e.originalEvent.touches.length == 1) {
612            var data = $(this).data('bw');
613            data.start.x = touch.pageX;
614            data.start.y = touch.pageY;
615            $(this).data('bw', data);
616          }
617        })
618        .bind('touchend.cycle', function (e) {
619          var touch = e.originalEvent.touches[0] || e.originalEvent.changedTouches[0];
620          var data = $(this).data('bw');
621          data.end.x = touch.pageX;
622          data.end.y = touch.pageY;
623          $(this).data('bw', data);
624          if (data.start.x != 0 && data.start.y != 0) {
625            data.vdiff = data.start.x - data.end.x;
626            data.hdiff = data.end.y - data.start.y;
627            if (Math.abs(data.vdiff) == data.start.x && Math.abs(data.hdiff) == data.start.y) {
628              data.vdiff = 0;
629              data.hdiff = 0;
630            }
631            var length = Math.round(Math.sqrt(Math.pow(data.vdiff,2) + Math.pow(data.hdiff,2)));
632            var rads = Math.atan2(data.hdiff, data.vdiff);
633            var angle = Math.round(rads*180/Math.PI);
634            if (angle < 0) { angle = 360 - Math.abs(angle); }
635            if (length > H_THRESHOLD && V_THRESHOLD > data.hdiff) {
636              e.preventDefault();
637              if (angle > 135 && angle < 225) {
638                var cyopt = $slider.data('cycle.opts');
639                if (cyopt.currSlide > 0) {
640                  $slider.cycle((cyopt.currSlide - 1), 'scrollRight');
641                }
642                else {
643                   $slider.cycle((cyopt.slideCount - 1), 'scrollRight');
644                }
645              }
646              else if (angle > 315 || angle < 45) {
647                $slider.cycle('next');
648              }
649            }
650          }
651          data = $.extend(true, {}, optsReset);
652        });
653      }
654    }
655  };
656
657  Drupal.viewsSlideshowCycle = Drupal.viewsSlideshowCycle || {};
658
659  // Cleanup the values of advanced options.
660  Drupal.viewsSlideshowCycle.advancedOptionCleanup = function(value) {
661    value = $.trim(value);
662    value = value.replace(/\n/g, '');
663    if (value.match(/^[\d.]+%$/)) {
664      // noop
665    }
666    else if (!isNaN(parseInt(value))) {
667      value = parseInt(value);
668    }
669    else if (value.toLowerCase() == 'true') {
670      value = true;
671    }
672    else if (value.toLowerCase() == 'false') {
673      value = false;
674    }
675
676    return value;
677  }
678
679  // This checks to see if all the images have been loaded.
680  // If they have then it starts the slideshow.
681  Drupal.viewsSlideshowCycle.imageWait = function(fullId) {
682    if (++Drupal.settings.viewsSlideshowCycle[fullId].loadedImages == Drupal.settings.viewsSlideshowCycle[fullId].totalImages) {
683      Drupal.viewsSlideshowCycle.load(fullId);
684    }
685  };
686
687  // Start the slideshow.
688  Drupal.viewsSlideshowCycle.load = function (fullId) {
689    var settings = Drupal.settings.viewsSlideshowCycle[fullId];
690
691    // Make sure the slideshow isn't already loaded.
692    if (!settings.loaded) {
693      $(settings.targetId).cycle(settings.opts);
694      $(settings.targetId).parent().parent().addClass('views-slideshow-cycle-processed');
695      settings.loaded = true;
696
697      // Start Paused
698      if (settings.start_paused) {
699        Drupal.viewsSlideshow.action({ "action": 'pause', "slideshowID": settings.slideshowId, "force": true });
700      }
701
702      // Pause if hidden.
703      if (settings.pause_when_hidden) {
704        var checkPause = function(settings) {
705          // If the slideshow is visible and it is paused then resume.
706          // otherwise if the slideshow is not visible and it is not paused then
707          // pause it.
708          var visible = viewsSlideshowCycleIsVisible(settings.targetId, settings.pause_when_hidden_type, settings.amount_allowed_visible);
709          if (visible) {
710            Drupal.viewsSlideshow.action({ "action": 'play', "slideshowID": settings.slideshowId });
711          }
712          else {
713            Drupal.viewsSlideshow.action({ "action": 'pause', "slideshowID": settings.slideshowId });
714          }
715        }
716
717        // Check when scrolled.
718        $(window).scroll(function() {
719         checkPause(settings);
720        });
721
722        // Check when the window is resized.
723        $(window).resize(function() {
724          checkPause(settings);
725        });
726      }
727    }
728  };
729
730  Drupal.viewsSlideshowCycle.pause = function (options) {
731    //Eat TypeError, cycle doesn't handle pause well if options isn't defined.
732    try{
733      if (options.pause_in_middle && $.fn.pause) {
734        $('#views_slideshow_cycle_teaser_section_' + options.slideshowID).pause();
735      }
736      else {
737        $('#views_slideshow_cycle_teaser_section_' + options.slideshowID).cycle('pause');
738      }
739    }
740    catch(e){
741      if(!e instanceof TypeError){
742        throw e;
743      }
744    }
745  };
746
747  Drupal.viewsSlideshowCycle.play = function (options) {
748    Drupal.settings.viewsSlideshowCycle['#views_slideshow_cycle_main_' + options.slideshowID].paused = false;
749    if (options.pause_in_middle && $.fn.resume) {
750      $('#views_slideshow_cycle_teaser_section_' + options.slideshowID).resume();
751    }
752    else {
753      $('#views_slideshow_cycle_teaser_section_' + options.slideshowID).cycle('resume');
754    }
755  };
756
757  Drupal.viewsSlideshowCycle.previousSlide = function (options) {
758    $('#views_slideshow_cycle_teaser_section_' + options.slideshowID).cycle('prev');
759  };
760
761  Drupal.viewsSlideshowCycle.nextSlide = function (options) {
762    $('#views_slideshow_cycle_teaser_section_' + options.slideshowID).cycle('next');
763  };
764
765  Drupal.viewsSlideshowCycle.goToSlide = function (options) {
766    $('#views_slideshow_cycle_teaser_section_' + options.slideshowID).cycle(options.slideNum);
767  };
768
769  // Verify that the value is a number.
770  function IsNumeric(sText) {
771    var ValidChars = "0123456789";
772    var IsNumber=true;
773    var Char;
774
775    for (var i=0; i < sText.length && IsNumber == true; i++) {
776      Char = sText.charAt(i);
777      if (ValidChars.indexOf(Char) == -1) {
778        IsNumber = false;
779      }
780    }
781    return IsNumber;
782  }
783
784  /**
785   * Cookie Handling Functions
786   */
787  function createCookie(name,value,days) {
788    if (days) {
789      var date = new Date();
790      date.setTime(date.getTime()+(days*24*60*60*1000));
791      var expires = "; expires="+date.toGMTString();
792    }
793    else {
794      var expires = "";
795    }
796    document.cookie = name+"="+value+expires+"; path=/";
797  }
798
799  function readCookie(name) {
800    var nameEQ = name + "=";
801    var ca = document.cookie.split(';');
802    for(var i=0;i < ca.length;i++) {
803      var c = ca[i];
804      while (c.charAt(0)==' ') c = c.substring(1,c.length);
805      if (c.indexOf(nameEQ) == 0) {
806        return c.substring(nameEQ.length,c.length);
807      }
808    }
809    return null;
810  }
811
812  function eraseCookie(name) {
813    createCookie(name,"",-1);
814  }
815
816  /**
817   * Checks to see if the slide is visible enough.
818   * elem = element to check.
819   * type = The way to calculate how much is visible.
820   * amountVisible = amount that should be visible. Either in percent or px. If
821   *                it's not defined then all of the slide must be visible.
822   *
823   * Returns true or false
824   */
825  function viewsSlideshowCycleIsVisible(elem, type, amountVisible) {
826    // Get the top and bottom of the window;
827    var docViewTop = $(window).scrollTop();
828    var docViewBottom = docViewTop + $(window).height();
829    var docViewLeft = $(window).scrollLeft();
830    var docViewRight = docViewLeft + $(window).width();
831
832    // Get the top, bottom, and height of the slide;
833    var elemTop = $(elem).offset().top;
834    var elemHeight = $(elem).height();
835    var elemBottom = elemTop + elemHeight;
836    var elemLeft = $(elem).offset().left;
837    var elemWidth = $(elem).width();
838    var elemRight = elemLeft + elemWidth;
839    var elemArea = elemHeight * elemWidth;
840
841    // Calculate what's hiding in the slide.
842    var missingLeft = 0;
843    var missingRight = 0;
844    var missingTop = 0;
845    var missingBottom = 0;
846
847    // Find out how much of the slide is missing from the left.
848    if (elemLeft < docViewLeft) {
849      missingLeft = docViewLeft - elemLeft;
850    }
851
852    // Find out how much of the slide is missing from the right.
853    if (elemRight > docViewRight) {
854      missingRight = elemRight - docViewRight;
855    }
856
857    // Find out how much of the slide is missing from the top.
858    if (elemTop < docViewTop) {
859      missingTop = docViewTop - elemTop;
860    }
861
862    // Find out how much of the slide is missing from the bottom.
863    if (elemBottom > docViewBottom) {
864      missingBottom = elemBottom - docViewBottom;
865    }
866
867    // If there is no amountVisible defined then check to see if the whole slide
868    // is visible.
869    if (type == 'full') {
870      return ((elemBottom >= docViewTop) && (elemTop <= docViewBottom)
871      && (elemBottom <= docViewBottom) &&  (elemTop >= docViewTop)
872      && (elemLeft >= docViewLeft) && (elemRight <= docViewRight)
873      && (elemLeft <= docViewRight) && (elemRight >= docViewLeft));
874    }
875    else if(type == 'vertical') {
876      var verticalShowing = elemHeight - missingTop - missingBottom;
877
878      // If user specified a percentage then find out if the current shown percent
879      // is larger than the allowed percent.
880      // Otherwise check to see if the amount of px shown is larger than the
881      // allotted amount.
882      if (typeof amountVisible === 'string' && amountVisible.indexOf('%')) {
883        return (((verticalShowing/elemHeight)*100) >= parseInt(amountVisible));
884      }
885      else {
886        return (verticalShowing >= parseInt(amountVisible));
887      }
888    }
889    else if(type == 'horizontal') {
890      var horizontalShowing = elemWidth - missingLeft - missingRight;
891
892      // If user specified a percentage then find out if the current shown percent
893      // is larger than the allowed percent.
894      // Otherwise check to see if the amount of px shown is larger than the
895      // allotted amount.
896      if (typeof amountVisible === 'string' && amountVisible.indexOf('%')) {
897        return (((horizontalShowing/elemWidth)*100) >= parseInt(amountVisible));
898      }
899      else {
900        return (horizontalShowing >= parseInt(amountVisible));
901      }
902    }
903    else if(type == 'area') {
904      var areaShowing = (elemWidth - missingLeft - missingRight) * (elemHeight - missingTop - missingBottom);
905
906      // If user specified a percentage then find out if the current shown percent
907      // is larger than the allowed percent.
908      // Otherwise check to see if the amount of px shown is larger than the
909      // allotted amount.
910      if (typeof amountVisible === 'string' && amountVisible.indexOf('%')) {
911        return (((areaShowing/elemArea)*100) >= parseInt(amountVisible));
912      }
913      else {
914        return (areaShowing >= parseInt(amountVisible));
915      }
916    }
917  }
918})(jQuery);
919;

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.