 /**
 * Equal Heights Plugin
 * Equalize the heights of elements. Great for columns or any elements
 * that need to be the same size (floats, etc).
 * 
 * Version 1.0
 * Updated 12/10/2008
 *
 * Copyright (c) 2008 Rob Glazebrook (cssnewbie.com) 
 *
 * Usage: $(object).equalHeights([minHeight], [maxHeight]);
 * 
 * Example 1: $(".cols").equalHeights(); Sets all columns to the same height.
 * Example 2: $(".cols").equalHeights(400); Sets all cols to at least 400px tall.
 * Example 3: $(".cols").equalHeights(100,300); Cols are at least 100 but no more
 * than 300 pixels tall. Elements with too much content will gain a scrollbar.
 * 
 */

(function($) {
	$.fn.equalHeights = function(minHeight, maxHeight) {
		tallest = (minHeight) ? minHeight : 0;
		this.each(function() {
			if($(this).height() > tallest) {
				tallest = $(this).height();
			}
		});
		if((maxHeight) && tallest > maxHeight) tallest = maxHeight;
		return this.each(function() {
			$(this).height(tallest).css("overflow","hidden");
		});
	}
})(jQuery);

$(document).ready(function(){	
	$("ul#nav li").each(function(){
		$(this).hover(
			function(){
				$(this).addClass("jshover");
			}, 
			function(){
				$(this).removeClass("jshover");
			}
		);
	});
	
	if ($("form#contact").length > 0) {
		$("form#contact input.text").each(function(){
			$(this).attr("rel", $(this).val());
			$(this).focus(function(){$(this).val("");});
			$(this).blur(function(){ if ($(this).val() == "") $(this).val($(this).attr("rel"));});
			$(this).removeClass("error");
		});
		$("form#contact textarea").each(function(){
			$(this).attr("rel", $(this).val());
			$(this).focus(function(){$(this).val("");});
			$(this).blur(function(){ if ($(this).val() == "") $(this).val($(this).attr("rel"));});
			$(this).removeClass("error");
		});
		
		$("form#contact").submit(function(){
			var errCount = 0;
			$("form#contact input.text").each(function(){
				if ($(this).attr("type") == "email") {
					if (isValidEmailAddress()) {
						errCount++;
						$(this).addClass("error");
					}
				} 
				if ($(this).val() == "" || $(this).attr("rel")) {
					errCount++;
					$(this).addClass("error");
				}
			});
			
			$("form#contact textarea").each(function(){
				if ($(this).val() == "" || $(this).attr("rel")) {
					errCount++;
					$(this).addClass("error");
				}
			});
			
			if (errCount > 0) return false;
		});
	}
});

function isValidEmailAddress(emailAddress) {
	var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
	return pattern.test(emailAddress);
};

