
/* 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://www.gueripel.com/portal_javascripts/++resource++carousel.js?original=1
(function($){
function PloneCarousel(container,opts){var carousel=this;this.parent_container=$(container);this.container=this.parent_container.find('.carousel-banners');this.banners=this.container.find('.carousel-banner');this.current_index=0;this.max_index=this.banners.length-1;this.animating=false;this.opts=opts;this.container.add(this.banners).height(opts.height).width(opts.width).css({position:'relative',overflow:'hidden'});this.banners.css({position:'absolute'});this.triggerEvent=function(name,extra_args){var args=[this];if(extra_args!=undefined){args=args.concat(extra_args)}
this.parent_container.triggerHandler(name,args)};this.shiftIndex=function(offset,old_index){old_index=(old_index==undefined)?this.current_index:old_index;var new_index=old_index+offset;if(new_index>this.max_index){new_index-=this.banners.length} else if(new_index<0){new_index+=this.banners.length}
return new_index};this.nextBanner=function(){this.animateTo(this.shiftIndex(1))};this.prevBanner=function(){this.animateTo(this.shiftIndex(-1))};this.animateTo=function(index){};this.play=function(){if(carousel.timer){clearInterval(carousel.timer)}
carousel.timer=setInterval(function(){carousel.nextBanner()},carousel.opts.delay);carousel.triggerEvent('play')};this.pause=function(){if(carousel.timer){clearInterval(carousel.timer)}
carousel.triggerEvent('pause')}};
function FadingPloneCarousel(container,opts){PloneCarousel.apply(this,[container,opts]);var carousel=this;this.animateTo=function(index){if(index==this.current_index||this.animating) return;this.triggerEvent('beforeAnimate',[this.current_index,index]);this.animating=true;this.banners.not(':eq('+index.toString()+')').fadeOut(this.opts.speed, function(){carousel.current_index=index});this.banners.eq(index).fadeIn(this.opts.speed, function(){var old_index=carousel.current_index=index;carousel.animating=false;carousel.triggerEvent('afterAnimate',[old_index,index])})}};
function SlidingPloneCarousel(container,opts){PloneCarousel.apply(this,[container,opts]);var carousel=this;this.banners.wrapAll('<div class="carousel-slider" />');this.slider=this.container.find('.carousel-slider').height(this.opts.height).width(this.opts.width * this.banners.length).css({position:'absolute',left:0,top:0});this.nextBanner=function(){this.animateTo(this.shiftIndex(1),'left')};this.prevBanner=function(){this.animateTo(this.shiftIndex(-1),'right')};this.animateTo=function(index,direction){if(index==this.current_index||this.animating) return;this.animating=true;this.triggerEvent('beforeAnimate',[this.current_index,index]);direction=(direction==undefined)?'left':direction;var shift=(direction=='left')?-carousel.current_index:carousel.max_index-carousel.current_index;this.banners.each(function(banner_index,banner){var new_index=carousel.shiftIndex(shift,banner_index);$(banner).css('left',(new_index * carousel.opts.width)).show()});var start_left=(direction=='left')?0:-this.opts.width * this.max_index;this.slider.css('left',start_left);var index_offset=this.shiftIndex(shift,index);this.slider.animate({left:-this.opts.width * index_offset},this.opts.speed,'swing', function(){var old_index=carousel.current_index=index;carousel.animating=false;carousel.triggerEvent('afterAnimate',[old_index,index])})}};$.fn.ploneCarousel=function(options){var opts=$.extend({},$.fn.ploneCarousel.defaults,options);return this.each(function(){var container=$(this);var carousel=$.fn.ploneCarousel.selectCarousel(container,opts);$.fn.ploneCarousel.initCarousel(carousel);$.fn.ploneCarousel.initPager(carousel);$.fn.ploneCarousel.initEvents(carousel)})};$.fn.ploneCarousel.defaults={speed:500,delay:8000,height:0,width:0,transition:'fade'};$.fn.ploneCarousel.selectCarousel=function(container,opts){if(opts.transition=='fade'){return new FadingPloneCarousel(container,opts)} else{return new SlidingPloneCarousel(container,opts)}};$.fn.ploneCarousel.initCarousel=function(carousel){carousel.play();carousel.parent_container.hover(carousel.pause,carousel.play);carousel.banners.eq(0).addClass('carousel-banner-active')};$.fn.ploneCarousel.initPager=function(carousel){var pager_items=carousel.parent_container.find('.carousel-pager-item');pager_items.filter(':first').addClass('carousel-pager-item-first carousel-pager-item-active');pager_items.filter(':last').addClass('carousel-pager-item-last');pager_items.click(function(){carousel.animateTo(pager_items.index($(this)));return false});carousel.parent_container.find('.carousel-pager-button-prev').click(function(){carousel.prevBanner();return false});carousel.parent_container.find('.carousel-pager-button-next').click(function(){carousel.nextBanner();return false})};$.fn.ploneCarousel.initEvents=function(carousel){var pager_items=carousel.parent_container.find('.carousel-pager-item');carousel.parent_container.bind('beforeAnimate', function(e,carousel,old_index,new_index){carousel.banners.removeClass('carousel-banner-active').eq(new_index).addClass('carousel-banner-active');pager_items.removeClass('carousel-pager-item-active').eq(new_index).addClass('carousel-pager-item-active')})}})(jQuery);

/* - ++resource++jquery.portlettabber.js - */
// http://www.gueripel.com/portal_javascripts/++resource++jquery.portlettabber.js?original=1
jQuery.tabbedportlet=function(options){var ops=jQuery.extend({},jQuery.tabbedportlet.defaults,options);var portlet=jQuery('<'+ops.portletNodeType+'/>').addClass(ops.portletNodeClasses.join(" ")).addClass(ops.portletNodeAdditionalClasses.join(" ")).append('<'+ops.portletHeaderNodeType+'/>').children().addClass(ops.portletHeaderNodeClasses.join(" ")).append('<ul class="portletTabs"></ul>').end();if(ops.id){portlet.attr('id',ops.id)}
var that=this;var showElements=function(jqe){portlet.children(':not(.'+ops.portletHeaderNodeClasses.join('.')+')').remove();portlet.append(jqe)};that.makeTab=function(jqe,options){var tabOps=jQuery.extend({},that.makeTab.defaults,options);jqe=jQuery(jqe).get(0);if(!jqe){return}
jqe=jQuery(jqe);if(!jqe.length){return}
var filters=[];for(var i=0;i<ops.portletDataNodeClasses.length;i++){filters.push(ops.portletDataNodeType+'.'+ops.portletDataNodeClasses[i])}
var elements=jQuery(filters.join(','),jqe).remove();var header_text=jQuery.trim(jQuery(ops.portletHeaderNodeType+'.'+ops.portletHeaderNodeClasses.join('.'),jqe).remove().text());if(tabOps.cutChars&&header_text.length>tabOps.cutChars-1){header_text=header_text.substr(0,tabOps.cutChars)+"&hellip;"}
else if(tabOps.label){header_text=tabOps.label}
var header_element=jQuery('<li class="portletTab"></li>').append('<a href="javascript:;">'+header_text+'</a>');jQuery(".portletTabs",portlet).append(header_element);var header_elements=jQuery('.portletTab',portlet);header_elements.removeClass('firstPortletTab').filter(':first').addClass('firstPortletTab');header_elements.removeClass('lastPortletTab').filter(":last").addClass('lastPortletTab');header_element.data('tabbedElements',elements).click(function(e){var thisJq=jQuery(this);showElements(thisJq.data('tabbedElements'));jQuery('a.selected',portlet).removeClass('selected');jQuery('a',thisJq).addClass('selected');e.preventDefault()});jqe.remove();if(tabOps.select||header_elements.filter(':first').get(0)===header_element.get(0)){header_element.click()}};that.makeTab.defaults={cutChars:0,label:null,select:false};that.getPortlet=function(){return jQuery('.portletTabs li',portlet).length>0?portlet:''};return that};jQuery.tabbedportlet.defaults={portletNodeType:'dl',portletNodeClasses:['portlet'],portletNodeAdditionalClasses:['portletTabGenerated'],portletHeaderNodeType:'dt',portletHeaderNodeClasses:['portletHeader'],portletDataNodeType:'dd',portletDataNodeClasses:['portletItem','portletFooter'],id:null};

/* - ++resource++batch.js - */
// http://www.gueripel.com/portal_javascripts/++resource++batch.js?original=1
jq(document).ready(function(e){var prev_link=jq('.prevlink');var next_link=jq('.nextlink');var nav_links=jq('.navlink');var batch_size=4;batch_size=nav_links.size()>batch_size?batch_size:nav_links.size();var hideNavigation=function(){jq.each(nav_links, function(index,link){jq(link).hide()})};var showPageByIndex=function(index){jq('dd[class*=page]').hide();jq('dd.page-'+(index)).show()};var bind_prev_handler=function(link,index){if(index==0) jq(link).hide();jq(link).unbind();jq(link).click(function(e){if(!(index%batch_size)){hideNavigation();for(i=1;i<=batch_size;i++){jq(nav_links[index-i]).show()}}
nav_link_handler(index-1)})};var bind_next_handler=function(link,index){if(index==nav_links.size()-1) jq(link).hide();jq(link).unbind();jq(link).click(function(e){if(!((index+1)%batch_size)){hideNavigation();for(i=1;i<=batch_size;i++){if(i+index<nav_links.size()){jq(nav_links[i+index]).show()}
if(i==batch_size){jq(nav_links[i+index]).find('.navlinkSeparator').hide()}}}
nav_link_handler(index+1)})};var nav_link_handler=function(index){if(index>0){prev_link.show();bind_prev_handler(prev_link,index)}
else{prev_link.hide()}
if(index<nav_links.size()-1){next_link.show();bind_next_handler(next_link,index)}
else{next_link.hide()}
showPageByIndex(index);for(i=0;i<nav_links.size();i++){if(i==index){jq(nav_links[i]).addClass('selected')}
else{jq(nav_links[i]).removeClass('selected')}}}
var initialize_navigation=function(){prev_link.show();next_link.show();for(i=0;i<batch_size;i++){jq(nav_links[i]).show();if(i==batch_size-1){jq(nav_links[i]).find('.navlinkSeparator').hide()}}
showPageByIndex(0);bind_prev_handler(prev_link,0);bind_next_handler(next_link,0);jq.each(nav_links, function(index,link){jq(link).unbind();jq(link).click(function(e){nav_link_handler(index)})})};initialize_navigation()});

/* - ++resource++batch_size_enable.js - */
// http://www.gueripel.com/portal_javascripts/++resource++batch_size_enable.js?original=1
jq(document).ready(function(e){var allow=jq('input[id$=allow_batching]')
var batch_size=jq('input[id$=batch_size]');var batch_sizeToggle=function(allow,batch_size){if(allow.is(':checked')) batch_size.removeAttr('disabled');else batch_size.attr("disabled",'true')};batch_sizeToggle(allow,batch_size);allow.change(function(){batch_sizeToggle(allow,batch_size)})});

/* - ++resource++imageeditor/editlink.js - */
// http://www.gueripel.com/portal_javascripts/++resource++imageeditor/editlink.js?original=1
(function($){$(document).ready(function(){$('body').append('<div id="image-editor" />');$('div > div.field:first-child > img:first-child').
parent().parent().next().
append('&mdash; <a href="">Edit this image</a>').
click(function(event){event.preventDefault();var field=$(this).parent()[0].id.replace('archetypes-fieldname-','')
var url=window.location.pathname+'/../@@imageeditor.inline?field='+field;$('#image-editor').load(encodeURI(url), function(){$('.ui-dialog-titlebar-close').attr('href',window.location.href);fire('editor_loaded',IMAGE_INFORMATION)})})})})(jQuery);

