$(document).ready(function(){

	$("a[rel^='prettyPhoto']").prettyPhoto();
	
	$("a.email").each(function(){ //Email address obfuscation
		e = this.rel.replace("/","@");
		this.href = "mailto:"+e;
		$(this).text(e);
	});

	$("a.external").click(function(){ //Open link in new window
		window.open(this.href);
		return false;
	});

	$(".rollover").hover( //Image rollovers
		function(){
			if($(this).attr("src").indexOf("-over")==-1) {
				var newSrc = $(this).attr("src").replace(".gif","-over.gif");
				newSrc = newSrc.replace(".png","-over.png");
				$(this).attr("src",newSrc);
			}
		},
		function(){
			if($(this).attr("src").indexOf("-over")!=-1) {
				var oldSrc = $(this).attr("src").replace("-over.gif",".gif");
				oldSrc = oldSrc.replace("-over.png",".png");
				$(this).attr("src",oldSrc);
			}
		}
	);
	
	$("input.input-text").each ( //Define default text for each input element
		function() {
			this.rel=this.value;
		}
	);

	$("input.input-text").focus(function() {
		if (this.value==this.rel) {
			this.value='';
		}
	});

	$("input.input-text").blur(function() {
		if (this.value=='') {
			this.value=this.rel;
		}
	});
	
	$("dl#comments-menu").hide(); //Comments/Categories toggle
	$("li#categories-link").addClass("active");
	
	$("li#categories-link a").click(function() {
		$("ul#categories-menu").show();
		$("li#categories-link").addClass("active");
		$("dl#comments-menu").hide();
		$("li#comments-link").removeClass();
		$("#menus ol").removeClass();
		return false;
	});
	
	$("li#comments-link a").click(function() {
		$("dl#comments-menu").show();
		$("li#comments-link").addClass("active");
		$("ul#categories-menu").hide();
		$("li#categories-link").removeClass();
		$("#menus ol").addClass("comments");
		return false;
	});
});

function validateComment() {
	var error=false;
	var response="";

	if (document.getElementById("author") && document.getElementById("email") && document.getElementById("url")) {
		var author=document.getElementById("author").value;
		var email=document.getElementById("email").value;
		var url=document.getElementById("url").value;

		if (isString(author)==false) {
			error=true;
			response+="Please enter your name\n";
		}
		
		if (isEmail(email)==false) {
			error=true;
			response+="Please enter your email address\n";
		}
		
		if (url!="" && isUrl(url)==false) {
			error=true;
			response+="Please enter a valid website address or leave blank\n";
		}		
	}
	
	var comment=document.getElementById("comment").value;

	if (isString(comment)==false) {
		error=true;
		response+="Please enter a comment\n";
	}
	
	if (error) {
		alert(response);
		return false;
	} else {
		return true;
	}
}

//Data type validation
function isString(str) { //String
	if (str.length!="") {
		return true;
	} else {
		return false;
	}
}

function isEmail(str) { //Email address
	var emailRegExp="^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$";
	var regex=new RegExp(emailRegExp);
	return regex.test(str);
}

function isUrl(str) { //URL
	var regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
	return regexp.test(str);
}