/* 	Custom Javascript for Project 						*/

(function($) { //IMAGE PRELOADER
  var cache = [];
  $.preLoadImages = function() {
    var args_len = arguments.length;
    for (var i = args_len; i--;) {
      var cacheImage = document.createElement('img');
      cacheImage.src = arguments[i];
      cache.push(cacheImage);
    }
  }
})(jQuery)

function ieFixup(){
	if(!Array.indexOf){
			Array.prototype.indexOf = function(obj){
				for(var i=0; i<this.length; i++){
					if(this[i]==obj){
						return i;
					}
				}
				return -1;
			}
		}
}

function prep_feature_click(){  //WHEN THE FEATURE IMAGE IS CLICKED
	$(".portfolio_item #photo_container .feature").click(function(){
		var image_id = "#slideshow_gallery ." + $(this).attr('rel'); //IMAGES CONTAIN NAMES FOR CORRELATION
		$(image_id).click();
		$("#cboxSlideshow").click();
		return false;
	});
}

function prep_nav(){  //WHEN THE PORTFOLIO NAV LINK IS CLICKED
	$("#sidebar #portfolio>a").removeAttr("href");

	$("#sidebar #portfolio a").click(function(){
		$("#nav_categories").removeClass("hidden");
	});
}


function prep_next_button(){  //NEXT IMAGE BUTTON
	var image_url_list = [];
	var image_title_list = [];
	var image_item_href_list = [];
	$(".image_gallery a").each(function(index){ //GET ALL IMAGE URLS
		image_url_list[index] = $(this).attr('href');
	});
	$(".image_gallery img").each(function(index){ //GET ALL IMAGE TITLES
		image_title_list[index] = $(this).attr('title');
		image_item_href_list[index] = $(this).attr('rel');
	});
	$("#next_button").click(function(){

		var needle = $("#photo_container img").attr('src');
		var current = image_url_list.indexOf(needle); //FIND OUT WHERE WE ARE IN THE LIST
		var next = current + 1;		
		
		if(next >= image_url_list.length){ //LOOP TO BEGINNING
		$("#photo_container img").attr('src',image_url_list[0]);
		$("#photo_container H1").text(image_title_list[0]);
		$("#photo_container .feature_href").attr('href', image_item_href_list[0]);
		} else {
		$("#photo_container img").attr('src',image_url_list[next]); //LOAD NEXT IMAGE
		$("#photo_container H1").text(image_title_list[next]);
		$("#photo_container .feature_href").attr('href', image_item_href_list[next]);
		}
		
		return false;		
	});
};

$(document).ready(function() { 

	$("#photo_container img").attr("title","");
	ieFixup(); //addd support for indefOf()
	prep_nav();
	prep_next_button();
	prep_feature_click();
	

	//ACTIONS FOR DISPLAYING THUMBNAILS IN FRAME
	$(".image_gallery a").click(function(){
		var new_image = $(this).attr('href');
		var new_image_id = $(this).attr('rel');
		$("#photo_container img").attr('src',new_image);
		$("#photo_container img").attr('rel',new_image_id);
		return false;
	});

	//SETUP SLIDESHOW
	$("#slideshow_gallery a[rel='slideshow']").colorbox({slideshow:true, slideshowSpeed:5000, maxWidth:"80%", maxHeight:"95%"});

	//SLIDESHOW BUTTON
	$("#slide_show_button").click(function(){
		$("#slideshow_gallery a[rel='slideshow']").first().click();
		return false;
	});

	//PRELOAD NON-THUMBNAIL IMAGES
	$(".image_gallery a").each(function(index) {
		var image_urls = $(this).attr('href')
		$.preLoadImages(image_urls);
	});

	$.fn.colorbox.init();
});
