// JavaScript Document
function initResLauncher(){

	// ********************************
	domain = "https://gc.synxis.com"
	var frm    = document.getElementById('resLauncher');
	// ********************************
	//
	var mnths = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
	
	currDt   = new Date();
	currMnth = currDt.getMonth();
	currYear = currDt.getFullYear();
	currDay  = currDt.getDate();
	
	var mt,yr,dy,mnthYr,len;
	
	// Iterate
	for (var mnthIdx=currMnth;mnthIdx<=currMnth+12;mnthIdx++) {
		yr = currYear;
		mt = mnthIdx;
		if (mt>11) {
			mt -= 12;
			yr += 1;
		}
		arrMnthYr  = document.getElementById('arrMnthYr');
		len        = arrMnthYr.getElementsByTagName('option');
		len        = len.length;
		sel  = (yr==currYear && mt==currMnth) ? true : false;
		tmpDay = (yr==currYear && mt==currMnth) ? currDay : 1;
		tmpDt = new Date(yr,mt,tmpDay);
		
		// Create <option>
		
		arrMnthYr.options[len] = new Option(mnths[mt] + " " + yr,tmpDt,sel,sel);
	}
	
	// Call Other Methods
	setDays(currDt);
	setDates();
}

// 
// Build the days of the CURRENT month (in the corresponding year)
// dt is sent as a JavaScript new Date() object
//
function setDays(dt) {
	var days,yr,mt,day,tm,len,sel,tmpDt;
	yr = dt.getFullYear();
	mt = dt.getMonth();
	day = (mt==currMnth && yr==currYear) ? dt.getDate() : 1;

	var tmpMt = mt+1;
	var tmpYr = yr;
	if (tmpMt>11) {
		var tmpMt = mt-11;
		var tmpYr = yr+1;
	}
	tmpDt = new Date(tmpYr,tmpMt);
	tm = tmpDt.getTime();
	tmpDt.setTime(tm-86400000);
	dayCnt = tmpDt.getDate();

	//
	// Begin creation of date <select>
	//
	
	// Remove all <select> data
	arrDay = document.getElementById('arrDay');
	arrDay.options.length = 0;
	// Iterate
	for (var i=day;i<=dayCnt;i++) {
	  len   = arrDay.getElementsByTagName('option');
		len   = len.length;
		tmpDt = new Date(yr,mt,i);
		sel   = (tmpDt == currDt) ? true : false;
		
		// Create <option>
		arrDay.options[len] = new Option(i,tmpDt,sel,sel);
	}
}

function setDates(updateDays) {
	
	// When Changing Months we need to reset the
	// days to allow for for selection of any day
	if (updateDays) setDays(new Date(arrMnthYr.options[arrMnthYr.selectedIndex].value));
	
}

//
// Submit!
//
function launchBE() {
	//
	// Retrieve form variables
	//
	
	// Nights
	var nights = document.getElementById('nights');
	nights     = nights.options[nights.selectedIndex].value;
	// Month/Year
	var mnthYr   = new Date(arrMnthYr.options[arrMnthYr.selectedIndex].value);
	var thisMnth = mnthYr.getMonth();
	var thisYear = mnthYr.getFullYear();
	// Day
	var dt		= new Date(arrDay.options[arrDay.selectedIndex].value);
	var thisDay = dt.getDate();
	
	//
	// Create Arrival Date & Calculate Departure Date values
	//
	
	// Arrival Date
	arrivalDt = thisDay+"/"+(thisMnth+1)+"/"+thisYear;
	// Calculate
	tmpDt = new Date(thisYear,thisMnth,thisDay);
	tm    = tmpDt.getTime();
	tmpDt.setTime(tm+(86400000*nights));
	//Departure Date
	departureDt = tmpDt.getDate()+"/"+(tmpDt.getMonth()+1)+"/"+tmpDt.getFullYear();
	
	//
	// Create the URL String
	//
	var url = domain;
	url += "/rez.aspx";
	var hotelId,arrDt,depDt,adult,child;
	hotelId = document.getElementById('hotelId').value;
	lingua = document.getElementById('lingua').value
	if (lingua == 'en-EN')
	{
	  arrivalDt   = (thisMnth+1)+"/"+thisDay+"/"+thisYear;
	  departureDt = (tmpDt.getMonth()+1)+"/"+tmpDt.getDate()+"/"+tmpDt.getFullYear();
	}
	arrDt = arrivalDt;
	depDt = departureDt;
	adult = document.getElementById('adult').value;
	child = document.getElementById('child').value;

	url 
	+= "?Hotel="+hotelId	  
  	+"&locale="+lingua //it-IT en-EN
		+"&Arrive="+arrDt
		+"&Depart="+depDt
		+"&Adult="+adult
		+"&Child="+child
    +"&Step=2"
    +"&src=duoMo";
		
	if (hotelId != '')
		location.href=(url);
}