var profile = "";

function printProfilePage(username)
{
	profile = username;
	changeTab('profileTab');
	cleanup();

	document.getElementById("leftColumn").style.visibility = "visible";
	document.getElementById("leftTwoHead").style.visibility = "hidden";
	document.getElementById("rightColumn").style.visibility = "visible";
	document.getElementById("rightTwoHead").style.visibility = "visible";
	document.getElementById("rightThreeHead").style.visibility = "visible";
	
	document.getElementById("leftOneHead").innerHTML =  "<img class='icon' src='"+imageUrl+"icon_myreviews_bg.gif'/> &nbsp; &nbsp; "+ uid_name[username_uid[profile]] + "'s Reviews";
	document.getElementById("leftOne").innerHTML = "<br/>Loading...";
	document.getElementById("rightOneHead").innerHTML = "<img class='icon' src='"+imageUrl+"icon_visited_bg.gif'/> &nbsp; &nbsp; "+ uid_name[username_uid[profile]] + "'s Last Visited";
	document.getElementById("rightOne").innerHTML = "<br/>Loading...";
	document.getElementById("rightTwoHead").innerHTML = "<img class='icon' src='"+imageUrl+"icon_fav_bg.gif'/> &nbsp; &nbsp; "+ uid_name[username_uid[profile]] + "'s Favourites";
	document.getElementById("rightTwo").innerHTML = "<br/>Loading...";
	document.getElementById("rightThreeHead").innerHTML = "<img class='icon' src='"+imageUrl+"icon_try_bg.gif'/> &nbsp; &nbsp; "+  uid_name[username_uid[profile]] + "'s Wanna Try";
	document.getElementById("rightThree").innerHTML = "<br/>Loading...";	
	
	//get user info from travature
	gadgets.io.makeRequest(requestUrl+"getuser.php", processProfileUser,
		{'METHOD' : gadgets.io.MethodType.POST,'POST_DATA':'username='+profile, 'CONTENT_TYPE':gadgets.io.ContentType.TEXT});	    
}			

function processProfileUser(response)
{
	var html = "<table style='width: 100%'><tr><td style='width:15%; padding-left: 15px; padding-top: 10px; text-align:center; cursor: pointer;' "+
		"onClick='printProfilePage(\""+profile+"\")'>";
	if ( uid_thumb[username_uid[profile]] != undefined )
		html += '<img src="' + uid_thumb[username_uid[profile]] + '"/><br/>';
	else
		html += '<img src="'+imageUrl+'defaultImage_48x48_A.jpg"/><br/>';		
	html += '<b>'+profile+'</b></td>';
	document.getElementById('user').innerHTML = html + response.data + '</td></tr></table>';
	
	//get latest 10 user reviews         
	gadgets.io.makeRequest(requestUrl+"getuserreviews.php", function(response){processUserReviews(response, 1, true);},
		{'METHOD' : gadgets.io.MethodType.POST, 'POST_DATA':"site=myspace&username="+profile, 'CONTENT_TYPE':gadgets.io.ContentType.DOM});						
}

function pageUserReviews(pageNum)
{       
	gadgets.io.makeRequest(requestUrl+"getuserreviews.php", function(response){processUserReviews(response, pageNum, false);},
		{'METHOD' : gadgets.io.MethodType.POST, 'POST_DATA':"site=myspace&username="+profile+"&page="+pageNum, 'CONTENT_TYPE':gadgets.io.ContentType.DOM});
}

function processUserReviews(response, pageNum, load)
{
	var xml = response.data;
	var leftOne = document.getElementById("leftOne");
	
	if ( load )
	{
		//get users favourite		
		gadgets.io.makeRequest(requestUrl+"getrestlist.php", function(response){
			processRestList(response, "fav", document.getElementById("rightTwo"), document.getElementById("rightTwoHead"), 1, true)},
			{'METHOD' : gadgets.io.MethodType.POST, 'POST_DATA':"site="+site+"&type=fav&username="+profile, 'CONTENT_TYPE':gadgets.io.ContentType.DOM});
	
		numRev = xml.getElementsByTagName("number")[0].firstChild.data;
		pageRev = Math.ceil(numRev / 10);
		document.getElementById("leftOneHead").innerHTML += " ("+numRev+")";
	}
	
	if ( numRev == 0 )
		leftOne.innerHTML = "<br/><span class='empty'>This user has no review.</span>";			
	else
	{
		var rids = xml.getElementsByTagName("rid");
		var rnames = xml.getElementsByTagName("rname");
		var ratings = xml.getElementsByTagName("rating");
		var phones = xml.getElementsByTagName("phone");
		var addresses = xml.getElementsByTagName("address");
		var reviews = xml.getElementsByTagName("review");
		var string = "";
		var string2 = "";
				
		for (var i = 0; i < rids.length; i++ )
		{
			string += "<tr style='vertical-align:middle;'><td><img width='42' height='42' src='"+uid_thumb[username_uid[profile]]+"'/><br/></td><td>"+
				"<span class='rname' onClick='printRestaurant("+rids[i].firstChild.data+")'>"+
				rnames[i].firstChild.data+"</span> &nbsp; <img class='icon' src='"+imageUrl+"rt"+
				ratings[i].firstChild.data+".gif'/><br/><span class='rdetails'><img class='icon' src='"+
				imageUrl+"icon_address.gif'/> "+addresses[i].firstChild.data;
			
			if ( phones[i].firstChild != null )
				string += "<br/><img class='icon' src='"+imageUrl+"icon_phone.gif'/> "+phones[i].firstChild.data+"</i>";
			
			string += "</span><br/><img class='icon' src='"+imageUrl+"icon_review.gif'/> <span class='review'>"+
				reviews[i].firstChild.data+"</span> <span class='rmore' onClick='printRestaurant("+
				rids[i].firstChild.data+")'>read more</span></td></tr>";      
		}
	
		string2 = "<tr><td colspan='2' style='font-weight: bold; font-size: 12px;"+
			"text-align: right; width: 100%; vertical-align: text-top;'>";
		
		//if not first page, then print previous
		if ( pageNum != 1 )
			string2 +=	"<span class='click' onClick='pageUserReviews("+(pageNum-1)+")'>"+
				"<img class='icon' src='"+imageUrl+"icon_prev.gif'/></span>";				
		
		string2 += " page " + pageNum + " ";
		//if not last page, then print next
		if ( pageNum != pageRev )
			string2 += 	"<span class='click' onClick='pageUserReviews("+(pageNum+1)+")'>"+
				"<img class='icon' src='"+imageUrl+"icon_next.gif'/></span>";
		
		string2 += "</td></tr>";
		leftOne.innerHTML = "<table cellspacing='3px' width='100%'>" + string2 + string + string2 + "</table>";
	}
}

function pageRestList(type, block, blockHead, pageNum)
{
	gadgets.io.makeRequest(requestUrl+"getrestlist.php", function(response){processRestList(response,type, block, blockHead, pageNum, false)},
		{'METHOD' : gadgets.io.MethodType.POST, 'POST_DATA':"site="+site+"&type="+type+"&username="+profile+"&page="+pageNum, 'CONTENT_TYPE':gadgets.io.ContentType.DOM});
}

function processRestList(response, type, block, blockHead, pageNum, load)
{	
	var xml = response.data;
	var maxItem = 3;
	
	if ( load )
	{
		if ( type == "try" )
		{
			//get last visited restaurants	
			gadgets.io.makeRequest(requestUrl+"getrestlist.php", function(response)
				{processRestList(response,"last", document.getElementById("rightOne"), document.getElementById("rightOneHead"), pageNum, load)},
				{'METHOD' : gadgets.io.MethodType.POST, 'POST_DATA':"site="+site+"&type=last&username="+profile, 'CONTENT_TYPE':gadgets.io.ContentType.DOM});
			
			numTry = xml.getElementsByTagName("number")[0].firstChild.data;
			pageTry = Math.ceil(numTry / maxItem);
			blockHead.innerHTML += " ("+numTry+")";	
			if ( numTry == 0 )
			{
				block.innerHTML = "<br/><span class='empty'>This user has no wanna try.</span>";
				return;
			}
		}
		else if ( type == "fav" )
		{
			//get users wanna try		
			gadgets.io.makeRequest(requestUrl+"getrestlist.php", function(response)
				{processRestList(response,"try", document.getElementById("rightThree"), document.getElementById("rightThreeHead"), pageNum, load);},
				{'METHOD' : gadgets.io.MethodType.POST, 'POST_DATA':"site="+site+"&type=try&username="+profile, 'CONTENT_TYPE':gadgets.io.ContentType.DOM});
		
			numFav = xml.getElementsByTagName("number")[0].firstChild.data;
			pageFav = Math.ceil(numFav / maxItem);
			blockHead.innerHTML += " ("+numFav+")";
			if ( numFav == 0 )
			{
				block.innerHTML = "<br/><span class='empty'>This user has no favourites.</span>";
				return;
			}
		}
		else if ( type == "last" )
		{
			numVisited = xml.getElementsByTagName("number")[0].firstChild.data;
			pageVisited = Math.ceil(numVisited / maxItem);
			blockHead.innerHTML += " ("+numVisited+")";
			
			if ( numVisited == 0 )
			{
				block.innerHTML = "<br/><span class='empty'>This user hasn't visited any restaurant.</span>";
				return;
			}
		}				
	}

	var rids = xml.getElementsByTagName("rid");
	var rnames = xml.getElementsByTagName("name");
	var ratings = xml.getElementsByTagName("rating");
	var phones = xml.getElementsByTagName("phone");
	var addresses = xml.getElementsByTagName("address");
	var reviews = xml.getElementsByTagName("review");	
	var visitedDates = xml.getElementsByTagName("visitedDate"); 
	var string = "";
	var string2 = "";
	
	for (var i = 0; i < rids.length; i++ )
	{
		string += "<tr style='vertical-align:top;'><td><span class='rname' onClick='printRestaurant("+
			rids[i].firstChild.data+")'>"+rnames[i].firstChild.data+"</span>";
		
		if ( ratings[i].firstChild != null )
			string += " &nbsp; <img class='icon' src='"+imageUrl+"rt"+ratings[i].firstChild.data+".gif'/>";
		string += "<br/>";
		if ( type == "last" )
			string += "<img class='icon' src='"+imageUrl+"icon_visited.gif'/> <span style='font-size: 12px'>"+
				visitedDates[i].firstChild.data+"</span><br/>";
		string += "<span class='rdetails'><img class='icon' src='"+imageUrl+
			"icon_address.gif'/> "+addresses[i].firstChild.data;
		if ( phones[i].firstChild != null )
			string += "<br/><img class='icon' src='"+imageUrl+"icon_phone.gif'/> "+phones[i].firstChild.data;
		string += "</span>";	
		if ( reviews[i].firstChild != null )	
			string += "<br/><img class='icon' src='"+imageUrl+"icon_review.gif'/> "+
				"<span class='review'>"+reviews[i].firstChild.data+" <span class='rmore' onClick='printRestaurant("+rids[i].firstChild.data+")'>read more</span></span>";
		string += "</td></tr>";      
	}
	
	string2 = "<tr><td colspan='2' style='font-weight: bold; font-size: 12px;"+
		"text-align: right; width: 100%; vertical-align: text-top;'>";
	
	//if not first page, then print previous
	if ( pageNum != 1 )
		string2 +=	"<span style='click' onClick='pageRestList(\""+type+"\",document.getElementById(\""+block.id+
			"\"),document.getElementById(\""+blockHead.id+"\"),"+(pageNum-1)+")'><img class='icon' src='"+imageUrl+
			"icon_prev.gif'/></span>";				
	
	string2 += " page " + pageNum + " ";
	
	if ( type == "try" )
		temp = pageTry;
	else if ( type == "fav" )
		temp = pageFav;
	else if ( type == "last" )
		temp = pageVisited;
	
	//if not last page, then print next
	if ( pageNum != temp )
		string2 += "<span class='click' onClick='pageRestList(\""+type+"\",document.getElementById(\""+block.id+
			"\"),document.getElementById(\""+blockHead.id+"\"),"+(pageNum+1)+")'><img class='icon' src='"+imageUrl+
			"icon_next.gif'/></span>";
	
	string2 += "</td></tr>";
	block.innerHTML = "<table cellspacing='3px' width='100%'>" + string2 + string + "</table>";
	
	//if ( type == "try")
	//	gadgets.window.adjustHeight();

}