var viva = {

	'fade_speed': 400,
	'fade_opacity': 0.5,
	'menu_timeout': '',
  'slide_speed' : 400,

	'move_arrow': function (trail_id) {

		clearTimeout(this.menu_timeout);

		var $menu_item;
		if (!trail_id) {
			$menu_item = $('#viva .menu a.active');
			if (!$menu_item.length) return;
			trail_id = $menu_item.attr('id').match(/[0-9]+$/);
		}
		else {
			$menu_item = $('#trail-menu-item-'+trail_id);
		}

		var $arrow = $('#viva .menu .arrow');

		var mil = $menu_item.position().left;
		var miw = $menu_item.outerWidth();
		var aw = $arrow.outerWidth();
		var al = mil+(miw/2)-(aw/2);
		$arrow.data('trail_id', trail_id);
		$arrow
			.stop(1)
			.animate({'left':al});
	},

	'return_arrow': function () {
		this.menu_timeout = setTimeout('viva.move_arrow()', 200);
	},

	'show_slide': function (trail_id) {
		var $slider = $('#viva .slider');
		$('#viva .menu .menu-item').removeClass('active');
		$('#trail-menu-item-'+trail_id).addClass('active');
		this.move_arrow(trail_id);

		var $slide = $('#trail-slide-'+trail_id);
		$('#viva .slider .slide')
			.not($slide)
			.removeClass('active')
			.find('img')
			.fadeTo(this.fade_speed, this.fade_opacity);
		$slide
			.addClass('active')
			.find('img')
			.fadeTo(this.fade_speed, 1);
		//
		//if (!$slide.next().length) {
		//	$slider.find('a.next').hide();
		//}
		//else {
		//	$slider.find('a.next').show();
		//}
		//
		//if (!$slide.prev().length) {
		//	$slider.find('a.previous').hide();
		//}
		//else {
		//	$slider.find('a.previous').show();
		//}

		var sw = $slide.outerWidth();
		var sl = $slide.position().left;
		var cw = $slider.innerWidth();
		var cl = $slider.scrollLeft();
		var new_scroll = sl+(sw/2)-(cw/2)+cl;
		var max_scroll = $slider.data('max_scroll');

		$slider
			.stop()
			.animate({'scrollLeft': Math.min(new_scroll, max_scroll)},this.slide_speed);
	},

	'next_slide': function () {
    if($('#viva .menu a.active').attr('id') == $('#viva .menu a:last').attr('id'))
    {
      this.slide_speed = 1200;
      $menu_item = $('#viva .menu a:first');
    }
    else
    {
      this.slide_speed = 400;
      $menu_item = $('#viva .menu a.active').next();
    }
		if (!$menu_item.length) return;
		trail_id = $menu_item.attr('id').match(/[0-9]+$/);
		this.show_slide(trail_id);
	},

	'prev_slide': function () {
    if($('#viva .menu a.active').attr('id') == $('#viva .menu a:first').attr('id'))
    {
      this.slide_speed = 1200;
      $menu_item = $('#viva .menu a:last');
    }
    else
    {
      this.slide_speed = 400;
      $menu_item = $('#viva .menu a.active').prev();
    }
		if (!$menu_item.length) return;
		trail_id = $menu_item.attr('id').match(/[0-9]+$/);
		this.show_slide(trail_id);
	}

};

(function ($) {
	$(document).ready(function () {

		$('#viva .slider').each(function () {
			var $last_slide = $(this).find('.slide:last');
			var sl = $last_slide.position().left;
			var sw = $last_slide.outerWidth(1);
			//var smr = parseInt($last_slide.css('margin-right'));
			//var sml = parseInt($last_slide.css('margin-left'));
			var cw = $(this).innerWidth();
			//var cml = parseInt($(this).css('margin-left'));
			//var cmr = parseInt($(this).css('margin-right'));
			$(this).data('max_scroll', sl+sw-cw-8);
		});

		var $menu_items = $('#viva .menu a.menu-item.enabled');
		var random_index = Math.floor(Math.random() * $menu_items.length);
		var $active = $menu_items.slice(random_index, random_index+1);
		viva.show_slide($active.attr('id').match(/[0-9]+$/));

		$('#viva .menu a.menu-item span')
			.hover(
				function () {
					event.cancelBubble();
				},
				function () {
					event.cancelBubble();
				}
			)
			.click(function () {
				var trail_id = $(this).attr('id').match(/[0-9]+$/);
				viva.show_slide(trail_id);
			});

		$('#viva .menu a.menu-item')
			.hover(
				function () {
					var trail_id = $(this).attr('id').match(/[0-9]+$/);
					viva.move_arrow(trail_id);
				},
				function () {
					viva.return_arrow();
				}
			)
			.click(function () {
				var trail_id = $(this).attr('id').match(/[0-9]+$/);
				viva.show_slide(trail_id);
			});

		$('#viva .menu .arrow')
			.hover(
				function () {
					viva.move_arrow($(this).data('trail_id'));
				},
				function () {
					viva.return_arrow();
				}
			)
			.click(function () {
				viva.show_slide($(this).data('trail_id'));
			});

		$('#viva .slider .slide')
			.hover(
				function () {
					$(this)
						.find('img')
						.stop(1)
						.fadeTo(viva.fade_speed, 1);
				},
				function () {
					if ($(this).hasClass('active'))
						return;
					$(this)
						.find('img')
						.stop(1)
						.fadeTo(viva.fade_speed, viva.fade_opacity);
				}
			)
			.click(function () {
				var trail_id = $(this).attr('id').match(/[0-9]+$/);
				viva.show_slide(trail_id);
			});

		$('#viva .slider a.next')
			.hover(
				function () {
					$(this)
						.closest('.slider')
						.find('.active')
						.next()
						.mouseenter();
				},
				function () {
					$(this)
						.closest('.slider')
						.find('.active')
						.next()
						.mouseleave();
				}
			)
			.click(function () {
				viva.next_slide();
				$(this).mouseenter();
				return false;
			});

		$('#viva .slider a.previous')
			.hover(
				function () {
					$(this)
						.closest('.slider')
						.find('.active')
						.prev()
						.mouseenter();
				},
				function () {
					$(this)
						.closest('.slider')
						.find('.active')
						.prev()
						.mouseleave();
				}
			)
			.click(function () {
				viva.prev_slide();
				$(this).mouseenter();
				return false;
			});

		$('#viva .viva-events-block .row a').click(function () {
			var url = $(this).attr('href');
			window.open(url, '', 'scrollbars=yes,width=816,height=700');
			return false;
		});

		init_insider_block();

	});
	
})(jQuery);

function init_insider_block() {
	$('#viva .viva-insider-block a.language-toggle')
		.click(function () {

			if ($(this).closest('.viva-insider-block').hasClass('espanol'))
				var url = '/viva/&ajax=insider_block&language=en';
			else
				var url = '/viva/&ajax=insider_block&language=espanol';

			$.get(url, function (html) {
				$('#viva .viva-insider-block').replaceWith(html);
				init_insider_block();
			}, 'html');
			return false;
		});
}

