jQuery(document).ready(function($){ 
	if ( $(".electives").length > 0 ) {
	//Checks the max and min checkbox allowances(rel=num) per DIV id
	var checkStatus = function(getCheckedStatusInst, getParentIdRelInst, getParentIdInst){
		if(getCheckedStatusInst < getParentIdRelInst){
			$(getParentIdInst + ' .button').addClass('buttonLocked').attr('disabled', 'true');
			$(getParentIdInst + ' .option').css('color', '#cc0102');
		}else{
			$(getParentIdInst + ' .button').removeClass('buttonLocked').removeAttr('disabled');
			$(getParentIdInst + ' .option').css('color', '#555');
			$(getParentIdInst + ' .button').hover(function(){
			$('#alert').remove();				
			});
		};
	};
	$(':checkbox').each(function () {
		var getParentTariffId = '#' + $(this).closest('.tariff').attr('id');
		var getParentIdRef = $(this).closest('.electives').attr('id');
		var getParentId = '#' + getParentIdRef;
		var getParentIdRel = $(getParentId).attr('rel');			
		var getCheckedStatus = $(getParentId + ' :checkbox:checked').length;
		$(this).click(function (){	
			var getCheckedStatus = $(getParentId + ' :checkbox:checked').length;				
			$('#alert').remove();
			if(getCheckedStatus > getParentIdRel){
				$(this).parent('li')	
				.append('<span id="alert">You can only select a maximum of ' + getParentIdRel + ' choices</span>')
				$('#alert').fadeIn(400);
				this.checked = false;
			};						
			$(document).change(checkStatus(getCheckedStatus, getParentIdRel, getParentTariffId));					
		});
		$(document).change(checkStatus(getCheckedStatus, getParentIdRel, getParentTariffId));	
	});
	}
});

