$(document).ready(function() {
	initDoc();
});

function initDoc() {

	$(document).pngFix();

	$("table tr:even").addClass("alt");

	/***************************************************************/
	// Newsletter form
	/***************************************************************/
	$("#newsletter_name, #newsletter_email").focus(function() {
		$(this).css("color","#575757");
		$(this).css("background-color","#fff");
	});
	
	$("#newsletter-form").submit(function() {
		var $name=$("#newsletter_name").val();
		var $nameDefault=$("#newsletter_name").attr("rel");
		var $email=$("#newsletter_email").val();
		var $emailDefault=$("#newsletter_email").attr("rel");
		
		var $error=false;
		
		if (!jQuery.isString($name) || $name==$nameDefault) {
			$error=true;
			$("#newsletter_name").css("color","#fff");
			$("#newsletter_name").css("background-color","#de4483");
			$("#newsletter_name").val($nameDefault);
		}
		
		if (!jQuery.isEmail($email) || $email==$emailDefault) {
			$error=true;
			$("#newsletter_email").css("color","#fff");
			$("#newsletter_email").css("background-color","#de4483");
			$("#newsletter_email").val($emailDefault);
		}
		
		if ($error) {
			return false;
		}
	});
	
	/***************************************************************/
	// Contact form
	/***************************************************************/
	$("#contact_name, #contact_email, #contact_comment").focus(function() {
		$(this).css("color","#575757");
		$(this).css("background-color","#fff");
	});
	
	$("#contact-form").submit(function() {
		var $name=$("#contact_name").val();
		var $nameDefault=$("#contact_name").attr("rel");
		var $email=$("#contact_email").val();
		var $emailDefault=$("#contact_email").attr("rel");
		var $comment=$("#contact_comment").val();
		var $commentDefault=$("#contact_comment").attr("rel");
		
		var $error=false;
		
		if (!jQuery.isString($name) || $name==$nameDefault) {
			$error=true;
			$("#contact_name").css("color","#fff");
			$("#contact_name").css("background-color","#de4483");
			$("#contact_name").val($nameDefault);
		}
		
		if (!jQuery.isEmail($email) || $email==$emailDefault) {
			$error=true;
			$("#contact_email").css("color","#fff");
			$("#contact_email").css("background-color","#de4483");
			$("#contact_email").val($emailDefault);
		}
		
		if (!jQuery.isString($comment) || $comment==$commentDefault) {
			$error=true;
			$("#contact_comment").css("color","#fff");
			$("#contact_comment").css("background-color","#de4483");
			$("#contact_comment").val($commentDefault);
		}
		
		if ($error) {
			return false;
		}
	});
	
	/***************************************************************/
	// Blog comment form
	/***************************************************************/
	$("#author, #email, #comment").focus(function() {
		$(this).css("color","#575757");
		$(this).css("background-color","#fff");
	});
	
	$("#comment-form").submit(function() {
		var $author=$("#author").val();
		var $authorDefault=$("#author").attr("rel");
		var $email=$("#email").val();
		var $emailDefault=$("#email").attr("rel");
		var $comment=$("#comment").val();
		var $commentDefault=$("#comment").attr("rel");
		
		var $error=false;
		
		if (!jQuery.isString($author) || $author==$authorDefault) {
			$error=true;
			$("#author").css("color","#fff");
			$("#author").css("background-color","#de4483");
			$("#author").val($authorDefault);
		}
		
		if (!jQuery.isEmail($email) || $email==$emailDefault) {
			$error=true;
			$("#email").css("color","#fff");
			$("#email").css("background-color","#de4483");
			$("#email").val($emailDefault);
		}
		
		if (!jQuery.isString($comment) || $comment==$commentDefault) {
			$error=true;
			$("#comment").css("color","#fff");
			$("#comment").css("background-color","#de4483");
			$("#comment").val($commentDefault);
		}
		
		if ($error) {
			return false;
		}
	});
	
	/***************************************************************/
	// General document enhancements
	/***************************************************************/
	$("a.email").each(function() { //Email address obfuscation
		e = this.rel.replace("/","@");
		this.href = "mailto:"+e;
		$(this).text($(this).attr("title"));
	});

	$("a.external").click(function() { //Open link in new window
		window.open(this.href);
		return false;
	});
	
	$(".rollover").each(function() { //Preload rollover images
		jQuery.preLoadImages(jQuery.imageOver($(this)));
	});

	$(".rollover").hover( //Image rollovers
		function() {
			$(this).attr("src",jQuery.imageOver($(this)));
		},
		function() {
			$(this).attr("src",jQuery.imageOff($(this)));
		}
	);
	
	$(".input-text").each (function() { //Define default text for each text field
		this.rel=this.value;
	});

	$(".input-text").focus(function() {
		if (this.value==this.rel) {
			this.value='';
		}
	});

	$(".input-text").blur(function() {
		if (this.value=='') {
			this.value=this.rel;
		}
	});
	
	/***************************************************************/
	// Load latest tweets
	/***************************************************************/
	$("#twitter_update_list").each(function() {
		$.getScript('http://twitter.com/javascripts/blogger.js');
		$.getScript('http://twitter.com/statuses/user_timeline/Kanchi_Ireland.json?callback=twitterCallback2&count=1');
	});
	
	/***************************************************************/
	// Flash embed
	/***************************************************************/
	$("#carousel-wrapper").each(function() {
		var flashvars = {"xmlPath":"flash/home/clips.xml"};
	 	var params = {"allowScriptAccess":"sameDomain","allowFullScreen":"true"};
		var attributes = {};
		swfobject.embedSWF("flash/carousel/carousel.swf", "carousel", "970", "400", "9.0.0", false, flashvars, params, attributes);
	});
	
	/***************************************************************/
	// Images to preload
	/***************************************************************/
	jQuery.preLoadImages("/images/blog/comments-plinth-over.gif");
}

(function($) {

	var cache=[]; //Preload images
	$.preLoadImages=function() {
		var args_len = arguments.length;
		for (var i = args_len; i--;) {
			var cacheImage = document.createElement('img');
			cacheImage.src = arguments[i];
			cache.push(cacheImage);
		}
	}

	$.imageOver=function($el) { //Rollover image
		if($($el).attr("src").indexOf("-over")==-1) {
			var newSrc = $($el).attr("src").replace(".gif","-over.gif");
			newSrc = newSrc.replace(".jpg","-over.jpg");
			newSrc = newSrc.replace(".png","-over.png");
			return newSrc;
		}
	}
	
	$.imageOff=function($el) { //Rollout image
		if($($el).attr("src").indexOf("-over")!=-1) {
			var oldSrc = $($el).attr("src").replace("-over.gif",".gif");
			oldSrc = oldSrc.replace("-over.jpg",".jpg");
			oldSrc = oldSrc.replace("-over.png",".png");
			return oldSrc;
		}
	}
	
	$.isString=function($str) {  //Data type validation
		if ($str.length!="") { return true; } else { return false;}
	}
	
	$.isEmail=function($str) {
		var regex=new RegExp("^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$");
		return regex.test($str);
	}
	
	$.isInteger=function($str) {
		return ($str.toString().search(/^-?[0-9]+$/) == 0);
	}

})(jQuery)
