// JavaScript Document



var TIME_UNTIL_SLIDE_SECS = 10; //THIS IS how many seconds until the front page slider timer expires 
var SLIDE_DURATION_SECS = 0.5; //This is the animation duration



/**** ADD MORE OBJECTS HERE IF YOU WANT MORE ITEMS IN THE HOME SLIDER ****/
var myJSONObject = {"itemsInHomeSlider": [
        {"url": "images/home/home_slider/smart_camera.jpg", "title": "Camsensor Smart Camera", "linkURL": "smart_camera.php"},
        {"url": "images/home/home_slider/cam_console.jpg", "title": "Camsensor Console", "linkURL": "camconsole.php"},
        {"url": "images/home/home_slider/software.jpg", "title": "Camsensor Software", "linkURL": "software.php"}
    ]
};



//JQUERY initalisation function (when the DOM is ready)
$(document).ready(function() {
	$("div#contactUsContainer").bind("mouseleave",function(){
		fadeOutElement('#contactChooseLocation')
	});
	
	sortHomeNavList();
});


var widthOfImages = 630;
var currentSlide = 0;
var totalSlides;

var TIME_UNTIL_SLIDE_MS = TIME_UNTIL_SLIDE_SECS*1000; //adjust TIME_UNTIL_SLIDE_SECS instead of this
var SLIDE_DURATION_MS = SLIDE_DURATION_SECS*1000; //ADJUST SLIDE_DURATION_SECS instead of this

var t; //timer
var timer_is_on=0; // variable to check if the timer is running


function startTimer()
{
if (!timer_is_on)
  {
  timer_is_on=1;
  t=setTimeout("counterExpired()",TIME_UNTIL_SLIDE_MS);
  }
	
}

function counterExpired()
{
	timer_is_on = 0;
	startTimer();
	var currentTempSlideNumber = currentSlide;
	if(currentTempSlideNumber == totalSlides-1)
		currentTempSlideNumber = 0;
	else
		currentTempSlideNumber++;
		
	homeSliderBtnClicked($('#sliderBtn' + currentTempSlideNumber),currentTempSlideNumber, false);
	
}

function stopTimer()
{
	clearTimeout(t);
	timer_is_on=0;
}


function sortHomeNavList()
{
	
	
	$('#homeTopInnerRightContainer ul').empty();
	
	totalSlides = myJSONObject.itemsInHomeSlider.length;
	$('#homeTopInnerRightContainer ul').css("width",(totalSlides*widthOfImages))
	
	for(var i = 0; i < totalSlides; i++)
	{
	var imageCode =   "<li><img src='" + myJSONObject.itemsInHomeSlider[i].url + "' alt='" + myJSONObject.itemsInHomeSlider[i].title + "' title='" + myJSONObject.itemsInHomeSlider[i].title + "' /><a href='" + myJSONObject.itemsInHomeSlider[i].linkURL + "' class='greyfindOutMoreButton textImageHack'></a></li>";
		
		$('#homeTopInnerRightContainer ul').append(imageCode);
		
		activeBtn = "";
		
		
		if(i == 0) activeBtn = "sliderBtnSelected";
		
		var btnCode = "<a id='sliderBtn"+ i +"' href='#' onclick='return homeSliderBtnClicked(this, " + i + ", true)' class='sliderBtn " + activeBtn +"'></a>"
	$('#sliderNav').prepend(btnCode);

	
	}
	
	var startStopBtnCode = "<a href='#' id='playSliderBtn' class='textImageHack makeVisibleWithJS' onclick='return playSliderBtnClicked()'></a>";
	
		$('#sliderNav').append(startStopBtnCode);

	
	startTimer();
}

function updatePlaySliderBtnState()
{
	if(timer_is_on)
		$('#playSliderBtn').removeClass('playSliderBtnSelected'); //default green
	else
		$('#playSliderBtn').addClass('playSliderBtnSelected'); // make red

}


function playSliderBtnClicked()
{

	if(timer_is_on)
	{
		stopTimer();	
	}
	else
	{
		startTimer();
	}
	
	updatePlaySliderBtnState();

	
	return false;
}

function homeSliderBtnClicked(element, slideNumber, fromClick)
{
	if(fromClick)
		stopTimer();
	
	if(slideNumber == currentSlide) return; //if its currently going there or is there, then return
	$('#sliderNav a').removeClass('sliderBtnSelected');
	$(element).addClass('sliderBtnSelected');
	
	currentSlide = slideNumber;
	animateChildLeft($('#homeTopInnerRightContainer ul'), -(slideNumber*widthOfImages), SLIDE_DURATION_MS);
	updatePlaySliderBtnState();
	return false;
}



function animateChildLeft(child, leftValue ,duration)
{
	
	if(!duration) duration = 800;
	
	$(child).animate({
				left: leftValue
			  }, {duration:duration,queue:false}, function() {
				// Animation complete.
			  });
	
	return false;
}







function contactSelectionClicked()
{
	value = $('input[name=contactRadioButton]:radio:checked').val();
	window.location = 'contact.php?region=' + value;
	return false;
}




