// $Id: text_resize.js,v 1.1.2.8.2.6 2010/12/29 23:14:13 attheshow Exp $
(function ($) { // JavaScript should be compatible with other libraries than jQuery
  Drupal.behaviors.textResize = { // D7 "Changed Drupal.behaviors to objects having the methods "attach" and "detach"."
    attach: function(context) {
      // Which div or page element are we resizing?
      if (text_resize_scope) { // Admin-specified scope takes precedence.
        if ($('#'+text_resize_scope).length > 0) {
          var element_to_resize = $('#'+text_resize_scope); // ID specified by admin
        }
        else if ($('.'+text_resize_scope).length > 0) {
          var element_to_resize = $('.'+text_resize_scope); // CLASS specified by admin
        }
        else {
          var element_to_resize = $(text_resize_scope); // It's just a tag specified by admin
        }
      }
      else { // Look for some default scopes that might exist.
        if ($('DIV.left-corner').length > 0) {
          var element_to_resize = $('DIV.left-corner'); // Main body div for Garland
        }
        else if ($('#content-inner').length > 0) {
          var element_to_resize = $('#content-inner'); // Main body div for Zen-based themes
        }
        else if ($('#squeeze > #content').length > 0) {
          var element_to_resize = $('#squeeze > #content'); // Main body div for Zen Classic
        }
      }
      // Set the initial font size if necessary
      if ($.cookie('text_resize') != null) {
        element_to_resize.css('font-size', parseFloat($.cookie('text_resize')) + 'px');
      }
      if (text_resize_line_height_allow) {
        // Set the initial line height if necessary
        if ($.cookie('text_resize_line_height') != null) {
          element_to_resize.css('line-height', parseFloat($.cookie('text_resize_line_height')) + 'px');
        }
      }
      // Changer links will change the text size when clicked
      $('a.changer').click(function() {
        // Set the current font size of the specified section as a variable
        var currentFontSize = parseFloat(element_to_resize.css('font-size'), 10);
        // Set the current line-height
        var current_line_height = parseFloat(element_to_resize.css('line-height'), 10);
        // javascript lets us choose which link was clicked, by ID
        if (this.id == 'text_resize_increase') {
          var new_font_size = currentFontSize * 1.2;
          if (text_resize_line_height_allow) { var new_line_height = current_line_height * 1.4; }
          // Allow resizing as long as font size doesn't go above text_resize_maximum.
          if (new_font_size <= text_resize_maximum) {
            $.cookie('text_resize', new_font_size, { path: '/' });
            if (text_resize_line_height_allow) { $.cookie('text_resize_line_height', new_line_height, { path: '/' }); }
            var allow_change = true;
          }
          else {
            $.cookie('text_resize', text_resize_maximum, { path: '/' });
            if (text_resize_line_height_allow) { $.cookie('text_resize_line_height', text_resize_line_height_max, { path: '/' }); }
            var reset_size_max = true;
          }
        }
        else if (this.id == 'text_resize_decrease') {
          var new_font_size = currentFontSize / 1.2;
          if (text_resize_line_height_allow) { var new_line_height = current_line_height / 1.2; }
          if (new_font_size >= text_resize_minimum) {
            // Allow resizing as long as font size doesn't go below text_resize_minimum.
            $.cookie('text_resize', new_font_size, { path: '/' });
            if (text_resize_line_height_allow) { $.cookie('text_resize_line_height', new_line_height, { path: '/' }); }
            var allow_change = true;
          }
          else {
            // If it goes below text_resize_minimum, just leave it at text_resize_minimum.
            $.cookie('text_resize', text_resize_minimum, { path: '/' });
            if (text_resize_line_height_allow) { $.cookie('text_resize_line_height', text_resize_line_height_min, { path: '/' }); }
            var reset_size_min = true;
          }
        }
        else if (this.id == 'text_resize_reset') {
          $.cookie('text_resize', null, { path: '/' });
          if (text_resize_line_height_allow) { $.cookie('text_resize_line_height', null, { path: '/' }); }
          var reset_size_original = true;
        }
        // jQuery lets us set the font size value of the main text div
        if (allow_change == true) {
          element_to_resize.css('font-size', new_font_size + 'px'); // Add 'px' onto the end, otherwise ems are used as units by default
          if (text_resize_line_height_allow) { element_to_resize.css('line-height', new_line_height + 'px'); }
          return false;
        }
        else if (reset_size_min == true) {
          element_to_resize.css('font-size', text_resize_minimum + 'px');
          if (text_resize_line_height_allow) { element_to_resize.css('line-height', text_resize_line_height_min + 'px'); }
          return false;
        }
        else if (reset_size_max == true) {
          element_to_resize.css('font-size', text_resize_maximum + 'px');
          if (text_resize_line_height_allow) { element_to_resize.css('line-height', text_resize_line_height_max + 'px'); }
          return false;
        }
        else if (reset_size_original == true) {
          element_to_resize.css('font-size', null);
          if (text_resize_line_height_allow) { element_to_resize.css('line-height', null); }
          return false;
        }
      });
    }
  };
})(jQuery);
;
(function ($) {
  Drupal.viewsSlideshow = Drupal.viewsSlideshow || {};

  /**
   * Views Slideshow Controls
   */
  Drupal.viewsSlideshowControls = Drupal.viewsSlideshowControls || {};

  /**
   * Implement the play hook for controls.
   */
  Drupal.viewsSlideshowControls.play = function (options) {
    // Route the control call to the correct control type.
    // Need to use try catch so we don't have to check to make sure every part
    // of the object is defined.
    try {
      if (typeof Drupal.settings.viewsSlideshowControls[options.slideshowID].top.type != "undefined" && typeof Drupal[Drupal.settings.viewsSlideshowControls[options.slideshowID].top.type].play == 'function') {
        Drupal[Drupal.settings.viewsSlideshowControls[options.slideshowID].top.type].play(options);
      }
    }
    catch(err) {
      // Don't need to do anything on error.
    }

    try {
      if (typeof Drupal.settings.viewsSlideshowControls[options.slideshowID].bottom.type != "undefined" && typeof Drupal[Drupal.settings.viewsSlideshowControls[options.slideshowID].bottom.type].play == 'function') {
        Drupal[Drupal.settings.viewsSlideshowControls[options.slideshowID].bottom.type].play(options);
      }
    }
    catch(err) {
      // Don't need to do anything on error.
    }
  };

  /**
   * Implement the pause hook for controls.
   */
  Drupal.viewsSlideshowControls.pause = function (options) {
    // Route the control call to the correct control type.
    // Need to use try catch so we don't have to check to make sure every part
    // of the object is defined.
    try {
      if (typeof Drupal.settings.viewsSlideshowControls[options.slideshowID].top.type != "undefined" && typeof Drupal[Drupal.settings.viewsSlideshowControls[options.slideshowID].top.type].pause == 'function') {
        Drupal[Drupal.settings.viewsSlideshowControls[options.slideshowID].top.type].pause(options);
      }
    }
    catch(err) {
      // Don't need to do anything on error.
    }

    try {
      if (typeof Drupal.settings.viewsSlideshowControls[options.slideshowID].bottom.type != "undefined" && typeof Drupal[Drupal.settings.viewsSlideshowControls[options.slideshowID].bottom.type].pause == 'function') {
        Drupal[Drupal.settings.viewsSlideshowControls[options.slideshowID].bottom.type].pause(options);
      }
    }
    catch(err) {
      // Don't need to do anything on error.
    }
  };


  /**
   * Views Slideshow Text Controls
   */

  // Add views slieshow api calls for views slideshow text controls.
  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, "force": true });
          }
          else {
            Drupal.viewsSlideshow.action({ "action": 'pause', "slideshowID": uniqueID, "force": true });
          }
          return false;
        });
      });
    }
  };

  Drupal.viewsSlideshowControlsText = Drupal.viewsSlideshowControlsText || {};

  /**
   * Implement the pause hook for text controls.
   */
  Drupal.viewsSlideshowControlsText.pause = function (options) {
    var pauseText = Drupal.theme.prototype['viewsSlideshowControlsPause'] ? Drupal.theme('viewsSlideshowControlsPause') : '';
    $('#views_slideshow_controls_text_pause_' + options.slideshowID + ' a').text(pauseText);
  };

  /**
   * Implement the play hook for text controls.
   */
  Drupal.viewsSlideshowControlsText.play = function (options) {
    var playText = Drupal.theme.prototype['viewsSlideshowControlsPlay'] ? Drupal.theme('viewsSlideshowControlsPlay') : '';
    $('#views_slideshow_controls_text_pause_' + options.slideshowID + ' a').text(playText);
  };

  // Theme the resume control.
  Drupal.theme.prototype.viewsSlideshowControlsPause = function () {
    return Drupal.t('Resume');
  };

  // Theme the pause control.
  Drupal.theme.prototype.viewsSlideshowControlsPlay = function () {
    return Drupal.t('Pause');
  };

  /**
   * Views Slideshow Pager
   */
  Drupal.viewsSlideshowPager = Drupal.viewsSlideshowPager || {};

  /**
   * Implement the transitionBegin hook for pagers.
   */
  Drupal.viewsSlideshowPager.transitionBegin = function (options) {
    // Route the pager call to the correct pager type.
    // Need to use try catch so we don't have to check to make sure every part
    // of the object is defined.
    try {
      if (typeof Drupal.settings.viewsSlideshowPager[options.slideshowID].top.type != "undefined" && typeof Drupal[Drupal.settings.viewsSlideshowPager[options.slideshowID].top.type].transitionBegin == 'function') {
        Drupal[Drupal.settings.viewsSlideshowPager[options.slideshowID].top.type].transitionBegin(options);
      }
    }
    catch(err) {
      // Don't need to do anything on error.
    }

    try {
      if (typeof Drupal.settings.viewsSlideshowPager[options.slideshowID].bottom.type != "undefined" && typeof Drupal[Drupal.settings.viewsSlideshowPager[options.slideshowID].bottom.type].transitionBegin == 'function') {
        Drupal[Drupal.settings.viewsSlideshowPager[options.slideshowID].bottom.type].transitionBegin(options);
      }
    }
    catch(err) {
      // Don't need to do anything on error.
    }
  };

  /**
   * Implement the goToSlide hook for pagers.
   */
  Drupal.viewsSlideshowPager.goToSlide = function (options) {
    // Route the pager call to the correct pager type.
    // Need to use try catch so we don't have to check to make sure every part
    // of the object is defined.
    try {
      if (typeof Drupal.settings.viewsSlideshowPager[options.slideshowID].top.type != "undefined" && typeof Drupal[Drupal.settings.viewsSlideshowPager[options.slideshowID].top.type].goToSlide == 'function') {
        Drupal[Drupal.settings.viewsSlideshowPager[options.slideshowID].top.type].goToSlide(options);
      }
    }
    catch(err) {
      // Don't need to do anything on error.
    }

    try {
      if (typeof Drupal.settings.viewsSlideshowPager[options.slideshowID].bottom.type != "undefined" && typeof Drupal[Drupal.settings.viewsSlideshowPager[options.slideshowID].bottom.type].goToSlide == 'function') {
        Drupal[Drupal.settings.viewsSlideshowPager[options.slideshowID].bottom.type].goToSlide(options);
      }
    }
    catch(err) {
      // Don't need to do anything on error.
    }
  };

  /**
   * Implement the previousSlide hook for pagers.
   */
  Drupal.viewsSlideshowPager.previousSlide = function (options) {
    // Route the pager call to the correct pager type.
    // Need to use try catch so we don't have to check to make sure every part
    // of the object is defined.
    try {
      if (typeof Drupal.settings.viewsSlideshowPager[options.slideshowID].top.type != "undefined" && typeof Drupal[Drupal.settings.viewsSlideshowPager[options.slideshowID].top.type].previousSlide == 'function') {
        Drupal[Drupal.settings.viewsSlideshowPager[options.slideshowID].top.type].previousSlide(options);
      }
    }
    catch(err) {
      // Don't need to do anything on error.
    }

    try {
      if (typeof Drupal.settings.viewsSlideshowPager[options.slideshowID].bottom.type != "undefined" && typeof Drupal[Drupal.settings.viewsSlideshowPager[options.slideshowID].bottom.type].previousSlide == 'function') {
        Drupal[Drupal.settings.viewsSlideshowPager[options.slideshowID].bottom.type].previousSlide(options);
      }
    }
    catch(err) {
      // Don't need to do anything on error.
    }
  };

  /**
   * Implement the nextSlide hook for pagers.
   */
  Drupal.viewsSlideshowPager.nextSlide = function (options) {
    // Route the pager call to the correct pager type.
    // Need to use try catch so we don't have to check to make sure every part
    // of the object is defined.
    try {
      if (typeof Drupal.settings.viewsSlideshowPager[options.slideshowID].top.type != "undefined" && typeof Drupal[Drupal.settings.viewsSlideshowPager[options.slideshowID].top.type].nextSlide == 'function') {
        Drupal[Drupal.settings.viewsSlideshowPager[options.slideshowID].top.type].nextSlide(options);
      }
    }
    catch(err) {
      // Don't need to do anything on error.
    }

    try {
      if (typeof Drupal.settings.viewsSlideshowPager[options.slideshowID].bottom.type != "undefined" && typeof Drupal[Drupal.settings.viewsSlideshowPager[options.slideshowID].bottom.type].nextSlide == 'function') {
        Drupal[Drupal.settings.viewsSlideshowPager[options.slideshowID].bottom.type].nextSlide(options);
      }
    }
    catch(err) {
      // Don't need to do anything on error.
    }
  };


  /**
   * Views Slideshow Pager Fields
   */

  // Add views slieshow api calls for views slideshow pager fields.
  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) {
            var mouseIn = function() {
              Drupal.viewsSlideshow.action({ "action": 'goToSlide', "slideshowID": uniqueID, "slideNum": index });
              Drupal.viewsSlideshow.action({ "action": 'pause', "slideshowID": uniqueID });
            }
            
            var mouseOut = function() {
              Drupal.viewsSlideshow.action({ "action": 'play', "slideshowID": uniqueID });
            }
          
            if (jQuery.fn.hoverIntent) {
              $(pagerItem).hoverIntent(mouseIn, mouseOut);
            }
            else {
              $(pagerItem).hover(mouseIn, mouseOut);
            }
            
          });
        }
        else {
          $(this).children().each(function(index, pagerItem) {
            $(pagerItem).click(function() {
              Drupal.viewsSlideshow.action({ "action": 'goToSlide', "slideshowID": uniqueID, "slideNum": index });
            });
          });
        }
      });
    }
  };

  Drupal.viewsSlideshowPagerFields = Drupal.viewsSlideshowPagerFields || {};

  /**
   * Implement the transitionBegin hook for pager fields pager.
   */
  Drupal.viewsSlideshowPagerFields.transitionBegin = function (options) {
    for (pagerLocation in Drupal.settings.viewsSlideshowPager[options.slideshowID]) {
      // Remove active class from pagers
      $('[id^="views_slideshow_pager_field_item_' + pagerLocation + '_' + options.slideshowID + '"]').removeClass('active');

      // Add active class to active pager.
      $('#views_slideshow_pager_field_item_'+ pagerLocation + '_' + options.slideshowID + '_' + options.slideNum).addClass('active');
    }

  };

  /**
   * Implement the goToSlide hook for pager fields pager.
   */
  Drupal.viewsSlideshowPagerFields.goToSlide = function (options) {
    for (pagerLocation in Drupal.settings.viewsSlideshowPager[options.slideshowID]) {
      // Remove active class from pagers
      $('[id^="views_slideshow_pager_field_item_' + pagerLocation + '_' + options.slideshowID + '"]').removeClass('active');

      // Add active class to active pager.
      $('#views_slideshow_pager_field_item_' + pagerLocation + '_' + options.slideshowID + '_' + options.slideNum).addClass('active');
    }
  };

  /**
   * Implement the previousSlide hook for pager fields pager.
   */
  Drupal.viewsSlideshowPagerFields.previousSlide = function (options) {
    for (pagerLocation in Drupal.settings.viewsSlideshowPager[options.slideshowID]) {
      // Get the current active pager.
      var pagerNum = $('[id^="views_slideshow_pager_field_item_' + pagerLocation + '_' + options.slideshowID + '"].active').attr('id').replace('views_slideshow_pager_field_item_' + pagerLocation + '_' + options.slideshowID + '_', '');

      // If we are on the first pager then activate the last pager.
      // Otherwise activate the previous pager.
      if (pagerNum == 0) {
        pagerNum = $('[id^="views_slideshow_pager_field_item_' + pagerLocation + '_' + options.slideshowID + '"]').length() - 1;
      }
      else {
        pagerNum--;
      }

      // Remove active class from pagers
      $('[id^="views_slideshow_pager_field_item_' + pagerLocation + '_' + options.slideshowID + '"]').removeClass('active');

      // Add active class to active pager.
      $('#views_slideshow_pager_field_item_' + pagerLocation + '_' + options.slideshowID + '_' + pagerNum).addClass('active');
    }
  };

  /**
   * Implement the nextSlide hook for pager fields pager.
   */
  Drupal.viewsSlideshowPagerFields.nextSlide = function (options) {
    for (pagerLocation in Drupal.settings.viewsSlideshowPager[options.slideshowID]) {
      // Get the current active pager.
      var pagerNum = $('[id^="views_slideshow_pager_field_item_' + pagerLocation + '_' + options.slideshowID + '"].active').attr('id').replace('views_slideshow_pager_field_item_' + pagerLocation + '_' + options.slideshowID + '_', '');
      var totalPagers = $('[id^="views_slideshow_pager_field_item_' + pagerLocation + '_' + options.slideshowID + '"]').length();

      // If we are on the last pager then activate the first pager.
      // Otherwise activate the next pager.
      pagerNum++;
      if (pagerNum == totalPagers) {
        pagerNum = 0;
      }

      // Remove active class from pagers
      $('[id^="views_slideshow_pager_field_item_' + pagerLocation + '_' + options.slideshowID + '"]').removeClass('active');

      // Add active class to active pager.
      $('#views_slideshow_pager_field_item_' + pagerLocation + '_' + options.slideshowID + '_' + slideNum).addClass('active');
    }
  };


  /**
   * Views Slideshow Slide Counter
   */

  Drupal.viewsSlideshowSlideCounter = Drupal.viewsSlideshowSlideCounter || {};

  /**
   * Implement the transitionBegin for the slide counter.
   */
  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;
      // If the calling method is forcing a pause then mark it as such.
      if (options.force) {
        Drupal.settings.viewsSlideshow[options.slideshowID].pausedForce = 1;
      }
    }
    else if (options.action == 'play') {
      // If the slideshow isn't forced pause or we are forcing a play then play
      // the slideshow.
      // Otherwise return telling the calling method that it was forced paused.
      if (!Drupal.settings.viewsSlideshow[options.slideshowID].pausedForce || options.force) {
        Drupal.settings.viewsSlideshow[options.slideshowID].paused = 0;
        Drupal.settings.viewsSlideshow[options.slideshowID].pausedForce = 0;
      }
      else {
        status.value = false;
        status.text += ' ' + Drupal.t('This slideshow is forced paused.');
        return status;
      }
    }

    // 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]);});};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.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) {
          var mouseIn = function() {
            Drupal.viewsSlideshow.action({ "action": 'pause', "slideshowID": settings.slideshowId });
          }
          
          var mouseOut = function() {
            Drupal.viewsSlideshow.action({ "action": 'play', "slideshowID": settings.slideshowId });
          }
          
          if (jQuery.fn.hoverIntent) {
            $('#views_slideshow_cycle_teaser_section_' + settings.vss_id).hoverIntent(mouseIn, mouseOut);
          }
          else {
            $('#views_slideshow_cycle_teaser_section_' + settings.vss_id).hover(mouseIn, mouseOut);
          }
        }

        // 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, "force": true });
          });
        }

        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 "metaAttr":
              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":
              case "width":
                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) {
                  var returnVal = '';
                  eval(advancedOptions[option]);
                  return returnVal;
                }
                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, "force": true });
    }

    // 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) {
          Drupal.viewsSlideshow.action({ "action": 'play', "slideshowID": settings.slideshowId });
        }
        else {
          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) {
    Drupal.settings.viewsSlideshowCycle['#views_slideshow_cycle_main_' + options.slideshowID].paused = false;
    $('#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);
;
var rs={settings:{usePopupButton:true,usePopupPlayer:true,useReadspeakerIcon:false,usePost:false,wordColor:"#a4cbff",sentColor:"#beffd6",textColor:"#000000",defaultspeed:100,appserverhost:"app.readspeaker.com",flashParams:"&autoplay=1&rskin=bump&time_format=ms",flashLink:document.location.protocol+"//media.readspeaker.com/flash/readspeaker20.swf",allowScriptAccess:null,protocol:document.location.protocol||"http:",rsent:"rsent",defaultsync:"wordsent",version:"1.01-embhl",reloadPage:false},phrases:{closeplayer:"Close player",fast:"Fast",hide:"Hide",highlightingoptions:"Highlighting options",listentoselectedtext:"Listen to selected text",medium:"Medium",nohighlighting:"No Highlighting",nosound:"No sound?",pause:"Pause",playerwidth:"310",play:"Play",popupbutton:"Pop up button",sentonly:"Sentence only",settings:"Settings",show:"Show",slow:"Slow",speechenabled:"Speech-enabled by <a href='http://www.readspeaker.com'>ReadSpeaker</a>",speed:"Speed",stop:"Stop",volume:"Volume",wordonly:"Word only",wordsent:"Word and sentence"},thesync:"none",thespeed:100,state:"NO_ACTION",defaultsurvive:360000000,bmindex:1,sentbmindex:0,seltexttimes:0,seltextcleanuptimes:0,startofsentence:1,inc:0,start:null,stop:null,newhtml:"",startOffset:null,endOffset:null,selectedString:"",selhtml:"",selectedWordsRange:[],firstrun:1,selectedRange:null,globalcount:null,oldwordhl_FF:[],oldwordhlclass_FF:[],oldsenthl_FF:[],oldsenthlclass_FF:[],oldwordhlrange_IE:[],oldwordhlbackcol_IE:[],oldwordhlforecol_IE:[],oldwordhl_IE:[],oldwordhlclass_IE:[],oldsenthlrange_IE:[],oldsenthlbackcol_IE:[],oldsenthlforecol_IE:[],oldsenthl_IE:[],oldsenthlclass_IE:[],oldbodyclass:null,exludednodes:["table","tr","select","option","textarea","ul","ol","dl","thead","tbody","tfoot","colgroup","script","map","optgroup"],data:{restorehtml:[],readid:[],current:{restorehtml:null,readid:null,playerid:null},previous:{playerid:null,sync:null}},convertSpeed:function(a){switch(a){case"slow":return rs.settings.defaultspeed-25;case"medium":return rs.settings.defaultspeed;case"fast":return rs.settings.defaultspeed+25;default:return rs.settings.defaultspeed}},issuePOST:function(a,c){rs.globalcount++;if(!document.getElementById("postiframe1")||!document.getElementById("postiframe2")||!document.getElementById("postiframe3")){var g=null;if(document.selection){g=document.createElement('<iframe name="postiframe'+rs.globalcount+'">')}else{g=document.createElement("iframe");g.name="postiframe"+rs.globalcount}g.setAttribute("id","postiframe"+rs.globalcount);g.setAttribute("style","display: none; position: absolute;");g.style.display="none";var d=document.getElementsByTagName("body");var n=null;if(d.length>0){var n=d.item(0)}if(n){n.appendChild(g)}else{return}}a=a+"&output=audiolink";var f=document.createElement("form");f.target="postiframe"+rs.globalcount;f.method="post";var m=a.split("?");var l=Math.random();f.action=rs.settings.protocol+"//"+rs.settings.appserverhost+"/enterprise/iframeproxy.php?rsent="+rs.settings.rsent+"&randid="+l;var k=m[1].split("&");var h;for(h=0;h<k.length;h++){var e=k[h].split("=");var o=document.createElement("input");o.setAttribute("name",unescape(e[0]));o.setAttribute("value",unescape(e[1]));f.appendChild(o)}var o=document.createElement("input");if(rs.state=="PLAYING_NO_SELECTION"&&rs.settings.usePost){o.setAttribute("name","html_base64")}else{o.setAttribute("name","selectedhtml_base64")}o.setAttribute("value",rs.base64.encode(c));f.appendChild(o);document.body.appendChild(f);f.submit();document.body.removeChild(f);return rs.settings.protocol+"//"+rs.settings.appserverhost+"/enterprise/iframeproxy.php?rsent="+rs.settings.rsent+"&listen=1&randid="+l},removeiFrames:function(){if(document.getElementById("postiframe1")){document.body.removeChild(document.getElementById("postiframe1"))}if(document.getElementById("postiframe2")){document.body.removeChild(document.getElementById("postiframe2"))}if(document.getElementById("postiframe3")){document.body.removeChild(document.getElementById("postiframe3"))}},readpage:function(b,c){rs.globalcount=0;rs.getreadids();if(rs.popup.time){clearTimeout(rs.popup.time);rs.popup.setVisibility()}if(rs.settings.allowScriptAccess===null){if(rs.settings.flashLink.indexOf("media.readspeaker.com")==-1){rs.settings.allowScriptAccess="sameDomain"}else{rs.settings.allowScriptAccess="always"}}if((navigator.userAgent.toLowerCase().indexOf("iphone")>-1||navigator.userAgent.toLowerCase().indexOf("ipad")>-1||navigator.userAgent.toLowerCase().indexOf("ipod")>-1)&&navigator.vendor.toLowerCase().indexOf("apple")>-1){rs.html5.inUse=true}rs.thespeed=rs.convertSpeed(rs.loadSettings("ReadSpeakerHLspeed"));if(rs.state.indexOf("USER_SELECTION")==-1){rs.data.previous.sync=rs.thesync}rs.thesync=rs.loadSettings("ReadSpeakerHL");if(rs.thesync===null||rs.thesync===""){rs.thesync=rs.settings.defaultsync}var d=b.match(/readid=[^&]+/gi);rs.data.current.readid=d[0].replace("readid=","");rs.data.current.playerid=c;if(rs.data.previous.playerid!==null){var e=null;e=document.getElementById(rs.data.previous.playerid);if(e){e.innerHTML="";e.style.display="none"}}rs.data.previous.playerid=rs.data.current.playerid;if(rs.state=="USER_SELECTION"||rs.state=="USER_SELECTION_WHILE_PLAYING_USER_SELECTION"||rs.state=="USER_SELECTION_WHILE_PLAYING_NO_SELECTION"||rs.state=="SETTINGS_CHANGED_PLAYING_USER_SELECTION"){rs.cleanup();if(rs.state!="SETTINGS_CHANGED_PLAYING_USER_SELECTION"){rs.selhtml=rs.selectRange()}if(document.selection){document.execCommand("Unselect")}rs.state="PLAYING_USER_SELECTION"}else{rs.state="PLAYING_NO_SELECTION";if(rs.data.previous.sync!="none"||rs.thesync!="none"){rs.cleanup()}if(rs.settings.usePost){if(rs.data.current.readid!==null){var a=document.getElementById(rs.data.current.readid);if(a!==null){rs.data.current.restorehtml=a.innerHTML}}}}if(rs.html5.inUse){rs.html5.player(b)}else{if(rs.data.current.playerid=="rs_popup_player"){rs.popup.player(b)}else{rs.player(b)}}rs.selectedString=""},player:function(b){if(rs.state!="PLAYING_NO_SELECTION"){var d=encodeURIComponent(rs.issuePOST(b+"&audioformat=flv&sync=user&speed="+rs.thespeed+"&rsjs_ver="+rs.settings.version+"&syncalignuser="+rs.thesync,rs.selhtml));var c=rs.issuePOST(b+"&speed="+rs.thespeed+"&rsjs_ver="+rs.settings.version,rs.selhtml)}else{if(rs.settings.usePost){var d=encodeURIComponent(rs.issuePOST(b+"&audioformat=flv&sync="+rs.thesync+"&speed="+rs.thespeed+"&rsjs_ver="+rs.settings.version,"<div id='"+rs.data.current.readid+"'>"+rs.data.current.restorehtml+"</div>"));var c=rs.issuePOST(b+"&speed="+rs.thespeed+"&rsjs_ver="+rs.settings.version,"<div id='"+rs.data.current.readid+"'>"+rs.data.current.restorehtml+"</div>")}else{var d=encodeURIComponent(b+"&audioformat=flv&sync="+rs.thesync+"&speed="+rs.thespeed+"&rsjs_ver="+rs.settings.version);var c=b+"&speed="+rs.thespeed+"&rsjs_ver="+rs.settings.version}}var e="<div id='rs_playerarea'>";e+="<div style='margin-bottom: 2px; width: 100%; height: 20px;'><span style='position: absolute; top: 0px; left: 0px;'><object type='application/x-shockwave-flash' data='"+rs.settings.flashLink+"?flv="+d+rs.settings.flashParams+"&text_play="+rs.phrases.play+"&text_pause="+rs.phrases.pause+"&text_stop="+rs.phrases.stop+"&text_vol="+rs.phrases.volume+"' style='height:20px; width:250px;'>";e+="<param name='movie' value='"+rs.settings.flashLink+"?flv="+d+rs.settings.flashParams+"&text_play="+rs.phrases.play+"&text_pause="+rs.phrases.pause+"&text_stop="+rs.phrases.stop+"&text_vol="+rs.phrases.volume+"'>";e+="<param name='quality' value='high'><param name='autostart' value='true'>";e+="<param name='allowScriptAccess' value='"+rs.settings.allowScriptAccess+"'><param name='bgcolor' value='#FFFFFF'>";e+="<param name='loop' value='false'></object></span>";e+="<span style='position: absolute; top: 4px; right: 4px;'><a style='border-style: none;' href='JavaScript:void(0);' onclick='rs.closepage(\""+rs.data.current.playerid+"\");return false'><img id='closebr' src='"+rs.settings.protocol+"//media.readspeaker.com/images/enterprise/default/close.png' alt='"+rs.phrases.closeplayer+"' title='"+rs.phrases.closeplayer+"'></a></span></div>";e+="<div id='bottomlinks'><a href='JavaScript:void(0);' class='rs_settings' onclick='rs.showcontrols(\""+b+'","'+rs.data.current.playerid+"\");return false'>"+rs.phrases.settings+"</a> | <a id='rsSaveBtn' href='"+c+"' target='rs' onclick='rs.removeiFrames(); return true;'>"+rs.phrases.nosound+"</a> | "+rs.phrases.speechenabled+"</div>";e+="<div id='controls'></div>";e+="</div>";var a=document.getElementById(rs.data.current.playerid);if(a){a.innerHTML=e;a.style.display="block"}},getreadids:function(){if(rs.data.readid.length===0){var f=document.getElementsByTagName("A");for(var e=0;e<f.length;e++){if(f[e].getAttribute("href")&&f[e].getAttribute("href").indexOf(rs.settings.appserverhost+"/cgi-bin/"+rs.settings.rsent)!=-1&&f[e].id!="rsSaveBtn"){var c=f[e].getAttribute("href").match(/readid=[^&]+/gi);if(c){var a=c[0].replace("readid=","");rs.data.readid.push(a)}}}if(rs.data.readid.length>0){var d=null;for(var b=0;b<rs.data.readid.length;b++){d=document.getElementById(rs.data.readid[b]);if(d){rs.data.restorehtml.push(d.innerHTML)}}}}},closepage:function(b){if(rs.html5.inUse){rs.html5.controls.stop()}var a=document.getElementById(b);if(a){a.innerHTML="";a.style.display="none"}rs.state="CLOSE";var c=document.getElementById(rs.data.current.readid);if(c&&c.className.toLowerCase().indexOf("rs_reload")>-1||rs.settings.reloadPage){setTimeout("location.reload(true);",500)}else{setTimeout("rs.cleanup();rs.data.current.restorehtml=null;",500);if(document.getElementById("rs_selimg")){document.body.removeChild(document.getElementById("rs_selimg"))}if(document.getElementById("rs_popup_player")){document.body.removeChild(document.getElementById("rs_popup_player"))}}},rshlexit:function(){setTimeout("rs.cleanup();",500)},saveSettings:function(name,content,lifetime){lifetime=parseInt(eval(lifetime));if(lifetime+""=="NaN"){tmpdate=""}else{var thedate=new Date();thedate.setTime(thedate.getTime()+lifetime);thedate=thedate.toGMTString();tmpdate="; expires="+thedate}document.cookie=name+"="+escape(content)+tmpdate},loadSettings:function(a){ckarr=document.cookie;cks=ckarr.split("; ");for(i=0;i<cks.length;i++){cknameval=cks[i].split("=");for(j=0;j<cknameval.length;j++){if(cknameval[j]==a){return unescape(cknameval[j+1])}}}return""},setstyle:function(b){if(b.indexOf("icon")>-1){rs.saveSettings("ReadSpeakerHLicon",b,rs.defaultsurvive)}else{if(b=="slow"||b=="medium"||b=="fast"){rs.saveSettings("ReadSpeakerHLspeed",b,rs.defaultsurvive)}else{rs.saveSettings("ReadSpeakerHL",b,rs.defaultsurvive)}}var a=document.getElementById("controls");if(a!==null){a.innerHTML=""}},showcontrols:function(b,c){var a=document.getElementById("controls");if(a!==null&&a.innerHTML!=""){a.innerHTML="";a.style.display="none";return false}var e=rs.loadSettings("ReadSpeakerHL");var f=rs.loadSettings("ReadSpeakerHLicon");var d=rs.loadSettings("ReadSpeakerHLspeed");if(e==""){e=rs.settings.defaultsync}if(f==""){if(rs.settings.usePopupButton){f="iconon"}else{f="iconoff"}}if(d==""){d="medium"}thestring="<div id='rspopup'><fieldset class='rs_block'><legend>"+rs.phrases.highlightingoptions+"</legend><ul>";thestring+="<li class=";if(e=="wordsent"){thestring+="'rs_active'"}thestring+="><a href='JavaScript:void(0);' onclick='rs.changeSettings(\""+b+'","'+c+'","wordsent");return false;\'>'+rs.phrases.wordsent+"</a></li>";thestring+="<li class=";if(e=="sent"){thestring+="'rs_active'"}thestring+="><a href='JavaScript:void(0);' onclick='rs.changeSettings(\""+b+'","'+c+'","sent");return false;\'>'+rs.phrases.sentonly+"</a></li>";thestring+="<li class=";if(e=="word"){thestring+="rs_active"}thestring+="><a href='JavaScript:void(0);' onclick='rs.changeSettings(\""+b+'","'+c+'","word");return false;\'>'+rs.phrases.wordonly+"</a></li>";thestring+="<li class=";if(e=="none"){thestring+="rs_active"}thestring+="><a href='JavaScript:void(0);' onclick='rs.changeSettings(\""+b+'","'+c+'","none");return false;\'>'+rs.phrases.nohighlighting+"</a></li>";thestring+="</ul></fieldset><fieldset class='rs_block'><legend>"+rs.phrases.popupbutton+"</legend><ul>";thestring+="<li class=";if(f=="iconon"){thestring+="rs_active "}thestring+="><a href='JavaScript:void(0);' onclick='rs.settings.usePopupButton=true;rs.changeSettings(\""+b+'","'+c+'","iconon");return false;\'>'+rs.phrases.show+"</a></li>";thestring+="<li class=";if(f=="iconoff"){thestring+="rs_active "}thestring+="><a href='JavaScript:void(0);' onclick='rs.settings.usePopupButton=false;rs.changeSettings(\""+b+'","'+c+'","iconoff");return false;\'>'+rs.phrases.hide+"</a></li>";thestring+="</ul></fieldset><fieldset class='rs_block'><legend>"+rs.phrases.speed+"</legend><ul>";thestring+="<li class=";if(d=="slow"){thestring+="rs_active "}thestring+="><a href='JavaScript:void(0);' onclick='rs.changeSettings(\""+b+'","'+c+'","slow");return false;\'>'+rs.phrases.slow+"</a></li>";thestring+="<li class=";if(d=="medium"){thestring+="rs_active "}thestring+="><a href='JavaScript:void(0);' onclick='rs.changeSettings(\""+b+'","'+c+'","medium");return false;\'>'+rs.phrases.medium+"</a></li>";thestring+="<li class=";if(d=="fast"){thestring+="rs_active "}thestring+="><a href='JavaScript:void(0);' onclick='rs.changeSettings(\""+b+'","'+c+'","fast");return false;\'>'+rs.phrases.fast+"</a></li>";thestring+="</ul></fieldset></div><div style='clear: both;'></div>";var a=document.getElementById("controls");if(a!==null){a.style.display="block";a.innerHTML=thestring}},changeSettings:function(a,b,c){if(rs.html5.inUse){rs.html5.stop()}if(rs.state=="PLAYING_NO_SELECTION"){rs.state="SETTINGS_CHANGED_PLAYING_NO_SELECTION"}else{rs.state="SETTINGS_CHANGED_PLAYING_USER_SELECTION"}rs.setstyle(c);rs.readpage(a,b)},copyselected:function(a){rs.popup.mouseRel(a);setTimeout("rs.getSelectedHTML()",50);return true},getSelectedHTML:function(){var b=undefined;var a=undefined;if(window.getSelection){a=window.getSelection();if(!a.isCollapsed){if(a.getRangeAt){b=a.getRangeAt(0)}else{b=document.createRange();b.setStart(a.anchorNode,a.anchorOffset);b.setEnd(a.focusNode,a.focusOffset)}if(b){DOM=b.cloneContents();object=document.createElement("div");object.appendChild(DOM.cloneNode(true));rs.selectedString=object.innerHTML}else{rs.selectedString=a}}}else{if(document.selection){a=document.selection;b=a.createRange();if(b&&b.htmlText&&b.text&&b.text.length>0){rs.selectedString=b.htmlText}else{if(b&&b.text){rs.selectedString=b.text}}}else{if(document.getSelection){rs.selectedString=document.getSelection()}}}rs.popup.button();if(rs.selectedString.length>0&&rs.state=="NO_ACTION"){rs.state="USER_SELECTION"}else{if(rs.selectedString.length>0&&rs.state=="PLAYING_USER_SELECTION"){rs.state="USER_SELECTION_WHILE_PLAYING_USER_SELECTION"}else{if(rs.selectedString.length>0&&rs.state=="PLAYING_NO_SELECTION"){rs.state="USER_SELECTION_WHILE_PLAYING_NO_SELECTION"}}}},cleanup:function(){if(document.selection){if(rs.state=="USER_SELECTION"||rs.state=="USER_SELECTION_WHILE_PLAYING_USER_SELECTION"||rs.state=="USER_SELECTION_WHILE_PLAYING_NO_SELECTION"){if(rs.oldwordhl_IE.length>0){for(var c=0;c<rs.oldwordhl_IE.length;c++){rs.oldwordhl_IE[c].className=rs.oldwordhlclass_IE[c]}rs.oldwordhlclass_IE=[];rs.oldwordhl_IE=[]}if(rs.oldsenthl_IE.length>0){for(var c=0;c<rs.oldsenthl_IE.length;c++){rs.oldsenthl_IE[c].className=rs.oldsenthlclass_IE[c]}rs.oldsenthl_IE=[];rs.oldsenthlclass_IE=[]}}if(rs.oldwordhlrange_IE.length>0){for(var c=0;c<rs.oldwordhlrange_IE.length;c++){if(rs.oldwordhlbackcol_IE[c]&&rs.oldwordhlforecol_IE){rs.oldwordhlrange_IE[c].execCommand("backcolor",0,rs.oldwordhlbackcol_IE[c]);if(rs.oldwordhlforecol_IE[c]!==null){rs.oldwordhlrange_IE[c].execCommand("forecolor",0,rs.oldwordhlforecol_IE[c])}}}rs.oldwordhlrange_IE=[];rs.oldwordhlbackcol_IE=[];rs.oldwordhlforecol_IE=[]}if(rs.oldsenthlrange_IE.length>0){for(var c=0;c<rs.oldsenthlrange_IE.length;c++){if(rs.oldsenthlbackcol_IE[c]&&rs.oldsenthlforecol_IE){rs.oldsenthlrange_IE[c].execCommand("backcolor",0,rs.oldsenthlbackcol_IE[c]);if(rs.oldsenthlforecol_IE[c]!==null){rs.oldsenthlrange_IE[c].execCommand("forecolor",0,rs.oldsenthlforecol_IE[c])}}}rs.oldsenthlrange_IE=[];rs.oldsenthlbackcol_IE=[];rs.oldsenthlforecol_IE=[]}if(rs.state!="SETTINGS_CHANGED_PLAYING_USER_SELECTION"&&rs.state!="PLAYING_USER_SELECTION"){rs.selectedWordsRange=[]}}else{if(rs.state=="USER_SELECTION"||rs.state=="USER_SELECTION_WHILE_PLAYING_USER_SELECTION"||rs.state=="USER_SELECTION_WHILE_PLAYING_NO_SELECTION"){var d=document.getElementsByTagName("RS:SPAN");for(c=d.length-1;c>-1;c--){d[c].className=d[c].className.replace("sync_sent_highlighted","");d[c].className=d[c].className.replace("sync_word_highlighted","")}var d=document.getElementsByTagName("RSI:SPAN");for(c=d.length-1;c>-1;c--){d[c].className=d[c].className.replace("sync_sent_highlighted","");d[c].className=d[c].className.replace("sync_word_highlighted","")}}if(rs.state=="PLAYING_USER_SELECTION"||rs.state=="SETTINGS_CHANGED_PLAYING_USER_SELECTION"){if(rs.oldwordhl_FF.length>0){for(var c=0;c<rs.oldwordhl_FF.length;c++){rs.oldwordhl_FF[c].className=rs.oldwordhlclass_FF[c]}rs.oldwordhlclass_FF=[];rs.oldwordhl_FF=[]}if(rs.oldsenthl_FF.length>0){for(var c=0;c<rs.oldsenthl_FF.length;c++){rs.oldsenthl_FF[c].className=rs.oldsenthlclass_FF[c]}rs.oldsenthl_FF=[];rs.oldsenthlclass_FF=[]}}if(rs.state=="CLOSE"||rs.state=="PLAYING_NO_SELECTION"){rs.cleanUpSpans()}}if(rs.state=="CLOSE"||rs.state=="PLAYING_NO_SELECTION"&&rs.data.restorehtml!=null&&rs.data.readid!=null){var b=null;for(var a=0;a<rs.data.readid.length;a++){b=document.getElementById(rs.data.readid[a]);if(b&&rs.data.restorehtml[a]!==null){b.innerHTML=rs.data.restorehtml[a]}}}if(rs.html5.inUse&&rs.oldbodyclass){document.body.className=rs.html5.oldbodyclass}if(rs.state=="CLOSE"){rs.state="NO_ACTION";rs.data.restorehtml=[];rs.data.readid=[]}},rshlsetContent:function(a){rs.newhtml+=a},rshlsetId:function(a){rs.data.current.readid=a},rshlinit:function(){if(rs.state=="PLAYING_USER_SELECTION"||rs.state=="USER_SELECTION_WHILE_PLAYING_USER_SELECTION"){rs.firstrun=1;if(document.selection){document.selection.empty()}else{rs.identifyElementsReplacementNode(document.body)}rs.newhtml=""}else{if(rs.thesync!="none"){var a=null;if(rs.data.current.readid!==null){a=document.getElementById(rs.data.current.readid)}if(a!==null){a.innerHTML=rs.newhtml;rs.newhtml=""}}else{rs.newhtml=""}}rs.removeiFrames()},rshlsync:function(d,f){var a=false;if((d&2)==0){if((d&1)!=0){a=true}else{a=false}}if(rs.state=="PLAYING_USER_SELECTION"||rs.state=="USER_SELECTION_WHILE_PLAYING_USER_SELECTION"){if(document.selection){var e;e=rs.selectedWordsRange[f];if(rs.firstrun==1){rs.firstrun=0;if(rs.oldsenthlrange_IE&&rs.oldsenthlrange_IE.length>0){for(var c=0;c<rs.oldsenthlrange_IE.length;c++){if(rs.oldsenthlbackcol_IE[c]&&rs.oldsenthlforecol_IE){rs.oldsenthlrange_IE[c].execCommand("backcolor",0,rs.oldsenthlbackcol_IE[c]);if(rs.oldsenthlforecol_IE[c]!==null){rs.oldsenthlrange_IE[c].execCommand("forecolor",0,rs.oldsenthlforecol_IE[c])}}}rs.oldsenthlrange_IE=[];rs.oldsenthlbackcol_IE=[];rs.oldsenthlforecol_IE=[]}if(rs.selectedWordsRange&&rs.selectedWordsRange.length>0&&rs.thesync=="wordsent"){for(var c=0;c<rs.selectedWordsRange.length;c++){if(rs.selectedWordsRange[c]){rs.oldsenthlrange_IE.push(rs.selectedWordsRange[c]);rs.oldsenthlbackcol_IE.push(rs.selectedWordsRange[c].queryCommandValue("backcolor"));rs.oldsenthlforecol_IE.push(rs.selectedWordsRange[c].queryCommandValue("forecolor"));if(rs.selectedWordsRange[c].text!=""){rs.selectedWordsRange[c].execCommand("backcolor",0,rs.settings.sentColor);rs.selectedWordsRange[c].execCommand("forecolor",0,rs.settings.textColor)}}}}}if(rs.thesync=="wordsent"||rs.thesync=="sent"||rs.thesync=="word"||rs.thesync==""){if(!a&&rs.oldwordhlrange_IE.length>0){for(var c=0;c<rs.oldwordhlrange_IE.length;c++){if(rs.thesync=="word"||rs.thesync=="sent"){rs.oldwordhlrange_IE[c].execCommand("backcolor",0,rs.oldwordhlbackcol_IE[c])}else{rs.oldwordhlrange_IE[c].execCommand("backcolor",0,rs.settings.sentColor)}rs.oldwordhlrange_IE[c].execCommand("forecolor",0,rs.oldwordhlforecol_IE[c])}rs.oldwordhlrange_IE=[];rs.oldwordhlbackcol_IE=[];rs.oldwordhlforecol_IE=[]}rs.oldwordhlbackcol_IE.push(e.queryCommandValue("backcolor"));rs.oldwordhlforecol_IE.push(e.queryCommandValue("forecolor"));rs.oldwordhlrange_IE.push(e);if(rs.thesync=="sent"){e.execCommand("backcolor",0,rs.settings.sentColor)}else{e.execCommand("backcolor",0,rs.settings.wordColor)}e.execCommand("forecolor",0,rs.settings.textColor)}}else{var e;e=rs.selectedWordsRange["sync"+(f)];if(e.className.replace("word","")!=e.className){if(rs.oldwordhl_FF&&rs.oldwordhl_FF.length>0&&rs.oldwordhlclass_FF&&rs.oldwordhlclass_FF.length>0&&!a){for(var c=0;c<rs.oldwordhl_FF.length;c++){rs.oldwordhl_FF[c].className=rs.oldwordhlclass_FF[c]}rs.oldwordhlclass_FF=[];rs.oldwordhl_FF=[]}if(rs.thesync=="wordsent"||rs.thesync=="sent"||rs.thesync=="word"||rs.thesync==""){rs.oldwordhlclass_FF.push(e.className);rs.oldwordhl_FF.push(e);if(rs.thesync=="sent"){e.className="sync_sent_highlighted"}else{e.className="sync_word_highlighted"}}}if(rs.firstrun==1){rs.firstrun=0;if(rs.oldsenthl_FF.length>0){for(var c=0;c<rs.oldsenthl_FF.length;c++){rs.oldsenthl_FF[c].className=rs.oldsenthlclass_FF[c]}rs.oldsenthl_FF=[];rs.oldsenthlclass_FF=[]}if(rs.thesync!="none"&&rs.thesync!="word"&&rs.thesync!="sent"){var b=rs.returnClassArraySubstring("ffsent"+rs.seltexttimes+" ");for(var c=0;c<b.length;c++){rs.oldsenthl_FF[c]=b[c];rs.oldsenthlclass_FF[c]=rs.oldsenthl_FF[c].className;b[c].className="sync_sent_highlighted"}}}}}else{if(document.selection){var e;e=document.getElementById("sync"+(f));if(e&&e.className.replace("word","")!=e.className){if(!a&&rs.oldwordhl_IE.length>0){for(var c=0;c<rs.oldwordhl_IE.length;c++){rs.oldwordhl_IE[c].className=rs.oldwordhlclass_IE[c]}rs.oldwordhl_IE=[];rs.oldwordhlclass_IE=[]}rs.oldwordhlclass_IE.push(e.className);rs.oldwordhl_IE.push(e);e.className="sync_word_highlighted"}else{if(e&&e.className.replace("sent","")!=e.className){if(!a&&rs.oldsenthl_IE.length>0){for(var c=0;c<rs.oldsenthl_IE.length;c++){rs.oldsenthl_IE[c].className=rs.oldsenthlclass_IE[c]}rs.oldsenthl_IE=[];rs.oldsenthlclass_IE=[]}rs.oldsenthlclass_IE.push(e.className);rs.oldsenthl_IE.push(e);e.className="sync_sent_highlighted"}}}else{var e;e=document.getElementById("sync"+(f));if(e&&e.className.replace("word","")!=e.className){if(!a&&rs.oldwordhl_FF.length>0){for(var c=0;c<rs.oldwordhl_FF.length;c++){rs.oldwordhl_FF[c].className=rs.oldwordhlclass_FF[c]}rs.oldwordhl_FF=[];rs.oldwordhlclass_FF=[]}rs.oldwordhlclass_FF.push(e.className);rs.oldwordhl_FF.push(e);e.className="sync_word_highlighted"}else{if(e&&e.className.replace("sent","")!=e.className){if(!a&&rs.oldsenthl_FF.length>0){for(var c=0;c<rs.oldsenthl_FF.length;c++){rs.oldsenthl_FF[c].className=rs.oldsenthlclass_FF[c]}rs.oldsenthl_FF=[];rs.oldsenthlclass_FF=[]}rs.oldsenthlclass_FF.push(e.className);rs.oldsenthl_FF.push(e);e.className="sync_sent_highlighted"}}}}},selectRange:function(){rs.seltexttimes++;if(document.selection){rs.selectedRange=document.selection.createRange().duplicate();return rs.selectRangeIE(rs.selectedRange,-1)}else{var a="";var b=window.getSelection().getRangeAt(0);rs.start=b.startContainer;rs.stop=b.endContainer;rs.startOffset=rs.modifyOffsetStartOfWord(rs.start,b.startOffset);rs.endOffset=rs.modifyOffsetEndOfWord(rs.stop,b.endOffset);rs.bmindex++;rs.sentbmindex=rs.bmindex;rs.bmindex++;rs.startofsentence=1;a=rs.rangeMarkupGecko(b.commonAncestorContainer);window.getSelection().removeAllRanges();return(a)}},selectRangeIE:function(m){var o=m.duplicate();m.moveStart("word",-1);m.moveStart("word",1);if(!o.isEqual(m)){m.moveStart("word",-1)}o=m.duplicate();m.moveEnd("word",1);m.moveEnd("word",-1);if(!o.isEqual(m)){m.moveEnd("word",1)}var l=m.duplicate();var p=0;var s="";var v=1;var k=m.parentElement();var t=0;l.collapse();var a=l.duplicate();a.collapse(false);var g=0;while(m.inRange(l)&&m.compareEndPoints("EndToEnd",l)!=0){g++;p++;if(p>10000){break}l.collapse(false);l.expand("word",1);var h="";var b="";var r=l.duplicate();r.collapse(false);a.collapse(false);if(a.compareEndPoints("StartToStart",r)==0&&a.compareEndPoints("EndToEnd",r)==0&&r.htmlText==a.htmlText){t++;if(t<2){l.move("character",1)}else{if(t<4){l.move("character",2)}else{if(t<6){l.move("word",1)}else{if(t<8){l.move("word",2)}else{if(t<10){l.move("sentence",1)}else{if(t<12){l.move("sentence",2)}else{break}}}}}}l.collapse(false)}else{t=0;if(g==-1){return l}rs.selectedWordsRange[g]=l.duplicate();var q=l.text;var f=l.htmlText;l.collapse(false);var e;if(v){lastPos=l.duplicate();e=rs.iterateParentTree(lastPos.parentElement(),document.body,k,0)}else{e=rs.iterateParentTree(l.parentElement(),lastPos.parentElement(),k,0)}var c=rs.iterateParentTree(lastPos.parentElement(),l.parentElement(),k,0);var u=l.parentElement();for(var n=0;n<e&&n<20;n++){if(!u.className.match("sync_")){h=u.outerHTML.match("<[^>]*>")[0]+h}u=u.parentElement}var u=lastPos.parentElement();for(var n=0;n<c&&n<20;n++){if(!u.className.match("sync_")){b+="</"+u.tagName+">"}u=u.parentElement}if(e!=0||c!=0){lastPos=l.duplicate()}if(v){s+=h;v=0}else{s+=b+h}if(f.replace("sync_sent_highlighted","")!=""){s+="<rs:span class='sync_user' id='sync"+g+"'>"+q+"</rs:span>"}a=l.duplicate()}}s+="<!-- f -->";var c=rs.iterateParentTree(lastPos.parentElement(),document.body,k,0);var u=lastPos.parentElement();for(var n=0;n<c;n++){if(!u.className.match("sync_")){s+="</"+u.tagName+">"}u=u.parentElement}l.collapse();return(s)},iterateParentTree:function(b,d,f,a){var e=d;while(e!==null){if(b==f){return a}else{if(b==e){return a}}e=e.parentElement}a++;return rs.iterateParentTree(b.parentElement,d,f,a)},rangeMarkupGecko:function(d){rs.firstrun=1;var f="";var c=rs.inc;if(d.nodeType==3){f+=rs.markup(d)}else{var b;var a="";if(d.hasChildNodes()){for(b=0;b<d.childNodes.length;b++){var g=d.childNodes.item(b);if(g==rs.start){rs.inc=1}if(d==rs.start&&b==rs.startOffset){rs.inc=1}if(g.nodeType!=8){a+=rs.rangeMarkupGecko(g)}if(d==rs.stop&&b==rs.endOffset){rs.inc=0;break}if(g==rs.stop){rs.inc=0;break}}}if((c||rs.inc)&&(!d.className||(d.className.replace("sync")==d.className&&d.id.replace("sync")==d.id))){var e=document.createElement("div");e.appendChild(d.cloneNode(true));tempdivtag=e.innerHTML.match("<[^>]*>");if(tempdivtag!==null&&tempdivtag.length>0){f+=tempdivtag[0];f+=a;f+="</"+d.nodeName+">"}else{f+=a}}else{f+=a}if(d.hasChildNodes()){for(b=0;b<d.childNodes.length;b++){if(d==rs.stop&&b==rs.endOffset){rs.inc=0;break}if(g==rs.stop){rs.inc=0;break}}}}return f.replace(/rsi:span/g,"rs:span")},markup:function(e){var b=true;var g="";var c;var f="";var h="";var a=e.nodeValue;if((e==rs.start&&rs.startOffset!=-1)&&(e==rs.stop&&rs.endOffset!=-1)){f=e.nodeValue.substring(0,rs.startOffset);a=e.nodeValue.substring(rs.startOffset,rs.endOffset);h=e.nodeValue.substring(rs.endOffset);rs.inc=1}else{if(e==rs.start&&rs.startOffset!=-1){f=e.nodeValue.substring(0,rs.startOffset);a=e.nodeValue.substring(rs.startOffset);rs.inc=1}else{if(e==rs.stop&&rs.endOffset!=-1){a=e.nodeValue.substring(0,rs.endOffset);h=e.nodeValue.substring(rs.endOffset);rs.inc=1}}}if(!rs.inc){return""}for(var c=0;c<rs.exludednodes.length;c++){if(e.parentNode&&e.parentNode.nodeName.toLowerCase()==rs.exludednodes[c]){b=false;g=rs.htmlencode(a);break}}if(b){g=rs.markupSentences(rs.htmlencode(a),null)}if(e==rs.stop&&rs.endOffset!=-1){rs.inc=0}if(b&&e.parentNode!==null&&a!=""){var d=rs.createreplacementnode(f+g+h,getComputedStyle(e.parentNode,null));e.parentNode.insertBefore(d,e);e.parentNode.removeChild(e)}return g},markupSentences:function(c){var a=rs.splitString(c,new Array(", ",". ","! ","? ",decodeURIComponent("%e3%80%81"),decodeURIComponent("%e3%80%82")));if(!a){return""}var d="";var e=[];for(var b=0;b<a.length;b++){d+="<rsi:span class=' ffsent"+rs.seltexttimes+" cj"+rs.seltexttimes+"' ";d+="id='sync"+(rs.sentbmindex)+"'";rs.startofsentence=0;d+=">";d+=rs.markupWords(a[b]);d+="</rsi:span>"}return d},markupWords:function(c){var d=rs.splitString(c," ");if(!d){return""}var b="";var e=[];for(var a=0;a<d.length;a++){b+="<rsi:span class='sync_user word ck"+rs.seltexttimes+"'";b+=" id='sync"+(rs.bmindex++)+"'";b+=">";b+=(d[a]);b+="</rsi:span>"}return b},trim:function(a){return a.replace(/^\s+|\s+$/g,"")},htmlencode:function(b){var c=document.createElement("div");var a=document.createTextNode(b);c.appendChild(a);return c.innerHTML},identifyElementsReplacementNode:function(b){if(b.tagName&&b.tagName=="RSI:SPAN"&&b.id){rs.selectedWordsRange[b.id]=b}if(b.hasChildNodes()){for(var a=0;a<b.childNodes.length;a++){var c=b.childNodes.item(a);rs.identifyElementsReplacementNode(c)}}},createreplacementnode:function(c,a){var b=document.createElement("rsi:span");b.innerHTML=c;b.setAttribute("class","synctemp cl"+rs.seltexttimes);return b},modifyOffsetStartOfWord:function(b,d){var c=new Array(" ",", ",". ","! ","? ",decodeURIComponent("%e3%80%81"),decodeURIComponent("%e3%80%82"));while(b.nodeValue&&d!=0){for(var a=0;a<c.length;a++){breakstr=c[a];if(b.nodeValue.substring(d-1).indexOf(breakstr)==0){return d}}d--}return d},modifyOffsetEndOfWord:function(b,d){var c=new Array(" ",", ",". ","! ","? ",decodeURIComponent("%e3%80%81"),decodeURIComponent("%e3%80%82"));while(b.nodeValue&&d!=b.nodeValue.length){for(var a=0;a<c.length;a++){breakstr=c[a];if(b.nodeValue.substring(d-1).indexOf(breakstr)==0){return d}}d++}return d},returnClassArraySubstring:function(b){var c=document.getElementsByTagName("*");var d=0;var a=[];for(i=0;i<c.length;i++){if(c[i].className.replace(b,"")!=c[i].className){a[d]=c[i];d++}}return a},cleanUpSpans:function(){var b=document.getElementsByTagName("RSI:SPAN");var a;for(i=b.length-1;i>-1;i--){a=document.createDocumentFragment();for(j=0;j<b[i].childNodes.length;j++){a.appendChild(b[i].childNodes[j].cloneNode(true))}b[i].parentNode.replaceChild(a,b[i])}},splitString:function(h,c){var m=new Array("");var e=0;for(var f=0;f<h.length;f++){for(var d=0;d<c.length;d++){var g=c[d];var a=true;for(var b=0;b<g.length;b++){if(h.length-(f+b)<0||g[g.length-b-1]!=h[f-b-1]){a=false;break}}if(a){e++;m[e]=""}}m[e]+=h[f]}return m},popup:{buttonExists:null,mouse_y_startpos:null,mouse_x_pos:null,mouse_y_pos:null,player_x_pos:null,player_y_pos:null,time:null,viewportwidth:null,viewportheight:null,button:function(){if(rs.popup.mouse_x_pos&&rs.popup.mouse_y_pos&&rs.selectedString.length>0){if(!document.getElementById("rs_selimg")){var h=null;var o=document.getElementsByTagName("A");var b=[];for(var f=0;f<o.length;f++){b[f]=o[f]}for(var e=0;e<b.length;e++){if(b[e].getAttribute("href")&&b[e].getAttribute("href").indexOf(rs.settings.appserverhost+"/cgi-bin/"+rs.settings.rsent)!=-1&&b[e].id!="rsSaveBtn"){rs.popup.buttonExists=true;if(!rs.usersicon&&b[e].getElementsByTagName("img").length>0){h=b[e].getElementsByTagName("img")[0].src}for(var g=0;g<b[e].attributes.length;g++){if(b[e].attributes[g].nodeName.toLowerCase()=="href"){var a=b[e].attributes[g].nodeValue}else{if(b[e].attributes[g].nodeName.toLowerCase()=="onclick"){var n=b[e].attributes[g].nodeValue}}}break}}if(rs.popup.buttonExists){var l=document.createElement("img");if(rs.settings.useReadspeakerIcon||!h){h=rs.settings.protocol+"//media.readspeaker.com/images/buttons/listen_icons/icon_16px.gif"}l.setAttribute("src",h);l.style.border="none";l.setAttribute("alt",rs.phrases.listentoselectedtext);l.setAttribute("title",rs.phrases.listentoselectedtext);var m=document.createElement("a");m.setAttribute("id","rs_selimg");m.setAttribute("href",a);if(rs.settings.usePopupPlayer){n="readpage(this.href,'rs_popup_player'); return false;"}if(n==""){n="readpage(this.href,'xp1'); return false;"}m.setAttribute("onclick","clearTimeout(rs.popup.time);rs.popup.setVisibility();"+n);m.setAttribute("onmouseover","clearTimeout(rs.popup.time);");m.setAttribute("onmouseout","rs.popup.hideIcon();");m.onclick=new Function("clearTimeout(rs.popup.time);rs.popup.setVisibility();"+n);m.onmouseover=new Function("clearTimeout(rs.popup.time);");m.onmouseout=new Function("rs.popup.hideIcon();");m.appendChild(l);var c=document.createDocumentFragment();c.appendChild(m);document.body.appendChild(c)}}if(rs.popup.buttonExists){var p=document.getElementById("rs_selimg");p.style.top=rs.popup.mouse_y_pos+"px";p.style.left=rs.popup.mouse_x_pos+"px";rs.popup.player_y_pos=rs.popup.mouse_y_pos+"px";rs.popup.player_x_pos=rs.popup.mouse_x_pos+"px";var d=rs.loadSettings("ReadSpeakerHLicon");if(d==""){if(rs.settings.usePopupButton){d="iconon"}else{d="iconoff"}}if(d=="iconoff"){p.style.display="none"}else{p.style.display="inline"}rs.popup.hideIcon()}}},player:function(b){var f=encodeURIComponent(rs.issuePOST(b+"&audioformat=flv&sync=user&speed="+rs.thespeed+"&rsjs_ver="+rs.settings.version+"&syncalignuser="+rs.thesync,rs.selhtml));var d=rs.issuePOST(b+"&speed="+rs.thespeed+"&rsjs_ver="+rs.settings.version,rs.selhtml);var e=document.getElementById(rs.data.current.playerid);if(!e){var h=document.createElement("div");h.setAttribute("id","rs_popup_player");var c=document.createDocumentFragment();c.appendChild(h);document.body.appendChild(c);e=document.getElementById(rs.data.current.playerid)}e.style.top=rs.popup.player_y_pos;e.style.left=rs.popup.player_x_pos;var g="<div style='height: 15px;'><span style='position: absolute; top: 0px; left: 0px;'><object type='application/x-shockwave-flash' data='"+rs.settings.flashLink+"?flv="+f+rs.settings.flashParams+"&rplayer=mini&text_play="+rs.phrases.play+"&text_pause="+rs.phrases.pause+"&text_stop="+rs.phrases.stop+"&text_vol="+rs.phrases.volume+"' style='height:20px; width:60px;'>";g+="<param name='movie' value='"+rs.settings.flashLink+"?flv="+f+rs.settings.flashParams+"&rplayer=mini&text_play="+rs.phrases.play+"&text_pause="+rs.phrases.pause+"&text_stop="+rs.phrases.stop+"&text_vol="+rs.phrases.volume+"'>";g+="<param name='quality' value='high'><param name='autostart' value='true'>";g+="<param name='allowScriptAccess' value='"+rs.settings.allowScriptAccess+"'><param name='bgcolor' value='#FFFFFF'>";g+="<param name='loop' value='false'><a id='rsSaveBtn' href='"+d+"' target='rs'>"+rs.phrases.nosound+"</a></object></span>";g+="<span style='position: absolute; top: 4px; right: 4px;'><a href='JavaScript:void(0);' onclick='rs.closepage(\""+rs.data.current.playerid+"\");return false'><img style='border-style: none !important; margin: 0px !important;' src='"+rs.settings.protocol+"//media.readspeaker.com/images/enterprise/default/close.png' title='"+rs.phrases.closeplayer+"' alt='"+rs.phrases.closeplayer+"'></a></span></div>";g+="<span id='rs_popup_link' style='position: absolute; top: 4px; right: 21px;'><a href='JavaScript:void(0);' onclick='rs.showcontrols(\""+b+'","'+rs.data.current.playerid+"\");return false'><img style='width: 13px; height: 13px; border-style: none !important;' src='"+rs.settings.protocol+"//media.readspeaker.com/images/enterprise/default/wrench.png' alt='"+rs.phrases.settings+"' title='"+rs.phrases.settings+"'></a></span>";g+="<div id='controls'></div>";var a=document.getElementById(rs.data.current.playerid);if(a){a.innerHTML=g;a.style.display="block"}},hideIcon:function(){if(rs.popup.time){clearTimeout(rs.popup.time)}rs.popup.time=setTimeout("rs.popup.setVisibility()",2500)},setVisibility:function(){if(document.getElementById("rs_selimg")){document.getElementById("rs_selimg").style.display="none"}},mousePress:function(a){if(!a){var a=window.event}a.cancelBubble=true;if(a.stopPropagation){a.stopPropagation()}if(a.pageX||a.pageY){rs.popup.mouse_y_startpos=a.pageY}else{if(a.clientX||a.clientY){rs.popup.mouse_y_startpos=a.clientY+document.body.scrollTop+document.documentElement.scrollTop}}return true},mouseRel:function(a){if(!a){var a=window.event}a.cancelBubble=true;if(a.stopPropagation){a.stopPropagation()}var b=null;var c=null;rs.popup.getViewportSize();if(a.pageX||a.pageY){b=a.pageY;c=a.pageX}else{if(a.clientX||a.clientY){b=a.clientY+document.body.scrollTop+document.documentElement.scrollTop;c=a.clientX+document.body.scrollLeft+document.documentElement.scrollLeft}}if(b>rs.popup.mouse_y_startpos){if((b+20)>(rs.popup.viewportheight-30)){rs.popup.mouse_y_pos=b-40}else{rs.popup.mouse_y_pos=b+20}}else{if((b-40)<10){rs.popup.mouse_y_pos=b+20}else{rs.popup.mouse_y_pos=b-40}}if(c<5){rs.popup.mouse_x_pos=c+30}else{if(c>rs.popup.viewportwidth-80){rs.popup.mouse_x_pos=c-80}else{rs.popup.mouse_x_pos=c+15}}return true},getViewportSize:function(){if(typeof window.innerWidth!="undefined"){rs.popup.viewportwidth=window.innerWidth+document.body.scrollLeft+document.documentElement.scrollLeft;rs.popup.viewportheight=window.innerHeight+document.body.scrollTop+document.documentElement.scrollTop}else{if(typeof document.documentElement!="undefined"&&typeof document.documentElement.clientWidth!="undefined"&&document.documentElement.clientWidth!=0){rs.popup.viewportwidth=document.documentElement.clientWidth+document.body.scrollLeft+document.documentElement.scrollLeft;rs.popup.viewportheight=document.documentElement.clientHeight+document.body.scrollTop+document.documentElement.scrollTop}else{rs.popup.viewportwidth=document.getElementsByTagName("body")[0].clientWidth+document.body.scrollLeft+document.documentElement.scrollLeft;rs.popup.viewportheight=document.getElementsByTagName("body")[0].clientHeight+document.body.scrollTop+document.documentElement.scrollTop}}}},base64:{encode:function(f){newdata=encodeURIComponent(f);var g=0;var e=0;var b=[];for(;g<newdata.length;g++){if(newdata.charCodeAt(g)!="%".charCodeAt(0)){b[e]=newdata.charCodeAt(g)}else{b[e]=parseInt("0x"+newdata.charAt(g+1)+""+newdata.charAt(g+2));g=g+2}e++}var l=b.length;var c=4*parseInt((l+2)/3);var h=new String();var k=parseInt(l/3);var a;var d=l-3*k;g=0;for(;g<3*k;g+=3){a=rs.base64.chars(b[g]>>2);h+=a;a=rs.base64.chars(((b[g]&3)<<4)|(b[g+1]>>4));h+=a;a=rs.base64.chars(((b[g+1]&15)<<2)|(b[g+2]>>6));h+=a;a=rs.base64.chars(b[g+2]&63);h+=a}if(d==1){h+=rs.base64.chars(b[g]>>2);h+=rs.base64.chars((b[g]&3)<<4);h+="=";h+="="}if(d==2){h+=rs.base64.chars(b[g]>>2);h+=rs.base64.chars(((b[g]&3)<<4)|(b[g+1]>>4));h+=rs.base64.chars((b[g+1]&15)<<2);h+="="}return h},decode:function(f){var h="";var d="";var g=0;var c=0;var e="";var b=f.length;while(g<b){if(rs.base64.value(f[g])!=-1){e=f.substring(g,g+4);c=0;for(i=0;i<4;i++){if(e[i]=="="){c++}}for(i=0;i<3-c;i++){if(i==0){d=(rs.base64.value(e[0])<<2)|((rs.base64.value(e[1])&48)>>4)}else{if(i==1){d=((rs.base64.value(e[1])&15)<<4)|((rs.base64.value(e[2])&60)>>2)}else{if(i==2){d=((rs.base64.value(e[2])&3)<<6)|rs.base64.value(e[3])}}}var a=d.toString(16);if(a.length==1){a="0"+a}h+="%"+a}g+=4}else{g++}}return decodeURIComponent(h)},value:function(a){var b=a.charCodeAt(0);if(b>="A".charCodeAt(0)&&b<="Z".charCodeAt(0)){return b-"A".charCodeAt(0)}else{if(b>="a".charCodeAt(0)&&b<="z".charCodeAt(0)){return b-"a".charCodeAt(0)+26}else{if(b>="0".charCodeAt(0)&&b<="9".charCodeAt(0)){return b-"0".charCodeAt(0)+52}else{if(b=="+".charCodeAt(0)){return 62}else{if(b=="/".charCodeAt(0)){return 63}else{return -1}}}}}},chars:function(a){if(a<26){return String.fromCharCode(a+"A".charCodeAt(0))}else{if(a<52){return String.fromCharCode(a+"a".charCodeAt(0)-26)}else{if(a<62){return String.fromCharCode(a+"0".charCodeAt(0)-52)}else{if(a==62){return"+"}else{if(a==63){return"/"}else{return String.fromCharCode(0)}}}}}}},html5:{STATE_BEGIN:0,STATE_USER_START_NOT_READY:1,STATE_USER_START_PLAYING:2,state:0,inUse:false,audioelement:null,lastcurrenttime:-1,currentsyncindex:0,oldbodyclass:null,lastevent:null,lastlastevent:null,lastlastlastevent:null,synclist:new Array(),synclistindex:0,url:null,iframeurl:null,player:function(b){var d=Math.random();if(rs.settings.usePost){rs.html5.url=rs.issuePOST(b+"&requestgrouptype=html5iframe&sync="+rs.thesync+"&speed="+rs.thespeed+"&rsjs_ver="+rs.settings.version+"&audioformat=mp3&requestgroup="+d,"<div id='"+rs.data.current.readid+"'>"+rs.data.current.restorehtml+"</div>");rs.html5.iframeurl=rs.issuePOST(b+"&requestgrouptype=html5iframe&sync="+rs.thesync+"&speed="+rs.thespeed+"&rsjs_ver="+rs.settings.version+"&audioformat=html5iframe&requestgroupid="+d,"<div id='"+rs.data.current.readid+"'>"+rs.data.current.restorehtml+"</div>");var c=rs.issuePOST(b+"&speed="+rs.thespeed+"&rsjs_ver="+rs.settings.version,"<div id='"+rs.data.current.readid+"'>"+rs.data.current.restorehtml+"</div>")}else{rs.html5.url=b+"&requestgrouptype=html5iframe&sync="+rs.thesync+"&speed="+rs.thespeed+"&rsjs_ver="+rs.settings.version+"&audioformat=mp3&requestgroup="+d;rs.html5.iframeurl=b+"&requestgrouptype=html5iframe&sync="+rs.thesync+"&speed="+rs.thespeed+"&rsjs_ver="+rs.settings.version+"&audioformat=html5iframe&requestgroupid="+d;var c=b+"&speed="+rs.thespeed+"&rsjs_ver="+rs.settings.version}rs.html5.oldbodyclass=document.body.className;document.body.className+=" rs_iphone";var e="<div id='rs_playerarea' style='width:310px; height: 39px;'><div style='margin-bottom: 2px; width: 100%; height: 20px;'>";e+="<div style='position: absolute; top: 4px; left: 4px;'><a id='rs_playbtn' href='JavaScript:void(0);'><img id='rs_playimg' style='border-style: none !important; margin: 0px !important; padding:0px !important;' src='http://media.readspeaker.com/images/enterprise/default/play2.png' title='"+rs.phrases.play+"' alt='"+rs.phrases.play+"'></a></div>";e+="<div style='position: absolute; top: 4px; left: 21px;'><a id='rs_pausebtn' href='JavaScript:void(0);'><img id='rs_pauseimg' style='border-style: none !important; margin: 0px !important; padding:0px !important;' src='http://media.readspeaker.com/images/enterprise/default/pause.png' title='"+rs.phrases.pause+"' alt='"+rs.phrases.pause+"'></a></div>";e+="<div style='position: absolute; top: 4px; left: 38px;'><a id='rs_stopbtn' href='JavaScript:void(0);'><img id='rs_stopimg' style='border-style: none !important; margin: 0px !important; padding:0px !important;' src='http://media.readspeaker.com/images/enterprise/default/stop.png' title='"+rs.phrases.stop+"' alt='"+rs.phrases.stop+"'></a></div>";e+="<div id='timeline'><div id='duration'></div><span id='durationtxt'></span></div>";e+="<div style='position: absolute; top: 2px; left: 231px;'><a href='http://www.readspeaker.com'><img style='border-style: none !important; margin: 0px !important; padding:0px !important;' src='http://media.readspeaker.com/images/buttons/listen_icons/icon_16px.gif' title='Go to the ReadSpeaker website' alt='Go to the ReadSpeaker website' /></a></div>";e+="<span style='position: absolute; top: 4px; right: 4px;'><a style='border-style: none;' href='JavaScript:void(0);' onclick='rs.html5.stop();rs.closepage(\""+rs.data.current.playerid+"\");return false'><img style='border-style: none !important; margin: 0px !important;' id='closebr' src='http://media.readspeaker.com/images/enterprise/default/close.png' alt='"+rs.phrases.closeplayer+"' title='"+rs.phrases.closeplayer+"'></a></span></div>";e+="<div id='bottomlinks'><a href='JavaScript:void(0);' class='rs_settings' onclick='rs.showcontrols(\""+b+'","'+rs.data.current.playerid+"\");return false'>"+rs.phrases.settings+"</a> | <a id='rsSaveBtn' href='"+c+"' target='rs'>"+rs.phrases.nosound+"</a> | "+rs.phrases.speechenabled+"</div>";e+="<div id='controls'></div>";e+="</div>";var a=document.getElementById(rs.data.current.playerid);if(a){a.innerHTML=e;a.style.display="block"}rs.html5.start()},start:function(){rs.html5.stop();var a=null;rs.html5.audioelement=new Audio(rs.html5.url);rs.html5.audioelement.setAttribute("controls","controls");rs.html5.audioelement.loop=false;rs.html5.audioelement.play();rs.html5.audioelement.addEventListener("ended",rs.html5.controls.stop,false);rs.html5.audioelement.addEventListener("timeupdate",rs.html5.controls.timer,false);var d=document.getElementById("rs_playbtn");d.addEventListener("click",rs.html5.controls.play,false);var c=document.getElementById("rs_pausebtn");c.addEventListener("click",rs.html5.controls.pause,false);var b=document.getElementById("rs_stopbtn");b.addEventListener("click",rs.html5.controls.stop,false);if(rs.thesync!="none"){if(!document.getElementById("synciframe")){a=document.createElement("iframe");a.setAttribute("id","synciframe")}else{a=document.getElementById("synciframe")}a.src=rs.html5.iframeurl;a.type="text/javascript";a.height=0;a.width=0;a.style.display="none";document.body.appendChild(a);rs.html5.refresh()}else{rs.html5.state=rs.html5.STATE_USER_START_PLAYING}},controls:{play:function(){if(rs.html5.audioelement){rs.html5.audioelement.play()}else{rs.html5.start(rs.html5.url)}if(document.getElementById("rs_playimg")){document.getElementById("rs_playimg").setAttribute("src","http://media.readspeaker.com/images/enterprise/default/play2.png")}if(document.getElementById("rs_pauseimg")){document.getElementById("rs_pauseimg").setAttribute("src","http://media.readspeaker.com/images/enterprise/default/pause.png")}if(document.getElementById("rs_stopimg")){document.getElementById("rs_stopimg").setAttribute("src","http://media.readspeaker.com/images/enterprise/default/stop.png")}},pause:function(){setTimeout("rs.html5.audioelement.pause()",200);if(document.getElementById("rs_pauseimg")){document.getElementById("rs_pauseimg").setAttribute("src","http://media.readspeaker.com/images/enterprise/default/pause2.png")}if(document.getElementById("rs_playimg")){document.getElementById("rs_playimg").setAttribute("src","http://media.readspeaker.com/images/enterprise/default/play.png")}},stop:function(){if(rs.html5.audioelement){rs.html5.audioelement.removeEventListener("timeupdate",rs.html5.controls.timer,false)}rs.html5.stop();rs.rshlexit();if(document.getElementById("rs_stopimg")){document.getElementById("rs_stopimg").setAttribute("src","http://media.readspeaker.com/images/enterprise/default/stop2.png")}if(document.getElementById("rs_playimg")){document.getElementById("rs_playimg").setAttribute("src","http://media.readspeaker.com/images/enterprise/default/play.png")}if(document.getElementById("rs_pauseimg")){document.getElementById("rs_pauseimg").setAttribute("src","http://media.readspeaker.com/images/enterprise/default/pause2.png")}var b=document.getElementById("duration");b.style.width="0%";var a=document.getElementById("durationtxt");a.innerHTML="00:00 | 00:00"},timer:function(){if(rs.html5.audioelement){var d=document.getElementById("duration");var l=document.getElementById("durationtxt");var b=rs.html5.audioelement.duration;var f=rs.html5.audioelement.currentTime;d.style.width=f/b*100+"%";if(!b){var g="00";var k="00";var a=""}else{var g=parseInt(b%60)+"";var k=parseInt((b/60)%60)+"";var a=parseInt(((b/60)/60)%60)+""}var n=parseInt(rs.html5.audioelement.currentTime%60)+"";var c=parseInt((rs.html5.audioelement.currentTime/60)%60)+"";var e=parseInt(((rs.html5.audioelement.currentTime/60)/60)%60)+"";if(a!=0){if(a.length<2){a=0+a+":"}if(e.length<2){e=0+e+":"}}else{a="";e=""}if(k.length<2){k=0+k}if(g.length<2){g=0+g}if(c.length<2){c=0+c}if(n.length<2){n=0+n}if(b){l.innerHTML=e+c+":"+n+" | "+a+k+":"+g}else{l.innerHTML="00:00 | 00:00"}}}},stop:function(){if(rs.html5.state!=rs.html5.STATE_BEGIN){if(rs.html5.audioelement){rs.html5.audioelement.pause()}rs.html5.audioelement=null;var a=document.getElementById("synciframe");if(a){a.src="about:blank"}}rs.html5.state=rs.html5.STATE_BEGIN;rs.html5.lastcurrenttime=-1;rs.html5.currentsyncindex=0;rs.html5.synclistindex=0;rs.html5.synclist=[]},receiveMessage:function(a){if(!a.origin.match(/readspeaker.com/gi)){return}if(rs.html5.lastevent!=null&&a.data=="rshlsetContent"){rshlsetContent(rs.base64.decode(rs.html5.lastevent.data))}else{if(rs.html5.lastevent!=null&&a.data=="rshlsetId"){rshlsetId(rs.html5.lastevent.data)}else{if(a.data=="rshlinit"){rshlinit()}else{if(rs.html5.lastlastlastevent!=null&&rs.html5.lastlastevent!=null&&rs.html5.lastevent!=null&&a.data=="rshlsync"){rs.html5.synclist[rs.html5.synclistindex]=[rs.html5.lastlastlastevent.data,rs.html5.lastlastevent.data,rs.html5.lastevent.data];rs.html5.synclistindex++}}}}rs.html5.lastlastlastevent=rs.html5.lastlastevent;rs.html5.lastlastevent=rs.html5.lastevent;rs.html5.lastevent=a},refresh:function(){if(!rs.html5.audioelement){return}if(rs.html5.lastcurrenttime>rs.html5.audioelement.currentTime){rs.html5.controls.stop();return}rs.html5.lastcurrenttime=rs.html5.audioelement.currentTime;if(rs.html5.state==rs.html5.STATE_BEGIN){rs.html5.audioelement.pause();rs.html5.state=rs.html5.STATE_USER_START_NOT_READY;setTimeout("rs.html5.refresh()",0)}else{if(rs.html5.state==rs.html5.STATE_USER_START_NOT_READY){if(rs.html5.synclist[rs.html5.currentsyncindex]&&rs.html5.audioelement.buffered&&rs.html5.audioelement.buffered.length>0&&rs.html5.synclist[rs.html5.currentsyncindex][0]<rs.html5.audioelement.buffered.end(0)*1000){rs.html5.state=rs.html5.STATE_USER_START_PLAYING;rs.html5.audioelement.play();setTimeout("rs.html5.refresh()",0)}else{if(rs.html5.synclist[rs.html5.currentsyncindex]){if(rs.html5.synclist[rs.html5.currentsyncindex][0]*1-rs.html5.audioelement.currentTime*1000<=20){setTimeout("rs.html5.refresh()",0)}else{var a=rs.html5.synclist[rs.html5.currentsyncindex][0]*1-rs.html5.audioelement.currentTime*1000-20;if(a>75){setTimeout("rs.html5.refresh()",75)}else{if(a<0){setTimeout("rs.html5.refresh()",0)}else{setTimeout("rs.html5.refresh()",a)}}}}else{setTimeout("rs.html5.refresh()",75)}}}else{if(rs.html5.state==rs.html5.STATE_USER_START_PLAYING){if(rs.html5.synclist[rs.html5.currentsyncindex]&&rs.html5.synclist[rs.html5.currentsyncindex][0]*1-20<rs.html5.audioelement.currentTime*1000){rshlsync(rs.html5.synclist[rs.html5.currentsyncindex][1],rs.html5.synclist[rs.html5.currentsyncindex][2]);rs.html5.currentsyncindex++;if(rs.html5.synclist[rs.html5.currentsyncindex]){if(rs.html5.synclist[rs.html5.currentsyncindex][0]*1-rs.html5.audioelement.currentTime*1000<=20){setTimeout("rs.html5.refresh()",0)}else{var a=rs.html5.synclist[rs.html5.currentsyncindex][0]*1-rs.html5.audioelement.currentTime*1000-20;if(a>75){setTimeout("rs.html5.refresh()",75)}else{if(a<0){setTimeout("rs.html5.refresh()",0)}else{setTimeout("rs.html5.refresh()",a)}}}}else{setTimeout("rs.html5.refresh()",75)}}else{if(rs.html5.synclist[rs.html5.currentsyncindex]){if(rs.html5.synclist[rs.html5.currentsyncindex][0]*1-rs.html5.audioelement.currentTime*1000<=20){setTimeout("rs.html5.refresh()",0)}else{var a=rs.html5.synclist[rs.html5.currentsyncindex][0]*1-rs.html5.audioelement.currentTime*1000-20;if(a>75){setTimeout("rs.html5.refresh()",75)}else{if(a<0){setTimeout("rs.html5.refresh()",0)}else{setTimeout("rs.html5.refresh()",a)}}}}else{setTimeout("rs.html5.refresh()",75)}}}}}}}};if(document.addEventListener){document.addEventListener("mousedown",rs.popup.mousePress,false);document.addEventListener("keydown",rs.popup.mousePress,false);document.addEventListener("mouseup",rs.copyselected,false);document.addEventListener("keyup",rs.copyselected,false);window.addEventListener("message",rs.html5.receiveMessage,false,true)}else{if(document.attachEvent){document.attachEvent("onmousedown",rs.popup.mousePress);document.attachEvent("onkeydown",rs.popup.mousePress);document.attachEvent("onmouseup",rs.copyselected);document.attachEvent("onkeyup",rs.copyselected)}else{document.onmousedown=rs.popup.mousePress;document.onkeydown=rs.popup.mousePress;document.onmouseup=rs.copyselected;document.onkeyup=rs.copyselected}}function readpage(a,b){rs.readpage(a,b)}function rshlsetContent(a){rs.rshlsetContent(a)}function rshlsetId(a){rs.rshlsetId(a)}function rshlinit(){rs.rshlinit()}function rshlsync(c,e){var d=c.split(",");var a=e.split(",");for(var b=0;b<c.length;b++){rs.rshlsync(d[b],a[b])}}function rshlexit(){rs.rshlexit()}var thestylesheet="<style type='text/css'> ";thestylesheet+="#rs_playerarea { position: relative !important; border:1px solid #aeaeae !important; background:#ffffff !important; width: "+rs.phrases.playerwidth+"px !important; height: 39px !important; line-height: normal !important; font-style: normal !important;font-family:Arial !important;}";thestylesheet+="#rs_playerarea object { max-width: none !important; }";thestylesheet+="#closebr { border-style: none !important; margin: 0px !important; padding: 0px !important; }";thestylesheet+="#rs_popup_player { font-family: Arial !important; font-size: 13px !important; width: 97px !important; height: 22px !important; position: absolute !important; border: 1px solid #aeaeae !important; z-index: 9000 !important; background: #fff !important; -moz-box-shadow: 2px 4px 6px #999 !important; -webkit-box-shadow: 2px 4px 6px #999 !important; -box-shadow: 2px 4px 6px #999 !important; line-height: normal !important;}";thestylesheet+="#rs_popup_link a:hover { background-color: #a4cbff !important; } #rs_selimg { position: absolute !important; border: 1px solid #aeaeae !important; z-index: 10000 !important; background: #fff !important; padding: 5px !important; -moz-box-shadow: 2px 4px 6px #999 !important; -webkit-box-shadow: 2px 4px 6px #999 !important; -box-shadow: 2px 4px 6px #999 !important; line-height: normal !important; }";thestylesheet+="#rspopup { position: absolute !important; z-index: 1000 !important; background: #fff !important; width: 342px !important; border-color: #a4cbff #aeaeae #aeaeae !important; border-right: 1px solid #aeaeae !important; border-style: solid !important; border-width: 1px !important; margin: 3px 3px 3px 0 !important; font-size: 12px !important; font-family: Arial !important; padding: 3px !important; -moz-box-shadow: 0 7px 6px #999 !important; -webkit-box-shadow: 0 7px 6px #999 !important; -box-shadow: 0 7px 6px #999 !important; }";thestylesheet+=".rs_block {float: left !important; margin: 0 3px 0 0 !important; padding: 3px !important; border: 1px solid #ddd !important; width: 160px !important; background: none !important; clear: none !important; font-family: inherit !important;}";thestylesheet+=".rs_block legend { position: static !important; font-weight: bold !important; color: #000 !important; font-size: 12px !important; text-transform: none !important; letter-spacing: 0px !important; padding: 0px !important; font-style: inherit !important; font-family: inherit !important; }";thestylesheet+=".rs_block ul { margin: 0 !important; padding: 0 !important; list-style: none !important; width: 100% !important; font-family: inherit !important;}";thestylesheet+=".rs_block li { padding: 0 !important; margin: 0 !important; width: 100% !important; background: none !important; list-style-image: none !important; list-style-type: none !important; font-family: inherit !important;}";thestylesheet+=".rs_block li a { text-align: left !important; border-style: none !important; display: block !important; padding: 5px 0 5px 20px !important; text-decoration: none !important; color: #000 !important; font-size: 12px !important; font-family: inherit !important; font-weight: normal !important; width: 87% !important; }";thestylesheet+=".rs_block li a:hover { background: #eee !important; }";thestylesheet+=".rs_block li.rs_active { background-color: #A4CBFF !important; background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, rgb(144,192,240)), color-stop(0.79, rgb(229,237,255))) !important; background-image: -moz-linear-gradient(center bottom, rgb(144,192,240) 0%, rgb(229,237,255) 79%) !important; }";thestylesheet+=".rs_block li.rs_active a, .rs_block li.rs_active a:hover { background: transparent url("+rs.settings.protocol+"//media.readspeaker.com/images/enterprise/default/rs_arrow.gif) no-repeat scroll 10px center !important; }";thestylesheet+="#bottomlinks { font-family: inherit !important;color:#333 !important;font-size:11px !important; margin: 2px 0 2px 0 !important;} #bottomlinks a {color: #000 !important; border-style: none !important; text-decoration: none !important; padding: 2px; font-weight: normal !important; font-size:11px !important; font-family: inherit !important;} #bottomlinks a:hover { background-color: #a4cbff !important; }";thestylesheet+="a.rs_settings { padding-left: 17px !important; border-style: none !important; background: transparent url("+rs.settings.protocol+"//media.readspeaker.com/images/enterprise/default/wrench.png) no-repeat 2px 2px !important;}";thestylesheet+=".sync_word_highlighted { background-color: "+rs.settings.wordColor+" !important; color: "+rs.settings.textColor+" !important; }";thestylesheet+=".sync_sent_highlighted { background-color: "+rs.settings.sentColor+" !important; color: "+rs.settings.textColor+" !important; }";thestylesheet+="#timeline { position: absolute !important; top: 4px !important; left: 55px !important; height: 11px !important; background-color: #F4F4F4 !important; width: 170px !important; border: 1px solid #3380CC !important; }";thestylesheet+="#duration { position: relative !important; height: 11px !important; background-color: #92C0EF !important; width: 0px;} ";thestylesheet+="#durationtxt { position: absolute !important; top: 1px !important; left: 0px !important; text-align: center !important; font-size: 10px !important; font-weight: bold !important; font-family: Helvetica !important; color: #003399 !important; line-height: 80% !important; width: 100% !important; } .rs_iphone { -webkit-text-size-adjust: none !important; }";thestylesheet+="</style>";document.write(thestylesheet);;
/*
 * In-Field Label jQuery Plugin
 * http://fuelyourcoding.com/scripts/infield.html
 *
 * Copyright (c) 2009 Doug Neiner
 * Dual licensed under the MIT and GPL licenses.
 * Uses the same license as jQuery, see:
 * http://docs.jquery.com/License
 *
 * @version 0.1
 */
(function($){$.InFieldLabels=function(b,c,d){var f=this;f.$label=$(b);f.label=b;f.$field=$(c);f.field=c;f.$label.data("InFieldLabels",f);f.showing=true;f.init=function(){f.options=$.extend({},$.InFieldLabels.defaultOptions,d);if(f.$field.val()!=""){f.$label.hide();f.showing=false};f.$field.focus(function(){f.fadeOnFocus()}).blur(function(){f.checkForEmpty(true)}).bind('keydown.infieldlabel',function(e){f.hideOnChange(e)}).change(function(e){f.checkForEmpty()}).bind('onPropertyChange',function(){f.checkForEmpty()})};f.fadeOnFocus=function(){if(f.showing){f.setOpacity(f.options.fadeOpacity)}};f.setOpacity=function(a){f.$label.stop().animate({opacity:a},f.options.fadeDuration);f.showing=(a>0.0)};f.checkForEmpty=function(a){if(f.$field.val()==""){f.prepForShow();f.setOpacity(a?1.0:f.options.fadeOpacity)}else{f.setOpacity(0.0)}};f.prepForShow=function(e){if(!f.showing){f.$label.css({opacity:0.0}).show();f.$field.bind('keydown.infieldlabel',function(e){f.hideOnChange(e)})}};f.hideOnChange=function(e){if((e.keyCode==16)||(e.keyCode==9))return;if(f.showing){f.$label.hide();f.showing=false};f.$field.unbind('keydown.infieldlabel')};f.init()};$.InFieldLabels.defaultOptions={fadeOpacity:0.5,fadeDuration:300};$.fn.inFieldLabels=function(c){return this.each(function(){var a=$(this).attr('for');if(!a)return;var b=$("input#"+a+"[type='text'],"+"input#"+a+"[type='password'],"+"textarea#"+a);if(b.length==0)return;(new $.InFieldLabels(this,b[0],c))})}})(jQuery);;
/**
 * Custom JS for CTLA theme
 */

/* New D7 Wrapper --> */(function ($) {


Drupal.behaviors.form_beautifier = {
  attach: function(context, settings) { //new attach function
    
    if (typeof(Drupal.settings.form_beautifier) != 'undefined' && typeof(Drupal.settings.form_beautifier.ddcl) != 'undefined'){
      var selector_element = 'select:not(.processed)';
      var selector = Drupal.settings.form_beautifier.ddcl.forms.join(' ' + selector_element + ', .') + ' ' + selector_element;
      selector = '#' + selector + ', .' + selector;
      $(selector).each(function(){
        if (($(this).attr('multiple') || Drupal.settings.form_beautifier.ddcl.single) && $(this).attr('id').indexOf('rrule-advanced') == -1){
          
          if (!is_bad_ie($(this))){
          
            // If the Any option is set, make sure that the first option's text includes t('Any')
            if (Drupal.settings.form_beautifier.ddcl.any && $(this).find('option:eq(0)').text().indexOf('Any') != -1 ){
              var any = true;
            } else {
              var any = false;
            }
            
            
            

            // Hack to fix bug with selects with multiple option:selected's
            var selected = '';
            $(this).find('option:selected').each(function(){
              selected += '.ui-dropdownchecklist-item input[value="' + $(this).val() + '"],';
            });
            
            $(this).dropdownchecklist({
              firstItemChecksAll: any,
              maxDropHeight: Drupal.settings.form_beautifier.ddcl.maxHeight
            }).addClass('processed').dropdownchecklist("refresh");
            
            // Completion of hack above
            $(this).parents('.form-item').find(selected + '.dummy').attr("checked", 'checked');
          
          }

        }
      });
      
    }
    
    function is_bad_ie($this){
      if($.browser.msie) {
        var version = parseInt($.browser.version);
        if (version < 9 && $this.parents('#overlay-content').length) {
          return true;
        } else {
          return false;
        }
      }
    }
    
    
    /**
     * In-field labels
     **/
    $('.infieldlabels label:not(.option, .processed)').each(function(){
      var $input = $(this).parent().find('input:eq(0), textarea:eq(0)');
      if ($input.size() > 0){       
        $(this).html($(this).html().replace(/:/g, '')).inFieldLabels().addClass('processed');
      }

    });
    
  }//attach
};//behaviors

/* New D7 Wrapper --> */ })(jQuery);

;
(function ($) {

$(document).ready(function() {

  // Accepts a string; returns the string with regex metacharacters escaped. The returned string
  // can safely be used at any point within a regex to match the provided literal string. Escaped
  // characters are [ ] { } ( ) * + ? - . , \ ^ $ # and whitespace. The character | is excluded
  // in this function as it's used to separate the domains names.
  RegExp.escapeDomains = function(text) {
    return (text) ? text.replace(/[-[\]{}()*+?.,\\^$#\s]/g, "\\$&") : '';
  }

  // Attach onclick event to document only and catch clicks on all elements.
  $(document.body).click(function(event) {
    // Catch the closest surrounding link of a clicked element.
    $(event.target).closest("a,area").each(function() {

      var ga = Drupal.settings.googleanalytics;
      // Expression to check for absolute internal links.
      var isInternal = new RegExp("^(https?):\/\/" + window.location.host, "i");
      // Expression to check for special links like gotwo.module /go/* links.
      var isInternalSpecial = new RegExp("(\/go\/.*)$", "i");
      // Expression to check for download links.
      var isDownload = new RegExp("\\.(" + ga.trackDownloadExtensions + ")$", "i");
      // Expression to check for the sites cross domains.
      var isCrossDomain = new RegExp("^(https?|ftp|news|nntp|telnet|irc|ssh|sftp|webcal):\/\/.*(" + RegExp.escapeDomains(ga.trackCrossDomains) + ")", "i");

      // Is the clicked URL internal?
      if (isInternal.test(this.href)) {
        // Is download tracking activated and the file extension configured for download tracking?
        if (ga.trackDownload && isDownload.test(this.href)) {
          // Download link clicked.
          var extension = isDownload.exec(this.href);
          _gaq.push(["_trackEvent", "Downloads", extension[1].toUpperCase(), this.href.replace(isInternal, '')]);
        }
        else if (isInternalSpecial.test(this.href)) {
          // Keep the internal URL for Google Analytics website overlay intact.
          _gaq.push(["_trackPageview", this.href.replace(isInternal, '')]);
        }
      }
      else {
        if (ga.trackMailto && $(this).is("a[href^=mailto:],area[href^=mailto:]")) {
          // Mailto link clicked.
          _gaq.push(["_trackEvent", "Mails", "Click", this.href.substring(7)]);
        }
        else if (ga.trackOutbound && this.href) {
          if (ga.trackDomainMode == 2 && isCrossDomain.test(this.href)) {
            // Top-level cross domain clicked. document.location is handled by _link internally.
            _gaq.push(["_link", this.href]);
          }
          else if (ga.trackOutboundAsPageview) {
            // Track all external links as page views after URL cleanup.
            // Currently required, if click should be tracked as goal.
            _gaq.push(["_trackPageview", '/outbound/' + this.href.replace(/^(https?|ftp|news|nntp|telnet|irc|ssh|sftp|webcal):\/\//i, '').split('/').join('--')]);
          }
          else {
            // External link clicked.
            _gaq.push(["_trackEvent", "Outbound links", "Click", this.href]);
          }
        }
      }
    });
  });
});

})(jQuery);
;

