function makeItScale() {
	var winW = Math.min($(window).width(),1500);
	$('#masthead img').css({width:winW,marginLeft:-winW/2});
}

function fixGallery() {
	var winW = Math.max($(window).width(),1500);
	var wrapperH = Math.ceil(winW * 711 / 1500);
	$('#resort-photo-gallery').css({height:wrapperH});
}

$(function() {

	$('body:not(.home,.tertiary-page,.tertiary-navi,.photo-gallery)').each(function(){
		$(this).css('overflow-y','scroll');/*we always want a scrollbar*/
		$('#wrapper, #footer').hide();
		makeItScale();
		$(window).resize(function(){makeItScale();});
		var rightPos = ($(window).width() - 920)/2;
		var toggler = $('<a href="#" id="toggle-content" />').css({right:rightPos}).html('<em class="alt">View Image</em>').appendTo('body').fadeIn(1000);
		$('#wrapper, #footer').fadeIn(1000);
		toggler.click(function(e){
			e.preventDefault();
			if (!$(this).hasClass('hide-image')) {
				$('#wrapper, #footer').fadeOut(1000);
				$(this).addClass('hide-image').html('<em class="alt">Hide Image</em>');
			}
			else {
				$(this).removeClass('hide-image').html('<em class="alt">View Image</em>');
				$('#wrapper, #footer').fadeIn(1000);
			}
		});
	});

	$('body.photo-gallery').each(function(){
		$('#resort-photo-gallery').flash({
			swf:"/flash/photo-gallery.swf",
				width:"100%",
				height: "100%",		
				params:{
					allowscriptaccess:"always",
					wmode:"transparent",
					flashvars:{
						xmlPath:'/flash/xml/images.xml'
					}
				}
		});
		fixGallery();
		$(window).resize(function(){fixGallery();});
	});

	$('body.home').each(function(){
		var album = $('#masthead').attr('class');
		$('#masthead').flash({
			swf:"/flash/home-masthead.swf",
			width:"100%",
			height:708,
				params:{
					allowscriptaccess:"always",
					wmode:"transparent",
					flashvars:{
						xmlPath: '/flash/xml/masthead.xml',
						curAlbum: album
					}
				}
		});
		makeItScale();
		$(window).resize(function(){makeItScale();});
	});


	$('.promo-btn').click(function(e){
		e.preventDefault();
		$('#promo-codes').toggle(0,function(){
			if($(this).is(':visible')) {
				$('#iata-number').focus();
			}
			else {
				$('.submit').focus();
			}
		});
	});

	$('div#promo-codes a').click(function(e){
		e.preventDefault();
		$('#promo-codes').hide();
	});

	$('.magnify-images').each(function(){
		var theGlass = $('<img />').attr({src:'/images/layout/magnify-icon.png',className:'glass'});
		var theImages = new Array();
		
		$('.magnify',$(this)).append(theGlass).each(function(){
			var large = new Image();
			large.src = $(this).attr('href');
			$(large).addClass('large');
			theImages.push(large);
		});
		var openFnMagnify=function(hash){
			var showImg = $(hash.t).attr('href');
			$('.magnify-modal').css({left:($(window).width()-$('.magnify-modal').width())/2,top:$(window).scrollTop()+15});
			$('.magnify-modal img[src$="'+showImg+'"]').fadeIn(500).addClass('magnified');
			hash.w.show();
		};
		var closeFnMagnify=function(hash){
			hash.w.hide();
			$('.magnified').hide().removeClass('magnified');
			hash.o.css({backgroundColor:'#fff'}).fadeOut(500,function(){$(this).remove();});
		};
		$('<div />')
			.attr({className:'magnify-modal'})
			.html('<a href="#" id="close-btn" class="jqmClose"><img src="/images/layout/close-button.png" alt="Close" /></a>')
			.jqm({trigger: '.magnify-images a', onShow: openFnMagnify, onHide: closeFnMagnify})
			.append(theImages)
			.appendTo('body').hide();
	});

	$('.course-card:not(#old-nine)').each(function(){
		var theCard = $(this);
		var fx = 'scrollHorz';
		var detailsHeight = $('.course-positioner',theCard).css('top');
		$('.course-positioner',theCard).addClass('showOverview');
		theCard.cycle({
			fx: fx,
			timeout: 0,
			nowrap: 1,
			cleartypeNoBg: true,
			slideExpr: '.hole-content'
		});
		$('.hole-nav li',theCard).not(':last').not(':first').click(function(e){
		  e.preventDefault();
			var theHole = $(this);
			var theList = theHole.parents('ul');
			var theIndex = $('li',theList).index(theHole);
			//console.log(theIndex);
			if (!$('.course-positioner',theCard).hasClass('showOverview') && theHole.hasClass('selected')) {//show the overview again
				$('.course-positioner',theCard).addClass('showOverview').animate({top:detailsHeight});
			} else {//show the hole
				if ($('.course-positioner',theCard).hasClass('showOverview')) { fx = 'none'; }//from overview, don't slide, go directly
				else { fx = 'scrollHorz'; }//from another hole, slide to the new
				theCard.cycle(theIndex-1,fx);
				$('.course-positioner',theCard).animate({top:0}).removeClass('showOverview');
				$('.hole-nav li',theCard).removeClass('selected');
				$('.hole-nav li:eq('+theIndex+')',theCard).addClass('selected');
			}
		});
	});

	var openFnHoleModal=function(hash){	
		var currentTab = $(hash.t).parents('.hole-content');
		var thumbImg = $(hash.t).find('img').attr('src');
		var largeImg = thumbImg.replace('thumbs','full');
		var holeNum = currentTab.attr('id').split("-");
		var holeDetail = $('.hole-description p',currentTab).clone();
		$('#hole-modal').css({left:($(window).width()-$('#hole-modal').width())/2,top:$(window).scrollTop()+10});
		$('.course-aerial-large img').attr('src','').hide();
		$('.jqmHoleTitle h3 span').html(holeNum[1]);
		$('.hole-info-content p').remove();
		$('.hole-info-content').prepend(holeDetail);
		$('.course-aerial-large img').attr('src',largeImg).show();
		hash.w.show();
	};

	var hideFn=function(hash){
		hash.w.hide();
		$('.course-aerial-large img').attr('src','').hide();
		hash.o.remove();
	};

	$('#hole-modal').jqm({trigger: '.hole-aerial', onShow: openFnHoleModal, onHide: hideFn});
	
	$("#golf-request").each(function(){
		var golfForm = $(this);
		var x = 2;
		$("#add-another-request").click(function(e){
			e.preventDefault();
			$.get('/includes/golf-request-item.php?number='+x, function(data){
				$("#requests-fieldset").append(data);
				$(".date-picker", golfForm).each(function() {
					$(this).datepicker({ 
						beforeShow: setDatePicker,
						buttonImage: "/images/icon-cal.gif", 
						buttonImageOnly: true ,
						buttonText: 'Click to select a date',
						duration: "fast",
						gotoCurrent: true,
						hideIfNoPrevNext: true,
						numberOfMonths: 2,
						showAnim: "blind",
						showOn: "both"
					});
					if($(this).val()=='mm/dd/yyyy') {
						$(this).val('');
					}
				});
			});
			x++;
		});
	});

	$("#spa-request").each(function(){
		var spaForm = $(this);
		var x = 2;
		$("#add-another-request").click(function(e){
			e.preventDefault();
			$.get('/includes/spa-request-item.php?number='+x, function(data){
				$("#spa-requests-fieldset").append(data);
				$(".date-picker", spaForm).each(function() {
					$(this).datepicker({ 
						beforeShow: setDatePicker,
						buttonImage: "/images/icon-cal.gif", 
						buttonImageOnly: true ,
						buttonText: 'Click to select a date',
						duration: "fast",
						gotoCurrent: true,
						hideIfNoPrevNext: true,
						numberOfMonths: 2,
						showAnim: "blind",
						showOn: "both"
					});
					if($(this).val()=='mm/dd/yyyy') {
						$(this).val('');
					}
				});
			});
			x++;
		});
	});

	$("#dining-request").each(function(){

		var diningForm = $(this);
		var x = 2;
		timechange(diningForm);
		
		$(this).datepicker({ 
						beforeShow: setDatePickerDining,
						beforeShowDay: disableDaysDining,
						buttonImage: "/images/icon-cal.gif", 
						buttonImageOnly: true ,
						buttonText: 'Click to select a date',
						duration: "fast",
						gotoCurrent: true,
						hideIfNoPrevNext: true,
						numberOfMonths: 2,
						showAnim: "blind",
						showOn: "both"
					});
		
		$("#add-another-request").click(function(e){
			e.preventDefault();
			$.get('/includes/dining-request-item.php?number='+x, function(data){
				$("#dining-requests-fieldset").append(data);
				$(".date-picker", diningForm).each(function() {
					$(this).datepicker({ 
						beforeShow: setDatePickerDining,
						beforeShowDay: disableDaysDining,
						buttonImage: "/images/icon-cal.gif", 
						buttonImageOnly: true ,
						buttonText: 'Click to select a date',
						duration: "fast",
						gotoCurrent: true,
						hideIfNoPrevNext: true,
						numberOfMonths: 2,
						showAnim: "blind",
						showOn: "both"
					});
					if($(this).val()=='mm/dd/yyyy') {
						$(this).val('');
					}
				});
				
				timechange(diningForm);
				
			});
			x++;
		});
	});
	
	  // New accommodation search page
    $('select#property_type').change(function(){
       //alert($(this).val());
       //alert($(this).find('option').filter(':selected').attr('id'));
       var e = $(this);
       var id = e.find('option').filter(':selected').attr('id');
       var val = e.val();
       var search_form = $('div.search-form-wrapper');
       var booking_form = $('div.booking-form-wrapper');
       
       if(search_form.css('display') != 'none'){
            if(val!='search'){
                search_form.slideUp('slow', function(){
                    showItems();   
                });
            }
       }else if(booking_form.css('display') != 'none'){
            if(val!='booking'){ 
                booking_form.slideUp('slow', function(){
                    showItems();   
                });
            }
       }else{
            showItems();
       }
       
       function showItems(){
           if(val=='search'){ 
                search_form.slideDown(); 
           }else if(val=='booking'){
                booking_form.slideDown();     
           }
       }
       $('input#property_type').val(id);
    });

	function timechange(diningForm) {
		var arr_bajanblue_Lunch = ['12:30pm','1:00pm','1:30pm','2:00pm','2:30pm'];
		var arr_bajanblue_Dinner = ['7:00pm','7:30pm','8:00pm','8:30pm','9:00pm','9:30pm'];
		var arr_acajou_Lunch = ['N/A']; 
		var arr_acajou_Dinner = ['6:30pm','7:00pm','7:30pm','8:00pm','8:30pm','9:00pm','9:30pm'];
		var arr_spacafe_Lunch = ['12:30pm','1:00pm','1:30pm','2:00pm','2:30pm'];
		var arr_spacafe_Dinner = ['N/A'];
		var arr_countryclub_Lunch = ['11:30am','12:00pm','12:30pm','1:00pm','1:30pm','2:00pm','2:30pm','3:00pm','3:30pm','4:00pm','4:30pm'];
		var arr_countryclub_Dinner = ['N/A'];
		var optgroup = $('<optgroup />').attr('label', 'Lunch') , optgroup2 = $('<optgroup />').attr('label', 'Dinner');
		var timearr;
		var timeset , thisselect;
		$(".timechecker",diningForm).change(function(){
				thisselect = $(this);
				timeset = thisselect.parents(".dining-request-item").find(".timeset");
				timeset.find("option").remove();
				timeset.find("optgroup").remove();
				switch (thisselect.val()) {
				  case 'L\'Acajou':
					var i=0;
					optgroup.appendTo(timeset);
					$(arr_acajou_Lunch).each(function(){
						$("<option />").val(arr_acajou_Lunch[i]).html(arr_acajou_Lunch[i]).appendTo(timeset);
						i++;
					})
					i = 0;
					optgroup2.appendTo(timeset);
					$(arr_acajou_Dinner).each(function(){
						$("<option />").val(arr_acajou_Dinner[i]).html(arr_acajou_Dinner[i]).appendTo(timeset);
						i++;
					})
				  break;
				  case 'Bajan Blue':
					i=0;
					optgroup.appendTo(timeset);
					$(arr_bajanblue_Lunch).each(function(){
						$("<option />").val(arr_bajanblue_Lunch[i]).html(arr_bajanblue_Lunch[i]).appendTo(timeset);
						i++;
					})
					i = 0;
					optgroup2.appendTo(timeset);
					$(arr_bajanblue_Dinner).each(function(){
						$("<option />").val(arr_bajanblue_Dinner[i]).html(arr_bajanblue_Dinner[i]).appendTo(timeset);
						i++;
					})
				  break;
				  case 'The Spa Cafe':
					i=0;
					optgroup.appendTo(timeset);
					$(arr_spacafe_Lunch).each(function(){
						$("<option />").val(arr_spacafe_Lunch[i]).html(arr_spacafe_Lunch[i]).appendTo(timeset);
						i++;
					})
					i = 0;
					optgroup2.appendTo(timeset);
					$(arr_spacafe_Dinner).each(function(){
						$("<option />").val(arr_spacafe_Dinner[i]).html(arr_spacafe_Dinner[i]).appendTo(timeset);
						i++;
					})
				  break;
				  case 'The Clubhouse Restaurant':
					i=0;
					optgroup.appendTo(timeset);
					$(arr_countryclub_Lunch).each(function(){
						$("<option />").val(arr_countryclub_Lunch[i]).html(arr_countryclub_Lunch[i]).appendTo(timeset);
						i++;
					})
					i = 0;
					optgroup2.appendTo(timeset);
					$(arr_countryclub_Dinner).each(function(){
						$("<option />").val(arr_countryclub_Dinner[i]).html(arr_countryclub_Dinner[i]).appendTo(timeset);
						i++;
					})
				  break;
				 /* default:
				  i=0;
					optgroup.appendTo(timeset);
						$(arr_spacafe_Lunch).each(function(){
								$("<option />").val(arr_spacafe_Lunch[i]).html(arr_spacafe_Lunch[i]).appendTo(timeset);
						i++;
					})
					i = 0;
					optgroup2.appendTo(timeset);
						$(arr_spacafe_Dinner).each(function(){
								$("<option />").val(arr_spacafe_Dinner[i]).html(arr_spacafe_Dinner[i]).appendTo(timeset);
						i++;
					})			
				  break;*/
				}
				
				})
		}
});

