$(document).ready(function(){
	
	// Hide on document.ready
	$('#showme').hide();
	
	// Adds a class of "lastchild" to the last <li> in a list
	$("li:last-child")
		.addClass("lastchild");

	// Adds a class to odd rows in every <table class="striped">
	$(".striped tr:nth-child(odd)")
		.addClass("oddrow");

	// Places the <label> from <form id="searchform"> inside the text input and makes it show/hide on blur/focus
	$("#searchform label").each(function() {
		var label = $(this);
		var input = $('#' + label.attr('for'));
		var initial = label.hide().text().replace(':', '');
		input.focus(function() {
			input.css('color', '#000');
			if (input.val() == initial) {
				input.val('');
			}
		}).blur(function() {
			if (input.val() == '') {
				input.val(initial).css('color', '#000');
			}
		}).css('color', '#000').val(initial);
	});
	
	// Accordion (expand/collapse) effect for <dl class="faq">
	$(".faq dd").hide();
	$(".faq dt").hover(
		function(){ $(this).addClass("on"); },
		function(){ $(this).removeClass("on"); }
	);
	$(".faq dt").click(function() {
		var $nextDd = $(this).next();
		var $visibleSiblings = $nextDd.siblings('dd:visible');
		
		if ($visibleSiblings.length ) {
			$visibleSiblings.slideUp('fast', function() {
				$nextDd.slideToggle('fast');
			});
		} else {
			$nextDd.slideToggle('fast');
		}
	});

	// Initialize Shadowbox
	Shadowbox.init();
	
	// Curvy corners - http://www.atblabs.com/jquery.corners.html
	//$('.rounded').corners("10px");
	
	// Hide/show based on select choice
	$("#paymentoption").click(function() {
		if(this.value == 'I will send a check') {
			$('#showme').slideDown("fast");
		}
		else {
			$('#showme').slideUp("fast");
		}
	});
	
	// Form validation	
	$("#freeform").validate({
		rules: {
			name: "required",
			street1: "required",
			city: "required",
			state: "required",
			postalcode: "required",
			country: "required",
			phone1: "required",
			paymentoption: "required",
			email: {
				required: true,
				email: true
			}
		},
		messages: {
			name: "Please enter your name",
			street1: "Please enter your street",
			city: "Please enter your city",
			state: "Please select your state",
			postalcode: "Please enter your 5-digit zipcode",
			country: "Please enter your country",
			phone1: "Please enter your phone number",
			paymentoption: "Please select a payment option",
			email: {
				required: "Please enter your email address",
				email: "Your email address must be in the format of name@domain.extension"
			}
		}
	});
	
	$("#contact_form").validate({
		rules: {
			to: "required",
			from: {
				required: true,
				email: true
			},
			subject: "required",
			message: "required"
		},
		messages: {
			to: "Please select a recipient",
			from: {
				required: "Please enter your email address",
				email: "Your email address must be in the format of name@domain.extension"
			},
			subject: "Please enter a subject line",
			message: "Please type your message"
		}
	});
	
	$("#phone1").mask("999-999-9999");
	$("#fax").mask("999-999-9999");
	$("#postalcode").mask("99999");
});

$(function(){
    $('a.newwin').click(function(){
        window.open(this.href);
        return false;
    });
});