﻿// Create NetR namespace if it doesn't exist
if (typeof (NetR) === 'undefined') {
	var NetR = {};
}

NetR.TripFinder = function() {
	var self = this;
	self.setWeekSelection();
	$('#m-search input[name=season]').click(function() {
		self.setWeekSelection();
		self.addSpinner('destination');
		$.post('/ajax/destinations.aspx', { season: self.getCurrentSeason() }, function(data) {
			$('#destination').replaceWith(data);
			self.removeSpinner('destination');
		});
	});
};

NetR.TripFinder.prototype = {
	addSpinner: function(parentId) {
		var parentElement = document.getElementById(parentId);
		var spinnerId = parentId + '-spinner';
		if ($('#' + parentId + '~img').length == 0) {
			var spinner = document.createElement('img');
			spinner.setAttribute('id', spinnerId);
			spinner.setAttribute('class', 'spinner');
			spinner.setAttribute('src', '/i/ajax-loader.gif');
			parentElement.parentNode.appendChild(spinner);
		}
	},
	removeSpinner: function(parentId) {
		$('#' + parentId + '~img').remove();
	},
	getCurrentSeason: function() {
		return $('#m-search input[name=season]:checked').val();
	},
	setWeekSelection: function() {
		if ($('#m-search input[name=season]:checked').val() == "G") {
//			if ($("duration option[value=3]").length == 0) {
//				$("#duration").append("<option value=\"3\">3<\/option>");
//			}
			
			$("#duration").val("2");
		} else {
//			$("#duration option[value='3']").remove();
			$("#duration").val("1");
		}
	},
	setupChildrenAges: function() {
		$('#children_ages').parent().hide();
		$('#children').change(function(){
			var noOfChildren = $(this).val();
			if(noOfChildren > 0) {
				$('#children').siblings('.ages').remove();
				var html = '';
				for (var i = 0, children = noOfChildren; i < children; i++) {
					var j = i+1;
					html += '<div id="children-'+j+'" class="select ages">'+
						'<label for="children-'+j+'">'+_('ageofchild')+' #'+j+'</label>'+
						'<select id="children-'+j+'" name="child-age-'+j+'">'+
							'<option value="">'+_('choose')+'</option>'+
							'<option value="0">&lt; 2</option>'+
							'<option value="2">2</option>'+
							'<option value="3">3</option>'+
							'<option value="4">4</option>'+
							'<option value="5">5</option>'+
							'<option value="6">6</option>'+
							'<option value="7">7</option>'+
							'<option value="8">8</option>'+
							'<option value="9">9</option>'+
							'<option value="10">10</option>'+
							'<option value="11">11</option>'+
							'<option value="12">12</option>'+
							'<option value="13">13</option>'+
							'<option value="14">14</option>'+
							'<option value="15">15</option>'+
						'</select>'+
					'</div>';
				}
				$('#children').after(html).siblings('.ages').find('select').change(function(){
					var ages = $('select[name^="child-age-"]').map(function() {
						return this.value;
					}).get().join(',');
					$('#children_ages').val(ages);
				});
			} else {
				$('#children').siblings('.ages').remove();
				$('#children_ages').val('');
			}
		}).closest('form').submit(function(){
			$(this).find('.ages').remove();
		});
		if($('#children').val() > 0) {
			$('#children').trigger('change');
			if($('#children_ages').size() && $('#children_ages').val() != "") {
				$('select[name^="child-age-"]').each(function(i){
					var age = $('#children_ages').val().split(',')[i];
					$(this).val(age);
				});
			}
		}
	}
};

$(document).ready(function() {
	new NetR.TripFinder();
	NetR.TripFinder.prototype.setupChildrenAges();
});
