// JavaScript Document
$(document).ready(function(){set_gallery();	});	
	var nav_width,nav_tallest,nav_widest,nav_position;
	function set_gallery(){
		nav_width=0;
		nav_tallest=400;
		nav_widest=0;	
	 	nav_position;
		$("#gallery").before('<div id="gallery_head"><div id="gallery_nav_wrapper"><div id="gallery_nav"></div></div></div>');
		$("#gallery_head").css({padding:0,margin:0,width:"100%",position:"relative", overflow:"hidden" });
		$("#gallery_nav_wrapper").css({padding:"10px 0",margin:"0px 40px",overflow:"hidden",position:"relative"});
		$("#gallery_nav").css({padding:0, margin:"0 auto", textAlign:"center",  position:"relative", left:0});
		$("#gallery div").each(function(i){
			$(this).attr("id","gallery_div_"+i).css({position:"absolute",top:0, width:$("#gallery").width()});

			nav_tallest = (nav_tallest<$(this).height())?$(this).height()+20:nav_tallest;
			nav_widest = (nav_widest<$("img",this).attr("width")+20)?$("img",this).attr("width")+20:nav_widest;
			$("#gallery").height(nav_tallest).width(nav_widest);
			$(this).height(nav_tallest).width(nav_widest);
			this_width = Math.round(($("img",this).attr("width"))*50/($("img",this).attr("height")));
			$(this).hide();
			nav_width += this_width + 8.5;//+8;
			$("#gallery_nav").width(nav_width);
			$("#gallery_nav").append("<a id='trigger_"+i+"' title='"+$("img",this).attr("alt")+"'></a>");
			$("#trigger_"+i).append("<img src='"+$("img",this).attr("src")+"' height='50' width='"+ this_width +"' alt='"+$("img",this).attr("alt")+"' />");
			$("#trigger_"+i).click(function(){ change_gallery(i);});
			if (i==$("#gallery div").length-1){//at this point the .each function should be at the end 
					$("#gallery div").height(nav_tallest).width(nav_widest);
					$("#gallery_head").append("<a id='nav_prev'><img src='/v1.0/prev_gray.png'/></a>");
					$("#gallery_head").append("<a id='nav_next'><img src='/v1.0/next_gray.png'/></a>");
					$("#nav_prev").css({position:"absolute", top:"25px", left:0, cursor:"pointer"}).hide().click(function(){check_gallery_nav("left");});
					$("#nav_next").css({position:"absolute", top:"25px", right:0, cursor:"pointer"}).hide().click(function(){check_gallery_nav("right");});
				position_gallery();
				$("#trigger_0").click();
			}
		});	
	}
	function change_gallery(i){
		
		$("#gallery_prev, #gallery_next, #nav_marker").remove();
		$("#gallery_nav").append("<img src='/v1.0/gallery_marker.jpg' id='nav_marker'/>");
		nav_position=$("#trigger_"+i).position().left+$("#trigger_"+i).width();
		$("#nav_marker").css({position:"absolute", top:"-10px", left:nav_position-$("#trigger_"+i).width()/2-3+"px"});
		if(nav_position!=$("#gallery_nav_wrapper").width()-$("#gallery_nav_wrapper").offset().left-$("#gallery_nav").offset().left && $("#gallery_nav_wrapper").width()<$("#gallery_nav").width()){
			move_distance = $("#gallery_nav_wrapper").width()/2-nav_position+$("#trigger_"+i).width()*.5;
			if (move_distance>0){
				$("#gallery_nav").animate({left:0}, 400, function(){check_gallery_nav();});
			} else if (move_distance<$("#gallery_nav_wrapper").width()-$("#gallery_nav").width() ){
				$("#gallery_nav").animate({left:($("#gallery_nav_wrapper").width()-$("#gallery_nav").width())+"px"}, 400, function(){check_gallery_nav();});
			} else {
			$("#gallery_nav:animated").stop();
			$("#gallery_nav").animate({left:($("#gallery_nav_wrapper").width()/2-nav_position+$("#trigger_"+i).width()*.5)+"px"}, 400, function(){check_gallery_nav();});
			}
		}
		if(i>0){
			$("#gallery").append("<a id='gallery_prev'><img src='/v1.0/prev_gray.png'/></a>");
			$("#gallery_prev").css({position:"absolute",top:($('#gallery').height()/2.5)+"px",left:0, cursor:"pointer", background:"none"}).click(function(){change_gallery(i-1);});
		}
		if(i<$("#gallery div").length-1){
		  $("#gallery").append("<a id='gallery_next'><img src='/v1.0/next_gray.png'/></a>");
		  $("#gallery_next").css({position:"absolute",top:($('#gallery').height()/2.5)+"px",right:0, cursor:"pointer", background:"none"}).click(function(){ change_gallery(i+1);});
		}
		$("#gallery div[id!=gallery_div_"+i+"]").fadeOut(400);
		$("#gallery_div_"+i).fadeIn(400);
		position_gallery();
		//$("#gallery div[id!=gallery_div_"+i+"]").animate({width:"0"},400).hide();
		//$("#gallery_div_"+i).show().animate({width:"100%"},400);
	}
	function position_gallery(){
		$("#pagebody").css({minWidth:(nav_widest+285)+"px", background:"#fff"});
		$("#gallery_nav a img").css({padding:"2px", border:"1px solid #ccc", margin:"1px", cursor:"pointer"});
		$("#gallery").css({position:"relative", left: ($("#gallery_head").width()-nav_widest-80)/2+"px"});
		$("#gallery_nav_wrapper").css({width:($("#gallery_head").width()-80)+"px"});//for IE6
	}
	function check_gallery_nav(d){
		max_move = $("#gallery_nav").width()-$("#gallery_nav_wrapper").width(); //+:scrollable, -:not scrollable
		nav_position = $("#gallery_nav").position().left; //current #gallery_nav position
		move_distance = $("#gallery_nav_wrapper").width();
		if(max_move>0){
		if(nav_position+move_distance>=0 && d=="left"){
			$("#gallery_nav").animate({left:0}, 400); $("#nav_prev").fadeOut(300); $("#nav_next").fadeIn(300);
		} else if(d=="left") {
			$("#gallery_nav").animate({left:nav_position+move_distance+"px"}, 400); $("#nav_prev").fadeIn(300); $("#nav_next").fadeIn(300);
		} else if(nav_position-move_distance<-max_move && d=="right"){
			$("#gallery_nav").animate({left:-max_move+"px"}, 400); $("#nav_next").fadeOut(300);$("#nav_prev").fadeIn(300);
		} else if(d=="right") {
			$("#gallery_nav").animate({left:nav_position-move_distance+"px"}, 400); $("#nav_prev").fadeIn(300); $("#nav_next").fadeIn(300);
		}else if(d!="left" && d!="right"){		
			if (nav_position< 0){ $("#nav_prev").fadeIn(300);} else { $("#nav_prev").fadeOut(300);}
			if (max_move + nav_position<10){$("#nav_next").fadeOut(300);} else {$("#nav_next").fadeIn(300);}
	}}
		
	}
	$(window).resize( function(){position_gallery();});

