Drupal.locale = { 'pluralFormula': function ($n) { return Number(($n!=1)); }, 'strings': {"An AJAX HTTP error occurred.":"Er is een AJAX HTTP fout opgetreden.","HTTP Result Code: !status":"HTTP-resultaatcode: !status","An AJAX HTTP request terminated abnormally.":"Een AJAX HTTP-aanvraag is onverwacht afgebroken","Debugging information follows.":"Debug informatie volgt.","Path: !uri":"Pad: !uri","StatusText: !statusText":"Statustekst: !statusText","ResponseText: !responseText":"Antwoordtekst: !responseText","ReadyState: !readyState":"ReadyState: !readyState","Show shortcuts":"Snelkoppelingen weergeven","Hide shortcuts":"Verberg snelkoppelingen","Edit":"Bewerken","Content can be only inserted into CKEditor in WYSIWYG mode.":"Inhoud kan alleen in WYSIWYG-modus worden toegevoegd aan CKEditor.","Re-order rows by numerical weight instead of dragging.":"Herschik de rijen op basis van gewicht, in plaats van slepen.","Show row weights":"Toon gewichten","Hide row weights":"Gewicht van rij verbergen","Drag to re-order":"Slepen om de volgorde te wijzigen","Changes made in this table will not be saved until the form is submitted.":"Wijzigingen in deze tabel worden pas opgeslagen wanneer het formulier wordt ingediend.","Please wait...":"Even geduld...","Hide":"Verbergen","Show":"Weergeven","@title dialog":"@title dialoog","Configure":"Instellen","Not in menu":"Niet in een menu","(active tab)":"(actieve tabblad)","Autocomplete popup":"Popup voor automatisch aanvullen","Searching for matches...":"Zoeken naar overeenkomsten...","Hide summary":"Samenvatting verbergen","Edit summary":"Samenvatting bewerken","The selected file %filename cannot be uploaded. Only files with the following extensions are allowed: %extensions.":"Het bestand %filename kan niet ge\u00fcpload worden. Alleen bestanden met de volgende extensies zijn toegestaan: %extensions","No nodes in this queue.":"Geen pagina's in deze rij.","Loading":"Laden","New revision":"Nieuwe revisie","No revision":"Geen revisie","By @name on @date":"Door @name op @date","By @name":"Door @name","Not published":"Niet gepubliceerd","Automatic alias":"Automatische alias","Alias: @alias":"Alias: @alias","No alias":"Geen alias","@number comments per page":"@number reacties per pagina","Select all rows in this table":"Selecteer alle regels van deze tabel","Deselect all rows in this table":"De-selecteer alle regels van deze tabel","This permission is inherited from the authenticated user role.":"Dit toegangsrecht is ge\u00ebrfd van de rol 'geverifieerde gebruiker'.","Remove group":"Groep verwijderen","Not restricted":"Geen beperking","Restricted to certain pages":"Beperkt tot bepaalde pagina's","Not customizable":"Niet aanpasbaar","The changes to these blocks will not be saved until the \u003cem\u003eSave blocks\u003c\/em\u003e button is clicked.":"Wijzigingen aan de blokken worden pas opgeslagen wanneer u de knop \u003cem\u003eBlokken opslaan\u003c\/em\u003e aanklikt.","The block cannot be placed in this region.":"Het blok kan niet worden geplaatst in dit gebied.","Disabled":"Uitgeschakeld","Enabled":"Ingeschakeld","Upload":"Uploaden","Only files with the following extensions are allowed: %files-allowed.":"Uitsluitend bestanden met de volgende extensies zijn toegelaten: %files-allowed.","Requires a title":"Een titel is verplicht","Don't display post information":"Geen berichtinformatie weergeven","Go":"Gaan","unlimited":"ongelimiteerd","Close":"Sluiten","File browsing is disabled in directory %dir.":"Bestanden zoeken is uitgeschakeld in folder %dir.","You can not perform this operation.":"U kunt deze actie niet uitvoeren.","Do you want to refresh the current directory?":"Wilt u de huidige map verversen?","Delete selected files?":"Geselecteerde bestanden verwijderen?","Please select a thumbnail.":"Kies een miniatuur","Please select a file.":"Selecteer a.u.b. een bestand.","Log messages":"Log berichten","%filename is not an image.":"%filename is geen afbeelding.","You must select at least %num files.":"Er dienen tenminste %num bestanden geselecteerd te worden.","You are not allowed to operate on more than %num files.":"U mag aan niet meer dan %num bestanden werken.","Insert file":"Bestand toevoegen","Page: ":"Pagina: ","No redirects":"Geen doorverwijzingen","Show all":"Toon alles"} };;
(function ($) {
  function linktrackAttach(context) {
    var baseUrl = Drupal.settings.ao_ga_linktracking.base_url;
    var basePath = Drupal.settings.basePath;

    $("a:not(.ao-ga-outbound-processed, ." +  Drupal.settings.extlink.extClass + ")").each(function() {    
      link_href = $(this).attr('href');
        if(link_href !== undefined) {
          if(link_href.indexOf(baseUrl,0) !== -1) {
            link_href = link_href.substring(baseUrl.lenght);
          }

          if(link_href.indexOf(basePath,0) !== -1) {
            link_href = link_href.substring(basePath.length);
          }

          if(link_href.indexOf("sites/default/files") === 0) {
            trackEvent("outboundLink");
          }

          $('.' + Drupal.settings.extlink.extClass).each(function() {
           trackEvent("outboundUrl");
          });
       }
       $(this).addClass("ao-ga-outbound-processed");       
   });   
}
    //tracking events by google
    //category(string): unique name to identify the event
   function trackEvent(category) {
     $(this).bind('click', {link: this}, function(event) {
       link = event.data.link;
       link_href = $(link).attr('href');
       _gat._getTrackerByName()._trackEvent(category, link_href);
       if($(link).attr('target') != '_blank') {
         setTimeout('document.location = "' + link_href + '"', 100);
       }
     });
   }

    Drupal.behaviors.linktrack = {
      attach: function(context){
        linktrackAttach(context);
      }
    }
})(jQuery);;
(function($){ 		  
	$.fn.popupWindow = function(instanceSettings){
		
		return this.each(function(){
		
		$(this).click(function(){
		
		$.fn.popupWindow.defaultSettings = {
			centerBrowser:0, // center window over browser window? {1 (YES) or 0 (NO)}. overrides top and left
			centerScreen:0, // center window over entire screen? {1 (YES) or 0 (NO)}. overrides top and left
			height:500, // sets the height in pixels of the window.
			left:0, // left position when the window appears.
			location:0, // determines whether the address bar is displayed {1 (YES) or 0 (NO)}.
			menubar:0, // determines whether the menu bar is displayed {1 (YES) or 0 (NO)}.
			resizable:0, // whether the window can be resized {1 (YES) or 0 (NO)}. Can also be overloaded using resizable.
			scrollbars:0, // determines whether scrollbars appear on the window {1 (YES) or 0 (NO)}.
			status:0, // whether a status line appears at the bottom of the window {1 (YES) or 0 (NO)}.
			width:500, // sets the width in pixels of the window.
			windowName:null, // name of window set from the name attribute of the element that invokes the click
			windowURL:null, // url used for the popup
			top:0, // top position when the window appears.
			toolbar:0 // determines whether a toolbar (includes the forward and back buttons) is displayed {1 (YES) or 0 (NO)}.
		};
		
		settings = $.extend({}, $.fn.popupWindow.defaultSettings, instanceSettings || {});
		
		var windowFeatures =    'height=' + settings.height +
								',width=' + settings.width +
								',toolbar=' + settings.toolbar +
								',scrollbars=' + settings.scrollbars +
								',status=' + settings.status + 
								',resizable=' + settings.resizable +
								',location=' + settings.location +
								',menuBar=' + settings.menubar;

				settings.windowName = this.name || settings.windowName;
				settings.windowURL = this.href || settings.windowURL;
				var centeredY,centeredX;
			
				if(settings.centerBrowser){
						
					if ($.browser.msie) {//hacked together for IE browsers
						centeredY = (window.screenTop - 120) + ((((document.documentElement.clientHeight + 120)/2) - (settings.height/2)));
						centeredX = window.screenLeft + ((((document.body.offsetWidth + 20)/2) - (settings.width/2)));
					}else{
						centeredY = window.screenY + (((window.outerHeight/2) - (settings.height/2)));
						centeredX = window.screenX + (((window.outerWidth/2) - (settings.width/2)));
					}
					window.open(settings.windowURL, settings.windowName, windowFeatures+',left=' + centeredX +',top=' + centeredY).focus();
				}else if(settings.centerScreen){
					centeredY = (screen.height - settings.height)/2;
					centeredX = (screen.width - settings.width)/2;
					window.open(settings.windowURL, settings.windowName, windowFeatures+',left=' + centeredX +',top=' + centeredY).focus();
				}else{
					window.open(settings.windowURL, settings.windowName, windowFeatures+',left=' + settings.left +',top=' + settings.top).focus();	
				}
				return false;
			});
			
		});	
	};
})(jQuery);
;
(function ($) {
  Drupal.aoShare = {};

  Drupal.behaviors.aoShare = {
    attach: function (context, settings) {
      $('.ao-share').popupWindow({
        width:580,
        height:450,
        scrollbars:1,
        centerBrowser:1
      });
    }
  };

})(jQuery);


;
/*
 * Treeview 1.5pre - jQuery plugin to hide and show branches of a tree
 * 
 * http://bassistance.de/jquery-plugins/jquery-plugin-treeview/
 * http://docs.jquery.com/Plugins/Treeview
 *
 * Copyright (c) 2007 Jörn Zaefferer
 *
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 *
 * Revision: $Id: jquery.treeview.js 5759 2008-07-01 07:50:28Z joern.zaefferer $
 *
 */
;(function($) {

	// TODO rewrite as a widget, removing all the extra plugins
	$.extend($.fn, {
		swapClass: function(c1, c2) {
			var c1Elements = this.filter('.' + c1);
			this.filter('.' + c2).removeClass(c2).addClass(c1);
			c1Elements.removeClass(c1).addClass(c2);
			return this;
		},
		replaceClass: function(c1, c2) {
			return this.filter('.' + c1).removeClass(c1).addClass(c2).end();
		},
		hoverClass: function(className) {
			className = className || "hover";
			return this.hover(function() {
				$(this).addClass(className);
			}, function() {
				$(this).removeClass(className);
			});
		},
		heightToggle: function(animated, callback) {
			animated ?
				this.animate({ height: "toggle" }, animated, callback) :
				this.each(function(){
					jQuery(this)[ jQuery(this).is(":hidden") ? "show" : "hide" ]();
					if(callback)
						callback.apply(this, arguments);
				});
		},
		heightHide: function(animated, callback) {
			if (animated) {
				this.animate({ height: "hide" }, animated, callback);
			} else {
				this.hide();
				if (callback)
					this.each(callback);				
			}
		},
		prepareBranches: function(settings) {
			if (!settings.prerendered) {
				// mark last tree items
				this.filter(":last-child:not(ul)").addClass(CLASSES.last);
				// collapse whole tree, or only those marked as closed, anyway except those marked as open
				this.filter((settings.collapsed ? "" : "." + CLASSES.closed) + ":not(." + CLASSES.open + ")").find(">ul").hide();
			}
			// return all items with sublists
			return this.filter(":has(>ul)");
		},
		applyClasses: function(settings, toggler) {
			// TODO use event delegation
			this.filter(":has(>ul):not(:has(>a))").find(">span").unbind("click.treeview").bind("click.treeview", function(event) {
				// don't handle click events on children, eg. checkboxes
				if ( this == event.target )
					toggler.apply($(this).next());
			}).add( $("a", this) ).hoverClass();
			
			if (!settings.prerendered) {
				// handle closed ones first
				this.filter(":has(>ul:hidden)")
						.addClass(CLASSES.expandable)
						.replaceClass(CLASSES.last, CLASSES.lastExpandable);
						
				// handle open ones
				this.not(":has(>ul:hidden)")
						.addClass(CLASSES.collapsable)
						.replaceClass(CLASSES.last, CLASSES.lastCollapsable);
						
	            // create hitarea if not present
				var hitarea = this.find("div." + CLASSES.hitarea);
				if (!hitarea.length)
					hitarea = this.prepend("<div class=\"" + CLASSES.hitarea + "\"/>").find("div." + CLASSES.hitarea);
				hitarea.removeClass().addClass(CLASSES.hitarea).each(function() {
					var classes = "";
					$.each($(this).parent().attr("class").split(" "), function() {
						classes += this + "-hitarea ";
					});
					$(this).addClass( classes );
				})
			}
			
			// apply event to hitarea
			this.find("div." + CLASSES.hitarea).click( toggler );
		},
		treeview: function(settings) {
			
			settings = $.extend({
				cookieId: "treeview"
			}, settings);
			
			if ( settings.toggle ) {
				var callback = settings.toggle;
				settings.toggle = function() {
					return callback.apply($(this).parent()[0], arguments);
				};
			}
		
			// factory for treecontroller
			function treeController(tree, control) {
				// factory for click handlers
				function handler(filter) {
					return function() {
						// reuse toggle event handler, applying the elements to toggle
						// start searching for all hitareas
						toggler.apply( $("div." + CLASSES.hitarea, tree).filter(function() {
							// for plain toggle, no filter is provided, otherwise we need to check the parent element
							return filter ? $(this).parent("." + filter).length : true;
						}) );
						return false;
					};
				}
				// click on first element to collapse tree
				$("a:eq(0)", control).click( handler(CLASSES.collapsable) );
				// click on second to expand tree
				$("a:eq(1)", control).click( handler(CLASSES.expandable) );
				// click on third to toggle tree
				$("a:eq(2)", control).click( handler() ); 
			}
		
			// handle toggle event
			function toggler() {
				$(this)
					.parent()
					// swap classes for hitarea
					.find(">.hitarea")
						.swapClass( CLASSES.collapsableHitarea, CLASSES.expandableHitarea )
						.swapClass( CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea )
					.end()
					// swap classes for parent li
					.swapClass( CLASSES.collapsable, CLASSES.expandable )
					.swapClass( CLASSES.lastCollapsable, CLASSES.lastExpandable )
					// find child lists
					.find( ">ul" )
					// toggle them
					.heightToggle( settings.animated, settings.toggle );
				if ( settings.unique ) {
					$(this).parent()
						.siblings()
						// swap classes for hitarea
						.find(">.hitarea")
							.replaceClass( CLASSES.collapsableHitarea, CLASSES.expandableHitarea )
							.replaceClass( CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea )
						.end()
						.replaceClass( CLASSES.collapsable, CLASSES.expandable )
						.replaceClass( CLASSES.lastCollapsable, CLASSES.lastExpandable )
						.find( ">ul" )
						.heightHide( settings.animated, settings.toggle );
				}
			}
			this.data("toggler", toggler);
			
			function serialize() {
				function binary(arg) {
					return arg ? 1 : 0;
				}
				var data = [];
				branches.each(function(i, e) {
					data[i] = $(e).is(":has(>ul:visible)") ? 1 : 0;
				});
				$.cookie(settings.cookieId, data.join(""), settings.cookieOptions );
			}
			
			function deserialize() {
				var stored = $.cookie(settings.cookieId);
				if ( stored ) {
					var data = stored.split("");
					branches.each(function(i, e) {
						$(e).find(">ul")[ parseInt(data[i]) ? "show" : "hide" ]();
					});
				}
			}
			
			// add treeview class to activate styles
			this.addClass("treeview");
			
			// prepare branches and find all tree items with child lists
			var branches = this.find("li").prepareBranches(settings);
			
			switch(settings.persist) {
			case "cookie":
				var toggleCallback = settings.toggle;
				settings.toggle = function() {
					serialize();
					if (toggleCallback) {
						toggleCallback.apply(this, arguments);
					}
				};
				deserialize();
				break;
			case "location":
				var current = this.find("a").filter(function() {
					return this.href.toLowerCase() == location.href.toLowerCase();
				});
				if ( current.length ) {
					// TODO update the open/closed classes
					var items = current.addClass("selected").parents("ul, li").add( current.next() ).show();
					if (settings.prerendered) {
						// if prerendered is on, replicate the basic class swapping
						items.filter("li")
							.swapClass( CLASSES.collapsable, CLASSES.expandable )
							.swapClass( CLASSES.lastCollapsable, CLASSES.lastExpandable )
							.find(">.hitarea")
								.swapClass( CLASSES.collapsableHitarea, CLASSES.expandableHitarea )
								.swapClass( CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea );
					}
				}
				break;
			}
			
			branches.applyClasses(settings, toggler);
				
			// if control option is set, create the treecontroller and show it
			if ( settings.control ) {
				treeController(this, settings.control);
				$(settings.control).show();
			}
			
			return this;
		}
	});
	
	// classes used by the plugin
	// need to be styled via external stylesheet, see first example
	$.treeview = {};
	var CLASSES = ($.treeview.classes = {
		open: "open",
		closed: "closed",
		expandable: "expandable",
		expandableHitarea: "expandable-hitarea",
		lastExpandableHitarea: "lastExpandable-hitarea",
		collapsable: "collapsable",
		collapsableHitarea: "collapsable-hitarea",
		lastCollapsableHitarea: "lastCollapsable-hitarea",
		lastCollapsable: "lastCollapsable",
		lastExpandable: "lastExpandable",
		last: "last",
		hitarea: "hitarea"
	});
	
})(jQuery);;
(function ($) {

    Drupal.aoTreeview = {};
    /**
     * Attach treeview behavior to all enabled menus upon page load.
     */
    Drupal.behaviors.aoTreeview = {
      attach: function (context, settings) {
        if (!settings || !settings.aoTreeview) {
          return;
        }
        //alert('behavior');
        $(Drupal.settings.aoTreeview.menus.join(','), context).treeview({
                                                                    collapsed: true,
                                                                    animated: "fast",
                                                                    prerendered: false,
                                                                    unique: true,
                                                                    persist: "location"
                                                                });
      }
    };

})(jQuery);
;
(function ($) {
  Drupal.viewsSlideshow = Drupal.viewsSlideshow || {};
  
  Drupal.behaviors.viewsSlideshowControlsText = {
    attach: function (context) {
  
      // Process previous link
      $('.views_slideshow_controls_text_previous:not(.views-slideshow-controls-text-previous-processed)', context).addClass('views-slideshow-controls-text-previous-processed').each(function() {
        var uniqueID = $(this).attr('id').replace('views_slideshow_controls_text_previous_', '');
        $(this).click(function() {
          Drupal.viewsSlideshow.action({ "action": 'previousSlide', "slideshowID": uniqueID });
          return false;
        });
      });
      
      // Process next link
      $('.views_slideshow_controls_text_next:not(.views-slideshow-controls-text-next-processed)', context).addClass('views-slideshow-controls-text-next-processed').each(function() {
        var uniqueID = $(this).attr('id').replace('views_slideshow_controls_text_next_', '');
        $(this).click(function() {
          Drupal.viewsSlideshow.action({ "action": 'nextSlide', "slideshowID": uniqueID });
          return false;
        });
      });
      
      // Process pause link
      $('.views_slideshow_controls_text_pause:not(.views-slideshow-controls-text-pause-processed)', context).addClass('views-slideshow-controls-text-pause-processed').each(function() {
        var uniqueID = $(this).attr('id').replace('views_slideshow_controls_text_pause_', '');
        $(this).click(function() {
          if (Drupal.settings.viewsSlideshow[uniqueID].paused) {
            Drupal.viewsSlideshow.action({ "action": 'play', "slideshowID": uniqueID });
          }
          else {
            Drupal.viewsSlideshow.action({ "action": 'pause', "slideshowID": uniqueID });
          }
          return false;
        });
      });
    }
  };
  
  Drupal.viewsSlideshowControlsText = Drupal.viewsSlideshowControlsText || {};

  /**
   * Implement hook_viewsSlideshowPause for text controls.
   */
  Drupal.viewsSlideshowControlsText.pause = function (options) {
    var pauseText = Drupal.theme.prototype['viewsSlideshowControlsPause'] ? Drupal.theme('viewsSlideshowControlsPause') : '';
    $('#views_slideshow_controls_text_pause_' + options.slideshowID).text(pauseText);
  }
  
  /**
   * Implement hook_viewsSlideshowPlay for text controls.
   */
  Drupal.viewsSlideshowControlsText.play = function (options) {
    var playText = Drupal.theme.prototype['viewsSlideshowControlsPlay'] ? Drupal.theme('viewsSlideshowControlsPlay') : '';
    $('#views_slideshow_controls_text_pause_' + options.slideshowID).text(playText);
  }
  
  // Theme control pause.
  Drupal.theme.prototype.viewsSlideshowControlsPause = function () {
    return Drupal.t('Resume');
  }
  
  // Theme control pause.
  Drupal.theme.prototype.viewsSlideshowControlsPlay = function () {
    return Drupal.t('Pause');
  }
  
  Drupal.behaviors.viewsSlideshowPagerFields = {
    attach: function (context) {
      // Process pause on hover.
      $('.views_slideshow_pager_field:not(.views-slideshow-pager-field-processed)', context).addClass('views-slideshow-pager-field-processed').each(function() {
        // Parse out the location and unique id from the full id.
        var pagerInfo = $(this).attr('id').split('_');
        var location = pagerInfo[2];
        pagerInfo.splice(0, 3);
        var uniqueID = pagerInfo.join('_');
        
        // Add the activate and pause on pager hover event to each pager item.
        if (Drupal.settings.viewsSlideshowPagerFields[uniqueID][location].activatePauseOnHover) {
          $(this).children().each(function(index, pagerItem) {
            $(pagerItem).hover(function() {
              Drupal.viewsSlideshow.action({ "action": 'goToSlide', "slideshowID": uniqueID, "slideNum": index });
              Drupal.viewsSlideshow.action({ "action": 'pause', "slideshowID": uniqueID });
            },
            function() {
              Drupal.viewsSlideshow.action({ "action": 'play', "slideshowID": uniqueID });
            });
          });
        }
        else {
          $(this).children().each(function(index, pagerItem) {
            $(pagerItem).click(function() {
              Drupal.viewsSlideshow.action({ "action": 'goToSlide', "slideshowID": uniqueID, "slideNum": index });
            });
          });
        }
      });
    }
  };
  
  Drupal.viewsSlideshowPagerFields = Drupal.viewsSlideshowPagerFields || {};
  
  /**
   * Implement hook_viewsSlidshowTransitionBegin for pager fields pager.
   */
  Drupal.viewsSlideshowPagerFields.transitionBegin = function (options) {
    // Remove active class from pagers
    $('[id^="views_slideshow_pager_field_item_' + options.slideshowID + '"]').removeClass('active');
    
    // Add active class to active pager.
    $('#views_slideshow_pager_field_item_' + options.slideshowID + '_' + options.slideNum).addClass('active');
  }
  
  Drupal.viewsSlideshowSlideCounter = Drupal.viewsSlideshowSlideCounter || {};
  
  /**
   * Implement hook_viewsSlidshowTransitionBegin for pager fields pager.
   */
  Drupal.viewsSlideshowSlideCounter.transitionBegin = function (options) {
    $('#views_slideshow_slide_counter_' + options.slideshowID + ' .num').text(options.slideNum + 1);
  }
  
  /**
   * This is used as a router to process actions for the slideshow.
   */
  Drupal.viewsSlideshow.action = function (options) {
    // Set default values for our return status.
    var status = {
      'value': true,
      'text': ''
    }

    // If an action isn't specified return false.
    if (typeof options.action == 'undefined' || options.action == '') {
      status.value = false;
      status.text =  Drupal.t('There was no action specified.');
      return error;
    }
    
    // If we are using pause or play switch paused state accordingly.
    if (options.action == 'pause') {
      Drupal.settings.viewsSlideshow[options.slideshowID].paused = 1;
    }
    else if (options.action == 'play') {
      Drupal.settings.viewsSlideshow[options.slideshowID].paused = 0;
    }
    
    // We use a switch statement here mainly just to limit the type of actions
    // that are available.
    switch (options.action) {
      case "goToSlide":
      case "transitionBegin":
      case "transitionEnd":
        // The three methods above require a slide number. Checking if it is
        // defined and it is a number that is an integer.
        if (typeof options.slideNum == 'undefined' || typeof options.slideNum !== 'number' || parseInt(options.slideNum) != (options.slideNum - 0)) {
          status.value = false;
          status.text = Drupal.t('An invalid integer was specified for slideNum.');
        }
      case "pause":
      case "play":
      case "nextSlide":
      case "previousSlide":
        // Grab our list of methods.
        var methods = Drupal.settings.viewsSlideshow[options.slideshowID]['methods'];
        
        // if the calling method specified methods that shouldn't be called then
        // exclude calling them.
        var excludeMethodsObj = {};
        if (typeof options.excludeMethods !== 'undefined') {
          // We need to turn the excludeMethods array into an object so we can use the in
          // function.
          for (var i=0; i < excludeMethods.length; i++) {
            excludeMethodsObj[excludeMethods[i]] = '';
          }
        }
        
        // Call every registered method and don't call excluded ones.
        for (i = 0; i < methods[options.action].length; i++) {
          if (Drupal[methods[options.action][i]] != undefined && typeof Drupal[methods[options.action][i]][options.action] == 'function' && !(methods[options.action][i] in excludeMethodsObj)) {
            Drupal[methods[options.action][i]][options.action](options);
          }
        }
        break;
      
      // If it gets here it's because it's an invalid action. 
      default:
        status.value = false;
        status.text = Drupal.t('An invalid action "!action" was specified.', { "!action": options.action });
    }
    return status;
  }
})(jQuery);
;
/*
 * jQuery Cycle Plugin (with Transition Definitions)
 * Examples and documentation at: http://jquery.malsup.com/cycle/
 * Copyright (c) 2007-2010 M. Alsup
 * Version: 2.99 (12-MAR-2011)
 * Dual licensed under the MIT and GPL licenses.
 * http://jquery.malsup.com/license.html
 * Requires: jQuery v1.3.2 or later
 */
(function($){
  var ver="2.99";
  if($.support==undefined){
    $.support={
      opacity:!($.browser.msie)
      };
    
}
function debug(s){
  $.fn.cycle.debug&&log(s);
}
function log(){
  window.console&&console.log&&console.log("[cycle] "+Array.prototype.join.call(arguments," "));
}
$.expr[":"].paused=function(el){
  return el.cyclePause;
};

$.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.backwards);
    if(startTime){
      startTime+=(opts2.delay||0);
      if(startTime<10){
        startTime=10;
      }
      debug("first timeout: "+startTime);
      this.cycleTimeout=setTimeout(function(){
        go(els,opts2,0,!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,!options.backwards);
  }
}
}
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]:[];
  if(!$.support.opacity&&opts.cleartype){
    opts.after.push(function(){
      removeFilter(this,opts);
    });
  }
  if(opts.continuous){
    opts.after.push(function(){
      go(els,opts,0,!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.cssAfter=opts.cssAfter||{};

opts.cssFirst=opts.cssFirst||{};

opts.animIn=opts.animIn||{};

opts.animOut=opts.animOut||{};

$slides.not(":eq("+first+")").css(opts.cssBefore);
$($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=="none"?0:opts.fx=="shuffle"?500:250;
  while((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){
  opts.after[0].apply(e0,[e0,e0,opts,true]);
}
if(opts.next){
  $(opts.next).bind(opts.prevNextEvent,function(){
    return advance(opts,1);
  });
}
if(opts.prev){
  $(opts.prev).bind(opts.prevNextEvent,function(){
    return advance(opts,0);
  });
}
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"){
      $s.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=0;
  }
  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(){
      opts.busy=0;
      $.each(opts.after,function(i,o){
        if(p.cycleStop!=opts.stopCount){
          return;
        }
        o.apply(next,[curr,next,opts,fwd]);
      });
      check_active_nav_slider();
    };
    
    debug("tx firing("+fx+"); 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);
}else{
  if(opts.continuous&&p.cyclePause){
    ms=10;
  }
}
if(ms>0){
  p.cycleTimeout=setTimeout(function(){
    go(els,opts,0,!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(opts.fx!="none"&&(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,1);
};

$.fn.cycle.prev=function(opts){
  advance(opts,0);
};

function advance(opts,moveForward){
  var val=moveForward?1:-1;
  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,moveForward);
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&&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();
  if(typeof opts.cssBefore.opacity=="undefined"){
    opts.cssBefore.opacity=1;
  }
  opts.cssBefore.display="block";
  if(opts.slideResize&&w!==false&&next.cycleW>0){
    opts.cssBefore.width=next.cycleW;
  }
  if(opts.slideResize&&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,function(){
      cb();
    });
  };
  
  $l.animate(opts.animOut,speedOut,easeOut,function(){
    $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
    };
    
    opts.cssBefore={
      top:0,
      left:0
    };
  
}
};

$.fn.cycle.ver=function(){
  return ver;
};

$.fn.cycle.defaults={
  activePagerClass:"activeSlide",
  after:null,
  allowPagerClickBubble:false,
  animIn:null,
  animOut:null,
  autostop:0,
  autostopCount:0,
  backwards:false,
  before:null,
  cleartype:!$.support.opacity,
  cleartypeNoBg:false,
  containerResize:1,
  continuous:0,
  cssAfter:null,
  cssBefore:null,
  delay:0,
  easeIn:null,
  easeOut:null,
  easing:null,
  end:null,
  fastOnEvent:0,
  fit:0,
  fx:"fade",
  fxFn:null,
  height:"auto",
  manualTrump:true,
  next:null,
  nowrap:0,
  onPagerEvent:null,
  onPrevNextEvent:null,
  pager:null,
  pagerAnchorBuilder:null,
  pagerEvent:"click.cycle",
  pause:0,
  pauseOnPagerHover:0,
  prev:null,
  prevNextEvent:"click.cycle",
  random:0,
  randomizeEffects:1,
  requeueOnImageNotLoaded:true,
  requeueTimeout:250,
  rev:0,
  shuffle:null,
  slideExpr:null,
  slideResize:1,
  speed:1000,
  speedIn:null,
  speedOut:null,
  startingSlide:0,
  sync:1,
  timeout:4000,
  timeoutFn:null,
  updateActivePagerLink:null
};

})(jQuery);
/*
 * jQuery Cycle Plugin Transition Definitions
 * This script is a plugin for the jQuery Cycle Plugin
 * Examples and documentation at: http://malsup.com/jquery/cycle/
 * Copyright (c) 2007-2010 M. Alsup
 * Version:	 2.73
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 */
(function($){
  $.fn.cycle.transitions.none=function($cont,$slides,opts){
    opts.fxFn=function(curr,next,opts,after){
      $(next).show();
      $(curr).hide();
      after();
    };
  
};

$.fn.cycle.transitions.fadeout=function($cont,$slides,opts){
  $slides.not(":eq("+opts.currSlide+")").css({
    display:"block",
    opacity:1
  });
  opts.before.push(function(curr,next,opts,w,h,rev){
    $(curr).css("zIndex",opts.slideCount+(!rev===true?1:0));
    $(next).css("zIndex",opts.slideCount+(!rev===true?0:1));
  });
  opts.animIn.opacity=1;
  opts.animOut.opacity=0;
  opts.cssBefore.opacity=1;
  opts.cssBefore.display="block";
  opts.cssAfter.zIndex=0;
};

$.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;
  opts.cssBefore.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;
  opts.cssBefore.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;
  opts.cssBefore.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;
  opts.cssBefore.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){
    if(opts.rev){
      fwd=!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){
    if(opts.rev){
      fwd=!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;
  opts.cssBefore.top=0;
  opts.cssBefore.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;
  opts.cssBefore.top=0;
  opts.cssBefore.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){
    if(opts.rev){
      fwd=!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();
      }
    });
  });
};

$.extend(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.animOut.width=next.cycleW;
  });
  opts.cssFirst.top=0;
  opts.cssBefore.left=0;
  opts.cssBefore.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;
  opts.cssBefore.top=0;
  opts.cssBefore.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;
  opts.cssBefore.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;
  });
  $.extend(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;
    $.extend(opts.animIn,{
      top:0,
      left:0,
      width:next.cycleW,
      height:next.cycleH
      });
    $.extend(opts.animOut,{
      width:0,
      height:0,
      top:curr.cycleH/2,
      left:curr.cycleW/2
      });
  });
  opts.cssFirst.top=0;
  opts.cssFirst.left=0;
  opts.cssBefore.width=0;
  opts.cssBefore.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;
    $.extend(opts.animIn,{
      top:0,
      left:0,
      width:next.cycleW,
      height:next.cycleH
      });
  });
  opts.cssBefore.width=0;
  opts.cssBefore.height=0;
  opts.animOut.opacity=0;
};

$.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;
  opts.cssBefore.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;
  opts.cssBefore.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;
  opts.cssBefore.left=w;
  opts.animIn.top=0;
  opts.animIn.left=0;
  opts.animOut.top=h;
  opts.animOut.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;
    opts.animIn.width=this.cycleW;
    opts.animOut.left=0;
  });
  opts.cssBefore.top=0;
  opts.cssBefore.width=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;
    opts.animIn.height=this.cycleH;
    opts.animOut.top=0;
  });
  opts.cssBefore.height=0;
  opts.cssBefore.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;
    opts.animIn.width=this.cycleW;
    opts.animOut.left=curr.cycleW/2;
    opts.animOut.width=0;
  });
  opts.cssBefore.top=0;
  opts.cssBefore.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;
    opts.animIn.height=next.cycleH;
    opts.animOut.top=curr.cycleH/2;
    opts.animOut.height=0;
  });
  opts.cssBefore.height=0;
  opts.cssBefore.left=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;
opts.animIn.top=0;
opts.cssBefore.top=0;
opts.cssBefore.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;
opts.animIn.top=0;
opts.cssBefore.top=0;
opts.cssBefore.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){
      $.extend(opts.animOut,{
        left:w*2,
        top:-h/2,
        opacity:0
      });
    }else{
      opts.animOut.opacity=0;
    }
  });
opts.cssBefore.left=0;
opts.cssBefore.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);
var 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");
  })();
});
$.extend(opts.cssBefore,{
  display:"block",
  opacity:1,
  top:0,
  left:0
});
opts.animIn={
  left:0
};

opts.animOut={
  left:0
};

};

})(jQuery);;
/**
 *  @file
 *  A simple jQuery Cycle Div Slideshow Rotator.
 */

/**
 * This will set our initial behavior, by starting up each individual slideshow.
 */
(function ($) {
  Drupal.behaviors.viewsSlideshowCycle = {
    attach: function (context) {
      $('.views_slideshow_cycle_main:not(.viewsSlideshowCycle-processed)', context).addClass('viewsSlideshowCycle-processed').each(function() {
        var fullId = '#' + $(this).attr('id');
        var settings = Drupal.settings.viewsSlideshowCycle[fullId];
        settings.targetId = '#' + $(fullId + " :first").attr('id');
        settings.slideshowId = settings.targetId.replace('#views_slideshow_cycle_teaser_section_', '');
        settings.paused = false;
    
        settings.opts = {
          speed:settings.speed,
          timeout:settings.timeout,
          delay:settings.delay,
          sync:settings.sync,
          random:settings.random,
          nowrap:settings.nowrap,
          after:function(curr, next, opts) {
            // Need to do some special handling on first load.
            var slideNum = opts.currSlide;
            if (typeof settings.processedAfter == 'undefined' || !settings.processedAfter) {
              settings.processedAfter = 1;
              slideNum = (typeof settings.opts.startingSlide == 'undefined') ? 0 : settings.opts.startingSlide;
            }
            Drupal.viewsSlideshow.action({"action": 'transitionEnd', "slideshowID": settings.slideshowId, "slideNum": slideNum});
          },
          before:function(curr, next, opts) {
            // Remember last slide.
            if (settings.remember_slide) {
              createCookie(settings.vss_id, opts.currSlide + 1, settings.remember_slide_days);
            }
    
            // Make variable height.
            if (!settings.fixed_height) {
              //get the height of the current slide
              var $ht = $(this).height();
              //set the container's height to that of the current slide
              $(this).parent().animate({height: $ht});
            }
            
            // Need to do some special handling on first load.
            var slideNum = opts.nextSlide;
            if (typeof settings.processedBefore == 'undefined' || !settings.processedBefore) {
              settings.processedBefore = 1;
              slideNum = (typeof settings.opts.startingSlide == 'undefined') ? 0 : settings.opts.startingSlide;
            }
            
            Drupal.viewsSlideshow.action({"action": 'transitionBegin', "slideshowID": settings.slideshowId, "slideNum": slideNum});
          },
          cleartype:(settings.cleartype)? true : false,
          cleartypeNoBg:(settings.cleartypenobg)? true : false
        }
        
        // Set the starting slide if we are supposed to remember the slide
        if (settings.remember_slide) {
          var startSlide = readCookie(settings.vss_id);
          if (startSlide == null) {
            startSlide = 0;
          }
          settings.opts.startingSlide =  startSlide;
        }
    
        if (settings.effect == 'none') {
          settings.opts.speed = 1;
        }
        else {
          settings.opts.fx = settings.effect;
        }
        
        // Take starting item from fragment.
        var hash = location.hash;
        if (hash) {
          var hash = hash.replace('#', '');
          var aHash = hash.split(';');
          var aHashLen = aHash.length;
          
          // Loop through all the possible starting points.
          for (var i = 0; i < aHashLen; i++) {
            // Split the hash into two parts. One part is the slideshow id the
            // other is the slide number.
            var initialInfo = aHash[i].split(':');
            // The id in the hash should match our slideshow.
            // The slide number chosen shouldn't be larger than the number of
            // slides we have.
            if (settings.slideshowId == initialInfo[0] && settings.num_divs > initialInfo[1]) {
              settings.opts.startingSlide = parseInt(initialInfo[1]);
            }
          }
        }

        // Pause on hover.
        if (settings.pause) {
          $('#views_slideshow_cycle_teaser_section_' + settings.vss_id).hover(function() {
            Drupal.viewsSlideshow.action({"action": 'pause', "slideshowID": settings.slideshowId});
          }, function() {
            if (!settings.paused) {
              Drupal.viewsSlideshow.action({"action": 'play', "slideshowID": settings.slideshowId});
            }
          });
        }
    
        // Pause on clicking of the slide.
        if (settings.pause_on_click) {
          $('#views_slideshow_cycle_teaser_section_' + settings.vss_id).click(function() {
            Drupal.viewsSlideshow.action({"action": 'pause', "slideshowID": settings.slideshowId});
          });
        }
        
        if (typeof JSON != 'undefined') {
          var advancedOptions = JSON.parse(settings.advanced_options);
          for (var option in advancedOptions) {
            advancedOptions[option] = $.trim(advancedOptions[option]);
            advancedOptions[option] = advancedOptions[option].replace(/\n/g, '');
            if (!isNaN(parseInt(advancedOptions[option]))) {
              advancedOptions[option] = parseInt(advancedOptions[option]);
            }
            else if (advancedOptions[option].toLowerCase() == 'true') {
              advancedOptions[option] = true;
            }
            else if (advancedOptions[option].toLowerCase() == 'false') {
              advancedOptions[option] = false;
            }
            
            switch(option) {
              
              // Standard Options
              case "activePagerClass":
              case "allowPagerClickBubble":
              case "autostop":
              case "autostopCount":
              case "backwards":
              case "bounce":
              case "cleartype":
              case "cleartypeNoBg":
              case "containerResize":
              case "continuous":
              case "delay":
              case "easeIn":
              case "easeOut":
              case "easing":
              case "fastOnEvent":
              case "fit":
              case "fx":
              case "height":
              case "manualTrump":
              case "next":
              case "nowrap":
              case "pager":
              case "pagerEvent":
              case "pause":
              case "pauseOnPagerHover":
              case "prev":
              case "prevNextEvent":
              case "random":
              case "randomizeEffects":
              case "requeueOnImageNotLoaded":
              case "requeueTimeout":
              case "rev":
              case "slideExpr":
              case "slideResize":
              case "speed":
              case "speedIn":
              case "speedOut":
              case "startingSlide":
              case "sync":
              case "timeout":
                settings.opts[option] = advancedOptions[option];
                break;
              
              // These process options that look like {top:50, bottom:20}
              case "animIn":
              case "animOut":
              case "cssBefore":
              case "cssAfter":
              case "shuffle":
                settings.opts[option] = eval('(' + advancedOptions[option] + ')');
                break;
              
              // These options have their own functions.
              case "after":
                // transition callback (scope set to element that was shown): function(currSlideElement, nextSlideElement, options, forwardFlag) 
                settings.opts[option] = function(currSlideElement, nextSlideElement, options, forwardFlag) {
                  eval(advancedOptions[option]);
                }
                break;
              
              case "before":
                // transition callback (scope set to element to be shown):     function(currSlideElement, nextSlideElement, options, forwardFlag) 
                settings.opts[option] = function(currSlideElement, nextSlideElement, options, forwardFlag) {
                  eval(advancedOptions[option]);
                }
                break;
              
              case "end":
                // callback invoked when the slideshow terminates (use with autostop or nowrap options): function(options)
                settings.opts[option] = function(options) {
                  eval(advancedOptions[option]);
                }
                break;
              
              case "fxFn":
                // function used to control the transition: function(currSlideElement, nextSlideElement, options, afterCalback, forwardFlag)
                settings.opts[option] = function(currSlideElement, nextSlideElement, options, afterCalback, forwardFlag) {
                  eval(advancedOptions[option]);
                }
                break;
              
              case "onPagerEvent":
                settings.opts[option] = function(zeroBasedSlideIndex, slideElement) {
                  eval(advancedOptions[option]);
                }
                break;
              
              case "onPrevNextEvent":
                settings.opts[option] = function(isNext, zeroBasedSlideIndex, slideElement) {
                  eval(advancedOptions[option]);
                }
                break;
              
              case "pagerAnchorBuilder":
                // callback fn for building anchor links:  function(index, DOMelement)
                settings.opts[option] = function(index, DOMelement) {
                  eval(advancedOptions[option]);
                }
                break;
              
              case "pagerClick":
                // callback fn for pager clicks:    function(zeroBasedSlideIndex, slideElement)
                settings.opts[option] = function(zeroBasedSlideIndex, slideElement) {
                  eval(advancedOptions[option]);
                }
                break;
              
              case "timeoutFn":
                settings.opts[option] = function(currSlideElement, nextSlideElement, options, forwardFlag) {
                  eval(advancedOptions[option]);
                }
                break;
          
              case "updateActivePagerLink":
                // callback fn invoked to update the active pager link (adds/removes activePagerClass style)
                settings.opts[option] = function(pager, currSlideIndex) {
                  eval(advancedOptions[option]);
                }
                break;
            }
          }
        }
        
        // If selected wait for the images to be loaded.
        // otherwise just load the slideshow.
        if (settings.wait_for_image_load) {
          // For IE/Chrome/Opera we if there are images then we need to make
          // sure the images are loaded before starting the slideshow.
          settings.totalImages = $(settings.targetId + ' img').length;
          if (settings.totalImages) {
            settings.loadedImages = 0;
  
            // Add a load event for each image.
            $(settings.targetId + ' img').each(function() {
              var $imageElement = $(this);
              $imageElement.bind('load', function () {
                Drupal.viewsSlideshowCycle.imageWait(fullId);
              });
              
              // Removing the source and adding it again will fire the load event.
              var imgSrc = $imageElement.attr('src');
              $imageElement.attr('src', '');
              $imageElement.attr('src', imgSrc);
            });
          }
          else {
            Drupal.viewsSlideshowCycle.load(fullId);
          }
        }
        else {
          Drupal.viewsSlideshowCycle.load(fullId);
        }
      });
    }
  };
  
  Drupal.viewsSlideshowCycle = Drupal.viewsSlideshowCycle || {};
  
  // This checks to see if all the images have been loaded.
  // If they have then it starts the slideshow.
  Drupal.viewsSlideshowCycle.imageWait = function(fullId) {
    if (++Drupal.settings.viewsSlideshowCycle[fullId].loadedImages == Drupal.settings.viewsSlideshowCycle[fullId].totalImages) {
      Drupal.viewsSlideshowCycle.load(fullId);
    }
  }
  
  // Start the slideshow.
  Drupal.viewsSlideshowCycle.load = function (fullId) {
    var settings = Drupal.settings.viewsSlideshowCycle[fullId];
    $(settings.targetId).cycle(settings.opts);
    
    // Start Paused
    if (settings.start_paused) {
      Drupal.viewsSlideshow.action({"action": 'pause', "slideshowID": settings.slideshowId});
    }
    
    // Pause if hidden.
    if (settings.pause_when_hidden) {
      var checkPause = function(settings) {
        // If the slideshow is visible and it is paused then resume.
        // otherwise if the slideshow is not visible and it is not paused then
        // pause it.
        var visible = viewsSlideshowCycleIsVisible(settings.targetId, settings.pause_when_hidden_type, settings.amount_allowed_visible);
        if (visible && settings.paused) {
          Drupal.viewsSlideshow.action({"action": 'play', "slideshowID": settings.slideshowId});
        }
        else if (!visible && !settings.paused) {
          Drupal.viewsSlideshow.action({"action": 'pause', "slideshowID": settings.slideshowId});
        }
      }
     
      // Check when scrolled.
      $(window).scroll(function() {
       checkPause(settings);
      });
      
      // Check when the window is resized.
      $(window).resize(function() {
        checkPause(settings);
      });
    }
  }
  
  Drupal.viewsSlideshowCycle.pause = function (options) {
    $('#views_slideshow_cycle_teaser_section_' + options.slideshowID).cycle('pause');
  }
  
  Drupal.viewsSlideshowCycle.play = function (options) {
    $('#views_slideshow_cycle_teaser_section_' + options.slideshowID).cycle('resume');
  }
  
  Drupal.viewsSlideshowCycle.previousSlide = function (options) {
    $('#views_slideshow_cycle_teaser_section_' + options.slideshowID).cycle('prev');
  }
  
  Drupal.viewsSlideshowCycle.nextSlide = function (options) {
    $('#views_slideshow_cycle_teaser_section_' + options.slideshowID).cycle('next');
  }
  
  Drupal.viewsSlideshowCycle.goToSlide = function (options) {
    $('#views_slideshow_cycle_teaser_section_' + options.slideshowID).cycle(options.slideNum);
  }
  
  // Verify that the value is a number.
  function IsNumeric(sText) {
    var ValidChars = "0123456789";
    var IsNumber=true;
    var Char;
  
    for (var i=0; i < sText.length && IsNumber == true; i++) { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) {
        IsNumber = false;
      }
    }
    return IsNumber;
  }
  
  /**
   * Cookie Handling Functions
   */
  function createCookie(name,value,days) {
    if (days) {
      var date = new Date();
      date.setTime(date.getTime()+(days*24*60*60*1000));
      var expires = "; expires="+date.toGMTString();
    }
    else {
      var expires = "";
    }
    document.cookie = name+"="+value+expires+"; path=/";
  }
  
  function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
      var c = ca[i];
      while (c.charAt(0)==' ') c = c.substring(1,c.length);
      if (c.indexOf(nameEQ) == 0) {
        return c.substring(nameEQ.length,c.length);
      }
    }
    return null;
  }
  
  function eraseCookie(name) {
    createCookie(name,"",-1);
  }
  
  /**
   * Checks to see if the slide is visible enough.
   * elem = element to check.
   * type = The way to calculate how much is visible.
   * amountVisible = amount that should be visible. Either in percent or px. If
   *                it's not defined then all of the slide must be visible.
   *
   * Returns true or false
   */
  function viewsSlideshowCycleIsVisible(elem, type, amountVisible) {
    // Get the top and bottom of the window;
    var docViewTop = $(window).scrollTop();
    var docViewBottom = docViewTop + $(window).height();
    var docViewLeft = $(window).scrollLeft();
    var docViewRight = docViewLeft + $(window).width();
  
    // Get the top, bottom, and height of the slide;
    var elemTop = $(elem).offset().top;
    var elemHeight = $(elem).height();
    var elemBottom = elemTop + elemHeight;
    var elemLeft = $(elem).offset().left;
    var elemWidth = $(elem).width();
    var elemRight = elemLeft + elemWidth;
    var elemArea = elemHeight * elemWidth;
    
    // Calculate what's hiding in the slide.
    var missingLeft = 0;
    var missingRight = 0;
    var missingTop = 0;
    var missingBottom = 0;
    
    // Find out how much of the slide is missing from the left.
    if (elemLeft < docViewLeft) {
      missingLeft = docViewLeft - elemLeft;
    }
  
    // Find out how much of the slide is missing from the right.
    if (elemRight > docViewRight) {
      missingRight = elemRight - docViewRight;
    }
    
    // Find out how much of the slide is missing from the top.
    if (elemTop < docViewTop) {
      missingTop = docViewTop - elemTop;
    }
  
    // Find out how much of the slide is missing from the bottom.
    if (elemBottom > docViewBottom) {
      missingBottom = elemBottom - docViewBottom;
    }
    
    // If there is no amountVisible defined then check to see if the whole slide
    // is visible.
    if (type == 'full') {
      return ((elemBottom >= docViewTop) && (elemTop <= docViewBottom)
      && (elemBottom <= docViewBottom) &&  (elemTop >= docViewTop)
      && (elemLeft >= docViewLeft) && (elemRight <= docViewRight)
      && (elemLeft <= docViewRight) && (elemRight >= docViewLeft));
    }
    else if(type == 'vertical') {
      var verticalShowing = elemHeight - missingTop - missingBottom;
      
      // If user specified a percentage then find out if the current shown percent
      // is larger than the allowed percent.
      // Otherwise check to see if the amount of px shown is larger than the
      // allotted amount.
      if (amountVisible.indexOf('%')) {
        return (((verticalShowing/elemHeight)*100) >= parseInt(amountVisible));
      }
      else {
        return (verticalShowing >= parseInt(amountVisible));
      }
    }
    else if(type == 'horizontal') {
      var horizontalShowing = elemWidth - missingLeft - missingRight;
      
      // If user specified a percentage then find out if the current shown percent
      // is larger than the allowed percent.
      // Otherwise check to see if the amount of px shown is larger than the
      // allotted amount.
      if (amountVisible.indexOf('%')) {
        return (((horizontalShowing/elemWidth)*100) >= parseInt(amountVisible));
      }
      else {
        return (horizontalShowing >= parseInt(amountVisible));
      }
    }
    else if(type == 'area') {
      var areaShowing = (elemWidth - missingLeft - missingRight) * (elemHeight - missingTop - missingBottom);
      
      // If user specified a percentage then find out if the current shown percent
      // is larger than the allowed percent.
      // Otherwise check to see if the amount of px shown is larger than the
      // allotted amount.
      if (amountVisible.indexOf('%')) {
        return (((areaShowing/elemArea)*100) >= parseInt(amountVisible));
      }
      else {
        return (areaShowing >= parseInt(amountVisible));
      }
    }
  }
})(jQuery);


jQuery(document).ready(function() {
  jQuery('.views-slideshow-controls-bottom .views-content-counter').each(function() {
    jQuery(this).hover(function(){
      jQuery('.views-slideshow-controls-bottom .views-field-counter').removeClass('active-counter');
      jQuery(this).parent().addClass('active-counter');
    }, function(){});
  });
  
  check_active_nav_slider();
  
});

function check_active_nav_slider() {
  jQuery('.views-slideshow-controls-bottom .views-field-counter').removeClass('active-counter');
  jQuery('#views_slideshow_cycle_teaser_section_in_de_kijker_blok-block_2').children().each(function() {
    if (jQuery(this).css('display') == 'block') {
      jQuery('#'+jQuery(this).attr('id').replace('views_slideshow_cycle_div_in_de_kijker_blok','views_slideshow_pager_field_item_in_de_kijker_blok')+' .views-field-counter').addClass('active-counter');
    }
  });
};
// $Id: extlink.js,v 1.8 2010/05/26 01:25:56 quicksketch Exp $
(function ($) {

function extlinkAttach(context) {
  // Strip the host name down, removing ports, subdomains, or www.
  var pattern = /^(([^\/:]+?\.)*)([^\.:]{4,})((\.[a-z]{1,4})*)(:[0-9]{1,5})?$/;
  var host = window.location.host.replace(pattern, '$3$4');
  var subdomain = window.location.host.replace(pattern, '$1');

  // Determine what subdomains are considered internal.
  if (Drupal.settings.extlink.extSubdomains) {
    var subdomains = "([^/]*\\.)?";
  }
  else if (subdomain == 'www.' || subdomain == '') {
    var subdomains = "(www\\.)?";
  }
  else {
    var subdomains = subdomain.replace(".", "\\.");
  }

  // Build regular expressions that define an internal link.
  var internal_link = new RegExp("^https?://" + subdomains + host, "i");

  // Extra internal link matching.
  var extInclude = false;
  if (Drupal.settings.extlink.extInclude) {
    extInclude = new RegExp(Drupal.settings.extlink.extInclude.replace(/\\/, '\\'));
  }

  // Extra external link matching.
  var extExclude = false;
  if (Drupal.settings.extlink.extExclude) {
    extExclude = new RegExp(Drupal.settings.extlink.extExclude.replace(/\\/, '\\'));
  }

  // Find all links which are NOT internal and begin with http (as opposed
  // to ftp://, javascript:, etc. other kinds of links.
  // When operating on the 'this' variable, the host has been appended to
  // all links by the browser, even local ones.
  // In jQuery 1.1 and higher, we'd use a filter method here, but it is not
  // available in jQuery 1.0 (Drupal 5 default).
  var external_links = new Array();
  var mailto_links = new Array();
  $("a:not(." + Drupal.settings.extlink.extClass + ", ." + Drupal.settings.extlink.mailtoClass + ")", context).each(function(el) {
    try {
      var url = this.href.toLowerCase();
      if (url.indexOf('http') == 0 && (!url.match(internal_link) || (extInclude && url.match(extInclude))) && !(extExclude && url.match(extExclude))) {
        external_links.push(this);
      }
      else if (url.indexOf('mailto:') == 0) {
        mailto_links.push(this);
      }
    }
    // IE7 throws errors often when dealing with irregular links, such as:
    // <a href="node/10"></a> Empty tags.
    // <a href="http://user:pass@example.com">example</a> User:pass syntax.
    catch(error) {
      return false;
    }
  });

  if (Drupal.settings.extlink.extClass) {
    // Apply the "ext" class to all links not containing images.
    if (parseFloat($().jquery) < 1.2) {
      $(external_links).not('[img]').addClass(Drupal.settings.extlink.extClass).each(function() { if ($(this).css('display') == 'inline') $(this).after('<span class=' + Drupal.settings.extlink.extClass + '></span>'); });
    }
    else {
      $(external_links).not($(external_links).find('img').parents('a')).addClass(Drupal.settings.extlink.extClass).each(function() { if ($(this).css('display') == 'inline') $(this).after('<span class=' + Drupal.settings.extlink.extClass + '></span>'); });
    }
  }

  if (Drupal.settings.extlink.mailtoClass) {
    // Apply the "mailto" class to all mailto links not containing images.
    if (parseFloat($().jquery) < 1.2) {
      $(mailto_links).not('[img]').addClass(Drupal.settings.extlink.mailtoClass).each(function() { if ($(this).css('display') == 'inline') $(this).after('<span class=' + Drupal.settings.extlink.mailtoClass + '></span>'); });
    }
    else {
      $(mailto_links).not($(mailto_links).find('img').parents('a')).addClass(Drupal.settings.extlink.mailtoClass).each(function() { if ($(this).css('display') == 'inline') $(this).after('<span class=' + Drupal.settings.extlink.mailtoClass + '></span>'); });
    }
  }

  if (Drupal.settings.extlink.extTarget) {
    // Apply the target attribute to all links.
    $(external_links).attr('target', Drupal.settings.extlink.extTarget);
  }

  if (Drupal.settings.extlink.extAlert) {
    // Add pop-up click-through dialog.
    $(external_links).click(function(e) {
     return confirm(Drupal.settings.extlink.extAlertText);
    });
  }

  // Work around for Internet Explorer box model problems.
  if (($.support && !($.support.boxModel === undefined) && !$.support.boxModel) || ($.browser.msie && parseInt($.browser.version) <= 7)) {
    $('span.ext, span.mailto').css('display', 'inline-block');
  }
}

Drupal.behaviors.extlink = {
  attach: function(context){
    extlinkAttach(context);
  }
}

})(jQuery);
;

