$(document).ready(
	function () {
		initGalleryNav();
		initGlobalNav();
		initClusters();
	});
	
/* IMAGE PRELOADING
-------------------------------------------------*/
function preloadImage(imgUrl) {
	var i = new Image();
	i.src = imgUrl;
	return i.src;
}
	
/*-----------------------------------------------*/





/* CLUSTER TRANSITIONS
-------------------------------------------------*/
function initClusters() {
	$("a[href*='gallery']").click
		(
			function ()
				{
					var destination = $(this).attr("href");
					//$("#cluster").fadeOut(1000);
					var urlRoot = document.URL.split("/");
					urlRoot.pop();
					urlRoot = urlRoot.join("/");
					window.location = urlRoot + "/" + destination;
					return false;
				}
		);
	$("#cluster").fadeTo(0,0);		
	$("#cluster").animate({opacity: 0}, 700) //delay by 1s so that artwork has a chance to change
	$("#cluster").fadeTo(1000, 1);
}
	
/*-----------------------------------------------*/





/* MATCH GALLERY IMAGE TO PAGE URL (LOADED ONLY ON GALLERY PAGES)
-------------------------------------------------*/
function initAll() {
	matchURL();
}

function matchURL() {
	var urlSegments = document.URL.split("?");
	//alert(urlSegments);
	//alert(displayParam);
	var thisArtwork = urlSegments[1];

	//alert(thisArtwork);
	var galleryNum =  document.URL.match(/[0-9]+[0-9]*(?=\.php)/);
	//alert(galleryNum);
	var urlRoot = document.URL.split("/");
	urlRoot.pop();
	urlRoot = urlRoot.join("/");
	//alert(urlRoot);
	//alert(gallery);
	//alert(capGallery);
	//alert(urlRoot + "/_images/_cluster" + galleryNum + "/_lg/" + thisArtwork + "-lg.jpg");
	
	//FOR IE:
	if(!Array.indexOf){
	      Array.prototype.indexOf = function(obj){
	          for(var i=0; i<this.length; i++){
	              if(this[i]==obj){
	                  return i;
	              }
	          }
	          return -1;
	      }
	  }

	var thisIndex = gallery.indexOf(urlRoot + "/_images/_cluster" + galleryNum + "/_lg/" + thisArtwork + "-lg.jpg");
	//alert(thisIndex);
	//alert(gallery[thisIndex]);

	$("#artwork, #arrows").fadeTo(0,0).css("display", "block");
	$("#navcaption-wrapper").fadeTo(0,0);
	$("#artwork").attr('src', gallery[thisIndex]);
	$("#caption").attr('src', capGallery[thisIndex]);

	$("#artwork, #arrows").animate({opacity: 0}, 800) //delay so that artwork has a chance to change
	$("#artwork, #arrows").fadeTo(fadeParam, 1, function(){$("#navcaption-wrapper").fadeTo(3000, 1)});
	
	for (var i=0; i<=thisIndex; i++)
		{
			var image = gallery.shift();
			gallery.push(image);
		}
	
	if (navigator.userAgent.indexOf("MSIE 6") == -1 && navigator.userAgent.indexOf("MSIE 7") == -1) { 
		$("#caption[src*='8-cap']").css({position: "relative", right: "10px"});
		$("#caption[src*='2_persephone']").css({position: "relative", right: "20px"});		
	}
}
/*-----------------------------------------------*/





/* GALLERY NAVIGATION
-------------------------------------------------*/
function initGalleryNav() {
	$("#back").click
		(
			function ()
				{
					var thisImage = gallery.pop();
					gallery.unshift(thisImage);
					
					var nextImage = gallery.pop();
					transition(nextImage);
					
					return false;
				}
		);
			
	$("#forward").click
		(
			function ()
				{
					var nextImage = gallery.shift();
					transition(nextImage);	
										
					return false;
				}
		);

	$("#next").hover
		(
			function()
				{
					var src = $(this).attr("src").split(".");
					src.pop();
					$(this).attr("src", src[0] + "_over.gif");
				},
			function()
				{
					var src = $(this).attr("src").split("_");
					src.pop();
					src = src.join("_");
					$(this).attr("src", src + ".gif");
				}
		);
}
	

/*-----------------------------------------------*/





/* IMAGE TRANSITION
-------------------------------------------------*/
function transition(nextImage) {
	if(fadeParam > 0)
		{
			$("#artwork-table, #arrows").fadeOut
				(
					fadeParam,
					function ()
						{
							gallery.push(nextImage);
							
							var oldURL = document.URL.split("?");
							//alert(oldURL);
							var imagePath = nextImage.split("/");
							//alert(imagePath);
							var imageFilename = imagePath[imagePath.length - 1];
							//alert(imageFilename);
							var imageName = imageFilename.split("-")[0];
							//alert(imageName);
							//alert("Transitioning to next image.\nChanging url to " + oldURL[0] + "?" + imageName + "&" + fadeParam);
							//alert(oldURL[0] + "?" + imageName);
							window.location =  oldURL[0] + "?" + imageName;
						}
				);
		}
	else
		{
			$("#artwork-table").hide();
			gallery.push(nextImage);
			
			var oldURL = document.URL.split("?");
			var imagePath = nextImage.split("/");
			var imageFilename = imagePath[imagePath.length - 1];
			var imageName = imageFilename.split("-")[0];
			//alert("Transitioning to next image.\nChanging url to " + oldURL[0] + "?" + imageName + "&" + fadeParam);
			window.location =  oldURL[0] + "?" + imageName + "&" + fadeParam;
		}

}
/*-----------------------------------------------*/





/* GLOBAL NAV
-------------------------------------------------*/
function initGlobalNav() {
	$(".subnav").hide();
	
	//get current pagename
	var pagename = document.URL.split("/").pop();
	
	$("#navigation li").each
		(
			function () {
				$(this).hover(
					function () {
						var thisImg = $(this).find("img:first");
						thisImg.attr("src", rollover(thisImg.attr("src"))); 
					},
					function () {
						var thisImg = $(this).find("img:first");
						thisImg.attr("src", rollout(thisImg.attr("src"))); 
					}
				);
				
				var thisNavLink = $(this).children("a:first");
				var thisNavLinkHref = thisNavLink.attr("href");

				if(pagename.indexOf(thisNavLinkHref) != -1) {
						var thisNavLinkImg = thisNavLink.children("img");
						thisNavLinkImg.attr("src", rollover(thisNavLinkImg.attr("src")));
						thisNavLinkImg.closest("li").unbind('mouseenter mouseleave');								
						
						var parentLink = $(this).closest(".submenu-wrapper");
						var parentLinkImg = parentLink.children("a:first").children("img:first");
						if (parentLinkImg.length > 0) {
							parentLinkImg.attr("src", rollover(parentLinkImg.attr("src")));
							parentLink.children(".subnav:first").show();
							parentLinkImg.closest("li").unbind('mouseenter mouseleave');	
	 					}
	 					
						if (pagename.indexOf("?") == -1) {
	 						thisNavLinkImg.parent("a").replaceWith(thisNavLinkImg);
	 						thisNavLinkImg.closest("li").unbind('mouseenter mouseleave');								
	 						parentLinkImg.parent("a").replaceWith(parentLinkImg);
	 						parentLinkImg.closest("li").unbind('mouseenter mouseleave');	
	 					}
						
						else if (pagename.indexOf("gallery6.php") != -1) {
							thisNavLinkImg.parent("a").replaceWith(thisNavLinkImg);
	 						thisNavLinkImg.closest("li").unbind('mouseenter mouseleave');								
						}
				}
			});
}
	
function rollover(src)
	{
		if (src.indexOf("_over") == -1) {
			var imgSrc = src.split(".");
			imgSrc.pop();
			return imgSrc[0] + "_over.gif";			
		}
		else
			return src;
	}

function rollout(src)
	{
		if (src.indexOf("_over") != -1) {
			var imgSrc = src.split("_");
			imgSrc.pop();
			imgSrc = imgSrc.join("_");
			return imgSrc + ".gif";			
		}
		else
			return src;
	}
/*-----------------------------------------------*/





/* CROSSFADES
-------------------------------------------------*/
function crossFade(img1, img2)
	{
		$('#artwork-box').crossSlide({
		  sleep: 1,
		  fade: 1
		}, [
		  { src: img1 },
		  { src: img2 }
		]);	
	}
/*-----------------------------------------------*/

