$(document).ready(function(){

	$('a[href$=pdf]').addClass('pdf');

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

		$("form.validate .alert").removeClass("alert");

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

		$(this).find(".required").each(function() {
			var value = $(this).val();
			if(value == "" || ($(this).is(".email") && !email_pattern.test(value))) {
				valid = false;
				msg += '\n-> '+$(this).prev("label").text().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;
		}
	});

	if($("#mycarousel").length) {

		$("#mycarousel").jcarousel({
			animation: 1000,
			easing: 'easeInOutExpo',
			scroll: 1,
			wrap: 'circular',
			auto: 7,
			visible: 1
		});

	}

	/* Case Studies */

	if($(".book").length) {

		var myFile = document.location.toString();

		if(myFile.match('#')) {
		  var myAnchor = myFile.split('#')[1];
		  $(".book > ul:first > li.on").removeClass("on");
		  $("#"+myAnchor).addClass("on");
		  $(".book .colB").html($("#"+myAnchor+" div.more").html());
		} else {
			$(".book").each(function(){
				$(".colB", this).html($("> ul > li.on div.more", this).html());
			});
		}

		$(".book > ul > li").click(function(){
			var book = $(this).closest(".book");
			$("ul:first li.on", book).removeClass("on");
			$(this).addClass("on");
			$(".colB", book).html($("div.more", this).html());
			return false;
		});

		$(".book > ul:first > li").hover(function(){
			$(this).addClass("hover");
		},function(){
			$(this).removeClass("hover");
		});

	}

});

// EASING

jQuery.extend(jQuery.easing,{
	easeOutElastic: function (x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
	},
	easeInOutExpo: function(x,t,b,c,d){
		if (t==0) return b;
		if (t==d) return b+c;
		if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
		return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
	},
	easeOutExpo: function (x, t, b, c, d) {
		return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
	},
	easeInExpo: function (x, t, b, c, d) {
		return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;
	},
	easeInOutCirc: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;
		return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
	}
});
