/* Author: 
William Schurman
*/

var imgwidth = 720;
var imgheight = 420;
var curr = 0;
var prev = 0;
var changing = false;

var ishown = false;
var prior = curr;
var going = false;
var length = 0;

function goToSlide(n) {
	if(changing || n == curr) return false;
	changing = true;
	curr = n;
	var dist = -1*n*imgwidth;
	$("#slider").animate({left:dist}, "easeOutCubic");
	$("#bullets a").removeClass('selected');
	$("#bullets a[title='"+n+"']").addClass('selected');
	
	$("details#d_"+prev).fadeOut(200, function() {
		$(this).removeAttr("open");
		$("details#d_"+n).fadeIn(200, function() {
			changing = false;
		}).attr("open", "open");
	});
	if(ishown) {
		$("#boxtitle").html("Page "+(n+1)+" of "+length);
	} else {
		// var nt = $("details#d_"+n+" summary").html();
		// 		$("#boxtitle").html(nt);
	}
	prev = curr;
}

$("#plus").click(function(){
	$b = $("#topbox");
	
	if($b.hasClass("open")) {
		$b.animate({height:0}, 400, "easeInOutQuint");
		$b.removeClass("open");
		$(this).rotateAnimation(0);
		$(this).animate({opacity:1}, 400);
		$(this).removeClass("open");
	} else {
		$b.animate({height:110}, 400, "easeInOutQuint");
		$b.addClass("open");
		$(this).rotateAnimation(135);
		$(this).animate({opacity:.7}, 400);
		$(this).addClass("open");
	}
});

$(document).ready(function() {
	$("#browser").draggable();
	
	length = $("#slider ul li").length;
	
	function drawBullets() {
		$("#bullets").html("");
		for(var i = 0; i < length; i++) {
			$("#bullets").append("<a title=\""+i+"\"></a>");
		}
		$("#bullets a[title='"+curr+"']").addClass('selected');
	}
	
	drawBullets();
	
	$("#prev").click(function() {
		if(curr == 0) {
			goToSlide(length - 1);
		} else {
			goToSlide(curr-1);
		}
	});
	
	$("#next").click(function() {
		if(curr == length - 1) {
			goToSlide(0);
		} else {
			goToSlide(curr+1);
		}
	});
	
	$("#bullets a").live("click",function() {
		var n = parseInt($(this).attr("title"));
		goToSlide(n);
	});
	
	$("#slider ul li a").click(function() {
		if(ishown) {
			prior = parseInt($(this).attr("title"));
			hideIndex();
			return false;
		}
	});
	
	$("#contact-form").validate({
		submitHandler: function(form) { 
			$(form).ajaxSubmit({
				success : function(resp) {
					$("#contact-form").html("Thanks. We'll get back to you shortly. "+resp);
				},
				error: function(resp) {
	                $("#contact-form").html("There was an error while submitting the form. "+
											"Please email me at <a href='ma&#105;&#108;to&#58;&#119;i&#37;&#54;C%6C%69a&#109;&#64;&#115;&#99;hurmand%65%73i%6&#55;%&#54;E&#46;c%6Fm'>"+
											"wi&#108;lia&#109;&#64;schu&#114;man&#100;esign&#46;c&#111;m</a>");
	            }
			});
			return false;
		}
	});
	
	$("#req-name").focus();
	
	$("#toggleindex").click(function() {
		if (ishown && !going) hideIndex();
		else if (!going) showIndex();
	});
	
	function showIndex() {
		if (going) return false;
		going = true;
		prior = curr;
		goToSlide(0);
		$("#slider").css({width:Math.ceil(length / 3) * 240}).addClass("indexed");
		$("#slider ul li").animate({padding:10, paddingBottom:5, paddingTop:5}, 200);
		$("#slider ul li:gt(0)").css({opacity:0});
		$("#slider ul li a img").animate({width:220, height:128}, 500);
		$("#slider ul li").css({width:220, height:128});
		$("#slider ul li:gt(0)").animate({opacity:1}, 300);
		length = Math.ceil(length / 9);
		$("#boxtitle").html("Page 1 of "+length);
		drawBullets();
		$("#deets_container").animate({opacity:0}, 200);
		going = false;
		ishown = true;
	}
	function hideIndex() {
		if (going) return false;
		going = true;
		$("#slider").css({width:8000}).removeClass("indexed");
		$("#slider ul li").animate({padding:0}, 700);
		$("#slider ul li").css({width:720, height:420});
		$("#slider ul li a img").animate({width:720, height:420}, 700, function() {
			goToSlide(prior);
			drawBullets();
		});
		length = $("#slider ul li").length;
		$("#deets_container").animate({opacity:1}, 200);
		ishown = false;
		$("#boxtitle").html("");
		going = false;
	}
	
	$(document).keydown(function(e) {
		switch(e.keyCode) {
			case 37:
				$("#prev").click();
				break;
			case 39:
				$("#next").click();
				break;
			case 27:
				//$("#toggleindex").click();
				break;
			case 187:
				$("#plus").click();
				break;
			case 13:
				window.location.href = $("details#d_"+curr+" .c_link").attr("href");
		}
	});
});
