$(function() {
	var RMHC = window.RMHC || {};
	
	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();
});
