$(document).ready(function(){
	if($('body').hasClass('pasm-eligibility')){
		PASMFeatures.activateEligibility();
	} else if($('body').hasClass('pasm-claim-windows')){
		PASMFeatures.activateClaimWindows();
	}
});

var PASMFeatures = {
	activateClaimWindows: function(){
		var oClaimList = $('.claim-windows-selection');
		if(oClaimList[0] == null) return;
		
		oClaimList.find('.select-level-one').find('select').each(function(i,list) {
			var oList = $(list);
			oList.find('option').attr('selected', '');
			oList.find('option:first').attr('selected', 'selected');
		});	
		PASMFeatures.claimWindowsMessage(oClaimList, '');
		
		oClaimList.find('.select-level-one').find('select').change(function() {
			var sCurrentModel = $(this).find('option:selected').val();
			PASMFeatures.claimWindowsMessage(oClaimList, sCurrentModel);
		});			
	},
	claimWindowsMessage: function(oClaimList, sCurrentModel){
		if (sCurrentModel == null) sCurrentModel = '';
		
		oClaimList.find('.select-level-two').find('.message').hide();
		if (sCurrentModel != '') {
			var oCurrentMessage = oClaimList.find('.select-level-two').find('#claim-windows-' + sCurrentModel);
			if (oCurrentMessage[0] != null) {
				oCurrentMessage.show();
			}
		}	
	},
	activateEligibility: function(){
		var oEligibilityList = $('.eligibility-selection');
		if(oEligibilityList[0] == null) return;
		
		oEligibilityList.find('.select-level-one').find('select').each(function(i,list) {
			var oList = $(list);
			oList.find('option').attr('selected', '');
			oList.find('option:first').attr('selected', 'selected');
		});	
		PASMFeatures.eligibilityModel(oEligibilityList, '');
		
		oEligibilityList.find('.select-level-one').find('select').change(function() {
			var sCurrentType = $(this).find('option:selected').val();
			PASMFeatures.eligibilityModel(oEligibilityList, sCurrentType);
		});
		
		oEligibilityList.find('.select-level-two').find('select').change(function() {
			var sCurrentModel = $(this).find('option:selected').val();
			PASMFeatures.eligibilityYear(oEligibilityList, sCurrentModel);
		});	
				
		oEligibilityList.find('.select-level-three').find('select').change(function() {
			var sCurrentYear = $(this).find('option:selected').val();
			PASMFeatures.eligibilityMessage(oEligibilityList, sCurrentYear);
		});	
			
	},
	eligibilityModel: function(oEligibilityList, sCurrentType){
		if (sCurrentType == null) sCurrentType = '';
			
		oEligibilityList.find('.select-level-two').find('select').hide().each(function(i,list) {
			var oList = $(list);
			oList.find('option').attr('selected', '');
			oList.find('option:first').attr('selected', 'selected');
		});	
		PASMFeatures.eligibilityYear(oEligibilityList, '');
		PASMFeatures.eligibilityMessage(oEligibilityList, '');	
		
		if (sCurrentType != '') {
			var oCurrentModelList = oEligibilityList.find('.select-level-two').find('#select-model-' + sCurrentType);
			if (oCurrentModelList[0] != null) {
				oCurrentModelList.show();
			}
			else {
				oEligibilityList.find('.select-level-two').find('#select-model-blank').show();
			}
		} else {
			oEligibilityList.find('.select-level-two').find('#select-model-blank').show();
		}
	},
	eligibilityYear: function(oEligibilityList, sCurrentModel){
		if (sCurrentModel == null) sCurrentModel = '';
		
		oEligibilityList.find('.select-level-three').find('select').hide().each(function(i,list) {
			var oList = $(list);
			oList.find('option').attr('selected', '');
			oList.find('option:first').attr('selected', 'selected');
		});	
		PASMFeatures.eligibilityMessage(oEligibilityList, '');	
		
		if (sCurrentModel != '') {
			var oCurrentYearList = oEligibilityList.find('.select-level-three').find('#select-year-' + sCurrentModel);
			if (oCurrentYearList[0] != null) {
				oCurrentYearList.show();
			}
			else {
				oEligibilityList.find('.select-level-three').find('#select-year-blank').show();
			}
		} else {
			oEligibilityList.find('.select-level-three').find('#select-year-blank').show();
		}
	},
	eligibilityMessage: function(oEligibilityList, sCurrentYear){
		if (sCurrentYear == null) sCurrentYear = '';
		
		oEligibilityList.find('.select-level-four').find('.message').hide();
		if (sCurrentYear != '') {
			var oCurrentMessage = oEligibilityList.find('.select-level-four').find('#message-' + sCurrentYear);
			if (oCurrentMessage[0] != null) {
				oCurrentMessage.show();
			}
		}	
	}
}
