var intval = "";

$(document).ready(function () {
	distance_curr = 0;
	distance = 230;
	distance_fast = 120;
	distance_very_fast = 50;
	slideshowInterval = '';
	photosListHeight = 0;
	$("#photos-list a img").each(function () {
		photosListHeight += $(this).outerHeight() + 12;
	});
	//alert(photosListHeight);

	init();
	$("#photos-list").mousemove(function (event) { scroll(event); });
	$("#photos-list").mouseleave(function () { scrollStop(); });
	$("#photos-list a").click(function () {
		scrollStop();
		choosePhoto($(this).children("img"));
		return false;
	});
	$("#photos-list-editing").mousemove(function (event) { scroll(event); });
	$("#photos-list-editing").mouseleave(function () { scrollStop(); });
	$("#photos-list-light").mousemove(function (event) { scroll(event); });
	$("#photos-list-light").mouseleave(function () { scrollStop(); });
	//$("#photos-list-editing a").click(function () { choosePhotoEditing($(this).children("img")); return false; });
	$("#photos-nav td").mouseenter(function () { $(this).css({opacity: "1.0"}); $(this).css({cursor: 'pointer'}); });
	$("#photos-nav td").mouseleave(function () { $(this).css({opacity: "0.0"}); });
	$("#photos-next").click(function () { nextPhoto(); return false; });
	$("#photos-prev").click(function () { prevPhoto(); return false; });
	$("#photos-play").click(function () { 
		startSlideshow();
		return false; 
	});

	$("ul.menu li.item div a").hover(function() {
		$(this).animate({ color: "gold" }, 400);
		},function() {
		$(this).animate({ color: "#FF8105" }, 500);
	});
});

function init() {
	$("#photos-list").css("overflow-y", "hidden");
	$("#photos-nav td").css({opacity: '0.0'});
	var listOffset = $("#photos-list").offset();
	listTopY = listOffset.top;
	listBottomY = listOffset.top + $("#photos-list").height();
}

function scroll(e) {
	cursorPosition = getCursorPosition(e);
	
	if(cursorPosition.y <= listTopY + distance_very_fast && cursorPosition.y >= listTopY) { // To top faster
		if (distance_curr != distance_very_fast) {
			$("#photos-list").stop(true);
			distance_curr = distance_very_fast;
		}
		speed = ($("#photos-list").scrollTop()*300)/156;
		$("#photos-list").animate({scrollTop: '0'}, speed);
	} 
	else if(cursorPosition.y <= listTopY + distance_fast && cursorPosition.y >= listTopY) { // To top faster
		if (distance_curr != distance_fast) {
			$("#photos-list").stop(true);
			distance_curr = distance_fast;
		}
		speed = ($("#photos-list").scrollTop()*300)/104;
		$("#photos-list").animate({scrollTop: '0'}, speed);
	} 
	else if (cursorPosition.y <= listTopY + distance && cursorPosition.y >= listTopY) { // To top
		if (distance_curr != distance) {
			$("#photos-list").stop(true);
			distance_curr = distance;
		}
		speed = ($("#photos-list").scrollTop()*300)/52;
		$("#photos-list").animate({scrollTop: '0'}, speed);
	} 
	else if (cursorPosition.y <= listBottomY && cursorPosition.y >= listBottomY - distance_very_fast) { // To bottom faster
		if (distance_curr != distance_very_fast) {
			$("#photos-list").stop(true);
			distance_curr = distance_very_fast;
		}
		speed = ((photosListHeight - $("#photos-list").scrollTop())*300)/156;
		$("#photos-list").animate({scrollTop: photosListHeight}, speed);
	}
	else if (cursorPosition.y <= listBottomY && cursorPosition.y >= listBottomY - distance_fast) { // To bottom faster
		if (distance_curr != distance_fast) {
			$("#photos-list").stop(true);
			distance_curr = distance_fast;
		}
		speed = ((photosListHeight - $("#photos-list").scrollTop())*300)/104;
		$("#photos-list").animate({scrollTop: photosListHeight}, speed);
	}
	else if (cursorPosition.y <= listBottomY && cursorPosition.y >= listBottomY - distance) { // To bottom
		if (distance_curr != distance) {
			$("#photos-list").stop(true);
			distance_curr = distance;
		}
		speed = ((photosListHeight - $("#photos-list").scrollTop())*300)/52;
		$("#photos-list").animate({scrollTop: photosListHeight}, speed);
	} 
	else {
		$("#photos-list").stop(true);
	}
}

function scrollStop () {
	$("#photos-list").stop(true);
}

function choosePhoto (photo) {
	var photoSrc = photo.attr("src");
	var photoFile = new Image;
	if (photo.attr("name") == "1") {
		photoFile.src = photoSrc.replace(/Icons/, "Photos");
		$("#photo_prev").css({"opacity" : "1.0"});
		$("#photo_prev").attr("src", $("#photo").attr("src"));
		$("#photo_prev").css({"width": $("#photo").css("width")});
		$("#photo").css({"opacity" : "0.0"});
		$("#photo").attr("src", photoFile.src);
		$("#photo").css({"width": photoFile.width + "px"});
		$("#photos-nav").css({"width": photoFile.width + "px"});
		$("#photo_prev").animate({"opacity": "0.0"}, 500);
		$("#photo").animate({"opacity": "1.0"}, 500, function () {
			if ($("#photo").css("width") < $("#photo_prev").css("width")) {
				$("#photo_prev").css({"width" : $("#photo").css("width")})
			}
		});
		photo.attr("name","1");
		document.getElementById('photo_text').innerHTML = $(photo).attr("alt");
		if (($("#photos-list").scrollTop() + $(photo).position().top) > 259) {
			scrollTopImage = $("#photos-list").scrollTop() + ($(photo).innerHeight() / 2 + ($(photo).position().top - 259));
		} else {
			scrollTopImage = 0;
		}
		$("#photos-list").unbind('mousemove').animate({scrollTop: scrollTopImage}, 500).bind('mousemove', function (event) { scroll(event); });
	} else {
	$(photoFile).bind('load', function () {
		$("#photo_prev").css({"opacity" : "1.0"});
		$("#photo_prev").attr("src", $("#photo").attr("src"));
		$("#photo_prev").css({"width": $("#photo").css("width")});
		$("#photo").css({"opacity" : "0.0"});
		$("#photo").attr("src", photoFile.src);
		$("#photo").css({"width": photoFile.width + "px"});
		$("#photos-nav").css({"width": photoFile.width + "px"});
		$("#photo_prev").animate({"opacity": "0.0"}, 500);
		$("#photo").animate({"opacity": "1.0"}, 500, function() {
			if ($("#photo").css("width") < $("#photo_prev").css("width")) {
				$("#photo_prev").css({"width" : $("#photo").css("width")})
			}
		});
		photo.attr("name","1");
		document.getElementById('photo_text').innerHTML = $(photo).attr("alt");
		if (($("#photos-list").scrollTop() + $(photo).position().top) > 259) {
			scrollTopImage = $("#photos-list").scrollTop() + ($(photo).innerHeight() / 2 + ($(photo).position().top - 259));
		} else {
			scrollTopImage = 0;
		}
		$("#photos-list").unbind('mousemove').animate({scrollTop: scrollTopImage}, 500).bind('mousemove', function (event) { scroll(event); });
	});
		photoFile.src = photoSrc.replace(/Icons/, "Photos");
	}
	
	$(photo).parent().siblings().children("img").css({border: "1px solid #000000"});
	$(photo).css({border: "1px solid #ff9900"});
	$(photo).addClass("selected");
	$(photo).parent().siblings().children("img").removeClass("selected");

}

function nextPhoto() {
	stopSlideshow();
	choosePhoto($("#photos-list a img.selected").parent().next().next().children("img"));
}

function prevPhoto() {
	stopSlideshow();
	choosePhoto($("#photos-list a img.selected").parent().prev().prev().children("img"));
}

function getCursorPosition(e) {
    e = e || window.event;
    var cursor = {x:0, y:0};
    if (e.pageX || e.pageY) {
        cursor.x = e.pageX;
        cursor.y = e.pageY;
    } 
    else {
        var de = document.documentElement;
        var b = document.body;
        cursor.x = e.clientX + 
            (de.scrollLeft || b.scrollLeft) - (de.clientLeft || 0);
        cursor.y = e.clientY + 
            (de.scrollTop || b.scrollTop) - (de.clientTop || 0);
    }
    return cursor;
}

function toggleOpacity(el) {
	if($(el).css("opacity") == 0.0) {
		$(el).animate({opacity: "1.0"}, 200);
	} else {
		$(el).animate({opacity: "0.0"}, 200);
	}
}

function startSlideshow () {
	if(intval == "") {
		$("#photos-play").children("img").css("background", "url(/graphics/pause.png) center center no-repeat");
		intval = setInterval("slideShow()", 3000);
	} else {
		stopSlideshow();
	}
}

function stopSlideshow () {
	if(intval != "") {
		$("#photos-play").children("img").css("background", "url(/graphics/play.png) center center no-repeat");
		clearInterval(intval);
		intval = "";
	}
}

function slideShow () {
	choosePhoto($("#photos-list a img.selected").parent().next().next().children("img"));
}


// choosePhotoEditing

function choosePhotoEditing (photo, photo1, photo2) {
	//document.getElementById('photo').src = '/PhotosEditingWO/' + photo; 
	document.getElementById('photo').img1 = '/PhotosEditingWO/'+ photo1; 
	document.getElementById('photo').img2 = '/PhotosEditingW/' + photo2; 

	var photoSrc = $(photo).attr("src");
	var photoFile = new Image;
	photoFile.src = '/PhotosEditingWO/' + photo1;
	$("#photo").animate({opacity: '0.0'}, 500);
	if ($(photo).attr("name") == "1") {
		setTimeout('$("#photo").animate({width: ' + photoFile.width + '}, 0)', 500);
		setTimeout('$("#photo").animate({opacity: "1.0"}, 500)', 500);
/*		offset_left = 344 - photoFile.width;
		if (offset_left < -260) {
			offset_left = -260;
		}
		setTimeout('$("#photo").parent("div").parent("div").animate({left: "' + offset_left + '"}, 0)', 500);*/
		setTimeout('$("#photo").attr("src", "' + photoFile.src + '")', 500);
		$(photo).attr("name","1");
		document.getElementById('photo_text').innerHTML = $(photo).attr("alt");
	} else {
	$(photoFile).bind('load', function () {
		setTimeout('$("#photo").animate({width: ' + photoFile.width + '}, 0)', 500);
		setTimeout('$("#photo").animate({opacity: "1.0"}, 500)', 500);
/*		offset_left = 344 - photoFile.width;
		if (offset_left < -260) {
			offset_left = -260;
		}
		setTimeout('$("#photo").parent("div").parent("div").animate({left: "' + offset_left + '"}, 0)', 500);*/
		setTimeout('$("#photo").attr("src", "' + photoFile.src + '")', 500);
		$(photo).attr("name","1");
		document.getElementById('photo_text').innerHTML = $(photo).attr("alt");
	});
	}
	
	$(photo).parent().siblings().children("img").css({border: "none"});
	$(photo).css({border: "1px solid #ff9900"});
	$(photo).addClass("selected");
	$(photo).parent().siblings().children("img").removeClass("selected");
	
	if ($(photo).position().top > 259) {
		scrollTopImage = $("#photos-list").scrollTop() + ($(photo).innerHeight()/2 + ($(photo).position().top - 259));
	} else {
		scrollTopImage = $("#photos-list").scrollTop() - (259 - $(photo).position().top - ($(photo).innerHeight()/2));
	}
	$("#photos-list").unbind('mousemove').animate({scrollTop: scrollTopImage}, 500).bind('mousemove', function (event) { scroll(event); });
}

function choosePhotoLight (photo, photo1, photo2) {
	//document.getElementById('photo').src = '/PhotosCreativityWO/' + photo1; 
	document.getElementById('photo').img1 = '/PhotosCreativityWO/' + photo1; 
	document.getElementById('photo').img2 = '/PhotosCreativityW/' + photo2;

	var photoSrc = $(photo).attr("src");
	var photoFile = new Image;
	photoFile.src = '/PhotosCreativityWO/' + photo1;
	$("#photo").animate({opacity: '0.0'}, 500);
	if ($(photo).attr("name") == "1") {
		setTimeout('$("#photo").animate({width: ' + photoFile.width + '}, 0)', 500);
		setTimeout('$("#photo").animate({opacity: "1.0"}, 500)', 500);
/*		offset_left = 344 - photoFile.width;
		if (offset_left < -260) {
			offset_left = -260;
		}
		setTimeout('$("#photo").parent("div").parent("div").animate({left: "' + offset_left + '"}, 0)', 500);*/
		setTimeout('$("#photo").attr("src", "' + photoFile.src + '")', 500);
		$(photo).attr("name","1");
		document.getElementById('photo_text').innerHTML = $(photo).attr("alt");
	} else {
	$(photoFile).bind('load', function () {
		setTimeout('$("#photo").animate({width: ' + photoFile.width + '}, 0)', 500);
		setTimeout('$("#photo").animate({opacity: "1.0"}, 500)', 500);
/*		offset_left = 344 - photoFile.width;
		if (offset_left < -260) {
			offset_left = -260;
		}
		setTimeout('$("#photo").parent("div").parent("div").animate({left: "' + offset_left + '"}, 0)', 500);*/
		setTimeout('$("#photo").attr("src", "' + photoFile.src + '")', 500);
		$(photo).attr("name","1");
		document.getElementById('photo_text').innerHTML = $(photo).attr("alt");
	});
	}
	
	$(photo).parent().siblings().children("img").css({border: "none"});
	$(photo).css({border: "1px solid #ff9900"});
	$(photo).addClass("selected");
	$(photo).parent().siblings().children("img").removeClass("selected");
	
	if ($(photo).position().top > 259) {
		scrollTopImage = $("#photos-list").scrollTop() + ($(photo).innerHeight()/2 + ($(photo).position().top - 259));
	} else {
		scrollTopImage = $("#photos-list").scrollTop() - (259 - $(photo).position().top - ($(photo).innerHeight()/2));
	}
	$("#photos-list").unbind('mousemove').animate({scrollTop: scrollTopImage}, 500).bind('mousemove', function (event) { scroll(event); });
}

