var lastCommentID=0;
var firstCommentID=0;
var lastTaskID=0;
var firstTaskID=0;
var lastRespID=0;
var firstRespID=0;
var loadCommentUrl = null;
var commentNextEnabled = true;
var commentPrevEnabled = false;
var commentData = null;
var loadRespUrl = null;
var respNextEnabled = true;
var respPrevEnabled = false;
var respData = null;
var loadTasksUrl = null;
var taskNextEnabled = true;
var taskPrevEnabled = false;
var taskData = null;

function loadNewComments(type){
	params = [];
	url = loadCommentUrl;
	params.push({name:'data[last_id]', value:lastCommentID});
	params.push({name:'data[first_id]', value:firstCommentID});
	params.push({name:'data[type]', value:type});
	if(firstCommentID==0)firstCommentID = lastCommentID;
	if((type=='next'&&commentNextEnabled)||(type=='prev'&&commentPrevEnabled)||type=='init')
	$.post(url, params, function(data){
		if(type=='prev'){
			commentNextEnabled = true;
			$('#commentNextBtn').removeClass('pseudoLinkDisabled');
			if(data['items']<=5){
				commentPrevEnabled = false;
				$('#commentPrevBtn').addClass('pseudoLinkDisabled');
			}
		}
		else if(type=='next'){
			commentPrevEnabled = true;
			$('#commentPrevBtn').removeClass('pseudoLinkDisabled');
			if(data['items']<=5){
				commentNextEnabled = false;
				$('#commentNextBtn').addClass('pseudoLinkDisabled');
			}
		}
		else{
			$('#pageNav').css("display", "block");
			if(data['items']>5){
				commentNextEnabled = true;
				$('#commentNextBtn').removeClass('pseudoLinkDisabled');
			}
		}
		var l = data['comments'].length;
		lastCommentID = data['comments'][l-1]['ProfileComment']['id'];
		firstCommentID = data['comments'][0]['ProfileComment']['id'];
		if(l>0){
			commentData = data;
			$('#profileComments').slideUp(300, showNewComments);
		}
		//alert(commentStartIndex);
		//alert(data['comments'][0]['ProfileComment']['body']);
	},"json");
}
function showNewComments(){
	data = commentData;
	$('#profileComments div.profileComment').remove();
	all = data['length'];
	for(i=0; i<all; i++){
		comment = data['comments'][i];
		var newComment = '<div class="profileComment">'+
		'<div class="adder"><div class="avatar">'+comment['Adder']['avatar']+'</div><p>'+comment['Adder']['link']+'</p></div>'+
		'<div class="content"><p><span class="time">'+comment['created']+'</span>'+
		(canDelete ? '<span class="pseudolink" onClick="delComm('+comment['ProfileComment']['id']+', \''+deleteCommentUrl+'\')"> '+deleteWord+'</span>' : '')+
		'</p>'+comment['ProfileComment']['body']+'</div>'+
		'<div class="footter">'+comment['Adder']['sendMsgLink']+'</div>';
		'</div>';
		//alert(newComment);
		$('#profileComments').append(newComment);
	}
	$('#profileComments').slideDown(300);
}
function profileCommentsReset(){
	lastCommentID=0;
	firstCommentID=0;
	loadNewComments('init');
}
function loadNewResp(type){
	params = [];
	url = loadRespUrl;
	params.push({name:'data[last_id]', value:lastRespID});
	params.push({name:'data[first_id]', value:firstRespID});
	params.push({name:'data[type]', value:type});
	if((type=='next'&&respNextEnabled)||(type=='prev'&&respPrevEnabled)){
		$.post(url, params, function(data){
			if(data){
				respData = data;
				$('#solvedTasksTable').slideUp(300, showNewResp);
			}
		});
	}
}
function showNewResp(){
	$('#solvedTasksTable table').remove();
	$('#solvedTasksTable').append(respData);
	$('#solvedTasksTable').slideDown(300);
}

function loadNewTasks(type){
	params = [];
	url = loadTaskUrl;
	params.push({name:'data[last_id]', value:lastTaskID});
	params.push({name:'data[first_id]', value:firstTaskID});
	params.push({name:'data[type]', value:type});
	if((type=='next'&&taskNextEnabled)||(type=='prev'&&taskPrevEnabled)){
		$.post(url, params, function(data){
			if(data){	
				taskData = data;
				$('#tasksTable').slideUp(300, showTasksData);
			}
		});
	}
}
function showTasksData(){
	$('#tasksTable table').remove();
	$('#tasksTable').append(taskData);
	$('#tasksTable').slideDown(300);
}

function delComm(id, url){
	params = [];
	params.push({name:'data[ProfileComment][id]', value:id});
	$.post(url, params, function(data){
		$('#flashMessage').remove();
		if(data['success']){
			$('#mainRightPanel').prepend('<div id="flashMessage" class="success" style="background-color: #dbed9a">'+data['msg']+'</div>');
			profileCommentsReset();
		}
		else{
			$('#mainRightPanel').prepend('<div id="flashMessage" class="failure" style="background-color: #dbed9a">'+data['msg']+'</div>');
		}
	}, "json");
}
