$(function(){
	/***
	 * Generic functions that come out of the box
	 */
	
	/*E-mail Exclusives Input Clear*/
	$("input[name=EMAIL]").focus(function()
	{
		$(this).val("");		
		$(this).blur(function()
		{
			if($(this).val()=="")
				$(this).val("Enter email here");
		});
	});
	
	/*Lightbox Event Handler*/
	if($("a.lightbox").length>0){
		$("a.lightbox").lightBox({
			imageBtnPrev 	: assets+'images/lightbox-btn-prev.gif',
			imageBtnNext 	: assets+'images/lightbox-btn-next.gif',
			imageBtnClose	: assets+'images/lightbox-btn-close.gif',
			imageLoading   	: assets+'images/lightbox-ico-loading.gif',
			fixedNavigation	: true
		});
	}
	
	/*Datepicker Event Handler*/
	$("a.datepickeropen").click(function(){		
		$("#sitewrapper").after('<div id="datepicker">&nbsp;</div>');
		$("#datepicker").css({'display':'none','position':'absolute','z-index':'100','left':$(this).offset().left,'top':$(this).offset().top});
				
		var opts;
		var arr = $(this).attr("rel").split("_");
		
		switch(arr[0])
		{
			case "res":
				opts = {
					dateFormat:'m-yy_d',
					onSelect: function(dateText){
						date = dateText.split("_")
						if(arr[1]=="check-in"){
							$("#check_in_month").val(date[0]);
							$("#check_in_day").val(date[1]);
							$("#check_in_month_input").val($("#check_in_month_container #check_in_month_input_"+date[0]).html());
							$("#check_in_day_input").val($("#check_in_day_container #check_in_day_input_"+date[1]).html());
							
							$("#check_in_day").prev().text($("#check_in_day")[0].options[$("#check_in_day").attr("selectedIndex")].innerHTML);
							$("#check_in_month").prev().text($("#check_in_month")[0].options[$("#check_in_month").attr("selectedIndex")].innerHTML);							
						}else if(arr[1]=="check-out"){
							$("#check_out_month").val(date[0]);
							$("#check_out_day").val(date[1]);
							$("#check_out_month_input").val($("#check_out_month_container #check_out_month_input_"+date[0]).html());
							$("#check_out_day_input").val($("#check_out_day_container #check_out_day_input_"+date[1]).html());
							
							$("#check_out_day").prev().text($("#check_out_day")[0].options[$("#check_out_day").attr("selectedIndex")].innerHTML);
							$("#check_out_month").prev().text($("#check_out_month")[0].options[$("#check_out_month").attr("selectedIndex")].innerHTML);
						}						
						$("#datepicker").remove();
					}
				}				
			break;
		
			case "text":
				opts = {
					dateFormat:'m-d-yy',					
					onSelect: function(dateText){						
						$("."+arr[1]).val(dateText);									
						$("#datepicker").remove();
					}
				}
			break;
		}
		
		$("#datepicker").datepicker(opts);
		$("#datepicker").toggle();
		
		return false;
	});
	
	/**
	 * End Generic Functions
	 */
	
	/**
	 * Site Specific Functions
	 */	
	$("ul#nav li.active ul").addClass("hold");
	$("ul#nav li:not(ul#nav ul li)").hover(function()
	{
		if(!$(this).parent().hasClass("hold"))
			$(".hold").hide();
		
		$(this).addClass("active");
		$("ul", $(this)).show();
	}, function()
	{
		$(this).removeClass("active");
		$("ul", $(this)).hide();
		
		if($(this).parent().attr("id")=="nav")
			$(".hold").show();
	});

	
	$("#top-images .slides").cycle(
	{
		fx: "fade",
		speed: 800,
		timeout: 5000,
		prev: $(".controls a.btn_prev"),
		next: $(".controls a.btn_next"),
		after: changeCaption
	});
	$(".controls a.btn_prev, .controls a.btn_next").click(function() { return false; } );
	$(".controls p").text($("#top-images .slides img:eq(0)").attr("alt"));
	$(".controls a.btn_pause").click(function()
	{
		$("#top-images .slides").cycle("pause");
		$(this).hide();
		$(".controls a.btn_play").show();
		return false;
	});
	$(".controls a.btn_play").click(function()
	{
		$("#top-images .slides").cycle("resume");
		$(this).hide();
		$(".controls a.btn_pause").show();
		return false;
	});
	
	/*Promo Banner Rotator Action*/
	$('.sidebar-slides .slide').cycle({ 
	    fx: 'scrollHorz',
	    pause: 1,
	    pager: '.slide-pager',
	    pagerAnchorBuilder:	function(index, slide){return '<li><a href="#">'+index+'</a></li>';}		
	});
	
	$("a.modal-link, a:contains('Affiliated Hotels')").click(function()
	{		
		loadModal("720","/layout/set/modal"+$(this).attr("href"));
		return false;
	});
	
	$("form#quick-res").submit(function(){
		loadResFields();
	});
});

function changeCaption()
{
	$(".controls p").text(this.alt);
}

function loadResFields()
{
	var vals = $("#check_in_month").val().split("-");
	if(vals[0]<10) vals[0]="0"+vals[0];
	$("input[name=arrivalMonth]").val(vals[0]);
	$("input[name=arrivalYear]").val(vals[1]);
	
	var vals = $("#check_out_month").val().split("-");
	if(vals[0]<10) vals[0]="0"+vals[0];
	$("input[name=departureMonth]").val(vals[0]);
	$("input[name=departureYear]").val(vals[1]);
	
	if($("#rooms").val()>4){		
		//$("form#quick-res").attr("action","http://www.hilton.com/en/hi/hotels/search/groups/gm/index3.jhtml;?ctyhocn=EWRSHHH&WT.mc_id=1HH2ST3HiltonShortHills5EeventsQuickRes6EWRSHHH");
		$("form#quick-res").attr("action","http://www.hilton.com/en/hi/hotels/search/groups/gm/index3.jhtml?ctyhocn=KYLGRHF&WT.mc_id=1HH2ST3KeyLargoResort5eEventsQuickReservations6KYLGRHF");
		$("input[name=needGstRooms]").val(1);
		$("input[name=numGstRooms]").val($("#rooms").val());
		$("input[name=gstArrivalDay]").val($("#check_in_day").val());
		$("input[name=gstArrivalMonth]").val($("input[name=arrivalMonth]").val());
		$("input[name=gstArrivalYear]").val($("input[name=arrivalYear]").val());		
		$("input[name=gstDepartureDay]").val($("#check_out_day").val());
		$("input[name=gstDepartureMonth]").val($("input[name=departureMonth]").val());
		$("input[name=gstDepartureYear]").val($("input[name=departureYear]").val());
	}else{		
		//$("form#quick-res").attr("action","https://secure.hilton.com/en/hi/res/choose_dates.jhtml?ctyhocn=EWRSHHH&WT.mc_id=1HH2ST3HiltonShortHills5QuickRes6EWRSHHH");
		$("form#quick-res").attr("action","https://secure.hilton.com/en/hi/res/choose_dates.jhtml?ctyhocn=KYLGRHF&WT.mc_id=1HH2ST3KeyLargoResort5eEventsQuickReservations6KYLGRHF");
	}
}

function loadModal(mWidth,mURL)
{
	$("#sitewrapper").after('<div id="overlay">&nbsp;</div><div id="modal"><div id="modal-content"><img src="'+assets+'images/spinner.gif"></div></div>');
	$("#overlay").css({width:$("body").width(),height:$(document).height()}).show();
	$("#modal").css({"top":($(document).scrollTop()+100),"left":($(window).width()/2)-(mWidth/2)});
	$("#modal").animate({"width":mWidth,"height":"50px"},250,function(){			
		$("#modal-content").load(mURL,function(){
			$("#modal").animate({"height":$("#modal-content").outerHeight(true)},500,function(){
				$("#overlay").css({height:$(document).height()});				
			});			

			$("#overlay, #modal-content p.close a").click(function(){
				$("#modal").animate({"height":"50px"},500,function(){
					$("#modal-content").html("&nbsp");
					$("#modal").animate({"width":"0px","height":"0px"},500,function(){
						$("#modal").remove();
						$("#overlay").remove();
					});
				});
				return false;
			});
		});
	});
}