/* TTM JavaScript */
/* Common functions */
/* Author www.pumkin.co.uk */


function showAll(cls, spd) {
	//
	//var hiddenItems = new Array();
	var offset = 1;
	$(cls).each(function(){
		if ($(this).css("visibility") == "hidden") {
			$(this).css("visibility", "visible");	
		}
		$(this).delay(offset*spd).fadeTo(600, 1);				 
		offset++;
	});
}


/* folio layout */
	
function resizeFolio() {
	//
	//alert ('resize');
	var folioHeight = $(window).height() - (parseInt($('#image-container').offset().top) + parseInt($('body').css('marginBottom')) + 5);
	
	var folioWidth = $(window).width() - (parseInt($('#image-container').offset().left) + parseInt($('body').css('marginRight')) + 5);
	
	//alert( parseInt( $('body').css('marginBottom') ) );
	//
	$('#image-nav').height(folioHeight - 25);
	$('#image-container').css("height", folioHeight);
	$('#image-container').css("width", folioWidth);	
	//		
	fitAllImages('.left-image', folioWidth, folioHeight, 12);
}

function resizeImage(target) {
	//	
	fitArea(target, "fit", false);
}

function fitAllImages(imgClass, availWidth, availHeight, gap) {
	//
	var counter = 0;
	//
	$('#image-container').find(imgClass).each(function() {
	  //
	  var left = $(this).children('img');
	  var right = $(this).next().children('img');
	  //
	  var leftOldWid = cssToInt($(left).css("width")); //parseInt(imageArray[counter]['left-width']); // $(left).outerWidth(); //
	  var leftOldHei = cssToInt($(left).css("height")); //parseInt(imageArray[counter]['left-height']); // $(left).outerHeight(); 	//
	  if ($(right).length) {
	  	  var rightOldWid = cssToInt($(right).css("width")); //parseInt(imageArray[counter]['right-width']); // $(right).outerWidth(); //
	  	  var rightOldHei = cssToInt($(right).css("height")); //parseInt(imageArray[counter]['right-height']); // $(right).outerHeight(); //
	  }
	  //
	  if ($(right).length) {
		  var leftProportion = leftOldWid / (leftOldWid+rightOldWid);
		  var leftWid = Math.round((availWidth)*leftProportion);
	  } else {
		  var leftWid = availWidth-gap;
      }
	  //
	  var scaleAmt = Math.min((availHeight/leftOldHei), (availWidth/leftOldWid));
	  //
	  var offset = 0; //var offset = imageArray[counter]['left-offset'] ? Math.round(parseInt(imageArray[counter]['left-offset'])*scaleAmt) : 0;
	  setDimensionsTofitArea($(left), leftWid, availHeight, leftOldWid, leftOldHei, new Array(offset,offset,offset,offset));
	  if ($(right).length) {
		  //alert(imageArray[counter]['right-offset']);
		  //var offset = imageArray[counter]['right-offset'] ? Math.round(parseInt(imageArray[counter]['right-offset'])*scaleAmt) : 0;
		  var offset = 0;
		  setDimensionsTofitArea($(right), availWidth-leftWid, availHeight, rightOldWid, rightOldHei, new Array(offset,offset,offset,offset));
		  $(this).next().css("marginLeft", cssToInt($(left).css("width"))+gap);
		  //$(this).next().css("marginLeft", gap);
	  }								   
	  counter++;						   
	});
}

function addNextSlide(curr,next,opts,dummy,noPast) {
	//
	if ($('#preload').css("display") == "block") {
		$('#preload').fadeOut(600);
	}
	//
	// update URL
	if (showSlideNumber == true) {
		location.hash = "#"+opts.currSlide;
	}
	//
	// if first image loaded is beyond the number of images loaded by PHP..
	if (startingSlide >= num_images_init && startingSlide == opts.currSlide) {
		addImgSrc(startingSlide);
	}
	// if this is the very first image loaded, add the next one too
	if (startingSlide == opts.currSlide) {
		pastSlide = opts.currSlide;
	}
	//
	var future = Math.max(num_images_init-startingSlide, 1);
	//
	var nextSlide = opts.nextSlide-2;
	var nextSlideToLoad = nextSlide+future;
	var maxSlides = paths_to_add.length;
	if (nextSlideToLoad >= maxSlides) {
		nextSlideToLoad = future-(maxSlides-nextSlide);
	}
	//alert(startingSlide+" / "+opts.currSlide+" / "+opts.nextSlide);
	addImgSrc(nextSlideToLoad);
	//
	preloadStarted = true;
	//
	if (noPast!=true) {
		addPrevSlide();
	}
	//
	if (future<num_images_init) {
		//
		var catchUp=num_images_init-(future+1);
		startingSlide=catchUp;
		addNextSlide('','',opts,'',true);
	}
}

function addPrevSlide() {
	//	
	for (i=0; i<Math.ceil(num_images_init/2); i++) {
		pastSlide+=past;
		if (pastSlide<num_images_init) {	
			past = -1;
			pastSlide = paths_to_add.length+past;
		} 
		addImgSrc(pastSlide);
	}
}

function addImgSrc(imageid) {
	//
	var left = $('#image-container').children(':eq('+imageid+')').children('.left-image').children(':first');
	if ($(left).length) {
		if ($(left).attr("src") == "") {
			$(left).attr("src", paths_to_add[imageid][0]);
			if (paths_to_add[imageid][1] != "") {
				var right = $(left).parent().next().children(':first');
				$(right).attr("src", paths_to_add[imageid][1]);
			}
		}
	}
}


var opts;
var startingSlide = window.location.hash ? window.location.hash.replace("#", "") : 0;
var currentImage = startingSlide;
var pastSlide = 0;
var past = -1;
var showSlideNumber = true;

function startCycle(showSlideNum, scrollFX) {
	
	showSlideNumber = showSlideNum ? true : false;
	scrollFX = scrollFX ? scrollFX : 'fade'; 
	
	// start cycle options
	//
    opts = $('#image-container')
	.cycle({
		fx:     scrollFX,
		speed:  500,
		//easeOut: 'easeOutQuad',
		timeout: 0,
		next:   '.next-link, .hit-right',
		prev:   '.prev-link, .hit-left',
		slideResize: 0,
		//before: resizeImage,
		after: addNextSlide,
		startingSlide: startingSlide
    }).data('cycle.opts');
	
	try {
		if (opts.slideCount) {
			// fade in next/prev buttons
			//
			$('.next-link').fadeIn('slow');
			$('.prev-link').fadeIn('slow');
		}
	} catch(err) {
		//doReveal = true;
	}
}


$(document).ready(function() {
	//
	//showAll();

});

