var loopIndex = 0; 
var currentIndx = 0; 
var visImg = 4;
var visFactr = visImg + 0.01;
var visWidth = 288;
var onBorderImage = 'url(../assets/images/css_images/thumb_border_active.jpg)';
var offBorderImage = 'url(../assets/images/css_images/thumb_border.jpg)';
var onBorder = "#a39469";
var ie6_onBorder = "solid 1px #a39469";
var offBorder = "transparent";
var xmlPath = '../assets/xml/phototour.xml';
var thumbWidth = 54;
var thumbHeight = 54;

$(function() {
	$('#slideHolder').empty();
	$('.photoTour').append('<p id="next">&nbsp;</p>').prepend('<p id="prev">&nbsp;</p>');
	$('#masthead').append('<div id="photoInfo"><h6></h6></div>');
	//$('#photoText').empty();
	//$('#photoText').html('<div id="gallery_name"></div><div id="hypen">-</div><div id="photo_name"></div>');
	$('.sub_nav, #frame').empty().append('<ul></ul>');
	 $('#frame').empty().append('<ul></ul>');
	 
	 if ($.browser.msie && $.browser.version == 6.0)
	{
		$('#frame').addClass('js');
	}
	
	 $.ajax({
		 type: "GET",
		 url: xmlPath,
		 dataType: "xml",
		 error: function() {
					alert("There has been an error.");
					},
		 success: function(xml) {
			 $(xml).find("gallery").each(function(){
					var galleryName = $(this).attr("name");
					var galleryId = $(this).attr("id");
//				$("<li></li>").html('<h6><a class="rollover" href="#'+galleryId+'">'+galleryName+'</a></h6>').attr("id", galleryId).appendTo(".sub_nav ul");
				$("<li></li>").html('<img src="../assets/images/gallery_bullet_point.png" /><a href="#'+galleryId+'" onclick="return false;">'+galleryName+'</a>').attr("id", galleryId).appendTo(".sub_nav ul");
			 });
			 
			 $('.sub_nav > ul').addClass('last');			//$('.sub_nav ul li:last').addClass('last');
			 
			loadGallery("gallery:first"); 
			
			$(".sub_nav ul li:first").addClass("currentGallery");
			$(".sub_nav ul li").click(
				function() {
					if($(this).hasClass("currentGallery")==false) {	
						$.idle(null, 1);
						$(".sub_nav ul li").removeClass("currentGallery");
						$(this).addClass("currentGallery");
						var gallId = $(this).attr("id");
						var whatGallery = "gallery#" + gallId;
						$("#frame ul").html("");
						$("#slideHolder").html("");
						loadGallery(whatGallery); 
						$("#frame ul").css("left", "0");
					}  else {
						return false;
					}
				}
			);
		 }
	 });//end ajax
			
			
	function loadGallery(whatGallery) {
		//$("#gallery_name").html("...Loading");
		//updateCufon('#gallery_name');
		$.ajax({
			type: "GET",
			url: xmlPath,
			dataType: "xml",
			error: function() {
					alert("There has been an error.");
					},			
			success: function(xml) {
				$(xml).find(whatGallery).each(function(){
					
					var galleryName = $(this).attr("name");
					var images = $(this).find("image");
					
					$(images).each(function() {
						var imageId= $(this).attr("id");
						var altText = galleryName;			//	var altText = galleryName+' - '+$(this).attr("alt");
						var thumbs = $(this).find("thumb");
					
					$(thumbs).each(function() {
						var thumbPaths = $(this).attr("src");
						$("#gallery_name").html(galleryName);
						updateCufon('#gallery_name');
						var imageLink = $("<a></a>").html($("<img />").attr({'src':thumbPaths, 'alt':altText, 'width':thumbWidth, 'height':thumbHeight}));
						$("<li></li>").html(imageLink).addClass(imageId).appendTo("#frame ul");
						
						if ($.browser.msie && $.browser.version == 6.0)
						{
							$("#frame ul li:first").css({'border':ie6_onBorder, 'padding':'0', 'width':'62px', 'height':'62px', 'margin-top':'0px'});
						//	$("#frame ul li:first a").css({'background-image':onBorderImage, 'padding':'0'});
						}
						else
						{
						//	$("#frame ul li:first a").css("border-color", onBorder);
							$("#frame ul li:first a").css("background-image", onBorderImage);
						}
						
						//$("p#playTour").css("backgroundPosition", "0px 0px");
						loopIndex = 0;
						currentIndx = 0;
						$("#photoInfo h6").html($("#frame ul li img:first").attr("alt"));
						//updateCufon();
						$("#photoInfo").show();
					});	
					});
					$("#masthead img#loader").show();	
					$("#thumbLoader").show();							
					var mainImages = $(this).find("main");
					var imgCounter = 0;				
					var imgTotal = mainImages.length;

					function preLoadImages() {
						$(new Image()).attr('src', $(mainImages[imgCounter]).attr("src")).load(function() {
						$(this).attr( {"id":$(images[imgCounter]).attr("id"), 'alt':galleryName} );		//$(this).attr( {"id":$(images[imgCounter]).attr("id"), 'alt':$(images[imgCounter]).attr("alt")} );
							$(this).hide();
							$(this).appendTo("#slideHolder");
							
							if(imgCounter === (imgTotal-1)){
								$("#masthead img#loader").hide();
								$("#slideHolder img:first").fadeIn(1000);
								$("#thumbLoader").hide();
								$("#frame ul li").fadeIn("slow");
								$("#photoInfo h6").html($("#frame ul li img:first").attr("alt"));
								//updateCufon();
								$("#photoInfo").show();
								
								bindThumbLinks();
								$.idle(loop, 6000);	
							} else {
							imgCounter++;
							preLoadImages();
							}
						});
						
						
					}
					preLoadImages();
				}); // end xml find	
			}	//end success
		});	//end ajax
	}; // end loadGallery

	function bindThumbLinks() { 
		$("#frame ul li").click(
			function() {
				if(currentIndx === $("#frame ul li").index(this)) {
					return false;
				} else {
					$.idle(null, 1);
					currentIndx = $("#frame ul li").index(this);
					hideImages();
					showImage(this);
					if ($.browser.msie && $.browser.version == 6.0)
					{
						$(this).css({'border':ie6_onBorder, 'padding':'0', 'width':'62px', 'height':'62px', 'margin-top':'0px'});
					//	$(this).css({'background-image':onBorderImage, 'padding':'0'});
					}
					else
					{
					//	$(this).children('a').css("border-color", onBorder);
						$(this).children('a').css("background-image", onBorderImage);
					}
					//$("p#playTour").css("backgroundPosition", "0px -14px");			
				}
				//$.idle(loop, 6000); 
			}
		).hover(
			function () {
				if ($.browser.msie && $.browser.version == 6.0)
				{
					$(this).css({'border':ie6_onBorder, 'padding':'0', 'width':'62px', 'height':'62px', 'margin-top':'0px'});
				//	$(this).css({'background-image':onBorderImage, 'padding':'0'});
				}
				else
				{
				//	$(this).children('a').css("border-color", onBorder);
					$(this).children('a').css("background-image", onBorderImage);
					
				}
			  }, 
			  function () {
				
				if (currentIndx === $("#frame ul li").index(this))
				{
					return false;
			  	}
				else
				{
					if ($.browser.msie && $.browser.version == 6.0)
					{
						$(this).css({'border':'none', 'padding':'0', 'width':'64px', 'height':'64px', 'margin-top':'1px'});
					//	$(this).css({'background-image':offBorderImage, 'padding':'0'});
					}
					else
					{
					//	$(this).children('a').css("border-color", offBorder);
						$(this).children('a').css("background-image", offBorderImage);
					}
				}
			  }

		);
	};
		
	function hideImages() {		
		$("#slideHolder img").fadeOut("slow");
		if ($.browser.msie && $.browser.version == 6.0)
		{
			$("#frame ul li").css({'border':'none', 'padding':'0', 'width':'64px', 'height':'64px', 'margin-top':'1px'});
		//	$("#frame ul li").css({'background-image':offBorderImage, 'padding':'0'});
		}
		else
		{
		//	$("#frame ul li").children('a').css("border-color", offBorder);
			$("#frame ul li").children('a').css("background-image", offBorderImage);
		}
		$('#photoInfo').hide();
	};
		
	function showImage(whatImage) {
		var source = $(whatImage).attr("class");
		var target = document.getElementById(source);
		$(target).fadeIn("slow");
		var text = $(target).attr("alt");
		$("#photoInfo h6").html(text);
		//updateCufon();
		$('#photoInfo').show();		
	};
		
	$("p#next").click(function() {
		forward();		
	});

	$("p#prev").click(function() {
		backward();		
	});
		
		
	function forward() {
		$("p#next").unbind("click");
		$.idle(null, 1); 
		var slideHolder = $("#slideHolder img"); 
		var allThumbs = $("#frame ul"); 
		var thumbs = $("#frame ul li");	
		var thumbNumber = (thumbs.length)/(visFactr);
		var rndThumbNumber = Math.floor(thumbNumber);
		var thumbImg  = $("#frame ul li img"); 
		var pos = $("#frame ul").css("left"); 
		var totThumbs = (thumbs.length)/visFactr;
		var finalFrame = Math.floor(totThumbs)*visImg;
		if ($.browser.msie && $.browser.version == 6.0)
		{
			$(thumbs).css({'border':'none', 'padding':'0', 'width':'64px', 'height':'64px', 'margin-top':'1px'});
		//	$(thumbs).css({'background-image':offBorderImage, 'padding':'0'});
		}
		else
		{
		//	$(thumbs).children('a').css("border-color", offBorder);
			$(thumbs).children('a').css("background-image", offBorderImage);
		}
		if(rndThumbNumber > 0) {
		//$("p#playTour").css("backgroundPosition", "0px -14px");
		if((loopIndex != rndThumbNumber*visImg) && ((currentIndx > (finalFrame-1)) === false)) {	
				 currentIndx = (loopIndex+visImg);
				var numPos = ((parseFloat(pos))-visWidth) + "px";
				loopIndex = loopIndex+visImg;
			} else {
				loopIndex=0;
				currentIndx = 0;
				numPos = 0;
			}
				$(allThumbs).animate(
							{ left: numPos },
							1000, function() {			
								if ($.browser.msie && $.browser.version == 6.0)
								{
									$(thumbs[currentIndx]).css({'border':ie6_onBorder, 'padding':'0', 'width':'62px', 'height':'62px', 'margin-top':'0px'});
								//	$(thumbs[currentIndx]).css({'background-image':onBorderImage, 'padding':'0'});
								}
								else
								{
								//	$(thumbs[currentIndx]).children('a').css("border-color", onBorder); 
									$(thumbs[currentIndx]).children('a').css("background-image", onBorderImage);
								}
				$(slideHolder).hide();
				$(slideHolder[currentIndx]).fadeIn("slow");
				var text = $(thumbImg[currentIndx]).attr("alt");
				$("#photoInfo h6").html(text);
				//updateCufon();
				$("#photoInfo h6").fadeIn('slow').removeAttr("filter");
				
				$("p#next").bind("click", forward);
				});
				//$.idle(loop, 6000); 
				
		} else {
			//$.idle(loop, 6000); 
			return false;
		}


	};


		
	function backward() {
		$("p#prev").unbind("click");
		$.idle(null, 1);
			var slideHolder = $("#slideHolder img"); 
			var allThumbs = $("#frame ul"); 
			var thumbs = $("#frame ul li");
			var thumbNumber = (thumbs.length)/visFactr;
			var rndThumbNumber = Math.floor(thumbNumber);
			var prevNumb = (thumbs.length)/visFactr;
			var rndPrevNumb = Math.floor(prevNumb);
			var lastFrame = rndPrevNumb*visImg;
			var thumbImg  = $("#frame ul li img"); 
			var pos = $("#frame  ul").css("left"); 
			if ($.browser.msie && $.browser.version == 6.0)
			{
				$(thumbs).css({'border':'none', 'padding':'0', 'width':'64px', 'height':'64px', 'margin-top':'1px'});
			//	$(thumbs).css({'background-image':offBorderImage, 'padding':'0'});
			}
			else
			{
			//	$(thumbs).children('a').css("border-color", offBorder);
				$(thumbs).children('a').css("background-image", offBorderImage);
			}
			if(rndThumbNumber > 0) {	
			//$("p#playTour").css("backgroundPosition", "0px -14px");		
				if(pos === "0px" || pos === "0pt") {
					var numPos = (-visWidth * rndPrevNumb) +"px";
					loopIndex = rndPrevNumb*visImg;
					currentIndx = thumbs.length-1;
				} else {
						var numPos = ((parseFloat(pos))+visWidth) + "px";
						currentIndx = loopIndex-visImg;
						loopIndex = loopIndex-visImg;
				}
				$(allThumbs).animate(
							{ left: numPos },
							1500, function() {
				 
								if ($.browser.msie && $.browser.version == 6.0)
								{
									$(thumbs[currentIndx]).css({'border':ie6_onBorder, 'padding':'0', 'width':'62px', 'height':'62px', 'margin-top':'0px'});
								//	$(thumbs[currentIndx]).css({'background-image':onBorderImage, 'padding':'0'});
								}
								else
								{
								//	$(thumbs[currentIndx]).children('a').css("border-color", onBorder);
									$(thumbs[currentIndx]).children('a').css("background-image", onBorderImage);

								} 
					$(slideHolder).hide();
					$(slideHolder[currentIndx]).fadeIn("slow");
					var text = $(thumbImg[currentIndx]).attr("alt");
					$("#photoInfo h6").html(text);
					//updateCufon();
					$("#photoInfo h6").fadeIn('slow').removeAttr("filter");
					$("p#prev").bind("click", backward);
				});
				//$.idle(loop, 6000); 
			} else {
				//$.idle(loop, 6000); 
				return false;
			}
		}
	
		

		
});
	 
function updateCufon()
		{
			Cufon.replace('#photoInfo h6');
		}


$(function() {       
	
	var moz = (typeof document.implementation != "undefined") && (typeof
document.implementation.createDocument != "undefined");             
	if (moz) {
		var home = "0pt";  
} else {
		home = "0px";  
}

	                      

loop =  function(){    
	var slideHolder = $("#slideHolder img"); 
	var thumbs = $("#frame ul li"); 
	var allThumbs = $("#frame ul"); 
			for (var i=0; i < thumbs.length; i++) {     
				$(slideHolder[i]).fadeOut("slow");
				$('#photoInfo h6').hide();
				if ($.browser.msie && $.browser.version == 6.0)
				{
					$(thumbs[i]).css({'border':'none', 'padding':'0', 'width':'64px', 'height':'64px', 'margin-top':'1px'});
				//	$(thumbs[i]).css({'background-image':offBorderImage, 'padding':'0'});
				}
				else
				{
				//	$(thumbs[i]).children('a').css("border-color", offBorder);
					$(thumbs[i]).children('a').css("background-image", offBorderImage);
				}
			}         
			if (currentIndx < thumbs.length-1) {
				currentIndx=currentIndx+1;
				var targImg = $(thumbs[currentIndx]).attr("class");
				var quelImage = "#slideHolder img#" + targImg;
				$(quelImage).fadeIn("slow");
				var text = $(slideHolder[currentIndx]).attr("alt");
				$("#photoInfo h6").html(text);
				//updateCufon();
				$('#photoInfo h6').fadeIn("slow").removeAttr("filter");
				
				if ($.browser.msie && $.browser.version == 6.0)
				{
					$(thumbs[currentIndx]).css({'border':ie6_onBorder, 'padding':'0', 'width':'62px', 'height':'62px', 'margin-top':'0px'});
				//	$(thumbs[currentIndx]).css({'background-image':onBorderImage, 'padding':'0'});
				}
				else
				{
				//	$(thumbs[currentIndx]).children('a').css("border-color", onBorder);
					$(thumbs[currentIndx]).children('a').css("background-image", onBorderImage);
				}  
				
				
			} else {
				currentIndx=0;  
			$(slideHolder[currentIndx]).fadeIn("slow");
			var text = $(slideHolder[currentIndx]).attr("alt");
				$("#photoInfo h6").html(text);
				//updateCufon();
				$('#photoInfo h6').fadeIn('slow').removeAttr("filter");
			if ($.browser.msie && $.browser.version == 6.0)
				{
					$(thumbs[currentIndx]).css({'border':ie6_onBorder, 'padding':'0', 'width':'62px', 'height':'62px', 'margin-top':'0px'});
				//	$(thumbs[currentIndx]).css({'background-image':onBorderImage, 'padding':'0'});
				}
				else
				{
				//	$(thumbs[currentIndx]).children('a').css("border-color", onBorder);
					$(thumbs[currentIndx]).children('a').css("background-image", onBorderImage);
				} 				
			}					
			if(currentIndx === 0) {
				$.idle(null, 1);
				$(allThumbs).animate(
						{ left: home },
						1000);				 
			} else if(currentIndx % visImg === 0) {
				$.idle(null, 1);
				$(allThumbs).animate(
						{ left: (((currentIndx/visImg) * -visWidth) + "px")  },
						1000);			
			}
			$.idle(loop, 6000); 
				
};  
});
