Namespace("GF.map.Feedback");

GF.map.Feedback.comment = function(id, profileLink, urlBase, username, picStr) {
		
	var messageArea = document.getElementById('commentarea');
	messageArea.disabled = true;
	var message = messageArea.value;

	FeedbackManager.saveComment(message, id, function(){ 		 
		var markup = "";
		
		if(picStr != "") {	
			markup += "<a href=\"" + profileLink + "\"><img height=\"70\" src=\"" + urlBase + "/u/" + username + "/i/" + picStr + "/u-1.0.jpg\"/></a>";
		}			
		markup += "<div class=\"comment-info\">Commented a moment ago by <b><a href=\"" + profileLink + "\">" + username + "</b></a></div>" +
		"<div class=\"comment-text\">" + message + "</div>";

		var container = document.getElementById("newcomments");
		var div = document.createElement("div");
	    div.className = "comment";
	    div.innerHTML = markup;
	    
	    var newComment = document.getElementById("newcomment");
	    newComment.style.display = "none";
	    container.insertBefore(div, container.firstChild);
	});
}

GF.map.Feedback.reply = function(id, profileLink, urlBase, username, picStr) {
	
	var messageArea = document.getElementById('replyarea' + id);
	messageArea.disabled = true;
	var message = messageArea.value;
	
	FeedbackManager.saveComment(message, id, function(){ 		 		
		var markup = "";
		
		if(picStr != "") {		
			markup += "<a href=\"" + profileLink + "\"><img height=\"50\" src=\"" + urlBase + "/u/" + username + "/i/" + picStr + "/u-1.0.jpg\"/></a>";
		}
		markup += "<div class=\"reply-info\">Replied a moment ago by <b><a href=\"" + profileLink + "\">" + username + "</b></a></div>" +
		"<div class=\"reply-text\">" + message + "</div>";
						
		var container = document.getElementById("newreplies" + id);
		var div = document.createElement("div");
	    div.className = "reply";
	    div.innerHTML = markup;
	    
	    var newComment = document.getElementById("newReply" + id);
	    newComment.style.display = "none";
	    container.appendChild(div);
	});
}

GF.map.Feedback.setTab = function(tab, tabview) {
	GF.map.Feedback.tab = tab;
	GF.map.Feedback.tabview = tabview;
}

GF.map.Feedback.showPage = function(page) {
	var ds = GF.map.Feedback.tab.get("dataSrc");
	var newDs = ds.replace(/p=.*/, "");
	newDs += "&p=" + page + "&nc=" + (new Date()).getTime();
	GF.map.Feedback.tab.set("dataSrc", newDs);
	GF.map.Feedback.tab.set("contentVisible", false);
	GF.map.Feedback.tabview.selectTab(0);
}

GF.map.Feedback.setRating = function(score) {
	var scoreDiv = document.getElementById("yourscore");		
	scoreDiv.innerHTML = "<div class=\"base\"><div class=\"average\" style=\"width:" + (score * 20) + "%\">" + score +"</div></div>"	
}

GF.map.Feedback.rate = function(score, mapId) {
	FeedbackManager.rate(score, mapId, function(){ 
		GF.map.Feedback.setRating(score);
		setCookie( 'rate-map-' + mapId, score, 60 * 60 * 24 * 7, '/', '', '' );
	});
}

GF.map.Feedback.addToFollow = function(mapId, name, link, picStr, resStr, urlBase, stat, category, rating, version, updated) {

	FeedbackManager.addToFollow(mapId, function(map){ 		
		
		if(map != null) {
			var markup = '<div style="width: 80px; float: left; padding: 2px">' + 
			'<div class="type' + category + 'Follow"><div class="white"><div class="thumbnail"><a href="' + link + '">';
			if(picStr != "") {
				markup += '<img width="72" height="54" src="' + urlBase + '/m/' + resStr + '/i/' + picStr + '/xsth-1.0.jpg"/>';						
			} 
			else {		
				markup += '<img width="72" height="54" src="' + stat + 'images/blank.gif"/>'; 						
			}
		
			markup += '</a></div><div class="minus">' + 
			'<a href="javascript:GF.map.Feedback.removeFromFollow(' + mapId + ')">' + 
			'<img src="' + stat + 'images/blank.gif" width="15" height="15"/></a></div></div></div>' + 
			'</div><div style="width: 190px; float: left; padding: 2px">' +   		  
			'<div class="h' + category + '"><h2><a href="' + link + '">' + name + '</a></h2></div>' + 
			'<div class="base-s"><div class="average-s" style="width:' + rating * 20 + '%">"' + rating + '"</div></div><small> v' + version + '<br/>' + 
			'Updated ' + updated + ' ago</small>' + 
			'</div><div style="clear: both; height: 2px"> </div>' + 
			'<div class="separator" style="margin-top: 2px; padding: 2px">' + 
			'</div>'; 
				
			var ctrlDiv = document.createElement("div");
			ctrlDiv.id = "follow" + mapId;
		    ctrlDiv.innerHTML = markup;
			var followList = document.getElementById("followlist");
			followList.insertBefore(ctrlDiv, followList.firstChild);
		}
	});
		
}

GF.map.Feedback.removeFromFollow = function(mapId) {
	
	var div = document.getElementById("follow" + mapId);
	div.parentNode.removeChild(div);
	
	FeedbackManager.removeFromFollow(mapId, function(){ 
			
	});
}


