var hash = location.hash.replace("#", "");
var semaphore = false;

function PageSwitch() {
	hash = location.hash.replace("#", "");
	if ( ($("#f-"+hash).length > 0) && $("#f-"+hash).is(':hidden') ) {
		if (!semaphore) {
			semaphore = true;
			$("div.preview, div.full").fadeOut("fast", function() {
				$("div#loading").fadeIn("fast");
			});
			window.setTimeout(function(){
				$.ajax({
					url: site_root+"ajax.php",
					timeout: 10000,
					type: "POST",
					dataType: "json",
					data: ({ cmd : "portfolio", hash: hash }),
					success: function(data) {
						var build= '<span class="fullcont"><a href="#'+hash+'" class="expand"><img src="'+site_root+'images/workss/full/'+data.pic+'" id="'+data.pic+'" alt="'+data.title+' Full" /><span class="clickhelp">Click image to enlarge the Screenshot</span></a></span><h2>'+data.title+' <span class="goback"><a href="#back">Go back to Featured Work</a></span></h2><div class="desc">'+data.contents+'<hr />Languages used : '+data.languages+'</div>';
						$("div#loading").fadeOut("fast", function() {
							$("div#f-"+hash).html(build).fadeIn("fast", function() {
								semaphore = false;
							});
						});
					},
					error: function() {
						$(".preview").fadeIn("fast");
						semaphore = false;
					}
				});
			}, 200);
		}
	} else if ( ((hash == '') || (hash == 'back')) && $("div.preview").is(':hidden') ) {
		$(".full").fadeOut("fast");
		window.setTimeout(function(){
			$(".preview").fadeIn("fast");
		}, 200);
	}
}

$(document).ready(function(){
	if (first_run) {
		$("#logo").hide()
		.css({'margin-left': '50px'})
		.animate({
			"margin-left": "-=50px",
			"opacity": "show"
		}, 1000);
	}
	
	PageSwitch();
	setInterval(PageSwitch, 400);
	
	$("input, textarea").not("#submit").css("color", "#999");
	
	$(".expand").live("click", function() {
		if ($(this).parents("span").hasClass("counter") ) {
			$(this).parents("span").removeClass("counter");
		} else {
			$(this).parents("span").addClass("counter");
			$(this).children(".clickhelp").fadeOut("slow");
		}
	});
	
	$("#name").live("focus", function() {
		if ($("#name").val() == "Name") {
			$("#name").val("");
		}
		$("#name").css("color", "#000");
	});
	
	$("#email").live("focus", function() {
		if ($("#email").val() == "Email") {
			$("#email").val("");
		}
		$("#email").css("color", "#000");
	});
	
	$("#captcha").live("focus", function() {
		if ($("#captcha").val() == "Captcha") {
			$("#captcha").val("");
		}
		$("#captcha").css("color", "#000");
	});
	
	$("#message").live("focus", function() {
		if ($("#message").val() == "Message") {
			$("#message").val("");
		}
		$("#message").css("color", "#000");
	});
	
	$("#submit").click(function() {
		var name = $("#name").val();
		var email = $("#email").val();
		var captcha = $("#captcha").val();
		var message = $("#message").val();
		if ((/^[\w\s]{2,}$/.test(name) == false) || (name == 'Name')) {
			$("#submes").html("Error: Input name is invalid");
			$("#name").focus();
			return false;
		}
		if ((/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/.test(email) == false) || (email == 'Email')) {
			$("#submes").html("Error: Input email is invalid");
			$("#email").focus();
			return false;
		}
		if ((captcha.length !== 5) || (captcha == 'Captcha')) {
			$("#submes").html("Error: Captcha is invalid");
			$("#captcha").focus();
			return false;		
		}
		if ((message.length < 4) || (message == 'Message')) {
			$("#submes").html("Error: Input Message is invalid or too short");
			$("#message").focus();
			return false;		
		}
		$.post(site_root+"ajax.php", { cmd : "contact", name: name, email: email, captcha: captcha, message: message, reason: 'QuickSubmit', method: 'Ajax' }, function (data) {
			if (data.indexOf("uccess") > 0) {
				$("#submes").html('Message Sent!');
				return false;
			} else {
				$("#submes").html(data);
				return false;
			} 
		});
	});
	
});
