var dateData = null;

function YYYYMMDDDate(s) {
       var t = s.substring(8, 10);
       switch(s.substring(5, 7)) {
              case "01": t += ' jan '; break;
              case "02": t += ' feb '; break;
              case "03": t += ' mar '; break;
              case "04": t += ' apr '; break;
              case "05": t += ' may '; break;
              case "06": t += ' jun '; break;
              case "07": t += ' jul '; break;
              case "08": t += ' aug '; break;
              case "09": t += ' sep '; break;
              case "10": t += ' oct '; break;
              case "11": t += ' nov '; break;
              case "12": t += ' dec '; break;
       }
       t += s.substring(0, 4);
       return t;
}


function GeoLocDisplay() {
	$("#geoloc2").text($.cookie('SignatureGatewayName'));
}
        

function LoadPackageDept() {
	//var url = "PackageDefs.ashx?dispo=gateways&callback=?";
	var url = "http://www.flysunwing.ca/WebLookups/PackageDefs.ashx?dispo=gateways&language=en&callback=?";
	$.getJSON(url,
			function (data) {
				$.each(data, function (i, result) { $('#pk_gateway_dep').find('option').end().append('<option value="' + result.Code + '">' + result.Name + '</option>'); });
				$('#pk_gateway_dep').attr("value", $.cookie('SignatureGateway'));
				pk_gateway_dep_change2();
			});

}

$(function () {
	LoadPackageDept();
	$("#pk_gateway_dep").change(pk_gateway_dep_change);
	$("#pk_dest_dep").change(pk_dest_dep_change);
	$("#pk_date_depx").datepicker({
		dateFormat: 'dd M yy',
		minDate: new Date(),
		beforeShowDay: noBefore,
		numberOfMonths: 1,
		showButtonPanel: true,
		showOn: 'button',
		onSelect: pk_date_depx_picked
	});
	$("#pk_date_depx").click(function(){ $("#pk_date_depx").datepicker('show'); });
	});

function PkgSubmit() {
	if(!Date.parse($("#pk_date_depx").val())) {
		var datex = new Date();
		datex.setDate(datex.getDate() + 1);
		var y = datex.getFullYear().toString();
		var m = "0" + (datex.getMonth() + 1).toString();
		m = m.substr(m.length - 2, 2);
		var d = "0" + datex.getDate().toString();
		d = d.substr(d.length - 2, 2);
		$("#pk_date_dep").val(y + m + d);
	}
}

function noBefore(date) {
	return [true];
/*
	if (date == null)
		return false;
	var m = date.getMonth(), d = date.getDate(), y = date.getFullYear();
	var today = new Date();
	if (dateData.ExcludeFlag)
		return $.inArray(y + '-' + (m + 1) + '-' + d, dateData.Dates) != -1 || today > date ? [false] : [true];
	else
		return $.inArray(y + '-' + (m + 1) + '-' + d, dateData.Dates) == -1 || today > date ? [false] : [true];
*/
}

function pk_gateway_dep_change() {
	var q = $('#pk_gateway_dep').attr("value");
	var q2 = $('#pk_gateway_dep option:selected').text();
	var date = new Date(2020, 1, 1, 1, 1, 1, 1);
	$.cookie('SignatureGateway', q, { expires: date });
	$.cookie('SignatureGatewayName', q2, { expires: date });
	GeoLocDisplay();
	pk_gateway_dep_change2();
	$('#fl_gateway_dep').attr("value", q);
	fl_gateway_dep_change2();
	//$('#cr_gateway_dep').attr("value", q);
	//cr_gateway_dep_change2();
}

function pk_gateway_dep_change2() {
	var q = $('#pk_gateway_dep').attr("value");
	$('#pk_dest_dep').find('option').remove();
	//var url = "PackageDefs.ashx?dispo=destinations&gateway=" + q + "&callback=?";
	var url = "http://www.flysunwing.ca/WebLookups/PackageDefs.ashx?dispo=destinations&language=en&gateway=" + q + "&callback=?";
	$.getJSON(url,
					function (data) {
						$.each(data, function (i, result) { $('#pk_dest_dep').find('option').end().append('<option value="' + result.Code + '">' + result.Name + '</option>'); });
						pk_dest_dep_change();
					});
}

function pk_dest_dep_change() {
	$('#pk_duration').find('option').remove();
	$('#pk_no_hotel').find('option').remove();
	var q1 = $('#pk_gateway_dep').attr("value");
	var q2 = $('#pk_dest_dep').attr("value");
	//var url1 = "PackageDefs.ashx?dispo=durations&gateway=" + q1 + "&dest=" + q2 + "&callback=?";
	var url1 = "http://www.flysunwing.ca/WebLookups/PackageDefs.ashx?dispo=durations&language=en&gateway=" + q1 + "&dest=" + q2 + "&callback=?";
	$.getJSON(url1,
					function (data) {
						$('#pk_duration').find('option').remove();
						var found = false;
						$.each(data, function (i, result) { found |= result.Code == '7'; });
						var prev = '';
						var curr = '';
						$.each(data, function (i, result) { 
							curr = result.Code;
							if (curr!='ALL') {
							if (prev.indexOf('DAYS')==-1 && curr.indexOf('DAYS')!==-1)
								$('#pk_duration').find('option').end().append('<option value="1"></option>'); 
							$('#pk_duration').find('option').end().append('<option value="' + result.Code + '">' + result.Name + '</option>'); 
							}
							prev = result.Code;
						});
						if (found)
					        	$('#pk_duration').val('7');
						else
					        	$("#pk_duration option:first").attr('selected', 'selected');
					});
	//var url2 = "PackageDefs.ashx?dispo=hotels&gateway=" + q1 + "&dest=" + q2 + "&callback=?";
		var url2 = "http://www.flysunwing.ca/WebLookups/PackageDefs.ashx?dispo=hotels&language=en&gateway=" + q1 + "&dest=" + q2 + "&callback=?";
	$.getJSON(url2,
					function (data) {
						$('#pk_no_hotel').find('option').remove();
						$.each(data, function (i, result) { $('#pk_no_hotel').find('option').end().append('<option value="' + result.Code + '">' + result.Name + '</option>'); });
					});
	//var url3 = "PackageDefs.ashx?dispo=dates&gateway=" + q1 + "&dest=" + q2 + "&callback=?";
	//var url3 = "http://www.flysunwing.ca/WebLookups/PackageDefs.ashx?dispo=dates&gateway=" + q1 + "&dest=" + q2 + "&callback=?";
	//$.getJSON(url3,
	//		function (data) {
	//			dateData = data;
	//			//$("#pk_date_depx").datepicker('option', { minDate: new Date(YYYYMMDDDate(data.MinDate)) });
	//			//$("#pk_date_depx").datepicker('option', { maxDate: new Date(YYYYMMDDDate(data.MaxDate)) });
	//		});
}

function pk_date_depx_picked() {
	var date_depx = $('#pk_date_depx').val();
	var datex = new Date(date_depx);
	var y = datex.getFullYear().toString();
	var m = "0" + (datex.getMonth() + 1).toString();
	m = m.substr(m.length - 2, 2);
	var d = "0" + datex.getDate().toString();
	d = d.substr(d.length - 2, 2);
	$("#pk_date_dep").val(y + m + d);
}

