$(
	function(){

		if ($("#shoppingcart .empty").length) {
			$('#shoppingcart').hide();
		}
		
		if ($("#captains-live-link").length) {
			c_link = $("#captains-live-link a").attr('href');
			c_link = c_link + '?showheader=false';
			$("#captains-live-link a").attr('href', c_link);
			$("#captains-live-link a").fancybox({
				'frameWidth': 240,
				'frameHeight': 220,
				'hideOnContentClick': false 
			});
		}
		
		$(".wpsc_buy_button").click(function(){
			if ($("#shoppingcart .empty").length == 0) {
				$('#shoppingcart').show();
			}
		});
		
		
		$('#gallery').jcarousel({
			scroll: 1
		});
	
		if ($("#promo-grid .promo-item").length) {
			observePromoLinks();
		}
	
		if ($("#location-fullmap").length) {
			loadGoogleMaps();
		}
		
		if ($("#location-roversdirections").length) {
			loadGoogleMapsRoversDirections();
		}
		
		if ($("#landingmap-container").length) {
			loadLandingGoogleMap();
		}
	
		captainsLB('#graftonst-museum-lightbox');
		captainsLB('#cork-museum-lightbox');
		captainsLB('#tallaght-museum-lightbox');
		captainsLB('#graftonst-takealook-lightbox');
		captainsLB('#cork-takealook-lightbox');	
		captainsLB('#tallaght-takealook-lightbox');
		captainsLB('#blanchardstown-takealook-lightbox');
		if ($('.lightbox-gallery a img').length) {
			captainsLB('.lightbox-gallery');			
		}
		
		if ($('.merchandise-wrapper a img').length) {
			captainsLB('.merchandise-wrapper');			
		}
		
		

		if ($('.section-l2-live .live-moregalleries li a').length) {
			observeAjaxGalleries();
		}
		
		if ($("#live-link").length) {
			c_link = $("#live-link a").attr('href');
			c_link = c_link + '?showheader=false';
			$("#live-link a").attr('href', c_link);
			$("#live-link a").fancybox({
				'frameWidth': 240,
				'frameHeight': 220,
				'hideOnContentClick': false 
			});
		}
		
		
		if ($('.live-promos2').length) {
			$('.live-promos2').click(function(){
				location.href = 'http://www.youtube.com/towerdublin';
			});
			$('.live-promos2').mouseover(function(){
				$('.live-promos2').css({"cursor": "pointer"});
			});
			$('.live-promos2').mouseout(function(){
				$('.live-promos2').css({"cursor": "default"});
			})
		}
		
		if ($('#location-roversdirectionsfull').length) {
			loadGoogleMapsRoversDirectionsFull();
		}
		
		if ($('#homepage-introbox').length) {
	/*		openHomepageBanner();
	*/	}
	
		if ($('#image-carousel-inner').length) {
			footerCarousel();
		}
		
	}
)


function menuTog(mid) {
	$('#' + mid + ' ul').slideToggle();
}

function observePromoLinks() {
	$("#promo-grid .promo-item").mouseover(function(){
		$(this).addClass("active-promo-item");
	});
	
	$("#promo-grid .promo-item").mouseout(function(){
		$(this).removeClass("active-promo-item");
	});
	
}

function captainsLB(i) {
	$(i + ' a').lightBox({
		imageLoading: '/wp-content/themes/captains/images/lightbox-ico-loading.gif',
		imageBtnClose: '/wp-content/themes/captains/images/lightbox-btn-close.gif',
		imageBtnPrev: '/wp-content/themes/captains/images/lightbox-btn-prev.gif',
		imageBtnNext: '/wp-content/themes/captains/images/lightbox-btn-next.gif',
		imageBlank: '/wp-content/themes/captains/images/lightbox-blank.gif',
		fixedNavigation:true
	});
}

function loadGoogleMaps() {
//  if (GBrowserIsCompatible()) {
	
	if ($("#section-grafton").length) {
		var latlng = new google.maps.LatLng(53.340528,-6.260641);
	} else if ($("#section-cork").length) {
		var latlng = new google.maps.LatLng(51.898853,-8.477004);
	} else if ($("#section-tallaght").length) {
		var latlng = new google.maps.LatLng(53.288456,-6.374216);
	} else if ($("#section-blanchardstown").length) {
		var latlng = new google.maps.LatLng(53.395173,-6.390548);
	}
	
	var myOptions = {
	      zoom: 16,
	      center: latlng,
	      mapTypeId: google.maps.MapTypeId.ROADMAP
	    };
	var map = new google.maps.Map(document.getElementById("location-fullmap"), myOptions);
	var marker = new google.maps.Marker({
	        position: latlng,
	        map: map
	});
	
}

function loadGoogleMapsRoversDirections() {
	var directionsService = new google.maps.DirectionsService();
	var directionsDisplay = new google.maps.DirectionsRenderer();
	var latlng = new google.maps.LatLng(53.288456,-6.374216);
	var myOptions = {
	      zoom: 16,
	      center: latlng,
	      mapTypeId: google.maps.MapTypeId.ROADMAP
	    };
	var map = new google.maps.Map(document.getElementById("location-roversdirections"), myOptions);
	directionsDisplay.setMap(map);
	
	var end = "53.287726,-6.373744";
	var start = "53.283724,-6.375353";
	
	  var request = {
	    origin:start, 
	    destination:end,
	    travelMode: google.maps.DirectionsTravelMode.DRIVING
	  };
	  directionsService.route(request, function(result, status) {
	    if (status == google.maps.DirectionsStatus.OK) {
	      directionsDisplay.setDirections(result);
	    } else {
	}
	  });
}


function loadGoogleMapsRoversDirectionsFull() {
	var directionsService = new google.maps.DirectionsService();
	var directionsDisplay = new google.maps.DirectionsRenderer();
	var latlng = new google.maps.LatLng(53.288456,-6.374216);
	var myOptions = {
	      zoom: 16,
	      center: latlng,
	      mapTypeId: google.maps.MapTypeId.ROADMAP
	    };
	var map = new google.maps.Map(document.getElementById("location-roversdirectionsfull"), myOptions);
	directionsDisplay.setMap(map);
	
	var end = "53.287726,-6.373744";
	var start = "53.283724,-6.375353";
	  var request = {
	    origin:start, 
	    destination:end,
	    travelMode: google.maps.DirectionsTravelMode.DRIVING
	  };
	  directionsService.route(request, function(result, status) {
	    if (status == google.maps.DirectionsStatus.OK) {
	      directionsDisplay.setDirections(result);
	    } else {
	}
	  });
	
}


function loadLandingGoogleMap() {
	if ($("#section-grafton").length) {
		var latlng = new google.maps.LatLng(53.340528,-6.260641);
	} else if ($("#section-cork").length) {
		var latlng = new google.maps.LatLng(51.898853,-8.477004);
	} else if ($("#section-tallaght").length) {
		var latlng = new google.maps.LatLng(53.288456,-6.374216);
	} else if ($("#section-blanchardstown").length) {
		var latlng = new google.maps.LatLng(53.395173,-6.390548);
	}
	
	var myOptions = {
	      zoom: 16,
	      center: latlng,
	      mapTypeId: google.maps.MapTypeId.ROADMAP
	    };
	var map = new google.maps.Map(document.getElementById("landingmap-container"), myOptions);
	var marker = new google.maps.Marker({
	        position: latlng,
	        map: map
	});
}


function ajax_offers_form() {
	
	$.post("/wp-content/themes/captains/ajax/sign_up_to_offers.php", { o_name: $('#o_name').val(), o_email: $('#o_email').val() },
	  function(data){
	    $("#student-offers-signup").html(data);
	  });
	
	
}


function observeAjaxGalleries(){
	
	$('.section-l2-live .live-moregalleries li a').click(function(){
		href = $(this).attr('href');
		href_array = href.split('#');
		t = this;
		$.get('/wp-content/themes/captains/ajax/flickrjax_live.php', {ID: href_array[1]},
		function(data){
			$('.lightbox-gallery').html(data);
			captainsLB('.lightbox-gallery');
		});
			$('.section-l2-live .live-moregalleries li').removeClass('active');
		$(this).parent('li').addClass('active');
	})
	
}
	
function showMyVideos(data) {
	  var feed = data.feed;

	  var entries = feed.entry || [];
	  var h = '<ul>';
	var max_entries = 3;
	if (max_entries > entries.length) {
		max_entries = entries.length;
	}
	  for (var i = 0; i < max_entries; i++) {
	    var entry = entries[i];
	    var title = entry.title.$t;
		var media_url = entry.media$group.media$content[0].url;
		if (i == 0) {
			swfobject.embedSWF(media_url, "current_video", "270", "196", "8.0.0");
			h = h +'<li class="active" id="video_' + i + '"><a href="javascript:loadYT(\'' + media_url + '\', \'video_' + i +'\')">' + title + '</a></li>';
		} else {
	    	h = h +'<li id="video_' + i + '"><a href="javascript:loadYT(\'' + media_url + '\', \'video_' + i +'\')">' + title + '</a></li>';
	  	}
	}
	h = h + '</ul>';
	$('#previous-videos-dynamic').append(h);
}

function loadYT(ytv, id) {
	$('#previous-videos-dynamic li').removeClass('active');
	$('#' + id).addClass('active');
	$('#current_video_wrapper').html('<div id="current_video"></div>');
	swfobject.embedSWF(ytv, "current_video", "277", "196", "8.0.0");
}	

function closeHomepageBanner() {
	$('#homepage-introbox').slideUp('slow');
	$('#nav-level2').slideDown();
}

function openHomepageBanner() {
	$('#homepage-intro-opener').slideUp('slow');
	$('#homepage-introbox').slideDown('slow');
	$('#nav-level2').slideUp();
}


function footerCarousel() {
	
	var paging_html = '<li class="item active"></li>';
	for (var i = 1; i < total_pages; i++) {
		paging_html = paging_html + '<li class="item"></li>';
	}
	
	controls_margin = Math.round(405 - (total_pages * 13)/2);
	
	if (total_pages > 1) {
		paging_html = '<div class="carousel-controls" style="margin-left: ' + controls_margin + 'px;"><ul><li class="first"><a href="javascript:;"><img src="wp-content/themes/captains/images/previous_arrow.gif" alt="previous"  /></a></li>' + paging_html + '<li class="last"><a href="javascript:;"><img src="wp-content/themes/captains/images/next_arrow.gif" alt="next" /></a></li></ul></div>';
	} else {
		paging_html = '<div class="carousel-controls" style="margin-left: ' + controls_margin + 'px;">&nbsp;</div>';
	}
	
	$('#image-carousel-inner').before(paging_html);
	
	jQuery('#image-carousel-inner').jcarousel({
        scroll: 3,
		initCallback: captainscarousel_initCallback,
		itemVisibleInCallback: {
            onBeforeAnimation: captainscarousel_itemVisibleInCallbackBeforeAnimation,
            onAfterAnimation:  captainscarousel_itemVisibleInCallbackAfterAnimation
        },
		itemVisibleOutCallback: {onAfterAnimation: captainscarousel_itemVisibleOutCallback},
        // This tells jCarousel NOT to autobuild prev/next buttons
        buttonNextHTML: null,
        buttonPrevHTML: null,
        wrap: 'circular'
    });
}

function captainscarousel_initCallback(carousel){
	jQuery('.carousel-controls .last').bind('click', function() {
		carousel.startAuto(0);
		carousel.next();
		return false;
    });

    jQuery('.carousel-controls .first').bind('click', function() {
		carousel.startAuto(0);
        carousel.prev();
        return false;
    });

	carousel.clip.hover(function() {
        carousel.stopAuto();
    }, function() {
        carousel.startAuto();
    });
}


function captainscarousel_itemVisibleOutCallback(carousel, item, i, state, evt)
{
    carousel.remove(i);
};


function captainscarousel_itemVisibleInCallbackBeforeAnimation(carousel, item, i, state, evt){
	var idx = carousel.index(i, captainscarousel_itemList.length);
    carousel.add(i, captainscarousel_itemList[idx - 1]);
}

function captainscarousel_itemVisibleInCallbackAfterAnimation(carousel, item, idx, state) {
	$('.carousel-controls .item').removeClass("active");
	var tmp = Math.round(idx/3)-1;
	var tmp_length = total_pages;
	while(tmp >= tmp_length) {
		tmp = tmp - tmp_length;
	}
	$('.carousel-controls .item:eq(' + tmp + ')').addClass("active");
	$("#students-nav-link a").fancybox({  
		'frameWidth': 240,                
		'frameHeight': 220,               
		'hideOnContentClick': false       
	});
}