var q = {
	
	post: function() {
		q.setupBoxes();
	},
	
	setupBoxes: function() {
		var boxes = $ES( '#content .box' );
		var choice = $E( '#choice' ).getValue();
		var selected = 0;
		
		boxes.each( function( item, i ) {
			
			item.addEvent( 'click', function( event ) {
				if( item.hasClass( 'hover' ) ) {
					item.removeClass( 'hover' );
					selected--;
				}
				else {
					if( selected < choice ) {
						item.addClass( 'hover' );
						selected++;
					}
					else
						alert( 'You may only select ' + choice + ' options for this question.' );
				}
			});
			
		});
	},
	
	postCheck: function() {
		var boxes = $ES( '#content .box' );
		var choice = $E( '#choice' ).getValue();
		var selected = 0;
		var answer;
		
		boxes.each( function( item, i ) {
			if( item.hasClass( 'hover' ) ) { 
				if( !answer )
					answer = item.getProperty( 'title' );
				else
					answer = answer + ',' + item.getProperty( 'title' );
				
				selected++;
			}
		});
		
		if( selected < choice )
			alert( 'You  have not selected enough options. Please select ' + choice + ' options.' );
		else {
			new Element( 'input' ).setProperties( { 'type': 'hidden', 'name': 'answers', 'value': answer } ).injectInside( $( 'form' ) );
			$( 'form' ).submit();
		}
	}
	
}

window.addEvent( 'domready', q.post );

