
/* Merged Plone Javascript file
 * This file is dynamically assembled from separate parts.
 * Some of these parts have 3rd party licenses or copyright information attached
 * Such information is valid for that section,
 * not for the entire composite file
 * originating files are separated by - filename.js -
 */

/* - ++resource++carousel.js - */
// http://elrama.gob.ni/portal_javascripts/++resource++carousel.js?original=1
(function($){$.fn.jcarousel=function(o){return this.each(function(){new $jc(this,o)})};var defaults={vertical:false,start:1,offset:1,size:null,scroll:3,visible:null,animation:'normal',easing:'swing',auto:0,wrap:null,initCallback:null,reloadCallback:null,itemLoadCallback:null,itemFirstInCallback:null,itemFirstOutCallback:null,itemLastInCallback:null,itemLastOutCallback:null,itemVisibleInCallback:null,itemVisibleOutCallback:null,buttonNextHTML:'<div></div>',buttonPrevHTML:'<div></div>',buttonNextEvent:'click',buttonPrevEvent:'click',buttonNextCallback:null,buttonPrevCallback:null};$.jcarousel=function(e,o){this.options=$.extend({},defaults,o||{});this.locked=false;this.container=null;this.clip=null;this.list=null;this.buttonNext=null;this.buttonPrev=null;this.wh=!this.options.vertical?'width':'height';this.lt=!this.options.vertical?'left':'top';var skin='',split=e.className.split(' ');for(var i=0;i<split.length;i++){if(split[i].indexOf('jcarousel-skin')!=-1){$(e).removeClass(split[i]);var skin=split[i];break}}
if(e.nodeName=='UL'||e.nodeName=='OL'){this.list=$(e);this.container=this.list.parent();if(this.container.hasClass('jcarousel-clip')){if(!this.container.parent().hasClass('jcarousel-container'))
this.container=this.container.wrap('<div></div>');this.container=this.container.parent()} else if(!this.container.hasClass('jcarousel-container'))
this.container=this.list.wrap('<div></div>').parent()} else{this.container=$(e);this.list=$(e).find('>ul,>ol,div>ul,div>ol')}
if(skin!=''&&this.container.parent()[0].className.indexOf('jcarousel-skin')==-1)
this.container.wrap('<div class=" '+skin+'"></div>');this.clip=this.list.parent();if(!this.clip.length||!this.clip.hasClass('jcarousel-clip'))
this.clip=this.list.wrap('<div></div>').parent();this.buttonPrev=$('.jcarousel-prev',this.container);if(this.buttonPrev.size()==0&&this.options.buttonPrevHTML!=null)
this.buttonPrev=this.clip.before(this.options.buttonPrevHTML).prev();this.buttonPrev.addClass(this.className('jcarousel-prev'));this.buttonNext=$('.jcarousel-next',this.container);if(this.buttonNext.size()==0&&this.options.buttonNextHTML!=null)
this.buttonNext=this.clip.before(this.options.buttonNextHTML).prev();this.buttonNext.addClass(this.className('jcarousel-next'));this.clip.addClass(this.className('jcarousel-clip'));this.list.addClass(this.className('jcarousel-list'));this.container.addClass(this.className('jcarousel-container'));var di=this.options.visible!=null?Math.ceil(this.clipping()/this.options.visible):null;var li=this.list.children('li');var self=this;if(li.size()>0){var wh=0,i=this.options.offset;li.each(function(){self.format(this,i++);wh+=self.dimension(this,di)});this.list.css(this.wh,wh+'px');if(!o||o.size===undefined)
this.options.size=li.size()}
this.container.css('display','block');this.buttonNext.css('display','block');this.buttonPrev.css('display','block');this.funcNext=function(){self.next()};this.funcPrev=function(){self.prev()};this.funcResize=function(){self.reload()};if(this.options.initCallback!=null)
this.options.initCallback(this,'init');if($.browser.safari){this.buttons(false,false);$(window).bind('load', function(){self.setup()})} else
this.setup()};var $jc=$.jcarousel;$jc.fn=$jc.prototype={jcarousel:'0.2.3'};$jc.fn.extend=$jc.extend=$.extend;$jc.fn.extend({setup: function(){this.first=null;this.last=null;this.prevFirst=null;this.prevLast=null;this.animating=false;this.timer=null;this.tail=null;this.inTail=false;if(this.locked)
return;this.list.css(this.lt,this.pos(this.options.offset)+'px');var p=this.pos(this.options.start);this.prevFirst=this.prevLast=null;this.animate(p,false);$(window).unbind('resize',this.funcResize).bind('resize',this.funcResize)},reset: function(){this.list.empty();this.list.css(this.lt,'0px');this.list.css(this.wh,'10px');if(this.options.initCallback!=null)
this.options.initCallback(this,'reset');this.setup()},reload: function(){if(this.tail!=null&&this.inTail)
this.list.css(this.lt,$jc.intval(this.list.css(this.lt))+this.tail);this.tail=null;this.inTail=false;if(this.options.reloadCallback!=null)
this.options.reloadCallback(this);if(this.options.visible!=null){var self=this;var di=Math.ceil(this.clipping()/this.options.visible),wh=0,lt=0;$('li',this.list).each(function(i){wh+=self.dimension(this,di);if(i+1<self.first)
lt=wh});this.list.css(this.wh,wh+'px');this.list.css(this.lt,-lt+'px')}
this.scroll(this.first,false)},lock: function(){this.locked=true;this.buttons()},unlock: function(){this.locked=false;this.buttons()},size: function(s){if(s!=undefined){this.options.size=s;if(!this.locked)
this.buttons()}
return this.options.size},has: function(i,i2){if(i2==undefined||!i2)
i2=i;if(this.options.size!==null&&i2>this.options.size)
i2=this.options.size;for(var j=i;j<=i2;j++){var e=this.get(j);if(!e.length||e.hasClass('jcarousel-item-placeholder'))
return false}
return true},get: function(i){return $('.jcarousel-item-'+i,this.list)},add: function(i,s){var e=this.get(i),old=0,add=0;if(e.length==0){var c,e=this.create(i),j=$jc.intval(i);while(c=this.get(--j)){if(j<=0||c.length){j<=0?this.list.prepend(e):c.after(e);break}}} else
old=this.dimension(e);e.removeClass(this.className('jcarousel-item-placeholder'));typeof s=='string'?e.html(s):e.empty().append(s);var di=this.options.visible!=null?Math.ceil(this.clipping()/this.options.visible):null;var wh=this.dimension(e,di)-old;if(i>0&&i<this.first)
this.list.css(this.lt,$jc.intval(this.list.css(this.lt))-wh+'px');this.list.css(this.wh,$jc.intval(this.list.css(this.wh))+wh+'px');return e},remove: function(i){var e=this.get(i);if(!e.length||(i>=this.first&&i<=this.last))
return;var d=this.dimension(e);if(i<this.first)
this.list.css(this.lt,$jc.intval(this.list.css(this.lt))+d+'px');e.remove();this.list.css(this.wh,$jc.intval(this.list.css(this.wh))-d+'px')},next: function(){this.stopAuto();if(this.tail!=null&&!this.inTail)
this.scrollTail(false);else
this.scroll(((this.options.wrap=='both'||this.options.wrap=='last')&&this.options.size!=null&&this.last==this.options.size)?1:this.first+this.options.scroll)},prev: function(){this.stopAuto();if(this.tail!=null&&this.inTail)
this.scrollTail(true);else
this.scroll(((this.options.wrap=='both'||this.options.wrap=='first')&&this.options.size!=null&&this.first==1)?this.options.size:this.first-this.options.scroll)},scrollTail: function(b){if(this.locked||this.animating||!this.tail)
return;var pos=$jc.intval(this.list.css(this.lt));!b?pos-=this.tail:pos+=this.tail;this.inTail=!b;this.prevFirst=this.first;this.prevLast=this.last;this.animate(pos)},scroll: function(i,a){if(this.locked||this.animating)
return;this.animate(this.pos(i),a)},pos: function(i){if(this.locked||this.animating)
return;if(this.options.wrap!='circular')
i=i<1?1:(this.options.size&&i>this.options.size?this.options.size:i);var back=this.first>i;var pos=$jc.intval(this.list.css(this.lt));var f=this.options.wrap!='circular'&&this.first<=1?1:this.first;var c=back?this.get(f):this.get(this.last);var j=back?f:f-1;var e=null,l=0,p=false,d=0;while(back?--j>=i:++j<i){e=this.get(j);p=!e.length;if(e.length==0){e=this.create(j).addClass(this.className('jcarousel-item-placeholder'));c[back?'before':'after'](e)}
c=e;d=this.dimension(e);if(p)
l+=d;if(this.first!=null&&(this.options.wrap=='circular'||(j>=1&&(this.options.size==null||j<=this.options.size))))
pos=back?pos+d:pos-d}
var clipping=this.clipping();var cache=[];var visible=0,j=i,v=0;var c=this.get(i-1);while(++visible){e=this.get(j);p=!e.length;if(e.length==0){e=this.create(j).addClass(this.className('jcarousel-item-placeholder'));c.length==0?this.list.prepend(e):c[back?'before':'after'](e)}
c=e;var d=this.dimension(e);if(d==0){return 0}
if(this.options.wrap!='circular'&&this.options.size!==null&&j>this.options.size)
cache.push(e);else if(p)
l+=d;v+=d;if(v>=clipping)
break;j++}
for(var x=0;x<cache.length;x++)
cache[x].remove();if(l>0){this.list.css(this.wh,this.dimension(this.list)+l+'px');if(back){pos-=l;this.list.css(this.lt,$jc.intval(this.list.css(this.lt))-l+'px')}}
var last=i+visible-1;if(this.options.wrap!='circular'&&this.options.size&&last>this.options.size)
last=this.options.size;if(j>last){visible=0,j=last,v=0;while(++visible){var e=this.get(j--);if(!e.length)
break;v+=this.dimension(e);if(v>=clipping)
break}}
var first=last-visible+1;if(this.options.wrap!='circular'&&first<1)
first=1;if(this.inTail&&back){pos+=this.tail;this.inTail=false}
this.tail=null;if(this.options.wrap!='circular'&&last==this.options.size&&(last-visible+1)>=1){var m=$jc.margin(this.get(last),!this.options.vertical?'marginRight':'marginBottom');if((v-m)>clipping)
this.tail=v-clipping-m}
while(i-->first)
pos+=this.dimension(this.get(i));this.prevFirst=this.first;this.prevLast=this.last;this.first=first;this.last=last;return pos},animate: function(p,a){if(this.locked||this.animating)
return;this.animating=true;var self=this;var scrolled=function(){self.animating=false;if(p==0)
self.list.css(self.lt,0);if(self.options.wrap=='both'||self.options.wrap=='last'||self.options.size==null||self.last<self.options.size)
self.startAuto();self.buttons();self.notify('onAfterAnimation')};this.notify('onBeforeAnimation');if(!this.options.animation||a==false){this.list.css(this.lt,p+'px');scrolled()} else{var o=!this.options.vertical?{'left':p}:{'top':p};this.list.animate(o,this.options.animation,this.options.easing,scrolled)}},startAuto: function(s){if(s!=undefined)
this.options.auto=s;if(this.options.auto==0)
return this.stopAuto();if(this.timer!=null)
return;var self=this;this.timer=setTimeout(function(){self.next()},this.options.auto * 1000)},stopAuto: function(){if(this.timer==null)
return;clearTimeout(this.timer);this.timer=null},buttons: function(n,p){if(n==undefined||n==null){var n=!this.locked&&this.options.size!==0&&((this.options.wrap&&this.options.wrap!='first')||this.options.size==null||this.last<this.options.size);if(!this.locked&&(!this.options.wrap||this.options.wrap=='first')&&this.options.size!=null&&this.last>=this.options.size)
n=this.tail!=null&&!this.inTail}
if(p==undefined||p==null){var p=!this.locked&&this.options.size!==0&&((this.options.wrap&&this.options.wrap!='last')||this.first>1);if(!this.locked&&(!this.options.wrap||this.options.wrap=='last')&&this.options.size!=null&&this.first==1)
p=this.tail!=null&&this.inTail}
var self=this;this.buttonNext[n?'bind':'unbind'](this.options.buttonNextEvent,this.funcNext)[n?'removeClass':'addClass'](this.className('jcarousel-next-disabled')).attr('disabled',n?false:true);this.buttonPrev[p?'bind':'unbind'](this.options.buttonPrevEvent,this.funcPrev)[p?'removeClass':'addClass'](this.className('jcarousel-prev-disabled')).attr('disabled',p?false:true);if(this.buttonNext.length>0&&(this.buttonNext[0].jcarouselstate==undefined||this.buttonNext[0].jcarouselstate!=n)&&this.options.buttonNextCallback!=null){this.buttonNext.each(function(){self.options.buttonNextCallback(self,this,n)});this.buttonNext[0].jcarouselstate=n}
if(this.buttonPrev.length>0&&(this.buttonPrev[0].jcarouselstate==undefined||this.buttonPrev[0].jcarouselstate!=p)&&this.options.buttonPrevCallback!=null){this.buttonPrev.each(function(){self.options.buttonPrevCallback(self,this,p)});this.buttonPrev[0].jcarouselstate=p}},notify: function(evt){var state=this.prevFirst==null?'init':(this.prevFirst<this.first?'next':'prev');this.callback('itemLoadCallback',evt,state);if(this.prevFirst!==this.first){this.callback('itemFirstInCallback',evt,state,this.first);this.callback('itemFirstOutCallback',evt,state,this.prevFirst)}
if(this.prevLast!==this.last){this.callback('itemLastInCallback',evt,state,this.last);this.callback('itemLastOutCallback',evt,state,this.prevLast)}
this.callback('itemVisibleInCallback',evt,state,this.first,this.last,this.prevFirst,this.prevLast);this.callback('itemVisibleOutCallback',evt,state,this.prevFirst,this.prevLast,this.first,this.last)},callback: function(cb,evt,state,i1,i2,i3,i4){if(this.options[cb]==undefined||(typeof this.options[cb]!='object'&&evt!='onAfterAnimation'))
return;var callback=typeof this.options[cb]=='object'?this.options[cb][evt]:this.options[cb];if(!$.isFunction(callback))
return;var self=this;if(i1===undefined)
callback(self,state,evt);else if(i2===undefined)
this.get(i1).each(function(){callback(self,this,i1,state,evt)});else{for(var i=i1;i<=i2;i++)
if(i!==null&&!(i>=i3&&i<=i4))
this.get(i).each(function(){callback(self,this,i,state,evt)})}},create: function(i){return this.format('<li></li>',i)},format: function(e,i){var $e=$(e).addClass(this.className('jcarousel-item')).addClass(this.className('jcarousel-item-'+i));$e.attr('jcarouselindex',i);return $e},className: function(c){return c+' '+c+(!this.options.vertical?'-horizontal':'-vertical')},dimension: function(e,d){var el=e.jquery!=undefined?e[0]:e;var old=!this.options.vertical?el.offsetWidth+$jc.margin(el,'marginLeft')+$jc.margin(el,'marginRight'):el.offsetHeight+$jc.margin(el,'marginTop')+$jc.margin(el,'marginBottom');if(d==undefined||old==d)
return old;var w=!this.options.vertical?d-$jc.margin(el,'marginLeft')-$jc.margin(el,'marginRight'):d-$jc.margin(el,'marginTop')-$jc.margin(el,'marginBottom');$(el).css(this.wh,w+'px');return this.dimension(el)},clipping: function(){return!this.options.vertical?this.clip[0].offsetWidth-$jc.intval(this.clip.css('borderLeftWidth'))-$jc.intval(this.clip.css('borderRightWidth')):this.clip[0].offsetHeight-$jc.intval(this.clip.css('borderTopWidth'))-$jc.intval(this.clip.css('borderBottomWidth'))},index: function(i,s){if(s==undefined)
s=this.options.size;return Math.round((((i-1)/ s) - Math.floor((i-1) / s)) * s)+1}});$jc.extend({defaults: function(d){return $.extend(defaults,d||{})},margin: function(e,p){if(!e)
return 0;var el=e.jquery!=undefined?e[0]:e;if(p=='marginRight'&&$.browser.safari){var old={'display':'block','float':'none','width':'auto'},oWidth,oWidth2;$.swap(el,old, function(){oWidth=el.offsetWidth});old['marginRight']=0;$.swap(el,old, function(){oWidth2=el.offsetWidth});return oWidth2-oWidth}
return $jc.intval($.css(el,p))},intval: function(v){v=parseInt(v);return isNaN(v)?0:v}})})(jQuery);

/* - ++resource++jq.timer.js - */
// http://elrama.gob.ni/portal_javascripts/++resource++jq.timer.js?original=1
jQuery.fn.extend({everyTime: function(interval,label,fn,times,belay){return this.each(function(){jQuery.timer.add(this,interval,label,fn,times,belay)})},oneTime: function(interval,label,fn){return this.each(function(){jQuery.timer.add(this,interval,label,fn,1)})},stopTime: function(label,fn){return this.each(function(){jQuery.timer.remove(this,label,fn)})}});jQuery.extend({timer:{guid:1,global:{},regex:/^([0-9]+)\s*(.*s)?$/,powers:{'ms':1,'cs':10,'ds':100,'s':1000,'das':10000,'hs':100000,'ks':1000000},timeParse: function(value){if(value==undefined||value==null)
return null;var result=this.regex.exec(jQuery.trim(value.toString()));if(result[2]){var num=parseInt(result[1],10);var mult=this.powers[result[2]]||1;return num * mult} else{return value}},add: function(element,interval,label,fn,times,belay){var counter=0;if(jQuery.isFunction(label)){if(!times)
times=fn;fn=label;label=interval}
interval=jQuery.timer.timeParse(interval);if(typeof interval!='number'||isNaN(interval)||interval<=0)
return;if(times&&times.constructor!=Number){belay=!!times;times=0}
times=times||0;belay=belay||false;if(!element.$timers)
element.$timers={};if(!element.$timers[label])
element.$timers[label]={};fn.$timerID=fn.$timerID||this.guid++;var handler=function(){if(belay&&this.inProgress)
return;this.inProgress=true;if((++counter>times&&times!==0)||fn.call(element,counter)===false)
jQuery.timer.remove(element,label,fn);this.inProgress=false};handler.$timerID=fn.$timerID;if(!element.$timers[label][fn.$timerID])
element.$timers[label][fn.$timerID]=window.setInterval(handler,interval);if(!this.global[label])
this.global[label]=[];this.global[label].push(element)},remove: function(element,label,fn){var timers=element.$timers,ret;if(timers){if(!label){for(label in timers)
this.remove(element,label,fn)} else if(timers[label]){if(fn){if(fn.$timerID){window.clearInterval(timers[label][fn.$timerID]);delete timers[label][fn.$timerID]}} else{for(var fn in timers[label]){window.clearInterval(timers[label][fn]);delete timers[label][fn]}}
for(ret in timers[label]) break;if(!ret){ret=null;delete timers[label]}}
for(ret in timers) break;if(!ret)
element.$timers=null}}}});if(jQuery.browser.msie)
jQuery(window).one("unload", function(){var global=jQuery.timer.global;for(var label in global){var els=global[label],i=els.length;while(--i)
jQuery.timer.remove(els[i],label)}});

/* - ++resource++true-gallery.js - */
// http://elrama.gob.ni/portal_javascripts/++resource++true-gallery.js?original=1
var getKssAttr=function(element,key){element=jq(element);if(element.size()==0||element[0].className==undefined){return ""}
var classes=element[0].className.split(' ');var startsplit='kssattr-'.length;var endsplit=startsplit+key.length;for(var i=0;i<classes.length;i++){if(classes[i].substring(0,startsplit)=='kssattr-'){if(classes[i].substring(startsplit,endsplit)==key){return classes[i].substring(endsplit+1,classes[i].length)}}}};TrueGallery=function(element,options){var defaults={carouselOptions:{},hideSpeed:0,showSpeed:0,hideType:'fade',showType:'fade',showCarousel:true,timed:true,delay:2000,showInfo:true};jq=jQuery.noConflict();tg=this;tg.selectors={imageContainerSelector:"div#plone-true-gallery div.view div.image",firstImageContainer:"div#plone-true-gallery div.view div.image:first",imageSelector:"div#plone-true-gallery div.view div.image img",placeImage:"div#plone-true-gallery div.view div.place-image img",imagesContainerSelector:'div#plone-true-gallery div.view',selectedImageSelector:"div#plone-true-gallery div.view div.selected img",selectedImageContainerSelector:"div#plone-true-gallery div.view div.selected",descriptionSelector:"div#plone-true-gallery div.info p",titleSelector:"div#plone-true-gallery div.info h2",linkSelector:"div#plone-true-gallery div.info a",carouselSelector:"div#plone-true-gallery ul.carousel",carouselSelectorAfterGeneration:"div#plone-true-gallery div div.jcarousel-container",carouselClipSelector:'div.jcarousel-clip',carouselListSelector:'div.jcarousel-clip ul.carousel',carouselItemSelector:'div.jcarousel-clip ul.carousel li.jcarousel-item',carouselImgSelector:'div.jcarousel-clip ul.carousel li.jcarousel-item img',carouselContainer:'div#plone-true-gallery div div.jcarousel-container',media:{next:'div#plone-true-gallery div.view div#media-guide ul li.next',prev:'div#plone-true-gallery div.view div#media-guide ul li.prev',first:'div#plone-true-gallery div.view div#media-guide ul li.first',last:'div#plone-true-gallery div.view div#media-guide ul li.last',pause:'div#plone-true-gallery div.view div#media-guide ul li.pause',play:'div#plone-true-gallery div.view div#media-guide ul li.play'},loadMoreImagesButtonSelector:'div#plone-true-gallery input#loadMoreImages',infoPaneSelector:'div#plone-true-gallery div.info',galleryViewSelector:'div#plone-true-gallery div.view',mediaGuideSelector:'div#plone-true-gallery div.view div#media-guide',mediaButtonSelector:'div#plone-true-gallery div.view div#media-guide ul li',trueGallery:'div#plone-true-gallery'};tg.preloadImageOffset=5;tg.doneLoading=false;tg.toggling=false;tg.activelyTimed=false;tg.autoLoadingEnabled=true;tg.requestInProgress=false;tg.effects={fade:{hide: function(image,nextImage,cb){jq(tg.selectors.galleryViewSelector).height(nextImage.height());return image.fadeOut(tg.options.hideSpeed,cb)},show: function(image,previousImage,cb){return image.fadeIn(tg.options.showSpeed,cb)}},slide:{hide: function(image,nextImage,cb){jq(tg.selectors.galleryViewSelector).height(nextImage.height());return image.slideUp(tg.options.hideSpeed,cb)},show: function(image,previousImage,cb){return image.slideDown(tg.options.showSpeed,cb)}},show:{hide: function(image,nextImage,cb){jq(tg.selectors.galleryViewSelector).height(nextImage.height());return image.hide(tg.options.hideSpeed,cb)},show: function(image,previousImage,cb){return image.fadeIn(tg.options.showSpeed,cb)}},animate:{hide: function(image,nextImage,cb){jq(tg.selectors.galleryViewSelector).height(nextImage.height());return image.animate({width:'0px',height:'0px',opacity:0.0},tg.options.hideSpeed,cb)},show: function(image,previousImage,cb){var prevWidth=image.width();var prevHeight=image.height();image.width(0);image.height(0);image.show();image.css('opacity',0.0);return image.animate({width:prevWidth+'px',height:prevHeight+'px',opacity:1.0},tg.options.showSpeed,cb)}}};tg.initialize=function(element,o){tg.options=jq.extend({},defaults,o||{});tg.imageContainer=jq(tg.selectors.galleryViewSelector);tg.createCarousel();if(!tg.options.showInfo){jq(tg.selectors.infoPaneSelector).hide()}
tg.setupButtonClickEvents();tg.setupButtonHoverEvents();tg.setupImgHoverEvent();tg.setupImgClickEvent();tg.setupGalleryHoverEvent();tg.selectFirstImage();tg.setupAutomaticLoadingOfImages();tg.setupTimer()};tg.selectFirstImage=function(){var selectedDiv=jq(tg.selectors.firstImageContainer).addClass('selected');tg.setInfo()}
tg.setInfo=function(){var images=jq(tg.selectors.imageContainerSelector);var selectedIndex=1;for(var i=0;i<images.size();i++){var img=jq(images[i]);if(img.hasClass('selected')){selectedIndex=i;containerImage=img;break}}
var containerImage=jq(tg.selectors.selectedImageContainerSelector);var numberOfImages=getKssAttr(jq('div#plone-true-gallery')[0],'numberOfImages');jq(tg.selectors.titleSelector).html(containerImage.find('h2').html()+" ("+(selectedIndex+1)+"/"+numberOfImages+")");jq(tg.selectors.descriptionSelector).html(containerImage.find('p').html());jq(tg.selectors.linkSelector).attr('href',getKssAttr(containerImage[0],'link'))};tg.setupButtonHoverEvents=function(){jq(tg.selectors.mediaButtonSelector).hover(
function(){jq(this).addClass('hoverThumbnail')},
function(){jq(this).removeClass('hoverThumbnail')})};tg.setupButtonClickEvents=function(){jq(tg.selectors.media.first).click(tg.getFirstImage);jq(tg.selectors.media.prev).click(tg.getPrevImage);jq(tg.selectors.media.pause).click(tg.pause);jq(tg.selectors.media.play).click(tg.play);jq(tg.selectors.media.next).click(tg.getNextImage);jq(tg.selectors.media.last).click(tg.getLastImage)};tg.setupAutomaticLoadingOfImages=function(){if(tg.autoLoadingEnabled){jq('div#plone-true-gallery').everyTime('3s','load images', function(){if(!tg.doneLoading){tg.addImages()}else{jq('div#plone-true-gallery').stopTime('load images')}})}}
tg.setupTimer=function(){if(tg.options.timed){jq(tg.selectors.media.play).hide();jq(tg.selectors.media.pause).show();jq(tg.selectors.media.pause).css('display','block');tg.startTimer()}else{jq(tg.selectors.media.play).show();jq(tg.selectors.media.play).css('display','block');jq(tg.selectors.media.pause).hide()}};tg.stopTimer=function(){if(tg.activelyTimed){tg.activelyTimed=false;jq(tg.selectors.media.play).stopTime('next image')}};tg.startTimer=function(){if(!tg.activelyTimed){tg.activelyTimed=true;jq(tg.selectors.media.play).everyTime(tg.options.delay,'next image',tg.getNextImage)}};tg.pause=function(){tg.stopTimer();jq(tg.selectors.media.pause).hide();jq(tg.selectors.media.play).show()};tg.play=function(){tg.startTimer();jq(tg.selectors.media.play).hide();jq(tg.selectors.media.pause).show()};tg.triggerLoadMoreImages=function(){if(tg.jcar.size()<(tg.jcar.last+tg.preloadImageOffset)&&!tg.doneLoading){tg.addImages()}};tg.createCarousel=function(){tg.options.carouselOptions.initCallback=function(carousel,state){tg.jcar=carousel};jq(tg.selectors.carouselSelector).show();jq(tg.selectors.carouselSelector).css('display','block');jq(tg.selectors.carouselSelector).jcarousel(tg.options.carouselOptions);if(!tg.options.showCarousel){jq(this.selectors.carouselContainer).parent().hide()}};tg.getNextImage=function(){var currentImage=jq(tg.selectors.selectedImageContainerSelector);var nextImage=currentImage.next('div.image');if(nextImage.length>0){tg.toggleImage(currentImage,nextImage)}else{tg.toggleImage(currentImage,jq(tg.selectors.imageContainerSelector+':first'))}
tg.triggerLoadMoreImages()};tg.getFirstImage=function(){var currentImage=jq(tg.selectors.selectedImageContainerSelector);tg.toggleImage(currentImage,jq(tg.selectors.imageContainerSelector+':first'))};tg.getPrevImage=function(){var currentImage=jq(tg.selectors.selectedImageContainerSelector);var prevImage=currentImage.prev('div.image');if(prevImage.length>0){tg.toggleImage(currentImage,prevImage)}else{tg.toggleImage(currentImage,jq(tg.selectors.imageContainerSelector+':last'))}};tg.getLastImage=function(){var currentImage=jq(tg.selectors.selectedImageContainerSelector);var prevImage=currentImage.prev('div:last');tg.toggleImage(currentImage,jq(tg.selectors.imageContainerSelector+':last'))};tg.hide=function(image,nextImage,cb){return tg.effects[tg.options.hideType].hide(image,nextImage,cb)};tg.show=function(image,previousImage,cb){return tg.effects[tg.options.showType].show(image,previousImage,cb)};tg.getCarouselPos=function(image){image=typeof(image.length)=="undefined"?image:image[0];var index=parseInt(getKssAttr(image,'index'))+1;return index-Math.round((tg.jcar.last-tg.jcar.first)/2)};tg.setNewCarouselPosition=function(pos){tg.jcar.scroll(pos,true);tg.triggerLoadMoreImages()};tg.setImageContainerHeight=function(){var container=jq(tg.selectors.trueGallery);var height=0;var children=container.children();for(var i=0;i<children.size();i++){height+=jq(children[i]).outerHeight()}
container.height(height)}
tg.toggleImage=function(currentImage,newImage){currentImage=typeof(currentImage.length)!="undefined"?currentImage:jq(currentImage);newImage=typeof(newImage.length)!="undefined"?newImage:jq(newImage);if(newImage[0]!=currentImage[0]&&!tg.toggling){tg.toggling=true;tg.hide(currentImage.find('img'),newImage.find('img'), function(){currentImage.removeClass('selected');tg.show(newImage.find('img'),currentImage.find('img'), function(){newImage.addClass('selected');tg.setNewCarouselPosition(tg.getCarouselPos(newImage));tg.setInfo();tg.setImageContainerHeight()
tg.toggling=false})})}};tg.imgClickEvent=function(){var index=getKssAttr(this,'index');var newImage=jq(tg.selectors.imageContainerSelector)[parseInt(index)];var currentImage=jq(tg.selectors.selectedImageContainerSelector);tg.toggleImage(currentImage,newImage)};tg.imgHoverOn=function(){jq(this).addClass('hoverThumbnail')};tg.imgHoverOut=function(){jq(this).removeClass('hoverThumbnail')};tg.setupImgHoverEvent=function(){return jq(tg.selectors.carouselImgSelector).hover(tg.imgHoverOn,tg.imgHoverOut)};tg.setupImgClickEvent=function(){return jq(tg.selectors.carouselImgSelector).click(tg.imgClickEvent)};tg.addImgEvents=function(images){images.click(tg.imgClickEvent);images.hover(tg.imgHoverOn,tg.imgHoverOut)}
tg.setupGalleryHoverEvent=function(){jq(tg.selectors.galleryViewSelector).hover(
function(){jq(tg.selectors.mediaGuideSelector).fadeIn('normal')},
function(){jq(tg.selectors.mediaGuideSelector).fadeOut('normal')})};tg.add=function(image){var lastImage=jq(tg.selectors.carouselImgSelector+":last")[0];var index=parseInt(getKssAttr(lastImage,'index'))+1;var carouselimg=jq('<img class="kssattr-index-'+index+'" src="'+image.thumb_url+'"  />');tg.jcar.add(index+1,carouselimg);tg.addImgEvents(carouselimg);var description=(image.description==null)?'':image.description;var imagehtml='<div class="image kssattr-link-'+image.link+' kssattr-index-'+index+'">'+'<img src="'+image.image_url+'" />'+'<h2>'+image.title+'</h2>'+'<p>'+description+'</p>'+'</div>';jq(imagehtml).appendTo(jq(tg.selectors.imagesContainerSelector))};tg.addAll=function(images){jq(images).each(function(index,image){if(jq("div.kssattr-link-"+image.link).size()==0){tg.add(image)}});tg.jcar.size(this.jcar.size()+images.length);tg.setInfo()};tg.addImages=function(){var callback=function(data){if(data.doneLoading=="True"){tg.doneLoading=true}
tg.addAll(data.images);jq('div#plone-true-gallery').removeClass('kssattr-imagePage-'+data.page);jq('div#plone-true-gallery').addClass('kssattr-imagePage-'+(parseInt(data.page)+1));tg.requestInProgress=false};if(!tg.requestInProgress){tg.requestInProgress=true;jq.getJSON('loadImagePage',{page:getKssAttr(jq('div#plone-true-gallery'),'imagePage')},callback)}};tg.initialize(element,options)};

