	window.addEvent('domready', function() {
		
		var liElements					= $$('#packages li');
		var checkboxElements		= $$('#packages li input[type=checkbox]');
		var descElements				= $$('#package_descriptions div');

		//  Add event listeners to radio buttons
		checkboxElements.each(function(elem, index) {	
			elem.addEvent('click', function(){	
				checkboxClicked(elem, index);
			});
		});
		
		function checkboxClicked(elem, index) {
			
			if ( elem.checked) {
				// set active
				liElements[index].removeClass('nonActive');
				
				if (elem.value != "no_thanks" )
				{
					checkboxElements.each(function(elem, index) {
						if ( elem.value == "no_thanks") 
						{
							checkboxElements[index].checked	= false;
							liElements[index].addClass('nonActive');
						}
					});
				}
				
			}
			else
			{
			// set inactive
				liElements[index].addClass('nonActive');
			}
			
			// if  "no thanks", fade all
			if ( elem.value == "no_thanks" ) 
			{
				checkboxElements.each(function(elem, index) {
					if ( elem.value != "no_thanks") 
					{
						checkboxElements[index].checked	= false;
						liElements[index].addClass('nonActive');
					}
				});
			}
			
			// if no_thanks, hide entire box nad cap
			$$('#package_descriptions').addClass('hide');
			$$('#package_descriptions_cap').addClass('hide');
			
			
			if ( elem.value != "no_thanks" ) {
				checkboxElements.each(function(elem, index) {
					if ( elem.checked ) {
						$$('#package_descriptions').removeClass('hide');
						$$('#package_descriptions_cap').removeClass('hide');
						// now show plan desc.
						$$('div[id='+elem.id+'_desc]');
						//descElements[index].removeClass('hide');
						$$('div[id='+elem.id+'_desc]').removeClass('hide');
					}
					else
					{
						$$('div[id='+elem.id+'_desc]').addClass('hide');
						//descElements[index].addClass('hide');
					}
					
				});	
			}
			
		}

		// set fade to all  except all.
		liElements.each(function(elem, index) {
			// apply fade to each except first.
			if ( index  > 0) {  
				elem.addClass('nonActive');
			}
		});
		
		// hide desc, except first
		descElements.each(function(elem, index) {
			// apply fade to each except first.
			if ( index  > 0) {  
				elem.addClass('hide');
			}
		});
		
	});
		