window.addEvent( 'domready', function() {
		var commentBox = $( 'commentBox' );
		var commentInfo = $( 'commentInfo' );
		var thanksElements = $$( '.thanks' );
		var requestElements = $$( '.request' );
		var responseBox = $( 'responseBox' );

		commentBox.setStyle( 'display', 'none' );

		thanksElements.set( 'tween', { duration: 'long' } );
		thanksElements.set( 'opacity', 0 );
		thanksElements.setStyle( 'display', 'none' );

		requestElements.set( 'tween', { duration: 'long' } );
		requestElements.set( 'opacity', 1 );
		requestElements.setStyle( 'display', 'block' );

		commentInfo.addEvent( 'click', function( e ) {
				commentBox.setStyle( 'display', e.target.checked ? 'block' : 'none' );
		} );

		var contactRequest = new Request.JSON( {
				url: '/assets/actions/contactRequest.php',
				method: 'post',
				onFailure: function( responseJson ) {
					alert( 'an unknown error occured' );
				},
				onRequest: function() {
//					$$( 'input[name="request"]' ).set( 'disabled', true );
				},
				onSuccess: function( responseJson ) {
					if( !responseJson.successful || responseJson.successful === false ) {
						$$( 'input[name="request"]' ).set( 'disabled', false );
						window.message.display( responseJson.message, window.message.severity.error );
						return;
					}

					if( responseJson.commentInfo )
						responseBox.appendChild( new Element( 'p', { html: responseJson.commentInfo } ) );

					if( responseJson.lists )
						responseBox.appendChild( new Element( 'p', { html: responseJson.lists } ) );

					requestElements.tween( 'opacity', 0 );
					var displayResponse = function() {
						requestElements.setStyle( 'display', 'none' );
						thanksElements.setStyle( 'display', 'block' );
						thanksElements.tween( 'opacity', 1 );
					};
					displayResponse.delay( 1500 );

					var requestData = { 'VerificationCodeX': '',
						'attribute1': responseJson.request.firstName,
						'attribute2': responseJson.request.lastName,
						'email': responseJson.request.email,
						'emailconfirm': responseJson.request.email,
						'htmlemail': '1',
						'listname[1]': 'future events',
						'listname[2]': 'website updates',
						'subscribe': 'Subscribe to the Selected Newsletters'
					};

					if( responseJson.listsRequested.futureEvents )
						requestData['list[1]'] = 'signup';
					if( responseJson.listsRequested.websiteUpdates )
						requestData['list[2]'] = 'signup';
					if( responseJson.listsRequested.futureEvents || responseJson.listsRequested.websiteUpdates )
						listsRequest.post( requestData );
				}
		} );

		var listsRequest = new Request( {
			url: '/assets/plugins/lists/?p=subscribe&id=1',
			method: 'post',
			onFilure: function() {
				alert( 'subscribe to mailing lists failed' );
			},
			onSuccess: function( reponseText, responseXML ) {
			}
		} );

		var contactRequestForm = $( 'contactRequest' );
		contactRequestForm.addEvent( 'submit', function( e ) {
					e.stop();
				contactRequest.post( contactRequestForm );
			
		} );
} );

