
$(document).ready(function() {
	
	// Add scroll to top functionality
	$("a[href='#top']").click(function() {
		$("html:not(:animated),body:not(:animated)").animate({ scrollTop: 0 }, 'slow');

		return false;
	});

	// Add contact form dropdown functionality
	$('#contact-link').click(function(e) {
		if ($('#contact-form').is(':hidden')) {
			$('#contact-form-box').addClass('contact-box-shadow');
			$('#contact-form').slideDown('slow');
			$('#name').focus();
		}
		else {
			$('#contact-form').slideUp('slow');
			$('#contact-form-box').removeClass('contact-box-shadow');
		}
		
		return false;
	});

	// Setup modal popups for portfolio images
	$('#portfolio .modal').colorbox({maxWidth:'1000px', maxHeight:'600px', scalePhotos:true});

	// Add rounded corners
	DD_roundies.addRule('#contact-link', '0 0 10px 10px', true);
	DD_roundies.addRule('#portfolio img', '10px 10px 10px 10px', true);
	
	// Check if Opera and fix body margin issue with DD_roundies
	if($.browser.opera) {
		$('body').css({'margin-top' : '-19px'});
	}
	
	// Preload images
	$('img').preload();
	$('#portfolio .modal').preload();
	
	// Contact Form Submission
	$('#submit').click(function() {
		// Reset variables
		$('.error').hide();
		var hasError = false;
		var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
		
		// Get and check name
		var nameVal = $('#name').val();
		if(nameVal == '') {
			$('#name').after('<div class="error">Please enter a name.</div>');
			hasError = true;
		}
		
		// Get and check email
		var emailFromVal = $('#email').val();
		if(emailFromVal == '') {
			$('#email').after('<div class="error">Please enter an email.</div>');
			hasError = true;
		} else if(!emailReg.test(emailFromVal)) {	
			$('#email').after('<div class="error">Please enter a valid email address.</div>');
			hasError = true;
		}
		
		// Get and check message
		var messageVal = $('#message').val();
		if(messageVal == '') {
			$('#message').after('<div class="error">Please enter a message.</div>');
			hasError = true;
		}
		
		// Check for validation errors
		if(hasError == false) {

			// Serialize the form entries
			var formData = $('#contact-form').serialize();

			// Send form data to be processed
			$.ajax({
				type: 'POST',
				url: 'sendmail.php',
				data: formData,
				success: function(msg){
					$('#contact-result').ajaxComplete(function(event, request, settings){
						if(msg == 'OK') {
							$(this).html('Message sent. Thanks!');
							$(this).show();
							$('#contact-form input').val('');
							$('#contact-form textarea').val('');
							setTimeout("$('#contact-result').hide(); $('#contact-form').slideUp('slow'); $('#contact-form-box').removeClass('contact-box-shadow');", 2000);
						} else {
							$(this).html(msg);
							$(this).show();
						}
					});
				}
			});
		}
		
		return false;
	});		
});
