$(document).ready(function() {

	var $panels = $('#panel div.panels');
	var $container = $('#container');
	var $panel = $('#panel');
	var scrollOptions = {
		target:$container,
		items: $panels, // Selector to the items ( relative to the matched elements, '#sections' in this case )
		prev:'img.prev',// Selector to the 'prev' button (absolute!, meaning it's relative to the document)
		next:'img.next',// Selector to the 'next' button (absolute too)
		axis:'xy',// The default is 'y' scroll on both ways
		navigation:'.sf-menu li a',
		duration:800,// Length of the animation (if you scroll 2 axes and use queue, then each axis take half this time)
		onBefore:function( e, elem, $pane, $items, pos ){
			e.preventDefault();
			if( this.blur ) this.blur();
		},
		onAfter: trigger
	};
	
	function updateNav() {
		$(this)
			.parents('ul:first')
				.find('li')
					.removeClass('selectedLava')
				.end()
			.end()
		.parent()
		.addClass('selectedLava')
		.mouseover();
	}
	function trigger(data) {
		var el = $('#menutab').find('a[href$="' + data.id + '"]').get(0);
		updateNav.call(el);
	};

	$('#box').serialScroll(scrollOptions);
	$.localScroll(scrollOptions);


	var flashvars = {};
	var params = {
		menu: "false",
		quality: "high",
		wmode: "transparent", // we cannot use transparent since it wont work
		align: "middle",
		allowFullScreen: "false",
		allowScriptAccess: "sameDomain"
	};
	var attributes = {
		id: "indexsplash",
		name: "indexsplash"
	};
	swfobject.embedSWF("/media/canvas.swf", "canvas", "100%", "100%", "9.0.0","/media/expressInstall.swf", flashvars, params, attributes);
	swfobject.embedSWF("/media/flightboard.swf", "marker", "40", "370", "9.0.0","/media/expressInstall.swf", flashvars, params);
	swfobject.embedSWF("/media/sound.swf", "sound", "32", "32", "9.0.0","/media/expressInstall.swf", flashvars, params);
	
	$("div.curtain, #menutab").css({"display":"block"}); //display our content

	$panel.css('width', ($panels[0].offsetWidth * $panels.length)); //resize our container pane

	$("#projects").jScrollPane({ showArrows: true, scrollbarWidth: 15 });
	$("#feedback").jScrollPane({ showArrows: true, scrollbarWidth: 15 });
	$(".jScrollPaneDrag").hover(
		function() {
			$(this)
				.addClass("scrolldrag-hover")
				.find(".jScrollPaneDragTop")
					.addClass("scrolldrag-top-hover")
					.end()
				.find(".jScrollPaneDragBottom")
					.addClass("scrolldrag-bottom-hover")
					.end();
		},
		function() {
			$(this).removeClass("scrolldrag-hover")
				.find(".jScrollPaneDragTop")
					.removeClass("scrolldrag-top-hover")
					.end()
				.find(".jScrollPaneDragBottom")
					.removeClass("scrolldrag-bottom-hover")
					.end();
		}
	);

	$("div.client").hover(
		function(){
			$(this)
				.addClass("client-hl")
				.find("img")
					.animate({opacity:  0.40}, 400)
					.end()
				.find("div.info")
					.slideDown("fast");
		},
		function() {
			$(this)
				.removeClass("client-hl")
				.find("img")
					.animate({opacity: 1}, 400)
					.end()
				.find("div.info")
					.slideUp("fast");
		}
	);
	if (window.location.hash) {
		trigger({ id : window.location.hash.substr(1) });
	} else {
		$('#menutab li:first').addClass('selectedLava');
	}

	$('#menutab ul').lavaLamp({
		speed: 500,
		setOnClick: true
	});
	$("a[rel='lightbox']").colorbox({
			transition:"elastic",
			maxWidth: "800px"
		});

	var textFields = $(".textField");
	
	textFields.focus(function(){
		$(this).addClass('textField-hl');
	});
	textFields.blur(function(){
		$(this).removeClass('textField-hl');
	});


	//start conact form
	$('#contactForm').submit(function() {
		$(this).ajaxSubmit({
			url: "/parse.php",
			beforeSubmit: function(formData, jqForm, options) {
				var error = "";
				var form = jqForm[0];
				if (!form.email.value) {
					error += "Please enter your email address<br />";
				} else {
					if (!/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(form.email.value)) {
						error += "Invalid Email Address<br />";
					}
				}
				
				if (!form.name.value) { error += "Please enter your name<br />"; }
				if (!form.msg.value) { error += "Please enter your message<br />"; }
				if (!form.captcha.value) { error += "Please enter the captcha string in the image<br />"; }
				
				$("#formoutput").fadeOut("fast");
				$("#contactForm").fadeOut("fast");
				
				if (error) {
					//refresh our captcha
					var now = new Date();
					$('#captchaImage').attr({"src" : "include/captcha/index.php?"+ now.getTime()});
					$('#captcha').attr({"value" : ""});
					
					$('#formoutput').html("<b>" + error + "</b>");
					$("#formoutput").fadeIn("fast").slideDown("normal");
					setTimeout('$("#formoutput").fadeOut("normal").slideUp("fast"); $("#contactForm").fadeIn("fast");', 5000);
					return false;
				} else {
					$('#formoutput').html('sending... Please wait');
					$("#formoutput").fadeIn("normal");
				}			
			},
			success: function(data) {
				//refresh our captcha
				var now = new Date();
				$('#captchaImage').attr({"src" : "include/captcha/index.php?"+ now.getTime()});
				$('#captcha').attr({"value" : ""});
				
				if (data.result == "pass") {
					$('#contactForm').clearForm();
					alert(data.msg);
				}
				$("#formoutput").fadeOut("fast");
				$('#formoutput').html(data.msg);
				$("#formoutput").fadeIn("fast").slideDown("normal");
				setTimeout('$("#formoutput").fadeOut("normal").slideUp("fast"); $("#contactForm").fadeIn("fast");', 5000);
			},
			dataType: "json"
		});
		return false;
	});
	$("#captchaImage").click(function() {
		var now = new Date();
		$("#captchaImage").attr({src :'include/captcha/index.php?'+ now.getTime()});
	}).css({"cursor":"pointer"});


	$('#cooliris-btn').click(function() {
		PicLensLite.start({feedUrl:'/cooliris.php'});
		return false;
	});
});

