/**
 * This class defines the Search Type Selection feature of the
 * YachtSearch system that allows you to specify the kind of dates
 * you would like to search the yachts.
 *
 * Author: peterl
 */
IDBSYachtSearch.Booking = {
		initialise: function (context) {
			if( $("#pageForm").length < 1 ) return;
			/**
			 * When the user selects a type of departing preferences we want to show 
			 * and hide the different search preferences accordingly.
			 *
			 * Author: peterl
			 */
			try {
				$('#search_type_id').multiselect({
					multiple: false,
					noneSelectedText: 'Select departing preferences',
					header: false,
					height: 'auto',
					minWidth: 250
				});

				for(var i = 0; i < $('#search_type_id').multiselect("getChecked").length; i++) {
					value = $('#search_type_id').multiselect("getChecked")[i].value;	
					$( '#search_type_id option[value="'+value+'"]' ).get(0).selected = true;
					$('#search_type_id').multiselect({ selectedText: $( '#search_type_id option[value="'+value+'"]' ).text() });
					break;
				}
				$('#search_type_id').bind("multiselectclick", function(event, ui){
					var value;
					for(var i = 0; i < $('#search_type_id').multiselect("getChecked").length; i++) {
						value = $('#search_type_id').multiselect("getChecked")[i].value;	
						$( '#search_type_id option[value="'+value+'"]' ).get(0).selected = true;
						$('#search_type_id').multiselect({ selectedText: $( '#search_type_id option[value="'+value+'"]' ).text() });
						break;
					}
					$('#search_type_id').multiselect("close");
					$('#search_type_id').trigger('change');
				});

				$('#search_type_id', context).change(function(){
					IDBSYachtSearch.Booking.selectDepartingPreferences($(":selected", this).attr('constant'), $(this).val());
				});


				if($('#search_type_id :selected', context).val()!=''){
					$('#search_type_id', context).trigger('change');
				}

				$('#search_day_tolerance_id').multiselect({
					multiple: false,
					noneSelectedText: 'Flexibility',
					header: false,
					height: 'auto',
					minWidth: 'auto' 
				});
				for(var i = 0; i < $('#search_day_tolerance_id').multiselect("getChecked").length; i++) {
					value = $('#search_day_tolerance_id').multiselect("getChecked")[i].value;	
					$( '#search_day_tolerance_id option[value="'+value+'"]' ).get(0).selected = true;
					$('#search_day_tolerance_id').multiselect({ selectedText: $( '#search_day_tolerance_id option[value="'+value+'"]' ).text() });
					break;
				}
				$('#search_day_tolerance_id').bind("multiselectclick", function(event, ui){
					var value;
					for(var i = 0; i < $('#search_day_tolerance_id').multiselect("getChecked").length; i++) {
						value = $('#search_day_tolerance_id').multiselect("getChecked")[i].value;	
						$( '#search_day_tolerance_id option[value="'+value+'"]' ).get(0).selected = true;
						$('#search_day_tolerance_id').multiselect({ selectedText: $( '#search_day_tolerance_id option[value="'+value+'"]' ).text() });
						break;
					}
					$('#search_day_tolerance_id').multiselect("close");
					$('#search_day_tolerance_id').trigger('change');
				});

				$('#search_day_length_id_1').multiselect({
					multiple: false,
					noneSelectedText: 'Select',
					header: false,
					height: 'auto',
					minWidth: 100 
				});
				for(var i = 0; i < $('#search_day_length_id_1').multiselect("getChecked").length; i++) {
					value = $('#search_day_length_id_1').multiselect("getChecked")[i].value;	
					$( '#search_day_length_id_1 option[value="'+value+'"]' ).get(0).selected = true;
					$('#search_day_length_id_1').multiselect({ selectedText: $( '#search_day_length_id_1 option[value="'+value+'"]' ).text() });
					break;
				}
				$('#search_day_length_id_1').bind("multiselectclick", function(event, ui){
					var value;
					for(var i = 0; i < $('#search_day_length_id_1').multiselect("getChecked").length; i++) {
						value = $('#search_day_length_id_1').multiselect("getChecked")[i].value;	
						$( '#search_day_length_id_1 option[value="'+value+'"]' ).get(0).selected = true;
						$('#search_day_length_id_1').multiselect({ selectedText: $( '#search_day_length_id_1 option[value="'+value+'"]' ).text() });
						break;
					}
					$('#search_day_length_id_1').multiselect("close");
					$('#search_day_length_id_1').trigger('change');
				});

				$('#search_day_length_id_2').multiselect({
					multiple: false,
					noneSelectedText: 'Select',
					header: false,
					height: 'auto',
					minWidth: 'auto' 
				});
				for(var i = 0; i < $('#search_day_length_id_2').multiselect("getChecked").length; i++) {
					value = $('#search_day_length_id_2').multiselect("getChecked")[i].value;	
					$( '#search_day_length_id_2 option[value="'+value+'"]' ).get(0).selected = true;
					$('#search_day_length_id_2').multiselect({ selectedText: $( '#search_day_length_id_2 option[value="'+value+'"]' ).text() });
					break;
				}
				$('#search_day_length_id_2').bind("multiselectclick", function(event, ui){
					var value;
					for(var i = 0; i < $('#search_day_length_id_2').multiselect("getChecked").length; i++) {
						value = $('#search_day_length_id_2').multiselect("getChecked")[i].value;	
						$( '#search_day_length_id_2 option[value="'+value+'"]' ).get(0).selected = true;
						$('#search_day_length_id_2').multiselect({ selectedText: $( '#search_day_length_id_2 option[value="'+value+'"]' ).text() });
						break;
					}
					$('#search_day_length_id_2').multiselect("close");
					$('#search_day_length_id_2').trigger('change');
				});
			} catch(e){}
		}

};
