/*global cookie_url, fallback_layout, skip_cookie_check */

var ul_in_release_list, layout;

var single_column_only = false;
if (navigator.userAgent.indexOf("Netscape/") != -1) {
	single_column_only = true;
}

/**
 * Get the cookie that defines the page layout.
 */
function get_layout_cookie() {
	var split_cookie = document.cookie.split("; ");
	var layout = null;
	for (var i = 0; i < split_cookie.length; i++) {
		var parts = split_cookie[i].split("=");
		if (parts[0] == "LAYOUT") {
			layout = parts[1];
			break;
		}
	}
	
	return layout;	
}

/**
 * Recolor the rows in a release.
 */
function recolor_release_rows() {
	var layout, i, j, li_in_ul;
	
	if (!skip_cookie_check) { layout = get_layout_cookie(); }
	if (!layout) { layout = fallback_layout; }

	if (layout == "list") {
		var number_of_columns = ($('release-listing').offsetWidth < 736) ? 1 : 2;
		if (single_column_only) { number_of_columns = 1; }
		
		for (i = 0; i < ul_in_release_list.length; i++) {
			var white_row = false;
			var column_count = 0;
		
			li_in_ul = ul_in_release_list[i].getElementsByTagName("li");
			for (j = 0; j < li_in_ul.length; j++) {
				column_count++;
				li_in_ul[j].className = "release-list" + ((white_row) ? "-white" : "");
				li_in_ul[j].style.width = (number_of_columns == 1) ? "100%" : "50%";
				li_in_ul[j].style.paddingRight = "";
								
				if (column_count == number_of_columns) {
					white_row = !white_row;
					column_count = 0;
				} else {
					if ((column_count == 1) && (j == (li_in_ul.length - 1))) {
						li_in_ul[j].style.width = "50%";
						li_in_ul[j].style.paddingRight = "50%";
					}
				}
			}
		}
	} else {
		for (i = 0; i < ul_in_release_list.length; i++) {
			li_in_ul = ul_in_release_list[i].getElementsByTagName("li");
			for (j = 0; j < li_in_ul.length; j++) {
				li_in_ul[j].style.width = li_in_ul[j].style.paddingRight = "";
        li_in_ul[j].className = "release-list";
			}
		}
	}
}

/**
 * Dynamically toggle the layout type.
 */
function toggle_release_list_layout(target) {
	var layout = get_layout_cookie();
	
	if (layout === null) { 
		layout = target;
	} else {
		layout = (layout == "thumb") ? "list" : "thumb";
	}
	document.cookie = "LAYOUT=" + layout + "; path=" + cookie_url;
	
	if (get_layout_cookie() !== null) {
		for (var i = 0; i < ul_in_release_list.length; i++) {
			ul_in_release_list[i].className = "clearfix release-list" + ((layout == "thumb") ? " release-image-view" : "");
		}
		
		$('layout-toggle').className = "release-view-toggle release-view-toggle-" + layout;
		$('layout-toggle').innerHTML = (layout == "list") ? "Display images only" : "Display images and titles";
		
		recolor_release_rows();
		return false;
	}
	
	return true;
}