/*
	Filename : banner.js
	Author : Prabhakaran R. (+91 99415 42722)
	Created on : 10 July, 2010
	Purpose : Animated banner
*/

// Object
var banner = {};

// Timer
banner.timer = null;

// Initialising animation
banner.init = function()	{
	// Total banner count
	banner.cnt = $(".banner img").length;
	// Starting from first banner
	banner.start = 2;
	banner.limit = banner.preload = (Math.ceil($(".outer-bar").width()/banner.cnt)/100)*100;
	banner.loadImage();
}

// Preloading banner images
banner.loadImage = function()	{
	if(banner.start <= banner.cnt)	{
		banner.imgHolder = new Image();
		// Loading the image source
		$(banner.imgHolder).load(function()	{
			// function to check image load finishing
			banner.isLoaded();
		}).attr("src",$(".banner img:nth-child("+banner.start+")").attr("src"));		
	} else {
			$("#preload").hide();
			// Stop animation on mouseover
			/*$(".banner img").hover(function()	{
					banner.animStop();
				}, function()	{
						banner.animStart();
					});*/
      $("#BannerPage a").click( function() {
        if( $(this).attr("id") != 'BannerPageActive' )  {
          banner.animStop();
          $("#BannerPageActive").removeAttr( "id" );
          $(this).attr('id', 'BannerPageActive');
          var id = parseInt( $(this).html() );
          banner.start = id + 1;
          $(".banner img:visible").fadeOut(1000);
          $(".banner img:nth-child("+banner.start+")").fadeIn(1000);
          //banner.animStart();
        }
        return false;
      });
			banner.start = 2;
			$(".banner img:nth-child("+banner.start+")").fadeIn(1000, function() { $("#BannerPage").show(); });
			banner.timer = window.setTimeout("banner.anim()", 8000);
		}	
}

// Status checking
banner.isLoaded = function()	{
	if(banner.imgHolder.complete)	{
		// Clear interval
		window.clearTimeout(banner.timer);
		// Loading next Image source
		banner.start++;
		$(".inner-bar").animate({ left: "-"+(100 - banner.preload)+'%' }, 150, function()	{ banner.preload += banner.limit; banner.loadImage(); });
	} else {
		banner.timer = window.setTimeout("banner.isLoaded()", 100);
	}
}

// Animation
banner.anim = function()	{
	if(banner.start <= banner.cnt)	{
		$(".banner img:nth-child("+banner.start+")").fadeOut(1000);
		$(".banner img:nth-child("+(++banner.start)+")").fadeIn(1000);
		banner.timer = window.setTimeout("banner.anim()", 8000);
	} else {
		$(".banner img:nth-child("+banner.start+")").fadeOut(1000);
		$(".banner img:nth-child(2)").fadeIn(1000);
		banner.start = 2;
		banner.timer = window.setTimeout("banner.anim()", 8000);
	}
  $("#BannerPageActive").removeAttr( "id" );
  $("#BannerPage li:nth-child("+(banner.start - 1)+")").find("a").attr("id", "BannerPageActive");
}

// Function to stop animation
banner.animStop = function()	{
	window.clearTimeout(banner.timer);
}

// Function to start animation
banner.animStart = function()	{
	banner.timer = window.setTimeout("banner.anim()", 8000);
}

// Starting animation
$(document).ready(function()	{
	banner.init();
});
