$(document).ready(function(){

	$("#tourPreviewContentWrapper").hide();
	
	// Get dots
	var DotListItems = $("#tourPreviewDots li");
	var DotLinks = $("#tourPreviewDots li a");
	var sInteractionMode = "auto";
	var nAutoRotateSpeed = 5000;
	var nNextAutoRotatePos = 2;
	
	// Get and load initial data
	getPreviewData(1);
	
	// Start auto rotating
	setInterval(
		function(){
			if (sInteractionMode == "auto") {
				AutoRotate(nNextAutoRotatePos);
			}
			else {
				clearInterval();
			}
			
		},
		nAutoRotateSpeed
	);
	
	
	// Apply click method to each dot
	DotLinks.each(function(a){
		$(this).click(
			function(){
				TurnOffAllDotLinks();
				$(this).parent().addClass("tourPreviewDotsActive");
				getPreviewData($(this).attr("rel"));
				sInteractionMode = "manual";
				return false;
			}
		);//end click
	});
	
	// Data retrieval function
	function getPreviewData(item_num){
		$.getJSON(
			"index.cfm",
			{
				fuseaction: "tour.getPreviewDataJSON",
				item_num: item_num
			},
			function(data){
				$("#tourPreviewContentWrapper").fadeOut("normal",
					function(){
						loadDataIntoPage(data,item_num);
					}
				).fadeIn("normal");
				
			}
		);// end get
	}
	
	// Utility function that turns all dots to inactive state
	function TurnOffAllDotLinks() {
		DotLinks.each(function(a){
			$(this).parent().removeClass("tourPreviewDotsActive");
		});
	}
	
	// Utility function that takes data from getPreviewData and inserts it into page
	function loadDataIntoPage(data,item_num){
		$("#tourPreviewDescription h4").html(data.CONTENT.TITLE);
		$("#tourPreviewDescription p").html(data.CONTENT.SUMMARY);
		$("#tourPreviewThumb img").attr("src",data.THUMBPATH);
		var sTourLink = $("#tourPreview").attr("rel");
		sTourLink = sTourLink + "tour/" + data.CONTENT.ID + "-" + createFooText(data.CONTENT.TITLE) + ".html";
		$("#tourPreviewThumb a").attr("href",sTourLink);
		$("#tourPreviewWatchButton a").attr("href",sTourLink);
	}
	
	// Function that controls rotation
	function AutoRotate(item_num) {
		var dot_index = (item_num-1);
		var DotLink = $("#tourPreviewDots li a:eq(" + dot_index + ")");
		AutoClick(DotLink);
		if ((item_num + 1) <= DotLinks.length) {
			nNextAutoRotatePos = (item_num + 1);
		}
		else {
			nNextAutoRotatePos = 1;
		}
	}
	
	function AutoClick(inOb){
		inOb.click();
		sInteractionMode = "auto";
	}
	
	function createFooText(sOriginalText){
		var sWorkingText = sOriginalText;
		sWorkingText = sWorkingText.toLowerCase();
		sWorkingText = sWorkingText.replace(/<[^>]*>/g,"");
		sWorkingText = sWorkingText.replace(/'/g,"");
		sWorkingText = sWorkingText.replace(/’/g,"");
		sWorkingText = sWorkingText.replace(/\W/g,"-");
		sWorkingText = sWorkingText.replace(/--/g,"-");
		if (sWorkingText.charAt((sWorkingText.length-1)) == "-") {
			sWorkingText = sWorkingText.substr(0,(sWorkingText.length-1));
		}
		return sWorkingText;
	}
	
	
	
	
});