var TaskElementID="";
var TaskLinkType="";
var TaskLinkID="";
var Task_intervalID;

function initTasks(ElementID,LinkType,LinkID){
	TaskElementID=ElementID;
	TaskLinkType=LinkType;
	TaskLinkID=LinkID;
	var TaskBox=document.createElement("DIV");
        TaskBox.setAttribute('id','TaskDetailViewer');
        TaskBox.setAttribute('class','WindowDiv');
        $('#Overall').append(TaskBox);
        $('#TaskDetailViewer').draggable({ 
							handle: 'h2',
							cursor: 'move'
								});
	$(document).ready(function(){
		loadTasks();
	});
	Task_intervalID = setInterval(reloadTaskList, 60000);
}

function loadTasks(){
	var URL="/?Realm=Task&Action=showUserItemTaskList&LinkType=" + TaskLinkType + "&LinkID=" + TaskLinkID;
	$.get(URL,'',function(data){
		var Tasks=data.getElementsByTagName("TaskAssignmentDetail");
		if(Tasks.length==0){
			$("#ReloadTasksButton").attr("src","/assets/images/action-refresh.png");
			return false;
		}
		$('#ItemTaskCount').text('(' + Tasks.length + ')');
		var Result=RT_TransformXMLFragment(data,'/XSL/task/task.xsl');
		$("#" + TaskElementID).append(Result);
		$("#ReloadTasksButton").attr("src","/assets/images/action-refresh.png");
	});
}

function reloadTaskList(){
	$("#ReloadTasksButton").attr("src","/assets/images/loading.gif");
	$('#' + TaskElementID).find('#TaskListContainer').remove();
	loadTasks();
}

function showTaskDetail(TaskID){
	var URL="/?Realm=Task&Action=showTaskDetail&TaskID=" + TaskID;
	$.get(URL,'',function(data){
		var Result=RT_TransformXMLFragment(data,'/XSL/task/task.xsl');
		_clearTaskWindow();
		$('#TaskDetailViewer').append(Result);
		$('#TaskDetailViewer').fadeIn('slow');
		$('#TaskDetailViewer').focus();
	});
}

function _clearTaskWindow(){
	$('#TaskDetailViewer').empty();
}

function updateAssignemtStatus(AssignmentID,StatusID){
	if(typeof(StatusID)=="number"){
		var URL="/?Realm=Task&Action=showTaskAssignmentResponse&TaskAssignmentID=" + AssignmentID + "&StatusID=" + StatusID;
	}else if(typeof(StatusID)=="string"){
		var URL="/?Realm=Task&Action=showTaskAssignmentResponse&TaskAssignmentID=" + AssignmentID + "&StatusName=" + StatusID;
	}else{
		alert("What assignment are you trying to update?");
		return;
	}
	$.get(URL,'',function(data){
		var Result=RT_TransformXMLFragment(data, '/XSL/task/task.xsl');
		$('#TaskDetailViewer').empty();
		$('#TaskDetailViewer').append(Result);
		$('#TaskDetailViewer').fadeIn('slow');
		$('#TaskDetailViewer').focus();
	});
}

function createTask(LinkType,LinkID){
	$("#NewTaskButton").attr("src","/assets/images/loading.gif");
	var URL="/?Realm=Task&Action=NewTask" + "&LinkType=" + LinkType + "&LinkID=" + LinkID;
	$.get(URL,'',function(data){
		var Result=RT_TransformXMLFragment(data,'/XSL/task/task.xsl');
		$('#TaskDetailViewer').append(Result);
		$('#TaskDetailViewer').fadeIn('slow');
		$('#TaskDetailViewer').focus();
		$("#NewTaskButton").attr("src","/assets/images/action-Create.gif");
	});
}

function editTask(TaskID,Button){
	var URL="/?Realm=Task&Action=NewTask" + "&TaskID=" + TaskID;
	$.get(URL,'',function(data){
		var Result=RT_TransformXMLFragment(data,'/XSL/task/task.xsl');
		$('#TaskDetailViewer').append(Result);
		$('#TaskDetailViewer').fadeIn('slow');
		$('#TaskDetailViewer').focus();
		$(Button).attr("src",'/assets/images/edit.png');
	});
}

function saveTask(Form){
	var URL="/?Realm=Task&Action=ExecTask"
			+ "&Task[Name]=" + document.getElementById('Task_Name').value
			+ "&Task[Description]=" + escape(document.getElementById('Task_Description').value)
			+ "&Task[DueDate]=" + document.getElementById('Task_DueDate').value
			+ "&Task[AssignToID]=" + document.getElementById('Task_AssignToID').value
			+ "&Task[AssignmentID]=" + document.getElementById('Task_AssignmentID').value
			+ "&Task[TypeID]=" + document.getElementById('Task_TypeID').value
			+ "&TaskID=" + document.getElementById('TaskID').value;
	var LinkType=document.getElementById('LinkType').value;
	var LinkID=document.getElementById('LinkID').value;
	$.get(URL,'',function(data){
		var Status=data.getElementsByTagName('Success')[0].firstChild.data;
		if(Status=="Yes"){
			$('#TaskEditorButton').attr("value","Saved!");
			//alert("Success!");
			reloadTaskList();
			$('#TaskDetailViewer').fadeOut('slow');
			$('#TaskDetailViewer').empty();
			reDrawMyTasks();
		}else{
			$('#TaskEditorButton').attr("value","Try Again");
			alert(data.getElementsByTagName('Message')[0].firstChild.data);
		}
	});
}

function processUpdateAssignment(Form){
	var URL="/?Realm=Task&Action=ExecTaskAssignment"
			+ "&Task[Title]=" + document.getElementById('Note_Title').value
			+ "&Task[Description]=" + document.getElementById('Note_Description').value
			+ "&Task[AssignmentStatusID]=" + document.getElementById('TaskAssignment_StatusID').value
			+ "&TaskAssignmentID=" + document.getElementById('TaskAssignmentID').value;
	$.get(URL,'',function(data){
		var Status=data.getElementsByTagName('Success')[0].firstChild.data;
		if(Status=="Yes"){
			$('#TaskEditorButton').attr("value","Saved!");
			$('#TaskDetailViewer').fadeOut('slow');
			$('#TaskDetailViewer').empty();
			reloadTaskList();
			reDrawMyTasks();
			reDrawMyPastDueTasks();
			$("#ReloadNotesButton").click();
		}else{
			alert(data.getElementsByTagName('Message')[0].firstChild.data);
		}
	});
}


function closeTaskWindow(){
	_clearTaskWindow();
	$('#TaskDetailViewer').fadeOut('slow');
}

function reDrawMyTasks(){
	try{
		$("#ReloadMyTasksPanelButton").attr("src","/assets/images/loading.gif");
		var URL="/?Realm=Task&Action=showMyTaskList";
		$.get(URL,'',function(data){
			var MyTasks=data.getElementsByTagName('Task');
			$('#MyTasksPanel .List').empty();
			$('#MyTasksPanelCount').text(MyTasks.length);
			if(MyTasks.length>0){
				for(var i=0;i<MyTasks.length;i++){
					var NewRow=document.createElement("TR");
					var Title=document.createElement("TD");
					var Status=document.createElement("TD");
					
					NewRow.setAttribute('class',MyTasks[i].getElementsByTagName("Status")[0].firstChild.data.replace(/ /,''));
					
					$(Title).html("<a href='" 
						+ MyTasks[i].getElementsByTagName("URL")[0].firstChild.data 
						+ "'>" 
						+  MyTasks[i].getElementsByTagName("Name")[0].firstChild.data 
						+ "</a>");
					$(Status).html(MyTasks[i].getElementsByTagName("Status")[0].firstChild.data);
					$(NewRow).append(Title);
					$(NewRow).append(Status);
					$('#MyTasksPanel').find('.List').append(NewRow);
				}
			}else{
				$('#MyTasksPanelHideButton').click();
			}
			$("#ReloadMyTasksPanelButton").attr("src","/assets/images/action-refresh.png");
		});
	}catch(e){
		alert('Task Panel not Active');
	}
}

function reDrawMyPastDueTasks(){
	try{
		$("#ReloadPastDueTasksPanelButton").attr("src","/assets/images/loading.gif");
		var URL="/?Realm=Task&Action=showMyTaskList&Filter[Status]=Past Due";
		$.get(URL,'',function(data){
			var MyTasks=data.getElementsByTagName('Task');
			$('#PastDueTasksPanel .List').empty();
			$('#PastDueTasksPanelCount').text(MyTasks.length);
			if(MyTasks.length>0){
				for(var i=0;i<MyTasks.length;i++){
					var NewRow=document.createElement("TR");
					var Title=document.createElement("TD");
					var Status=document.createElement("TD");
					
					NewRow.setAttribute('class',MyTasks[i].getElementsByTagName("Status")[0].firstChild.data.replace(/ /,''));

					$(Title).html("<a href='" 
						+ MyTasks[i].getElementsByTagName("URL")[0].firstChild.data 
						+ "'>" 
						+  MyTasks[i].getElementsByTagName("Name")[0].firstChild.data
						+ "</a>");
					$(Status).html(MyTasks[i].getElementsByTagName("Status")[0].firstChild.data);
					$(NewRow).append(Title);
					$(NewRow).append(Status);
					$('#PastDueTasksPanel').find('.List').append(NewRow);
				}
			}else{
				$('#PastDueTasksPanelHideButton').click();
			}
			$("#ReloadPastDueTasksPanelButton").attr("src","/assets/images/action-refresh.png");
		});
	}catch(e){
		alert('Past Due Task Panel not Active');
	}
}

