$(document).ready(function(){

	if($("form.validate").length) {

		$("form.validate").submit(function() {

			$(".alert", this).removeClass("alert");

			var msg = '';
			var valid = true;
			var email_pattern = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/i;

			$(this).find(".required").not('span,p,div').each(function() {
				var value = $(this).val();
				if(value == "" || ($(this).prop("title") && value == $(this).prop("title")) || ($(this).is(".email") && !email_pattern.test(value))) {
					valid = false;
					var label = $(this).prev("label").text() || $(this).prop("title");
					msg += '\n-> '+label.replace(/[\*|:]/gi, "")+' is required';
					$(this).addClass("alert");
				}
			});

			if(!valid) {

				if(msg != '') {
					alert('Please fill in these fields. Thanks.'+msg);
					$(".alert:first", this).focus();
					return false;
				}

				return false;
			}
		});

		$("form.validate input, form.validate textarea").bind("focus", function(){
			$(this).addClass("focus");
			if($(this).val() == $(this).attr("title")) {
				$(this).val("");
			}
		});

		$("form.validate input, form.validate textarea").bind("blur", function(){
			$(this).removeClass("focus");
			if($(this).val() == "") {
				$(this).val($(this).attr("title"));
			}
		});

	}

	if($("a.loading[href]").length) {

		$("a.loading[href]").each(function(){

			var self = $(this);

			$.get($(this).attr("href"), function(data) {
				self.after(data).remove();
			});

		});

	}

	if($(".fade").length) {
		$(".fade").innerfade({
			timeout: "7000",
			speed: 2000
		});
	}
	
	if($(".toggle").length) {
		$(".toggle").click(function(){
			$(this).toggleClass("compact").prev(".tail").toggle();
			$(this).text( ($(this).is(".compact")) ? "Less" : "More" )
			return false;
		});
	}

});
