$(document).ready(function() {
	$('#nv-photo').fancybox({
	  type: 'iframe',
	  autoDimensions: false,
	  autoScale: false,
	  scrolling: 'no',
	  width: 750,
	  height: 550
	});
	
	initPopupLinks()	
	initDateFields();

	if ($.browser.msie && $.browser.version.substr(0,1)<7) {
		$("select[name=arrDate]").attr('selectedIndex', $("select[name=arrDate]").attr('selectedIndex')+1);
		$("select[name=arrMonth]").attr('selectedIndex', $("select[name=arrMonth]").attr('selectedIndex')+1);
	}
	
	$('.reservations a').mouseover(function(){
	  $('#reservation_app').show();				
	});
	
	$('#reservation_close').click(function(){
	  $('#reservation_app').hide();
	});
	
	$(".csspop").hover(function () {
		$("div.css-popup").fadeIn("slow");	
	},function(){
		$("div.css-popup").fadeOut("slow");
	})
	
	/**/
	$('#media').cycle({
		fx: 'fade',
		speed:    500,
		timeout:  4000
	});			
	
	$('#home-media').cycle({
		fx: 'fade',
		speed:    500,
		timeout:  4000,
		autostop: 1
	});
	
	$('#scrim-scroll').cycle({
		fx: 'scrollVertUp',
		speed:    500,
		timeout:  8000
	});
	
	$('#scrim-scroll').animate({
		marginTop: "-70px"
	}, 1000);
	
	$('#mini-res').submit(function() {
		//constants
		domain = "https://gc.synxis.com/rez.aspx";
		
		//gather reservation form data
		//id like to serialize this, in future...but for now...
		var url = domain;
		var hotelId = $('#destination').val();
		var arrMonth = $('#arrMonth').val();
		var arrDate = $('#arrDate').val();
		var arrYear = $('#arrYear').val();
		var arrivalDate = arrMonth + '/' + arrDate + '/' + arrYear;
		var nights = $('#nights').val();
		var adults = $('#adults').val();
		var children = $('#children').val();
		var promo = $('#rateCode').val();
		var group = $('#groupCode').val();
		var rateType = $('#rateType').val();
		
		if (group == '') {
    //'group code' input is empty
    //generate URL string
    url += "?hotel="+hotelId
    	  +"&arrive="+arrivalDate
    		+"&nights="+nights
    	  +"&adult="+adults
    	  +"&child="+children
    		+"&promo="+promo
    		+"&group="+group
    		+"&start=51"
    		+"&filter="+rateType;			
    }

    else {
    //user has entered 'group code'
    //generate URL string
    url += "?hotel="+hotelId
    	  +"&arrive="+arrivalDate
    		+"&nights="+nights
    	  +"&adult="+adults
    	  +"&child="+children
    		+"&promo="+promo
    		+"&group="+group
    		+"&start=51";
    }
		
		//send url data to synxis booking engine
		window.location = url;
		
		return false;
	});
	
});


// --------------------------------------->
// NOTE: CALENDAR ROLLOVER @ END OF SCRIPT
//

function adjustYear(month) {

	frm = document.resLauncher;
	var now = new Date();
	
	if (month < now.getMonth() + 1) {
		frm.arrYear.selectedIndex = 1;
	} else {
		frm.arrYear.selectedIndex = 0;
	}
}

// initDateFields() initializes the month, day, and year select inputs
// the form must be named "resLauncher" and the date fields must be 
// named: "arriveMonth" "arriveDate" and "arriveYear"
// the select inputs will be populated dynamically

function initDateFields() {

	frm = document.resLauncher;

	//
	// Begine creation of Month/Year <select>
	//
	var mnths = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];

	var now = new Date();
	//tomorrowDt   = new Date(now.getTime() + (1 * 86400000));
	currMnth = now.getMonth();	
	currDay  = now.getDate();
	currYear = now.getFullYear();

	var mt,yr,dy,mnthYr,len;

	// Day
	for (var dayIdx = 1; dayIdx <= 31; dayIdx++) {
		lenDay = frm.arrDate.options.length;
		if (dayIdx == currDay) {
			selDay = true;
			selDayIdx = dayIdx;
		} else {
			selDay = false;
		}
		
		frm.arrDate.options[lenDay] = new Option(dayIdx, dayIdx, selDay, selDay);
	}

	// Month
	for (var mnthIdx = 0; mnthIdx < 12; mnthIdx++) {
		lenMnth = frm.arrMonth.options.length;
		if (mnthIdx == currMnth) {
			selMnth = true;
			selMnthIdx = mnthIdx;
		} else {
			selMnth = false;
		}
		
		frm.arrMonth.options[lenMnth] = new Option(mnths[mnthIdx], mnthIdx+1, selMnth, selMnth);
	}

	//  Years
	for (var yearIdx = currYear; yearIdx < currYear + 2; yearIdx++) {
		lenYear = frm.arrYear.options.length;
		selYear = (yearIdx == currYear) ? true : false;
		frm.arrYear.options[lenYear] = new Option(yearIdx, yearIdx, selYear, selYear);
	}
}

function calePopUp(width, height)
{
	// Get the month/year/dates
	// these must be converted from there full date format to single
	// states such as individual month/year/dates (all numeric values returned)
	
	// month/year here
	
	var selMnth_index = document.resLauncher.arrMonth.selectedIndex;
	var selYear_index = document.resLauncher.arrYear.selectedIndex;
	var selMnthYr = new Date(document.resLauncher.arrYear.options[selYear_index].value, document.resLauncher.arrMonth.options[selMnth_index].value);
	
	var selMnthYr_mnth = selMnthYr.getMonth()-1;
	var selMnthYr_year = selMnthYr.getFullYear();
	
	// day here
	
	var selDate_index = document.resLauncher.arrDate.selectedIndex;
	var selDate = new Date(document.resLauncher.arrYear.value, document.resLauncher.arrMonth.value, document.resLauncher.arrDate.value);
	
	var selMnthYr_dayy = selDate.getDate();

	// Create url
	
	var winURL = "/calendar.html?var_month=" + selMnthYr_mnth + "&var_year=" + selMnthYr_year + "&var_day=" + selMnthYr_dayy;

	// open popup
	
	window.open(winURL,"winCale","toolbar=no,location=no,status=no,directories=no,width=" +width+ ",height=" +height+ ",left=390,top=350,scrollbars=no,resizable=no");
}

/**
 * Sets the form dates
 *
 * @param integer month
 * @param integer year
 * @param integer day
 */
function setFormDates(month, year, day)
{
	// set month
	document.resLauncher.arrMonth.selectedIndex = month;
	
	// set year
	var select_arrYear_length = document.resLauncher.arrYear.options.length;
	var select_arrYear_index = 0;
	for (m = 0; m < select_arrYear_length; m++) {
		var select_arrYear = document.resLauncher.arrYear.options[m].value;
		if (year == select_arrYear) select_arrYear_index = m;
	}
	document.resLauncher.arrYear.selectedIndex = select_arrYear_index;
		
	// set day
	document.resLauncher.arrDate.selectedIndex = day - 1;
}

var popupLinkConfig = new Array;

//for ALL links to kimptonhotels.com
popupLinkConfig["kimpton"]    = new Array ( "", 
"width=1000,height=660,scrollbars=yes,resizable=yes,status=yes,toolbar=yes,location=yes,menubar=yes");

//for links to all other 3rd party sites
popupLinkConfig["newsite"]    = new Array ( "", 
"width=1200,height=700,scrollbars=yes,resizable=yes,status=yes,toolbar=yes,location=yes,menubar=yes");

//for links to the Reservator
popupLinkConfig["reservator"]    = new Array ( "", 
"width=800,height=660,scrollbars=yes,resizable=yes,status=no,toolbar=no,location=no,menubar=no");

//for Air Car Hotel links
popupLinkConfig["aircarhotel"]    = new Array ( "", 
"width=820,height=595,scrollbars=yes,resizable=yes,status=no,toolbar=yes,location=no,menubar=no");

//for gift card link
popupLinkConfig["gift"]    = new Array ( "", 
"width=770,height=780,scrollbars=yes,resizable=yes,status=no,toolbar=yes,location=no,menubar=no");

//for best rate guarantee
popupLinkConfig["bestrate"]    = new Array ( "", "width=1000,height=660,scrollbars=yes,resizable=yes,status=yes,toolbar=yes,location=yes,menubar=yes");

//for Open Table reservations link
popupLinkConfig["opentable"]    = new Array ( "", 
"width=792,height=405,scrollbars=yes,resizable=yes,status=no,toolbar=yes,location=no,menubar=no");

//for links to VFM Photo and Virtual Tour
popupLinkConfig["vfmviewer"]    = new Array ( "", "width=800,height=600,scrollbars=no,resizable=no,status=no,toolbar=no,location=no,menubar=no");


// popupLinkConfig["classname"] = new Array ( "targetname", "width=550,height=350,scrollbars=yes,resizable=yes,status=yes,toolbar=yes,location=yes,menubar=yes");
//popupLinkConfig["popup"]    = new Array ( "", "width=350,height=450,scrollbar=yes,menubar=yes");
//popupLinkConfig["glossary"] = new Array ( "help", "width=550,height=350,resizable=yes");

// ==========================================================================

function initPopupLinks()
{
  if (!document.getElementsByTagName) return true;
  var pageLinks = document.getElementsByTagName("a");
  for (var i = 0; i < pageLinks.length; i++) 
  {
    if (((pageLinks[i].className != null) && 
         (pageLinks[i].className != "")) ||
        ((pageLinks[i].parentNode.className != null) && 
         (pageLinks[i].parentNode.className != "")))
    {
      var linkClass = " " + pageLinks[i].className + " ";
      if ((linkClass == "  ") && (pageLinks[i].parentNode.className != ""))
      {
        linkClass = " " + pageLinks[i].parentNode.className + " ";
      }
      for (var theKey in popupLinkConfig) 
      {
        if (linkClass.indexOf(" " + theKey + " ") > -1)
        {
          if ((pageLinks[i].target == "") || (pageLinks[i].target == null))
          {
            pageLinks[i].target = (popupLinkConfig[theKey][0] != "") ? popupLinkConfig[theKey][0] : theKey;
          }
          pageLinks[i].settings = popupLinkConfig[theKey][1];
          pageLinks[i].onclick = popUp;
        }
      }
    }
  }
  return true;
}

function popUp()
{
 if ($.browser.msie && $.browser.version.substr(0,1)<8) {
  window.open(this.href, this.target, this.settings);
 }
 else {   
   newWin = window.open(this.href, this.target, this.settings);
   newWin.focus();
 }
  return false;
}
