function is_int(value){
  if((parseFloat(value) == parseInt(value)) && !isNaN(parseInt(value))){
      return true;
 } else {
      return false;
 }
}

$(document).ready(function(){

	var currentPosition = 0;
	var requiredPosition = 0;
	var slideWidth = 532;
	var slides = $('.slides');
	var numberOfSlides = slides.length;
	var clickOpacity = 0.3; /* Left and right navigation triggers opacity */
	var rightAlways = true; /* Always display right navigation trigger */
	var leftAlways = false; /* Always display left navigation trigger */
	var auto = true;
	var pause = 12000;

	slides.wrapAll('<div id="slideInner"></div>').css({'float' : 'left'});
	$('#slideInner').css('width', slideWidth * numberOfSlides);

	/* Updates state of navigation buttons */
	function update_navigation() {

		if (curPos() != 0 || leftAlways) {
				$("#nav-left-1a").show();
		} else {
				$("#nav-left-1a").hide();
		}
			
		if (curPos() == (numberOfSlides-1) && !rightAlways) {
				$("#nav-right-1a").hide();
		} else {
				$("#nav-right-1a").show();
		}
	}

	/* Returns current slide */
	function curPos() {
		value = (Math.abs(parseInt($('#slideInner').css('marginLeft'))))/slideWidth;
		return (value);
	}

	/* Show required slide: next, prev, number */
	function navTo(value, clicked) {

		animate = false;
	
		if (auto && clicked) clearTimeout(timeout);

		if (auto && !clicked) {
			timeout = setTimeout(function(){ navTo("next",false);},pause);
		};

		switch (value)
		{
			case 'next':	
				if (is_int(curPos())) { 
					update_navigation();
					requiredPosition = curPos() + 1;
					if (requiredPosition > (numberOfSlides-1)) requiredPosition = 0;
					if (requiredPosition != curPos()) animate = true;
				}
				break;
			case 'prev':

				if (is_int(curPos())) { 
					update_navigation();
					requiredPosition = curPos() - 1;
					if (requiredPosition < 0) requiredPosition = numberOfSlides-1;
					if (requiredPosition != curPos()) animate = true;
				}

				break;
			default:
				if (is_int(value) && (value <= (numberOfSlides-1))) { 
					update_navigation();
					requiredPosition = value;
					animate = true;
				}
				break;
		}

		if (animate) {
			$('#slideInner').animate({'marginLeft' : slideWidth*(-requiredPosition)},'slow','swing',update_navigation);
		}
	

	}

	$("#left_nav").fadeTo(0,clickOpacity);
	$("#right_nav").fadeTo(0,clickOpacity);

	update_navigation();

	$("#switch1").click(function(){ navTo(1,true); return false; });
	$("#switch2").click(function(){ navTo(2,true); return false; });
	$("#switch3").click(function(){ navTo(3,true); return false; });

	$("#nav-right-1a").hover(function(){ $(this).css('cursor','pointer'); $(this).css('backgroundImage',"url('images/home/right_bg.gif')"); $("#right_nav").fadeTo(250,1); },function(){ $(this).css('backgroundImage',"none"); $("#right_nav").fadeTo(150,clickOpacity); }); 
	$('#nav-right-1a').click(function(){ navTo('next',true); return false; });

	$("#nav-left-1a").hover(function(){ $(this).css('cursor','pointer'); $(this).css('backgroundImage',"url('images/home/left_bg.gif')"); $("#left_nav").fadeTo(250,1); },function(){ $(this).css('backgroundImage',"none"); $("#left_nav").fadeTo(150,clickOpacity); }); 
	$('#nav-left-1a').click(function(){ navTo('prev',true); return false; });

	if (auto) {
		timeout = setTimeout(function(){ navTo("next",false); }, pause);
	};

});

