IDBSYachtSearch.Builder = {
	
	prevValuesCondition: null,
		
	initialise: function (context) {
		$('#search_builders_ids').multiselect({
		   selectedText: "No. Of Builders Selected #",
		   noneSelectedText: 'Select Builder'
		});
		
		$('#search_builders_ids').bind( 'multiselectclick', IDBSYachtSearch.Builder.handlerSelectionEvent );
		
		$('#search_builders_ids').bind('multiselectbeforeclose', function(){
			if( IDBSYachtSearch.prevValuesCondition != $('#property_yacht_builder_id').val() ) setTimeout("refreshSearchResults(this, 'builders');",250);
			IDBSYachtSearch.prevValuesCondition = $('#property_yacht_builder_id').val();
		} );
		
		$('#search_builders_ids').bind('multiselectbeforebeforeopen', function(){
			IDBSYachtSearch.prevValuesCondition = $('#property_yacht_builder_id').val(); 
		} );
		
		$('#search_builders_ids').bind( 'multiselectcheckall', function(){
			$('#search_builders_ids').unbind( 'multiselectuncheckall');
			$('#search_builders_ids').multiselect('uncheckAll');
			$('#ui-multiselect-search_builders_ids-option-1').get(0).checked = true;
			$('#search_builders_ids').bind( 'multiselectuncheckall', IDBSYachtSearch.Builder.handleUncheckAll);
			IDBSYachtSearch.Builder.handlerSelectionEvent();
		} );
		
		$('#search_builders_ids').bind( 'multiselectuncheckall', IDBSYachtSearch.Builder.handleUncheckAll );
		return;
				
	},
	handleUncheckAll: function() {
		$('#search_builders_ids').unbind( 'multiselectuncheckall');
		$('#search_builders_ids').multiselect('uncheckAll');
		$('#ui-multiselect-search_builders_ids-option-1').get(0).checked = true;
		$('#search_builders_ids').bind( 'multiselectuncheckall', handleUncheckAll);
		IDBSYachtSearch.Builder.handlerSelectionEvent();
	},
	
	handlerSelectionEvent: function( e, val, text, checked ) {
		if( val && parseInt( val.value ) == -1 ) {
			if( val.checked ) {
				$('#search_builders_ids').multiselect('uncheckAll');
				$( e.originalEvent.currentTarget ).get(0).checked = val.checked;
			} 
		} else if( val && parseInt( val.value ) > -1) {
			$( '#ui-multiselect-search_builders_ids-option-1' ).get(0).checked = false;
		}
		var value = new Array();
		var selectedCount = 0;
		for(var i = 0; i < $('#search_builders_ids').multiselect("getChecked").length; i++) {
			if( $('#search_builders_ids').multiselect("getChecked")[i].value < 0 ) continue;
			selectedCount += parseInt( $('#search_builders_ids option[value="'+value[i]+'"]').attr('count') );
			value[i] = $('#search_builders_ids').multiselect("getChecked")[i].value;
		}
//		console.log( value.join(',') );
		$('#property_yacht_builder_id').val( value.join(',') );
	}
};
