/**
 * jquery.studiocasey.js
 * The JavaScript that runs the Studio Casey site.
 * Copyright (c) 2008 Studio Casey, http://studiocasey.com
 *
 * @author David R. Casey http://studiocasey.com
 * @version 1.01
 * @requires jquery.js
 */

jQuery(function($) {

/************************************************************************************/
// MAIL FORM

	/**
	 * ajax for mail form
	 */
	var xhr;
	if (window.XMLHttpRequest) {
		xhr = new XMLHttpRequest();
	} else if (window.ActiveXObject) { // IE
		xhr = new ActiveXObject('Msxml2.XMLHTTP');
	} else {
		throw new Error('Ajax is not supported by this browser.');
	}
	
	function sendemail() { // using the same IDs as Drupal contact form.
		var name = $('#edit-name').val();
		var email = $('#edit-mail').val();
		var subject = $('#edit-subject').val();
		var message = $('#edit-message').val();
		var copy = $('#edit-copy').is(':checked');
		
		// convert newlines to breaks. This preserves the formatting.
		message = message.replace(/(\r\n|\r|\n)/g, '<br />');
		$('#edit-submit').attr('disabled','true'); 
	
		xhr.open('GET','contact.php?name='+name+
																'&email='+email+
																'&subject='+subject+
																'&message='+message+
																'&copy='+copy+
																'&action=send');
		xhr.onreadystatechange = handleResponse;
		xhr.send(null);
	}
	// just in case...
	$('#edit-submit').removeAttr('disabled'); 

	function handleResponse() {
		if(xhr.readyState == 4) {
			var response = xhr.responseText;
			response += '<button id="showEmailForm" type="button">Back to form</button>';
			$('#contact-response').html(response);
			$('#contact-response').slideDown();
			
			$('#showEmailForm').click(function() {
				$('#contact-response').slideUp('fast', function() {
					$('#edit-submit').removeAttr('disabled'); 
					$('#contact-form').slideDown();
				});
			});
		}
	}
	
	// mail form submission
	function initMailSubmit() {
		$('#edit-submit').click(function() {
			if (	$('#edit-name').val() != ''    &&
						$('#edit-mail').val() != ''    &&
						$('#edit-subject').val() != '' &&
						$('#edit-message').val() != '' ) {
					
				$('#edit-submit').attr('disabled','true'); 
				sendemail();
				$('#contact-form').slideUp('fast');
			}
			$('#edit-name').val() == '' ? 
					$('#edit-name-wrapper label').addClass('form-required') : 
					$('#edit-name-wrapper label').removeClass('form-required');
			$('#edit-mail').val() == '' ? 
					$('#edit-mail-wrapper label').addClass('form-required') : 
					$('#edit-mail-wrapper label').removeClass('form-required');
			$('#edit-subject').val() == '' ? 
					$('#edit-subject-wrapper label').addClass('form-required') : 
					$('#edit-subject-wrapper label').removeClass('form-required');
			$('#edit-message').val() == '' ? 
					$('#edit-message-wrapper label').addClass('form-required') : 
					$('#edit-message-wrapper label').removeClass('form-required');
		});
	}
	initMailSubmit();
	

	
}); // end jquery wrapper

