
(function($) {

  Drupal.behaviors.responsive = {};

  Drupal.behaviors.responsive.attach = function() {
    $('a[rel=external], a[rel=blank], a[rel=nofollow]:not(".calendar-calendar a[rel=nofollow]")').click(function(e) {
      e.preventDefault();
      var url = $(this).attr('href');
      window.open(url);
      trackGA(url);
    });
  };

})(jQuery);
;
/*!
 * jQuery imagesLoaded plugin v1.0.4
 * http://github.com/desandro/imagesloaded
 *
 * MIT License. by Paul Irish et al.
 */

(function($, undefined) {

  // $('#my-container').imagesLoaded(myFunction)
  // or
  // $('img').imagesLoaded(myFunction)

  // execute a callback when all images have loaded.
  // needed because .load() doesn't work on cached images

  // callback function gets image collection as argument
  //  `this` is the container

  $.fn.imagesLoaded = function( callback ) {
    var $this = this,
        $images = $this.find('img').add( $this.filter('img') ),
        len = $images.length,
        blank = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==';

    function triggerCallback() {
      callback.call( $this, $images );
    }

    function imgLoaded( event ) {
      if ( --len <= 0 && event.target.src !== blank ){
        setTimeout( triggerCallback );
        $images.unbind( 'load error', imgLoaded );
      }
    }

    if ( !len ) {
      triggerCallback();
    }

    $images.bind( 'load error',  imgLoaded ).each( function() {
      // cached images don't fire load sometimes, so we reset src.
      if (this.complete || this.complete === undefined){
        var src = this.src;
        // webkit hack from http://groups.google.com/group/jquery-dev/browse_thread/thread/eee6ab7b2da50e1f
        // data uri bypasses webkit log warning (thx doug jones)
        this.src = blank;
        this.src = src;
      }
    });

    return $this;
  };
})(jQuery);;

(function($) {

  $(document).ready(function() {
    if (typeof(CKEDITOR) != 'undefined') {
      CKEDITOR.on( 'dialogDefinition', function( ev )
      	{
      		// Take the dialog name and its definition from the event data.
      		var dialogName = ev.data.name;
      		var dialogDefinition = ev.data.definition;

      		// Check if the definition is from the dialog window you are interested in (the "Link" dialog window).
      		if ( dialogName == 'table' )
      		{
      			// Get a reference to the "Table properties" tab.
      			var infoTab = dialogDefinition.getContents( 'info' );

      			// Set the default values.
      			var widthField = infoTab.get( 'txtWidth' );
      			widthField['default'] = '100%';
      			var headersField = infoTab.get( 'selHeaders' );
      			headersField['default'] = 'both';
      			var bordersField = infoTab.get( 'txtBorder' );
      			bordersField['default'] = '0';
      			var spacingField = infoTab.get( 'txtCellSpace' );
      			spacingField['default'] = '0';
      			var paddingField = infoTab.get( 'txtCellPad' );
      			paddingField['default'] = '0';
      		}
      	});
    }

    if (screen.width >= 768) {
      /* Background image */
      var bg_container = $('#bg_img').hide();
      if (typeof(Drupal.settings.bgSrc) != 'undefined') {
        $('<img />').attr('src', Drupal.settings.bgSrc).imagesLoaded( function() {
          bg_container.fadeIn();
        });
      }
    }

    if (Drupal.settings.bgvideo) {
      var bg_img_fallback = function() {
        $('#bg_img')
          .css('background', 'url(' + Drupal.settings.basePath + Drupal.settings.themePath + '/images/bg/odysseo.jpg) no-repeat center top fixed')
          .css('background-size', 'cover')
          .fadeIn();
      };
      if (screen.width >= 768) {
        var bg_video = $('#bg_video video')[0];
        var bg_video_me = new MediaElement(bg_video, {
          enableAutosize: true,
          videoWidth: 800,
          videoHeight: 500,
          success: function(media) {
            media.play();
  
            // iPad
            $('#bodywrapper').live('touchstart', function() {
              media.play();
            });
  
            $('#btn_mute').toggle( function() {
              var btn_bg = $(this).css('background-image');
              $(this).css('background-image', btn_bg.replace('_off.', '_on.'));
              media.setMuted(true);
            },
            function() {
              var btn_bg = $(this).css('background-image');
              $(this).css('background-image', btn_bg.replace('_on.', '_off.'));
              media.setMuted(false);
            });
          },
          error: bg_img_fallback
        });
      }
      else {
        $('#bg_video').remove();
        bg_img_fallback();
      }
    }

    // Horse breeds
    var $breed_select = $('<div class="views-row-select"></div>').text(Drupal.t('Horse breeds'));
    $breed_select.insertBefore('.view-horse-breeds .view-content');
    $('.view-horse-breeds .view-content').hide();

    $breed_select.toggle( function() {
      $('.view-horse-breeds .view-content').slideDown('fast', function() {
  			var browserHeight = document.documentElement.clientHeight;
  			var scrollY = document.documentElement.scrollTop || document.body.scrollTop;
  			var thisHeight = $(this).height();
  			var offset = ((browserHeight / 2) - thisHeight + 14);
  			if (offset < 0) {
    			$(this).css('top', (offset + 28));
    		}
    		else {
    			$(this).css('top', 28);
    		}
      });
    }, function() {
      $('.view-horse-breeds .view-content').slideUp('fast');
    });

    // Creators and FAQ
    $('.view-creators h3:not(:first), .view-faqs h3:not(:first), .view-quick-questions .views-field-title:not(:first)').nextAll().hide();
    $('.view-creators h3, .view-faqs h3, .view-quick-questions .views-field-title').click(function(){
      if ($(this).nextAll(":visible").length != 0) {
        $(this).nextAll(":visible").slideUp("fast");
      } else {
        $('.view-creators h3, .view-faqs h3, .view-quick-questions .views-field-title').nextAll().slideUp("fast");
        $(this).nextAll().slideDown("fast");
      }
    });

    /* Photos and Videos */
    if ($('.views-field-field-photos, .views-field-field-videos').length > 0) {
      var $slideshow_wrapper = $('.views-field-field-photos-1, .views-field-field-videos-1'),
          $slideshow = $('.views-field-field-photos-1 .item-list, .views-field-field-videos-1 .item-list'),
          $slideshow_items = $('.views-field-field-photos li, .views-field-field-videos li'),
          $thumbnails = $('.view-photos .views-field-field-photos-1 img, .view-videos .views-field-field-videos-1 img'),
          activeSlide = 1,
          slide_speed = 500,
          slide_width,
          slideshow_width,
          slide_animating = false,
          slide_counter = Math.ceil($slideshow_items.length / 5);

      var slideshow_set_widths = function() {
        slide_width = $slideshow_wrapper.width();
        slideshow_width = slide_width * slide_counter;
        $slideshow.css('width', slideshow_width);
      };

      var slideshow_animate = function(slideTo) {
        slide_animating = true;
        $slideshow.animate({
          left: slideTo
        }, slide_speed, function() {
          slide_animating = false;
        });
      };

      var slideNav = $('<a href="#" class="slider slider-prev slider-disabled"></a><a href="#" class="slider slider-next"></a>');
      $slideshow_wrapper.append(slideNav);
      (slide_counter == 1) ? $('.slider-next').addClass('slider-disabled') : '';
      slideNav.css('opacity', 0).fadeTo(1000, 1);

      slideshow_set_widths();

      $thumbnails.click( function() {
        var $thumbnail = $(this);
        var photo_index = $thumbnails.index($thumbnail);
        var $image = $slideshow_items.eq(photo_index);
        $slideshow_items.not($image).fadeOut( function() {
          $(this).each( function() {
            var $video_iframe = $(this).find('iframe');
            var src_reset = $video_iframe.attr('src');
            $video_iframe.attr('src', src_reset);
          });
        });
        $image.fadeIn();
      });

      $('.slider-next, .slider-prev').click( function(e) {
        e.preventDefault();
        if (slide_animating) return;
        if (($(this).hasClass('slider-next') && activeSlide < slide_counter) || ($(this).hasClass('slider-prev') && activeSlide > 1)) {
          var slide_left = parseInt($slideshow.css('left').replace('px', ''));
          var slideTo = $(this).hasClass('slider-next') ? (slide_left - slide_width) : (slide_left + slide_width);
          slideshow_animate(slideTo);
          if ($(this).hasClass('slider-next')) {
            activeSlide++;
            $('.slider-prev').removeClass('slider-disabled');
            if (activeSlide == slide_counter) {
              $(this).addClass('slider-disabled');
            }
          }
          else {
            activeSlide--;
            $('.slider-next').removeClass('slider-disabled');
            if (activeSlide == 1) {
              $(this).addClass('slider-disabled');
            }
          }
        }
      });

      $('.view-photos .views-field-field-photos img').click( function() {
        var photo_index = $('.view-photos .views-field-field-photos img').index($(this)) + 1;
        $thumbnails.eq(photo_index).trigger('click');
      });
    }

    /* Contact us */
    if ($('.webform-client-form select').length > 0) {
      $('.webform-client-form select').selectmenu({style: 'popup', width: 314});
    }

    /* Club Cavalia */
    if ($('#user-register-form').length > 0) {
      $('#edit-field-user-age-und option:first').text(Drupal.t('Age group'));
      $('#user-register-form .field-name-field-user-age select').selectmenu({style: 'popup', width: 314});

      $('#user-register-form .form-item-field-user-location-und-0-country label').hide();
      $('#user-register-form .form-item-field-user-location-und-0-province label').hide();

      $('#edit-field-user-location-und-0-country option:first').text(Drupal.t('Country'));
      $('#edit-field-user-location-und-0-province option:first').text(Drupal.t('State/Province'));

      $('#edit-field-user-location-und-0-country').selectmenu({style: 'popup', width: 314});
      $('#edit-field-user-location-und-0-province').selectmenu({style: 'popup', width: 314});
    }

    /* In your face promotions */
    if (typeof(Drupal.settings.promo_inyourface.index) != 'undefined') {
      var promo_selector = '.view-promotions a[href="#promo_content_' + Drupal.settings.promo_inyourface.index + '"], .view-reviews a[href="#review_content"]';
      $(window).load( function() {
        $(promo_selector).trigger('click');
      });
    }
  });

  Drupal.behaviors.cavalia = {
    attach: function(context) {
      if ($('#user-register-form').length > 0 && $('#location-dropdown-province-wrapper-field_user_location-und-0', context).length > 0) {
        $('#user-register-form .form-item-field-user-location-und-0-province label').hide();
        $('#edit-field-user-location-und-0-province option:first').text(Drupal.t('State/Province'));
        $('#edit-field-user-location-und-0-province').selectmenu({style: 'popup', width: 314});
      }
    }
  };

})(jQuery);
;

