var page = 1;
var month = "";
var types = "";
var softwares = "";
var taskListExist;
var taskListFlash;
var taskListTimer;
var taskListInterval = 60;
var taskId;
var taskFlash;
var taskTimer;
var taskInterval = 60;

function startTaskListTimer(pPage, pMonth, pTypes, pSoftwares) {
	page = pPage;
	month = pMonth;
	types = pTypes;
	softwares = pSoftwares;
	taskListExist = true;
	taskListTimer = setInterval(refreshTasks, taskListInterval*1000);
}

function startTaskTimer(pTaskId) {
	taskId = pTaskId;
	taskTimer = setInterval(refreshTask, taskInterval*1000);
}

function setRefreshInterval(interval) {
	if (taskListExist && !taskListFlash) {
		taskListFlash = document.getElementById("tasklistflash");
		refreshTasks();
		taskListInterval = interval;
		clearInterval(taskListTimer);
		taskListTimer = setInterval(refreshTasks, taskListInterval*1000);
	}
	if (taskId > 0 && !taskFlash) {
		taskFlash = document.getElementById("taskdataflash");
		refreshTask();
		taskInterval = interval;
		clearInterval(taskTimer);
		taskTimer = setInterval(refreshTask, taskInterval*1000);
	}
}

function refreshTasks() {
	if (taskListExist) {
        var url = pageBase + "xmldata?type=tasklist&page=" + page + "&interval=" + taskListInterval + (archives != "" ? "&archives=" + archives +"" : "") + (month != "" ? "&month=" + month +"" : "") + (types != "" ? "&types=" + types +"" : "") + (softwares != "" ? "&softwares=" + softwares +"" : "");		//alert(url);
		var req = createXHR();
		if (req) {
			req.open("GET",url,true);
			req.onreadystatechange=function() {
				if (req.readyState==4) {
					if (req.responseXML) {
						setTaskListData(req.responseXML);
					}
				}
			}
			req.send("");
		}
	}
}

function refreshTask() {
	if (taskId > 0) {
        var url = pageBase + "xmldata?type=taskdata&id=" + taskId + (archives != "" ? "&archives=" + archives +"" : "") + "&interval=" + taskInterval;
		var req = createXHR();
		if (req) {
			req.open("GET",url,true);
			req.onreadystatechange=function() {
				if (req.readyState==4) {
					if (req.responseXML) {
						setTaskData(req.responseXML);
					}
				}
			}
			req.send("");
		}
	}
}

function setTaskListData(xml) {
	if (taskListFlash) {
		var xmlStr = xml2Str(xml);
		taskListFlash.setTasks(xmlStr);
	}
}

function setTaskListHeight(height) {
	if (taskListFlash) {
		taskListFlash.setAttribute("height", height);
	}
}

function setTaskData(xml) {
	if (taskFlash) {
		var xmlStr = xml2Str(xml);
		taskFlash.setTask(xmlStr);
	}
}

function stopTaskTimer() {
	clearInterval(taskTimer);
}

function trace(text) {
	alert(text);
}
