
var RMHC = window.RMHC || {};

(function($) {
	$(function() {	
		
		RMHC.Chapters = {
			
			relAjaxUrl: 'who-we-are/chapter-search/ajaxGetPrograms/',
			fullAjaxUrl: '',
			isInitialized: false,
			
			init: function() {
				this.fullAjaxUrl = base_url + this.relAjaxUrl;
				
				this.selectProgram();
				this.selectCountry();
				this.selectState();
				
			},
			
			selectCountry: function() {
				
				$('#Form_SearchForm_countries').change(function() {
					
					var selected = $(this).val();
	
					(selected == 'USA') ? RMHC.Chapters.showStates() : RMHC.Chapters.hideStates();
					
					if (selected == '') {
						RMHC.Chapters.disablePrograms();
						return;
					}
					
					var ajaxUrl = RMHC.Chapters.fullAjaxUrl + selected + '/';
					
					var selectedState = $('#Form_SearchForm_states').val();
					if (selected == 'USA' && selectedState == '') {
						RMHC.Chapters.disablePrograms();
					} else if (selected == 'USA' && selectedState != '') {
						RMHC.Chapters.enablePrograms();
						ajaxUrl += selectedState;
					} else {
						RMHC.Chapters.enablePrograms();
					}
					
					$.getJSON(ajaxUrl, false, function(data) {
						var programs = $('#Form_SearchForm_programs');
	
						if (!RMHC.isInitialized) {
							var initValue = programs.val();
						}
						
						programs.empty();
						programs.append('<option value="">- Select One -</option>');
						$.each(data, function(key, val) {
							programs.append('<option value="' + key + '">' + val + '</option>');
						});
						
						if (!RMHC.isInitialized) {
							programs.val(initValue);
							RMHC.isInitialized = true;
						}
						
						programs.change();
	
					});
				}).change();
				
			},
			
			selectState: function() {
				$('#Form_SearchForm_states').change(function() {
					$('#Form_SearchForm_countries').change();
				});
			},
			
			selectProgram: function() {
				$('#Form_SearchForm_programs').change(function() {
					if ($(this).val() == '') {
						$('#Form_SearchForm_action_Find').attr('disabled', 'disabled');
					} else {
						$('#Form_SearchForm_action_Find').removeAttr('disabled');
					}
				}).change();
			},
			
			hideStates: function() {
				(RMHC.isInitialized) ? $('#states').slideUp('fast') : $('#states').hide();
			},
			
			showStates: function() {
				$('#states').slideDown('fast');
			},
			
			disablePrograms: function() {
				$('#programs').addClass('disabled');
				$('#Form_SearchForm_programs').attr('disabled', 'disabled').val('');
				$('#Form_SearchForm_action_Find').attr('disabled', 'disabled');
			},
			
			enablePrograms: function() {
				$('#programs').removeClass('disabled');
				$('#Form_SearchForm_programs').removeAttr('disabled');
			}
		}
		
		RMHC.Chapters.init();
	});
})(jQuery);