currentCommentType = '';
currentCommentTarget = false;
currentDisableAdmin = false;

function getComments(iId, sType, iPage, sTarget, bDisableAdmin) {
	if (!bDisableAdmin) {
		currentDisableAdmin = false;
	} else {
		currentDisableAdmin = true;
	}
	if (!sTarget) {
		currentCommentTarget = false;
	} else {
		currentCommentTarget = sTarget;
	}
	currentCommentType = sType;
	$.getJSON("/api/js/comment/get.php", { id: iId, type: sType, p: iPage }, function(aData){
			getCommentsRsp(aData, currentCommentTarget);
		});
}

function getCommentsRsp(aData, sTarget) {
	if (!sTarget) {
		sTarget = '#newcommentholder';
	} else {
		$(sTarget).html('');
	}
	if (!aData['errors']) {
		totalCount = 0;
		for (aComment in aData['c']) {
			totalCount++;
		}
		if (totalCount) {
			for (aComment in aData['c']) {
				if (aData['c'][aComment]['r'] == 1) {
					sPrivate = '<div class="float-r">PRIVATE</div>';
				} else {
					sPrivate = '';
				}
				if (aData['c'][aComment]['f']) {
					if (aData['c'][aComment]['p']) {
						aData['c'][aComment]['f'] = "/images/photos/"+aData['c'][aComment]['f']+iThumbWidthB+"x"+iThumbHeightB;
					} else {
						aData['c'][aComment]['f'] = "/api/images/processimage.php?o=1&w="+iThumbWidthB+"&h="+iThumbHeightB+"&f=/../images/photos/"+aData['c'][aComment]['f'];
					}
				} else {
					aData['c'][aComment]['f'] = "/images/phNo-35.png";
				}
				switch (currentCommentType) {
					case 'photo':
						sApproveIdLetter = 'P';
						break;
					case 'blog':
						sApproveIdLetter = 'B';
						break;
					case 'video':
						sApproveIdLetter = 'V';
						break;
					default:
						sApproveIdLetter = 'N';
						break;
				}
				if (aData['c'][aComment]['s'] == 0) {
					sApproveHtml = '<div id="app'+sApproveIdLetter+aData['c'][aComment]['cid']+'"><a href="#" onclick="approveComment('+aData['c'][aComment]['cid']+', \''+currentCommentType+'\', 1); return false;">Approve</a> | <a href="#" onclick="approveComment('+aData['c'][aComment]['cid']+', \''+currentCommentType+'\', 0); return false;">Reject</a></div>';
				} else {
					sApproveHtml = '';
				}
				if (aData['c'][aComment]['if']) {
					sDDClass = 'friend';
				} else {
					sDDClass = 'newFriend';
				}
				if (!currentDisableAdmin && aData['c'][aComment]['o']) {
					newHtml = $('<table width="100%" id="comment'+aData['c'][aComment]['cid']+'" class="comment"><tr><td rowspan="2" width="40" valign="bottom"><div class="ph"><a href="/profile/view/'+aData['c'][aComment]['a']+'"><img src="'+aData['c'][aComment]['f']+'" userid="'+aData['c'][aComment]['uid']+'" class="drag '+sDDClass+'" border="0" alt="view '+aData['c'][aComment]['a']+'\' profile" /></a></div></td><td colspan="2" class="btmBorder-dash body">'+aData['c'][aComment]['b']+sApproveHtml+'</td></tr><tr><td class="txt999">'+sPrivate+'Posted By <a class="postedBy" href="/profile/view/'+aData['c'][aComment]['a']+'">'+aData['c'][aComment]['a']+'</a> on '+aData['c'][aComment]['d']+'</td><td align="right"><span class="manTools"><a href="#" onclick="deleteComment('+aData['c'][aComment]['cid']+", '"+currentCommentType+"'); return false;\">Delete Comment</a></span></td></tr></table><div class=\"pad-sm\"></div>");
				} else if (aData['c'][aComment]['o']) {
					newHtml = $('<table width="100%" id="comment'+aData['c'][aComment]['cid']+'" class="comment"><tr><td rowspan="2" width="40"><div class="ph"><a href="/profile/view/'+aData['c'][aComment]['a']+'"><img src="'+aData['c'][aComment]['f']+'" userid="'+aData['c'][aComment]['uid']+'" class="drag '+sDDClass+'" border="0" alt="view '+aData['c'][aComment]['a']+'\' profile" /></a></div></td><td colspan="2" class="btmBorder-dash body">'+aData['c'][aComment]['b']+'</td></tr><tr><td class="txt999">'+sPrivate+'Posted By <a class="postedBy" href="/profile/view/'+aData['c'][aComment]['a']+'">'+aData['c'][aComment]['a']+'</a> on '+aData['c'][aComment]['d']+'</td><td align="right"><span class="manTools"><a href="#" onclick="deleteComment('+aData['c'][aComment]['cid']+", '"+currentCommentType+'\'); return false;\">Delete Comment</a></span></td></tr></table><div class="pad-sm"></div>');
				} else if (aData['c'][aComment]['co']) {
					newHtml = $('<table width="100%" id="comment'+aData['c'][aComment]['cid']+'" class="comment"><tr><td rowspan="2" width="40"><div class="ph"><a href="/profile/view/'+aData['c'][aComment]['a']+'"><img src="'+aData['c'][aComment]['f']+'" userid="'+aData['c'][aComment]['uid']+'" class="drag '+sDDClass+'" border="0" alt="view '+aData['c'][aComment]['a']+'\' profile" /></a></div></td><td colspan="2" class="btmBorder-dash body">'+aData['c'][aComment]['b']+'</td></tr><tr><td class="txt999">'+sPrivate+'Posted By <a class="postedBy" href="/profile/view/'+aData['c'][aComment]['a']+'">'+aData['c'][aComment]['a']+'</a> on '+aData['c'][aComment]['d']+'</td><td align="right"><span class="manTools"><a href="#" onclick="deleteComment('+aData['c'][aComment]['cid']+", '"+currentCommentType+'\'); return false;\">Delete Comment</a></span></td></tr></table><div class="pad-sm"></div>');
				} else {
					newHtml = $('<table width="100%" id="comment'+aData['c'][aComment]['cid']+'" class="comment"><tr><td rowspan="2" width="40"><div class="ph"><a href="/profile/view/'+aData['c'][aComment]['a']+'"><img src="'+aData['c'][aComment]['f']+'" userid="'+aData['c'][aComment]['uid']+'" class="drag '+sDDClass+'" border="0" alt="view '+aData['c'][aComment]['a']+'\' profile" /></a></div></td><td colspan="2" class="btmBorder-dash body">'+aData['c'][aComment]['b']+'</td></tr><tr><td class="txt999">'+sPrivate+'Posted By <a class="postedBy" href="/profile/view/'+aData['c'][aComment]['a']+'">'+aData['c'][aComment]['a']+'</a> on '+aData['c'][aComment]['d']+'</td><td align="right"></td></tr></table><div class="pad-sm"></div>');
				}
				if (!aData['o']) {
					$(sTarget).append(newHtml);
				} else {
					$(sTarget).prepend(newHtml);
				}
			}
		}
	}
	currentCommentType = '';
}

function approveComment(iId, sType, bApprove) {
	$.getJSON("/api/js/comment/approve.php", { id: iId, t: sType, ap: bApprove }, function(aData){
			approveCommentRsp(aData);
		});
}

function approveCommentRsp(aData) {
	if (!aData['errors']) {
		switch (aData['t']) {
			case 'photo':
				$('#appP'+aData['id']).slideUp(function() { $('#appP'+aData['id']).remove(); });
				break;
			case 'video':
				$('#appV'+aData['id']).slideUp(function() { $('#appV'+aData['id']).remove(); });
				break;
			case 'blog':
				$('#appB'+aData['id']).slideUp(function() { $('#appB'+aData['id']).remove(); });
				break;
		}
	}
}

function previewComment(oTarget) {
	if (oTarget) {
		$('.previewbox', oTarget).slideDown();
		$('.previewbody', oTarget).html($('.commentbody', oTarget).val());
		$('.previewalias', oTarget).html(sUserAlias);
		$('.previewdate', oTarget).html('Today');
	} else {
		$('#previewbox').slideDown();
		$('#previewbody').html($('#spell_checker1').val());
		$('#previewalias').html(sUserAlias);
		$('#previewdate').html('Today');
		if ($('input[name=access]:checked').val()) {
			$('#priviewaccess').show();
		} else {
			$('#priviewaccess').hide();
		}
	}
}

var oCommentFormClearOnDone = false;

function addComment(iId, sType, sBody, iRating, iAccess, oClearOnDone) {
	if (!oClearOnDone) {
		oClearOnDone = false;
	}
	oCommentFormClearOnDone = oClearOnDone;
	$('#previewbox').slideUp();
	$.post('/api/js/comment/add.php', { id: iId, type: sType, body: sBody, rating: iRating, access: iAccess }, function(aData) { eval('aData = '+aData); processResult(aData) });
}

function deleteComment(iCommentId, sType) {
	$.post('/api/js/comment/delete.php', { commentid: iCommentId, type: sType }, function(aData) { eval('aData = '+aData); processDelete(aData) });
}

function processDelete(aData) {
	if (aData) {
		$('#comment'+aData['cid']).slideUp();
	} else {
		oMasterNotifier.alert('Problem deleting this comment. Try again and report the problem if it persists',-1);
	}
}

function processResult(aData) {
	if (!aData['error']) {
		aComment = aData['item'];
		oMasterNotifier.alert('Comment Added', -1);
		sPrivate = '';
		oHtml = $('<table width="100%" id="comment'+aComment['id']+'" class="comment"><tr><td rowspan="2" width="40"><div class="ph"><a href="/profile/view/'+sUserAlias+'"><img src="/images/phNo-35.png" border="0" alt="view '+sUserAlias+'\' profile" /></a></div></td><td colspan="2" class="btmBorder-dash body">'+aComment['b']+'</td></tr><tr><td class="txt999">'+sPrivate+'Posted By <a class="postedBy" href="/profile/view/'+sUserAlias+'">'+sUserAlias+'</a> <span class="postedOn">less than 1 minute ago</span></td><td align="right"></td></tr></table>');
		$('#spell_checker1').val('');
		$('#newcommentholder').slideDown();
		if (oCommentFormClearOnDone) {
			oCommentFormClearOnDone.html('');
			$('.newcommentholder', oCommentFormClearOnDone.parent()).append(oHtml);
			$('.commentFormHolder', oCommentFormClearOnDone.parent()).show();
		} else {
			$('#newcommentholder').append(oHtml);
		}
	} else {
		if (aData['error']['body'] == 6) {
			oMasterNotifier.alert('Comment is too short - revise the comment and try again', -1);
		} else if (aData['error'] == -1) {
			$('#commentPrimium').slideDown();
		} else if (aData['error'] == -2) {
			$('#commentFreeCountry').slideDown();
		} else {
			oMasterNotifier.alert('Error adding this comment - try again and report the problem if it persists',-1);
		}
	}
}

function addBasicCommentForm(oTarget, sParentName, iParentID) {
	if (oTarget.html() == "") {
		$('#commentPrimium').parent().html('');
		oTarget.html('<a href="#" id="commentFormAnchor"></a><div id="commentPrimium" class="notice jhide"><div><a href="#" onclick="$(\'#commentPrimium\').slideUp(); return false;" title="click to close this message" class="notice-x">x</a><button type="button" class="frmBtn" onclick="window.location=\'/member/subscribe/\';">Upgrade now</button></div></div><form name="addcomment" id="addcomment" action="'+sHttpDir+'/blog/entry/view" method="POST">Add your comment<br /><textarea name="comment_body" class="commentbody"></textarea><div id="previewbox" class="clearfix previewbox" style="display: none !important;"><br /><img src="'+sHttpDir+'/images/photos/'+sUserAvatar+'" class="ph pl float-l" alt="'+sUserAlias+'\'s photo" width=\"35\" /> <div class="tab-bdr rslt-bubble float-l"><div class="previewbody" style="width: 350px;"></div>Posted By '+sUserAlias+' | D MM YYYY 00:00</div></div><br /><button id="comment_preview" type="button" onclick="previewComment($(this).parent());" class="frmBtn">Preview</button><button id="comment_post" type="button" onclick="addComment('+iParentID+', \''+sParentName+'\', $(\'.commentbody\', $(this).parent()).val(), $(\'input[name=rating]:checked\').val(), 0, $(\'#commentPrimium\').parent());" class="frmBtn">Post</button><button type="button" onclick="$(\'.commentFormHolder\', $(\'#commentPrimium\').parent().parent()).show(); $(\'#commentPrimium\').parent().html(\'\');" class="frmBtn">Cancel</button></form>');
	}
}
