$(document).ready(function () {

	/*=== Carousel ===*/
	var myCarousel = $('#myChrome');
	if (myCarousel.length > 0) {
		myCarousel.jcarousel({
			scroll: 1
		});
		var myCarouselWidth = myCarousel.width();
		myCarousel.width(myCarouselWidth + 200);
	}

	/*=== Carousel ===*/
	/*var checkOutChrome = $('#checkOutChrome');
	if (checkOutChrome.length > 0) {
		checkOutChrome.jcarousel({
			scroll: 1
		});
		var myCarouselWidth = checkOutChrome.width();
		checkOutChrome.width(myCarouselWidth + 200);
	}*/

	/*=== Pnb specific tabs ===*/
	$("ul.mainTabsPnB > li:first, ul.mainTabsPnB > li:first > a").addClass("tabs-selected");
	$(".contentContainer").children(":first").addClass("tabs-show");
	$("ul.mainTabsPnB > li > a").click(function (event) {
		event.preventDefault();
		$("ul.mainTabsPnB > li, ul.mainTabsPnB > li > a").removeClass("tabs-selected")
		$(this).addClass("tabs-selected");
		$(this).closest("li").addClass("tabs-selected");
		$(".contentContainer div").removeClass("tabs-show");
		var pickId = $(this).attr("href");
		$(pickId).addClass("tabs-show");
	});

	/*=== buble styles for lodging info detail page ===*/
	$('.roomType').click(function () {
		var getId = $(this).next().attr('id');
		$('#' + getId).slideToggle(350);
	});

	$(".linkClose").click(function () {
		$(".overlayDiv").addClass("hideDiv");
		$(".modalDiv").addClass("hideDiv");
	});

	/*=== Modal window script for avialablity calander ===*/
	$(".availableCalander").click(function () {
		$(".overlayDiv").css("height", $(document).height());
		$(".overlayDiv").css("width", $(document).width());
		$(".overlayDiv").css("opacity", "0.5");
		$("#hideDropDown").css("opacity", "0");
		$(".hoverBubble").css('display', 'none');
		$(".overlayDiv").removeClass("hideDiv");
		$("#availablity").removeClass("hideDiv");
	});

	$(".linkClose").click(function () {
		$(".overlayDiv").addClass("hideDiv");
		$("#availablity").addClass("hideDiv");
	});

	/*=== toggle class name for date selection ===*/
	$("table.calanderDatesPrice td").click(function () {
		if ($(this).attr("class") == "available") {
			$(this).removeClass("available");
		}
		else if (($(this).text() == "") || ($(this).attr("class") == "notAvailable")) {
			$(this).removeClass("available");
		}
		else {
			$(this).addClass("available");
		}
	});

	/*=== color blank div with dark grey ===*/
	$("table.calanderDatesPrice td").each(function () {
		if ($(this).text() == "") {
			$(this).addClass("blankTD");
		}
	});

	if ($("[id$='_coloradoSnow']").is(":checked") == true) {
		$("#coloradoReportOptions").removeClass("hideDiv");
	}
	else {
		$("#coloradoReportOptions").addClass("hideDiv");
	}

	if ($("[id$='_heavenlySnow']").is(":checked") == true) {
		$("#heavenlyReportOptions").removeClass("hideDiv");
	}
	else {
		$("#heavenlyReportOptions").addClass("hideDiv");
	}

	$("[id$='_coloradoSnow']").click(function () {
		var div = $("ul#coloradoReportOptions");
		if ($("[id$='_coloradoSnow']").attr("checked")) {
			$("#coloradoReportOptions").removeClass("hideDiv");
			//div.show();
		} else {
			$("#coloradoReportOptions").addClass("hideDiv");
			//div.hide();
		}
	})

	$("[id$='_heavenlySnow']").click(function () {
		var div = $("ul#heavenlyReportOptions");
		if ($("[id$='_heavenlySnow']").attr("checked")) {
			$("#heavenlyReportOptions").removeClass("hideDiv");
			//div.show();
		} else {
			$("#heavenlyReportOptions").addClass("hideDiv");
			//div.hide();
		}
	})

	/*=== expand collpase right filter for logding list view page ===*/
	$("img.collapsibleLink").click(function () {
		var current = this;
		var container = $(this).parent().next();
		if ($(container).css("display") == "none") {
			$(current).attr('src', '/VailResorts/sites/PlanningAndBooking/assets/img/iconMinus.gif');
			$(container).toggle();
		} else {
			$(current).attr('src', '/VailResorts/sites/PlanningAndBooking/assets/img/iconPlus.gif');
			$(container).toggle();
		}
	});

	/*=== disabled a row in the lodging detail table and lodging offer table ===*/
	$("table.booking tr td.disabledRow, table.booking tr td.disabledRow span, table.booking tr td.disabledRow a").css("color", "#ccc");
	$("table.booking tr td.disabledRow select, table.booking tr td.disabledRow input").attr("disabled", "disabled");

	$(".registerButtonContainer a[id$=hlRegister]").unbind("click").bind("click", function (e) {
		e.preventDefault();

		window.parent.location.href = $(this).attr("href");

		return false;
	});

}); //document ready ends

/*=== Verify whether inputDate is greater the default Date Picker Max date, if yes return true else false ===*/
function IsMaximumDateRange(inputDate) {
	Date1 = new Date(inputDate);
	Date2 = new Date($("[id$=hdMaxDate]").eq(0).val());

	if (Date1 > Date2) return true;
	return false;
}

function getMaximumDateRange() {
	var todaysDt = new Date($("[id$=hdMaxDate]").eq(0).val());
	todaysDt.setDate(todaysDt.getDate() + 1);
	return (todaysDt.getMonth() + 1) + "/" + todaysDt.getDate() + "/" + todaysDt.getFullYear();
}

function showInterstitial(options){
	var defaults = {
		url: "",
		width: 790,
		height: 600,
		bgColor: "#003466",
		maxShowTime: 0,
		minShowTime: 5000,
		callback: function(){}
	};
	var interstitial = $.extend(defaults, options);
	
	if ( !$("body > .iLayer").data("isVisible") ){
	    $("body, html").css("overflow", "hidden");
    	
	    var docWidth = $(window).width();
	    var docHeight = getDocHeight();
	    var viewportHeight = $(window).height();
	    var viewportWidth = $(window).width();
    	
	    var iLayerLeft = ( viewportWidth - interstitial.width ) / 2;
	    iLayerLeft = (iLayerLeft < 0) ? 0 : iLayerLeft;
    	
	    var iLayerTop = ( viewportHeight - interstitial.height ) / 2;
	    iLayerTop = (iLayerTop < 0) ? 0 : iLayerTop;
    	
    	
	    var iOverlay = $("body > .iOverlay").css({
		    width: docWidth + "px",
		    height: docHeight + "px",
		    backgroundColor: interstitial.bgColor
	    });
    	
	    var iLayer = $("body > .iLayer").css({
		    width: interstitial.width + "px",
		    height: interstitial.height + "px",
		    left: iLayerLeft + "px",
		    top: iLayerTop + "px"
	    });
    	
	    var iLayerFrame = $("body > .iLayer iframe");
    	
	    iOverlay.bgiframe();
	    iOverlay.show();
	    iLayer.show();
		if ( iLayerFrame.attr("src").length == 0 ){
			iLayerFrame.attr("src",interstitial.url);
		}
	    window.scroll(0,0);
    	
	    iLayer.data("start", new Date().getTime());
	    iLayer.data("minShowTime", interstitial.minShowTime);
	    iLayer.data("isVisible", true);
    	
	    interstitial.callback();
    	
	    if ( interstitial.maxShowTime > 0 && interstitial.maxShowTime > interstitial.minShowTime ){
		    setTimeout(function(){
			    hideInterstitial();
		    }, interstitial.maxShowTime);
	    } else {
		    interstitial.maxShowTime = 0;
	    }
	    iLayer.data("maxShowTime", interstitial.maxShowTime);
	}
}

function hideInterstitial(options){
	var defaults = {
		callback: function(){}
	};
	var interstitial = $.extend(defaults, options);
	
	var isVisible = $("body > .iLayer").data("isVisible");
	
	if ( isVisible ){
		var iLayer = $("body > .iLayer");
		var iOverlay = $("body > .iOverlay");
		
		if ( iLayer.length > 0 ){
			var minShowTime = iLayer.data("minShowTime");
			
			var start = iLayer.data("start");
			var end = new Date().getTime();
			var elapsed = end - start;
			
			var timeout = (elapsed < minShowTime) ? minShowTime - elapsed : 0;
			
			setTimeout(function(){
				iOverlay.hide();
				iLayer.hide();
				//$("iframe", iLayer).attr("src", "");
				$("body, html").css("overflow", "");
				
				iLayer.data("isVisible", false);
				
				interstitial.callback();
			}, timeout);
		}
	}
}


function initInterstitial(){
	if ( $("[id$=hdninterstitialPageURL]").length > 0 ){
		var iURL = $("[id$=hdninterstitialPageURL]").eq(0).val();
	} else {
		var iURL = "";
	}
	if ( iURL.length > 1 ){
		var minTime = $("[id$=hdninterstitialMinTime]").eq(0).val();
		var maxTime = $("[id$=hdninterstitialMaxTime]").eq(0).val();
		showInterstitial({
			url: iURL,
			minShowTime:minTime,
			maxShowTime:maxTime,
			bgColor:"#003466"
		});
	}
}

