// Global Constants
number_of_projects = 20;
which_image_loaded = 0;

// Image Loading
function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

ImageNames = new Array();
ImageNames.length = number_of_images - 1;

for (counter = 0; counter < number_of_images; counter++){
    file_number = counter + 1;
    filename = ("images/" + name_of_project + file_number + ".jpg");
    ImageNames[counter] = filename;
}

function changeMainImage(direction) {
    which_image_loaded += direction;
    if (which_image_loaded < 0)
        which_image_loaded = number_of_images - 1;
    if (which_image_loaded == number_of_images)
        which_image_loaded = 0;
    if (document.images)
        document.myimage.src = ImageNames[which_image_loaded];
}

function changeMainImageTo(idx) {
    which_image_loaded = idx - 1;
    if (document.images)
        document.myimage.src = ImageNames[which_image_loaded];
}

var preloadFlag = false;
function preloadImages() {
	if (document.images) {
		portrait_big = newImage("images/spacer.gif");
		preloadFlag = true;
	}
}

$(function(){
	document.myimage.src = ImageNames[0];
	preloadImages();
});


// Navigation Level 1: Title 1
var fade_Title1_scheduled = null;
function cancelTitle1Fade() {
    if (fade_Title1_scheduled) {
        window.clearTimeout(fade_Title1_scheduled);
        fade_Title1_scheduled = null;
    }
}
function scheduleTitle1Fade(elem) {
    fade_Title1_scheduled = window.setTimeout(function(){
        $(elem).fadeOut(250);
    },
    500);
}
var appear_Title1_scheduled = null;
function cancelTitle1Appear() {
    if (appear_Title1_scheduled) {
        window.clearTimeout(appear_Title1_scheduled);
        appear_Title1_scheduled = null;
    }
}
function scheduleTitle1Appear(elem) {
    appear_Title1_scheduled = window.setTimeout(function(){
        $(elem).fadeIn(250);
    },
    500);
}

$(function(){
    $('#title-1').mouseover(function() {
      scheduleTitle1Appear('#title-1-text');
    });
    $('#title-1').mouseout(function() {
      cancelTitle1Appear();
      scheduleTitle1Fade('#title-1-text');
    });
    $('#title-1-text').mouseover(function() {
        cancelTitle1Fade();
    });
    $('#title-1-text').mouseout(function() {
        scheduleTitle1Fade('#title-1-text');
    });
	$('#title-1').click(function(){
    	$('#title-1-text').show();
    })
	$('#title-1-text').click(function(){
    	$('#title-1-text').hide();
    })
})


// Navigation Level 2 -- Projects
function updatePageCounter() {
	var path = document.location.href.split('/');
	current_project_idx = parseInt(path[path.length-1].split('.')[0]) - 1;
    $('.current_project_counter').text((current_project_idx + 1) + ' / ' + number_of_projects);
}
function changePage(idx) {
    if (idx < 0) {
        idx = number_of_projects-1;
    }
    if (idx >= number_of_projects) {
        idx = 0;
    }
    document.location = (idx + 1) + '.html'
}
var fade_project_scheduled = null;
function cancelProjectFade() {
    if (fade_project_scheduled) {
        window.clearTimeout(fade_project_scheduled);
        fade_project_scheduled = null;
    }
}
function scheduleProjectFade(elem) {
    fade_project_scheduled = window.setTimeout(function(){
        $(elem).fadeOut(250);
    },
    500);
}

var appear_Project_scheduled = null;
function cancelProjectAppear() {
    if (appear_Project_scheduled) {
        window.clearTimeout(appear_Project_scheduled);
        appear_Project_scheduled = null;
    }
}
function scheduleProjectAppear(elem) {
    appear_Project_scheduled = window.setTimeout(function(){
        $(elem).fadeIn(250);
    },
    500);
}

			$(function(){
				updatePageCounter();
				$('#nav-link-back-2').click(function(){
					changePage(current_project_idx - 1);
				})
				$('#nav-link-next-2').click(function(){
					changePage(current_project_idx + 1);
				})
				$('.current_project_counter').mouseover(function() {
				  scheduleProjectAppear('#menu2');
				});
				$('.current_project_counter').mouseout(function() {
					cancelProjectAppear();
					scheduleProjectFade('#menu2');
				});
				$('.current_project_counter').click(function(){
					$('#menu2').show();
				})
				$('#menu2').mouseover(function() {
					cancelProjectFade();
				});
				$('#menu2').mouseout(function() {
					scheduleProjectFade('#menu2');
				});
			
				var nav2Elems = '';
				for (var i = 1; i <= number_of_projects; ++i) {
					nav2Elems += '<span class="nav2-item">' + i + " / " + number_of_projects + "</span>"
				}
				$('#menu2').html(nav2Elems);
				$('.nav2-item').click(function(){
					var ctr_text = $(this).text();
					var projIdx = parseInt(ctr_text.split('/')[0]);
					changePage(projIdx-1);
				})
			})

// Navigation Level 2: Title 2
var fade_Title2_scheduled = null;
function cancelTitle2Fade() {
    if (fade_Title2_scheduled) {
        window.clearTimeout(fade_Title2_scheduled);
        fade_Title2_scheduled = null;
    }
}
function scheduleTitle2Fade(elem) {
    fade_Title2_scheduled = window.setTimeout(function(){
        $(elem).fadeOut(250);
    },
    500);
}
var appear_Title2_scheduled = null;
function cancelTitle2Appear() {
    if (appear_Title2_scheduled) {
        window.clearTimeout(appear_Title2_scheduled);
        appear_Title2_scheduled = null;
    }
}
function scheduleTitle2Appear(elem) {
    appear_Title2_scheduled = window.setTimeout(function(){
        $(elem).fadeIn(250);
    },
    500);
}

$(function(){
    $('#title-2').mouseover(function() {
      scheduleTitle2Appear('#title-2-text');
    });
    $('#title-2').mouseout(function() {
		  cancelTitle2Appear();
		  scheduleTitle2Fade('#title-2-text');
    });
    $('#title-2-text').mouseover(function() {
        cancelTitle2Fade();
    });
    $('#title-2-text').mouseout(function() {
        scheduleTitle2Fade('#title-2-text');
    });
	$('#title-2').click(function(){
    	$('#title-2-text').show();
    })
	$('#title-2-text').click(function(){
    	$('#title-2-text').hide();
    })
})


// Navigation Level 3 -- Images
function updateImageCounter() {
    $('.current_image_counter').text((which_image_loaded + 1) + ' / ' + number_of_images);
}
var fade_scheduled = null;
function cancelFade() {
    if (fade_scheduled) {
        window.clearTimeout(fade_scheduled);
        fade_scheduled = null;
    }
}
function scheduleFade(elem) {
    fade_scheduled = window.setTimeout(function(){
        $(elem).fadeOut(250);
    },
    500);
}

var appear_item_scheduled = null;
function cancelImageAppear() {
    if (appear_item_scheduled) {
        window.clearTimeout(appear_item_scheduled);
        appear_item_scheduled = null;
    }
}
function scheduleImageAppear(elem) {
    appear_item_scheduled = window.setTimeout(function(){
        $(elem).fadeIn(250);
    },
    500);
}


			$(function(){
				updateImageCounter();
				$('#nav-link-back-3').click(function(){
					changeMainImage(-1);
					updateImageCounter();
				})
				$('#nav-link-next-3').click(function(){
					changeMainImage(1);
					updateImageCounter();
				})
				$('.current_image_counter').mouseover(function() {
				  scheduleImageAppear('#menu3');
				});
				$('.current_image_counter').mouseout(function() {
					cancelImageAppear();
					scheduleFade('#menu3');
				});
				$('.current_image_counter').click(function(){
					$('#menu3').show();
				})
				$('#menu3').mouseover(function() {
					cancelFade();
				});
				$('#menu3').mouseout(function() {
					scheduleFade('#menu3');
				});
			
				var nav3Elems = '';
				for (var i = 1; i <= number_of_images; ++i) {
					nav3Elems += '<span class="nav3-item">' + i + " / " + number_of_images + "</span>"
				}
				$('#menu3').html(nav3Elems);
				$('.nav3-item').click(function(){
					var ctr_text = $(this).text();
					var imgIdx = parseInt(ctr_text.split('/')[0]);
					changeMainImageTo(imgIdx);
					updateImageCounter();
				})
			})

