$(document).ready(function() {

	var list = $("#project-list ol")
	var listing = list.html();
	list.addClass("hide");
	
	var view = $("#project-list #view-list");
	view.removeClass("hide");
	view.html('<a href="#">View project list</a>');
	view.css({"position": "absolute",
			  "bottom": "1em",
			  "right": "0"});

	var hidden = true;
	view.click(function(event) {
		event.preventDefault();
		if (hidden) {
			if ($.browser.msie && jQuery.browser.version.substr(0, 1) == "7") {
				list.html('<div style="margin: 1.5em 0 0 3em;">' + listing + '</div');
				list.css("height", "13.5em");
			}
			list.fadeIn(200);
			view.html('<a href="#">Hide list</a>');
		} else {
			list.fadeOut(150, function(){
				view.html('<a href="#">View project list</a>').fadeIn(150);
			});
		}
		hidden = !hidden;
	});
	
	$('.slider').each(function(){
		var slider = $(this).nivoSlider({
			effect: 'fade',
			slices: 1,
			animSpeed: 300,
			manualAdvance: true,
			controlNav: false,
			keyboardNav: false
		});
		
		$('.nivo-directionNav', slider).after('<div class="nivo-click"><a href="#">Next</a></div>');
		$('.nivo-click a', slider).click(function(event) {
			event.preventDefault();
			$('.nivo-nextNav', slider).click();
		});
		
		$('.project .images img').css('margin-top', '0');
		$('.project .images').css('margin-top', '1.5em').addClass("shadow");
	});
	
	$('a.target-blank').click(function(event) {
		event.preventDefault();
		window.open(this.href);
	});
	
	$('.fancybox').fancybox({
		"titleShow": false
	});
	
	if ($.browser.msie && Number(jQuery.browser.version.substr(0, 1)) <= 6) {
		var content = $('body').html();
		$('body').html('<div id="page">' + content + "</div>");
		$('body').addClass("legacy");
	}
	
	if ($(".read-more").length) {
		var more = $(".read-more");
		more.hide().before('<p><a href="#" class="show-more">Read More</a></p>');
		
		$('a.show-more').click(function() {
			$(this).parent().remove();
			more.fadeIn(200);
		})

	}
	
	if ($("form").length) {
		$("form").submit(function(){
			return validate();
		});
	}
});

function validate()
{
	var valid = true;
	var required_fields = ['name', 'email', 'subject', 'message'];
	
	$.each(required_fields, function(i)
	{
		var name = required_fields[i];
		var type = (name == "message") ? "textarea" : "input";
		var input = $(type + '[name=' + name + ']');
		
		if (input.val() == "") {
			show_error(name);
			valid = false;
		} else {
			if (has_error(name)) remove_error(name);
		}
	});
	
	if($('input[name=email]').val().indexOf("@", 2) == -1
	|| $('input[name=email]').val().indexOf(".", $('input[name=email]').val().indexOf("@") + 3) == -1) {
		show_error('email');
		valid = false;
	} else {
		if (has_error('email')) remove_error('email');
	}
	
	if (valid == false) {
		if ($("#oops").length == 0)
			$(".submit input").before('<p id="oops" class="error">Oops, looks like there was a problem!</p>');
	}
	
	return valid;
}

function show_error(name)
{
	$("label[for='" + name + "']").addClass("error");
}

function has_error(name)
{
	return $("label[for='" + name + "']").hasClass("error");
}

function remove_error(name)
{
	return $("label[for='" + name + "']").removeClass("error");
}
