/*
* Namespace for LR Golf
*/
var LR = window.LR ||
{};

LR.Golf = {};
LR.Golf.Navigation = (function() {

	function init() {

		// main navigation items
		$J('#mainnavigation > li').mouseover(function() {
			$J(this).siblings('li').removeClass('active');
			$J(this).addClass('active');
		});

		// enable a page click to turn off menus (mouseout fails to work because of positioning)
		$J('html').click(function() {
			$J('#mainnavigation > li').removeClass('active');
		});

		// "make a reservation" menu
		$J('#resoptions').hover(function() {
			$J(this).addClass('active');
		}, function() {
			$J(this).removeClass('active');
		});

		//Sifr header		
		$J(".h1_sifr").sifr({
			path: "/common/templates/resort/resort_1/flash/",
			font: "itc_advent_gothic_book",
			fontSize: "30"
		});

		//Panel images
		$J(".panel_image_container").each(function() {
			var slideshowEngine = new imageslideshowEngine();
			slideshowEngine.images = $J(this).children("img").get();
			slideshowEngine.init(5000, "fast");
		});
		
		//Keep session alive
		try {
			setInterval("PageMethods.Heartbeat();", 300000);
		} catch (e) { }
	}

	return {
		init: init
	};

})();


LR.Golf.MainImages = (function() {
	var slideshowEngine;
	var config = {
		fadeInterval: 5000,
		fadeSpeed: 500
	};

	function createSlideshow() {
		if ($J('body').hasClass('gallery') == false) {
			// create slideshow and set up image array
			slideshowEngine = new imageslideshowEngine();
			slideshowEngine.images = $J('#images img').get();

			// set up control click event handlers
			$J('#thumbs img').css({
				cursor: 'pointer'
			});
			$J('#thumbs img').each(function(i) {
				$J(this).click(function(e) {
					slideshowEngine.jumpToPair(i, false);
					var altText = $J(this).attr("alt");
//					$J(".image_caption").fadeOut("fast", function() {
//						$J(".image_caption").html(altText).removeClass("sifr");
//						$J(".image_caption").sifr({
//							path: "/common/templates/resort/resort_1/flash/",
//							font: "nobel_book_light",
//							fontSize: "30"
//						});
//						$J(".image_caption").fadeIn("fast");
//					});
					e.preventDefault();
				});
			});			
			// start the engine
			slideshowEngine.init(config.fadeInterval, config.fadeSpeed, mainImageSwitched);
		}
	}

	function mainImageSwitched(i) {
		try {
			if ($J("#images img").size() > 0) {
				var altText = $J("#images img").eq(i.to).attr("alt");
//				$J(".image_caption").fadeOut("fast", function() {
//					$J(".image_caption").html(altText).removeClass("sifr");					
//					$J(".image_caption").sifr({
//						path: "/common/templates/resort/resort_1/flash/",
//						font: "nobel_book_light",
//						fontSize: "30"
//					});
//					$J(".image_caption").fadeIn("fast");
//				});
			}
		} catch (e) { alert(e); }
	}

	function selectImage(i) {
		slideshowEngine.jumpToPair(i, true);
	}

	return {
		createSlideshow: createSlideshow,
		selectImage: selectImage
	};

} ());


/* Gallery */
LR.Golf.Gallery = (function() {
	var slideshowEngine;
	var config = {
		fadeInterval: 6000,
		fadeSpeed: 1000
	};

	function create() {
		if ($J('body').hasClass('gallery')) {
			// create slideshow and set up image array
			slideshowEngine = new imageslideshowEngine();
			slideshowEngine.images = $J('#images img').get();

			// set up control click event handlers
			$J('#imagestrip img').css({
				cursor: 'pointer'
			});
			$J('#imagestrip img').each(function(i) {
				$J(this).click(function(event) {
					selectImage(i);
					event.preventDefault();
				});
			});

			//setup move left event handler
			$J("#gallerygroup #moveright").click(function(event) {

				var imageCount = $J("#imagestrip").children().size();
				var containerWidth = (imageCount * 75);
				containerWidth = containerWidth - (containerWidth * 2);

				var vleft = $J("#imagestrip").css("left");
				var vwidth = $J("#imagestrip").css("width");

				vleft = parseInt(vleft.substring(0, vleft.length - 2)) - 300;
				if (vleft >= containerWidth) {
					$J("#imagestrip").animate({
						left: vleft
					}, 500);
				}
				event.preventDefault();
			});

			//setup move right event handler
			$J("#gallerygroup #moveleft").click(function(event) {
				var vleft = $J("#imagestrip").css("left");
				vleft = parseInt(vleft.substring(0, vleft.length - 2)) + 300;
				if (vleft <= 0) {
					$J("#imagestrip").animate({
						left: vleft
					}, 500);
				}
				event.preventDefault();
			});

			$J('#pause').click(function(event) {
				pause();
				event.preventDefault();
			});
			$J('#play').click(function(event) {
				unpause();
				event.preventDefault();
			});

			// start the engine
			slideshowEngine.init(config.fadeInterval, config.fadeSpeed, imageSwitched);
		}
	}

	function selectImage(i) {
		slideshowEngine.jumpToPair(i, true);
		imageSwitched({
			to: i
		});
	}

	function imageSwitched(indexes) {
		// activate the indexed thumbnail, deactivate others        
		$J('#imagestrip img').eq(indexes.to).addClass('active').siblings().removeClass('active');
	}

	function pause() {
		if (slideshowEngine) {
			slideshowEngine.pauseEngine();
		}
	}
	function unpause() {
		if (slideshowEngine) {
			slideshowEngine.unpauseEngine();
		}
	}

	return {
		create: create,
		selectImage: selectImage,
		imageSwitched: imageSwitched,
		pause: pause,
		unpause: unpause
	};

} ());

function fnShowHole(x) {
    $J('#fullmap').hide();
    $J('#hole1').hide();
    $J('#hole2').hide();
    $J('#hole3').hide();
    $J('#hole4').hide();
    $J('#hole5').hide();
    $J('#hole6').hide();
    $J('#hole7').hide();
    $J('#hole8').hide();
    $J('#hole9').hide();
    $J('#smallmap').show();
    $J(x).show();
}


$J(document).ready(LR.Golf.Navigation.init);
$J(document).ready(LR.Golf.MainImages.createSlideshow);
$J(document).ready(LR.Golf.Gallery.create);
