var isOddRow = false;
var matchPage = 1;

function appendMatches(i, item) {
	var rowText = "<tr>";
	if(isOddRow)
		rowText = "<tr class=\"oddRow\">";


	$("#matchTableBody").append(
		rowText +
		"<td>" +
		"<div class=\"iconHolder_default\" style=\"float: left; margin: 0 6px 12px 0;\"><div class=\"avatarIcon\">" +
		"<a href=\"/profiles/" + item.profileid + "\"><img src=\"" + item.avatar + "\" alt=\"" + item.name + "\" /></a>" +
		"</div></div>" +

		"<span style=\"float: left; font-size: large\">" + item.name +
		//"<br/><span style=\"font-size: small\">Wants to trade for a " + item.give_name + "</span>" +
		"<br/><a href=\"steam://friends/add/" + item.profileid + "\" style=\"margin-right: 4px;\">" +
		"<img src=\"buttons/iconAddFriend.png\" alt=\"Add Friend\" title=\"Add to Steam friends\" /></a>" +
		"<a href=\"steam://friends/message/" + item.profileid + "\" style=\"margin-right: 4px;\">" + 
		"<img src=\"buttons/iconChat.png\" alt=\"Send Message\" title=\"Send a message on Steam friends. You must first be friends with this person to do so.\" /></a>" +
		"<a href=\"/profiles/" + item.profileid + "\">" + 
		"<img src=\"buttons/iconView.png\" alt=\"Send Message\" title=\"View backpack\" /></a>" +
		"</span>" +
		"</td>" +

		"<td style=\"padding-top: 0; text-align: center\">" +
		"<img id=\"item" + item.give_itemid + "\" class=\"item\" src=\"/" + item.give_img + "\" alt=\"" + item.give_name + "\"" +
		" style=\"width: 40px; height: 40px; position: static;\"/>" +
		//"<div style=\"clear: both;\"></div>" +
		"</td>" +

		"<td style=\"text-align: center\">" +
		item.lastseen + " ago" +
		"</td>" +
		"</tr>");

	$("#matchTooltips").append(item.tooltip);

	isOddRow = !isOddRow;
}

function getMoreMatches() {
	if(waitingOnServer) {
		return false;
	}

	matchPage = matchPage + 1;
	waitingOnServer = true;

	$.ajax({
	type: "GET",
	url: "matchdetails.php",
	cache: false,
	data: {'have' : tradeItemId, 'page' : matchPage},
	dataType: "json",
	success: function(data) {
		waitingOnServer = false;
		if(data.error) {
			$("#matchErr").text(data.errmsg);
		} else {
			$.each(data.matches, appendMatches);

			if(!data.more) {
				$("#moreMatches").hide();
			}

			installTooltips();
		}
	},
	error: function(XMLHttpRequest, textStatus, errorThrown) {
		waitingOnServer = false;
		$("#matchErr").text("An error occured on the server. Try again.");
	}
	});

	return false;
}

function hookViewMatchesClick() {
	$("#currentTradesItems .invBox").unbind("click");
	$("#currentTradesItems .invBox").click(function() {

		if(waitingOnServer) {
			return;
		}

		$("#matchErr").text("");
		//$("#matchDetails").html("");
		//$("#matchDetails").hide();
		$("#matchDetails").slideUp("fast");

		$(".invBox").removeClass("cellSelected");
		$(this).addClass("cellSelected");

		var clickedId = $(this).attr("id");
		tradeItemDef = /^[0-9]+/.exec(clickedId);
		tradeItemId = /[0-9]+$/.exec(clickedId);
		matchPage = 1;

		waitingOnServer = true;
		$.ajax({
		type: "GET",
		url: "matchdetails.php",
		cache: false,
		data: {'have' : tradeItemId, 'page' : 1},
		dataType: "json",
		success: function(data) {
			waitingOnServer = false;
			if(data.error) {
				$("#matchErr").text(data.errmsg);
			} else {
				var matchDetails = $("#matchDetails");

				matchDetails.html("");
				matchDetails.append("<table class=\"matchTable\"><thead id=\"matchTableHead\"></thead><tbody id=\"matchTableBody\"></tbody></table>");
				$("#matchTableHead").append("<tr><th>Name</th><th>Item</th><th>Last Seen</th></tr>");
				matchDetails.append("<div id=\"matchTooltips\"></div>");

				isOddRow = false;
				$.each(data.matches, appendMatches);

				if(data.more) {
					matchDetails.append("<div><a href=\"#\" id=\"moreMatches\">Click here for more.</a></div>");
				}

				$("#moreMatches").click(getMoreMatches);

				installTooltips();
				matchDetails.slideDown("fast");
			}
		},
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			waitingOnServer = false;
			$("#matchErr").text("An error occured on the server. Try again.");
		}
		});
	});
}

function viewMatches() {
	$.ajax({
	type: "POST",
	url: "view_matches.php",
	cache: false,
	dataType: "json",
	success: function(data) {
		waitingForTradePageLoad = false;
		if(data.error) {
			displayErrorMessage(data.errmsg);
		} else {
			$(".tradingContents").html(data.contents);
			allHats = data.allhats;
			installTooltips();
			hookViewMatchesClick();
		}
	},
	error: function(XMLHttpRequest, textStatus, errorThrown) {
		waitingForTradePageLoad = false;
		displayErrorMessage("An error occured on the server. Try again.");
	}
	});
}
