﻿$(document).ready(function() {
	$('td.day').hover(
		function() {
			$(this).css("background-image", "url(http://photos.marmara.com/DesignImages/bg/td_over.png)");
			$(this).css("color", "#fff");
			var propArr = $(this).attr("id").split("_");
			$("#FlightDateUp_" + propArr[1]).css("border-color", "red");
			$("#FlightDateLeft_" + propArr[2]).css("border-color", "red");
		},
		function() {
			$(this).css("background-image", "");
			$(this).css("color", "");
			var propArr = $(this).attr("id").split("_");
			$("#FlightDateUp_" + propArr[1]).css("border-color", "");
			$("#FlightDateLeft_" + propArr[2]).css("border-color", "");
		}
	);
	$('div.flight').hover(
		function() { $(this).addClass('flight_over'); },
		function() { $(this).removeClass('flight_over'); }
	);
});

function jQueryUpdateOnGridClick(elt)
{
	var propArr = elt.getAttribute('id').split("_");

	$("#ResultatsVols td").removeClass('daymatched');
	$("#ResultatsVols tr:eq(0) th").removeClass('matched');

	$("#ResultatsVols tbody tr td:first-child").removeClass('matched');

	$("#FlightTD_" + propArr[1] + "_" + propArr[2]).addClass("daymatched");
	$("#FlightDateUp_" + propArr[1]).addClass('matched');
	$("#FlightDateLeft_" + propArr[2]).addClass('matched');

	$('div.flight').removeClass('flight_selected');	
	$('div.flight input').removeAttr("checked");
	$('#fieldsetReserver').hide();
	
	$.scrollTo($('#ResultatsVolsSelection'), 1500);
	$(".toPulsate2").effect("pulsate", { times:6 }, 400);
}

function jQueryUpdateOnFlightClick(elt)
{
	$('div.flight').removeClass('flight_selected');
	$('#' + elt.getAttribute('id')).addClass('flight_selected');
	$('#' + elt.getAttribute('id') + ' input').attr("checked","checked");	
	$('#fieldsetReserver').show();
	$.scrollTo($('#fieldsetReserver'), 1500);
	$(".toPulsate3").effect("pulsate", { times:6 }, 400);
}

function VolUpdateTitle(eltId)
{
	var weekdays = ["dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"];
	var propArr = eltId.split("_");

		
	if (propArr[2] != "1")
	{
		var dateDepStr = propArr[2];
		var dateRetStr = propArr[1];
		
		var dateDep = new Date(parseInt(dateDepStr.substring(4, 8), 10), parseInt(dateDepStr.substring(2, 4), 10) - 1, parseInt(dateDepStr.substring(0, 2), 10));
		var dateRet = new Date(parseInt(dateRetStr.substring(4, 8), 10), parseInt(dateRetStr.substring(2, 4), 10) - 1, parseInt(dateRetStr.substring(0, 2), 10));
		
		var w = weekdays[dateDep.getDay()];
		var d = ( dateDep.getDate() < 10 ? "0" + dateDep.getDate() : dateDep.getDate());
		var m = ( dateDep.getMonth() < 10 ? "0" + dateDep.getMonth() : dateDep.getMonth());
		var y = dateDep.getFullYear();
		
		var wR = weekdays[dateRet.getDay()];
		var dR = ( dateRet.getDate() < 10 ? "0" + dateRet.getDate() : dateRet.getDate());
		var mR = ( dateRet.getMonth() < 10 ? "0" + dateRet.getMonth() : dateRet.getMonth());
		var yR = dateRet.getFullYear();
		
		document.getElementById('PFlightTitle').innerHTML = "D&eacute;part le " + w + " " + d + "/" + m + "/" + y + ", Retour le " + wR + " " + dR + "/" + mR + "/" + yR;
	}
	else
	{
		var dateDepStr = propArr[1];
		
		var dateDep = new Date(parseInt(dateDepStr.substring(4, 8), 10), parseInt(dateDepStr.substring(2, 4), 10) - 1, parseInt(dateDepStr.substring(0, 2), 10));
		
		var w = weekdays[dateDep.getDay()];
		var d = ( dateDep.getDate() < 10 ? "0" + dateDep.getDate() : dateDep.getDate());
		var m = ( dateDep.getMonth() < 10 ? "0" + dateDep.getMonth() : dateDep.getMonth());
		var y = dateDep.getFullYear();
		
		document.getElementById('PFlightTitle').innerHTML = "D&eacute;part le " + w + " " + d + "/" + m + "/" + y;
	}
}

function SetBackDate(departureCityId, destinationCityId, departureDateId, backDateId)
{
	var departureCityCode = document.getElementById(departureCityId).value;
	var destinationCityCode = document.getElementById(destinationCityId).value;
	var departureDate = document.getElementById(departureDateId);
	var backDate      = document.getElementById(backDateId);
	returnDate        = AddDaysToDate(departureDate.value, 7);
	dateArray         = GetDateArrayById(dest, departureCityCode, destinationCityCode); 
	returnDate        = GetNearestDate(dateArray, returnDate);
	backDate.value    = returnDate;
}

function SetBothDates(departureCityId, destinationCityId, departureDateId, backDateId)
{
	var departureCity   = document.getElementById(departureCityId);
	var destinationCity = document.getElementById(destinationCityId);
	var departureDate   = document.getElementById(departureDateId);

	var departureCityCode   = departureCity.value;
	var destinationCityCode = destinationCity.value;
	var dateArray           = GetDateArrayById(dest, departureCityCode, destinationCityCode);

	var defaultDepartureDate =  GetFirstAvailableDate(dateArray);

	departureDate.value = defaultDepartureDate;
	SetBackDate(departureCityId,destinationCityId,departureDateId,backDateId);
}

/*
	AddDaysToDate accepts a date string in the '01/01/2000' format.
	Returns a date with 'days' days added 
*/
function AddDaysToDate(date, days)
{
	//alert(date);
	var day   = parseInt(date.substring(0,2),10);
	var month = parseInt(date.substring(3,5),10);
	var year  = parseInt(date.substring(6,10),10);
	var date = new Date(year,month-1,day+parseInt(days,10));
	//alert(date);
	var yearToReturn  = date.getFullYear().toString();
	//alert(yearToReturn);
	var monthToReturn = (date.getMonth() +1 ).toString();
	if(monthToReturn < 10)
		monthToReturn = '0' + monthToReturn.toString();
	//alert(monthToReturn);
	var dayToReturn   = date.getDate();
	//alert(dayToReturn);
	if(dayToReturn < 10)
		dayToReturn = '0' + dayToReturn.toString();
    
	returnDate = dayToReturn + '/' + monthToReturn + '/' + yearToReturn;
	//alert(returnDate);
	return returnDate;
}



var _lastOpenDetailsId = null;

function ShowFlightDetails(idGrid)
{
	var strId = 'IdGrid_' + idGrid;
	
	var eltTitle = byId('FlightDetailsTitle');
	
	var eltAssurances = byId('ResultatsVolsAssurances');

	if (_lastOpenDetailsId != null)
	{
		var lastDiv = byId(_lastOpenDetailsId);
		lastDiv.style.display = 'none';
	}

	var reqDiv = byId(strId);
	
	if (reqDiv)
	{
		eltTitle.style.display = 'block';
		eltAssurances.style.display = 'block';
		
		reqDiv.style.display = 'block';

		_lastOpenDetailsId = strId;
	}
	else
	{
		eltTitle.style.display = 'none';
		eltAssurances.style.display = 'none';
		_lastOpenDetailsId = null;
	}
	
	document.getElementById('DivDetailsChargement').style.visibility='hidden';
}



function ChangeDepartureCity(idDepartureElt, idDestinationElt, arrayCities)
{ 
	var selDest = byId(idDestinationElt);
	
	var cityList = arrayCities[byId(idDepartureElt).value]['to'];
	
	selDest.options.length = 0;
	
	for (var i = 0; i < cityList.length; i++)
	{
		var city = cityList[i];
		selDest.options[i] = new Option(city.name, city.code);
	}
}


function SwitchFlightType(idDepartureCityElt, idArrivalCityElt)
{
	SetBackDate(idDepartureCityElt, idArrivalCityElt, 'depart_date', 'arrivee_date');
	
	var isOneWay = !byId('aller_retour').checked;

	if (isOneWay)
	{
		byId('fieldsetDateBack').style.display = 'none';
	}
	else
	{
		byId('fieldsetDateBack').style.display = '';
	}
}

function SetSelectedParameters(dateAller, dateRetour, nbrAdultes, nbrEnfants, nbrBebes)
{
	byId('adulte_vol').value = nbrAdultes;
	byId('enfant_vol').value = nbrEnfants;
	byId('bebe').value = nbrBebes;
	
	if (dateRetour != null)
	{
		byId('aller_retour').checked = true;
		byId('depart_date').value = dateAller;
		byId('arrivee_date').value = dateRetour;
		byId('fieldsetDateBack').style.display = '';
	}
	else
	{
		byId('aller_simple').checked = true;
		byId('depart_date').value = dateAller;
		byId('fieldsetDateBack').style.display = 'none';
	}
}


function SearchFlight(idEltDeparture, idEltDestination)
{
	
	var dtNowTmp = new Date();
	
	var dtNowTime = new Date(dtNowTmp.getFullYear(), dtNowTmp.getMonth(), dtNowTmp.getDate()).getTime();

	var cityDep = byId(idEltDeparture).value;
	var cityDest = byId(idEltDestination).value;
	var dateDep = byId('depart_date').value.replace(/\//g, '');
	var dateRet = byId('arrivee_date').value.replace(/\//g, '');
	var cAdult = byId('adulte_vol').value;
	var cChild = byId('enfant_vol').value;
	var cInf = byId('bebe').value;
	
	if (dateDep == '')
	{
		alert('Veuillez renseigner la date aller !');
		return false;
	}
	else
	{
		var arrDate = byId('depart_date').value.split("/");
		
		var d = arrDate[0];
		var m = arrDate[1];
		var y = arrDate[2];
		
		var dtTime = new Date(parseInt(y, 10), parseInt(m, 10) - 1, parseInt(d, 10)).getTime();
		
		if (dtTime < dtNowTime)
		{
			alert("Veuillez vérifier la date aller !");
			return false;
		}
	}

	if (byId('aller_retour').checked)
	{
		if (dateRet == '') {
			alert('Veuillez renseigner la date retour !');
			return false;
		}
		else
		{
			var arrDate = byId('arrivee_date').value.split("/");
		
			var d = arrDate[0];
			var m = arrDate[1];
			var y = arrDate[2];
			
			var dtTime = new Date(parseInt(y, 10), parseInt(m, 10) - 1, parseInt(d, 10)).getTime();
			
			if (dtTime <= dtNowTime)
			{
				alert("Veuillez vérifier la date retour !");
				return false;
			}
		}
	}

	var link = GetSearchLink(cityDep, cityDest, dateDep, (byId('aller_retour').checked ? dateRet : null), cAdult, cChild, cInf);
	location.href = link;
}

function SubmitReservation(flightData)
{
	var rValue = GetSelectedRadioValue('RadiosVols');

	var flightItem = flightData[rValue.replace('Radio_', '')];
	
	var assur = GetSelectedRadioValue('Assurances');
	
	if (assur === null)
	{
		alert("Merci de cocher le choix qui vous convient pour l’assurance.");
		return;
	}

	var link = GetResaLink(flightItem['villedepart'], flightItem['villearrivee'], flightItem['datedepart'], (flightItem['dateretour'] ? flightItem['dateretour'] : null), flightItem["adultes"], flightItem["enfants"], flightItem["bebes"], flightItem['axeout'], (flightItem['axein'] ? flightItem['axein'] : null), assur);
	
	location.href = "/RecapPaiement.aspx?" + link;
}

