/* BROWSE UI FUNCTIONS */

function initializeBrowseMenus() {
	var year_menu = document.getElementById("year");
	var month_menu = document.getElementById("month");
	var issue_menu = document.getElementById("issue");
	
	month_menu.disabled = true;
	issue_menu.disabled = true;
	populateSelectMenuWithJSONData("bdh_browse.php?level=year", year_menu, "a year");
	
	
	year_menu.onchange = function() {
		var selected_value = year_menu.options[ year_menu.selectedIndex ].value;
		
		if (selected_value != '-') {
			var url = "bdh_browse.php?level=month&id=" + selected_value;
			populateSelectMenuWithJSONData(url, month_menu, "a month");
		}
	}
	
	month_menu.onchange = function() {
		var selected_value = month_menu.options[ month_menu.selectedIndex ].value;
		
		if (selected_value != '-') {
			var url = "bdh_browse.php?level=issue&id=" + selected_value;
			populateSelectMenuWithJSONData(url, issue_menu, "an issue");
		}
	}
	
	issue_menu.onchange = function() {
		var selected_value = issue_menu.options[ issue_menu.selectedIndex ].value;
		
		if (selected_value != '-') {
			var url = "http://dl.lib.brown.edu/dbdh/bdh_render.php?issue=" + selected_value;
			window.location = url;
		}
	}

}

function populateSelectMenuWithJSONData( url, select_menu, unit ) {
	
	$.getJSON(url, function( json_data ) {
		var list = json_data['browse-list'];
		
		select_menu.options.length = 0;
		
		select_menu.options[0] = new Option( "- Select " + unit + " -", "-" );
		
		for(var i = 0; i < list.length; i++ ) {
			select_menu.options[i + 1] = new Option( list[i]['description'], list[i]['id'] );
		}
		
		select_menu.disabled = false;
		select_menu.focus();
	});
}



/* RENDER PAGE BUTTON HANDLERS */

function attachAllButtonEvents() {
	var minimize_button = document.getElementById("minimizeButton");
	var maximize_button = document.getElementById("maximizeButton");
	
	attachCornerButtonEvents( minimize_button );
	attachCornerButtonEvents( maximize_button );
	
	var left_button = document.getElementById("leftButton");
	var right_button = document.getElementById("rightButton");
	
	attachNavButtonEvents( left_button );
	attachNavButtonEvents( right_button );
}

function attachCornerButtonEvents( button_div ) {
	button_div.onmouseover = function() {
		button_div.className = "cornerButton cornerButtonHover";
	}
	button_div.onmouseout = function() {
		button_div.className = "cornerButton";
	}
	
	if (button_div.id == "minimizeButton") {
		button_div.onclick = function() {
			$("#pageNavBar").fadeIn("fast");
			$("#thumbnailBar").hide("fast");
		}
	}
	if (button_div.id == "maximizeButton") {
		button_div.onclick = function() {
			$("#pageNavBar").fadeOut("fast");
			$("#thumbnailBar").show("fast");
		}
	}
}

function attachNavButtonEvents( button ) {
	var links_within = button.getElementsByTagName('a');
	if (links_within.length == 1) {
		
		var a_element = links_within[0];
		
		button.onmouseover = function() {
			button.className = "button buttonHover";
		}
		button.onmouseout = function() {
			button.className = "button";
		}
		button.onmousedown = function() {
			window.location = a_element.href;
		}
	}
}

