
function ProjectTaskListRender(){}

ProjectTaskListRender.prototype.render = function render(object,htmlElementId){

	var taskcontainer = document.getElementById(htmlElementId);

	var xml = object;
	var rootElementList = xml.getElementsByTagName("rater"); 
	var rootTag = rootElementList[0];

	var event = rootTag.getAttribute("event");
	
	//do not delete all content if this is an add event.
	if(event==undefined || event==null || (event!=null && event!="add")){
		while(taskcontainer.childNodes.length > 0){
	  		taskcontainer.removeChild(taskcontainer.childNodes.item(0));
		}
		
		var emptytag = document.createElement("div");
		emptytag.appendChild(document.createComment("empty tag."));
		taskcontainer.appendChild(emptytag);
		
	}
	 
	var elementList = object.getElementsByTagName("task");
		
	if(elementList != null && elementList != undefined && elementList.length > 0){
		
		//for(var i=0, size = elementList.length-1 ; i <= size  ; i++){
		for(var i = elementList.length-1 ; i >= 0  ; i--){
		
			var xmlNode = elementList[i];
			
			if((xmlNode.getAttribute("deleted")==null || xmlNode.getAttribute("deleted")==undefined) && (xmlNode.getAttribute("mandatory")==null || xmlNode.getAttribute("mandatory")==undefined)){
				
				//get this nodes/task index, used as id.	
				var taskId = xmlNode.getAttribute("taskIndex");
		
				//create div for each project task.
				var divTaskTag = document.createElement("div");
				divTaskTag.className = "taskbox";
				divTaskTag.id = "div_task_"+taskId;
				
				
				if(event && event=="add" && taskcontainer.childNodes!=null && taskcontainer.childNodes.item(0) != null){
					taskcontainer.insertBefore(divTaskTag,taskcontainer.childNodes.item(0));
			
				}else{
					taskcontainer.appendChild(divTaskTag);
				}
				
				//create subject in for each task. 
				listenerHandler.addSubject("projecttasks"+taskId);
				 
				//create render listener for each subject, and set divTaskTag as target.
				listenerHandler.registerListenerToSubject("projecttasks"+taskId, new ContentRenderListener('project.task.listener.'+taskId, 'div_task_'+taskId, new ProjectTaskRender()));
				
				//notify listener for redering task content into divTaskTag.
				listenerHandler.notifyListenersToSubject(("projecttasks"+taskId),xmlNode);	
				
				
			}
		}
	}
}
