function GroupMail()
{
	this.oAjaxThreads = new Array();
	this.loadingThreads = 0;
	this.temp = new Array();
}

GroupMail.prototype.getNextThread = function()
{
	var i = 0;
	
	if (this.oAjaxThreads.length == 0)
	{
		var oAjax = new AJAX();
		this.oAjaxThreads.push(oAjax);		
	}

	while (this.oAjaxThreads[i] && this.oAjaxThreads[i].working && i < this.oAjaxThreads.length )
	{
		i++;
	}
	
	if (!this.oAjaxThreads[i])
	{
		var oAjax = new AJAX();
		this.oAjaxThreads.push(oAjax);		
	}
	
	return this.oAjaxThreads[i];
}

GroupMail.prototype.loadReply = function(groupMailId)
{
	this.groupMailId = groupMailId
	var tr = document.getElementById('Replies'+groupMailId);
	var td = document.getElementById('messageReply'+groupMailId);
	
	if(tr.style.display == "none" && !td )
	{
		var oAjax =  this.getNextThread();
		oAjax.url = '/zspace/replies/';
		oAjax.method = 'post';
		oAjax.data = 'groupMailId='+groupMailId;
		oAjax.addRequestListener(this, this.replyLoaded, false);
		oAjax.open();	
	}
	else if(td != "" && tr.style.display == "none")
	{
		tr.style.display = "";
	}
	else
	{
		tr.style.display = "none";
	}
}

GroupMail.prototype.replyLoaded = function(xmlDocument, text)
{
	var oParser = new XMLParser(xmlDocument);
	var oNodes = oParser.getNodeValue("groupMail");
	
	if(oNodes && oNodes.length > 0)
	{
		var nodeParser = new XMLParser(oNodes);
		var parentId = oParser.getNodeValue('parentId');
		
		var tr = document.getElementById('Replies'+parentId);
		tr.style.display = "";
		
		var td = document.createElement('td');
		td.setAttribute('colspan', 2);
		td.setAttribute('id', 'messageReply'+parentId);				
		tr.appendChild(td);
		
		var tbody = document.createElement('tbody');
		tbody.setAttribute('width', '100%');
		td.appendChild(tbody);
		
		var tr = document.createElement('tr');
		tbody.appendChild(tr);
		
		var td= document.createElement('td');
		td.setAttribute('colspan', 2);
		tr.appendChild(td);
		
		var span = document.createElement('span');
		span.setAttribute('class', 'responseFor');
		span.innerHTML = 'Replies:';
		td.appendChild(span);
										
		for(var i = 0; i < oNodes.length; i++)
		{
			var nodeParser = new XMLParser(oNodes[i]);
			var id = nodeParser.getNodeValue('id');
			var subject = nodeParser.getNodeValue('subject');
			var message = nodeParser.getNodeValue('message');
			var parentId = nodeParser.getNodeValue('parentId');
			var sentOn = nodeParser.getNodeValue('sentOn');
			
			var hr = document.createElement('hr');
			td.appendChild(hr);
			
			var em = document.createElement('em');
			td.appendChild(em);
			
			var small = document.createElement('small');
			small.innerHTML = subject+" "+sentOn;
			td.appendChild(small)
			
			var p = document.createElement('p');
			td.appendChild(p);
			
			var small = document.createElement('small');
			small.innerHTML = message;
			p.appendChild(small);
			
			/*			
			var td = document.createElement('td');
			td.setAttribute('id', 'ac_'+nodeId);
			td.style.cursor = 'pointer';
			td.onmouseover = function() { this.style.backgroundColor = '#0000AA'; this.style.color = '#FFFFFF'; };
			td.onmouseout = function() { this.style.backgroundColor = '';  this.style.color = ''; };
			var divId = this.type+'ACDiv';
			td.onclick = function() { oAutoComplete.select(this); document.getElementById(divId).style.display = 'none'; };
			tr.appendChild(td);		
			td.innerHTML = lastName.replace(this.text, '<b>'+this.text+'</b>')+', '+firstName.replace(this.text, '<b>'+this.text+'</b>');
			*/	
		}
	
	}
	else
	{
		var tr = document.getElementById('Replies'+this.groupMailId);
		tr.style.display = "";
		
		var td = document.createElement('td');
		td.setAttribute('colspan', 2);			
		td.setAttribute('id', 'messageReply'+this.groupMailId);	
		tr.appendChild(td);
		
		var tbody = document.createElement('tbody');
		tbody.setAttribute('width', '100%');
		td.appendChild(tbody);
		
		var tr = document.createElement('tr');
		tbody.appendChild(tr);
		
		var td= document.createElement('td');
		td.setAttribute('colspan', 2);
		tr.appendChild(td);
		
		var span = document.createElement('span');
		span.setAttribute('class', 'responseFor');
		span.innerHTML = 'not found any replies !';
		td.appendChild(span);
	}
}

GroupMail.prototype.formReply = function(id)
{
	var groupMailMessage = document.getElementById("groupMailMessage");
	groupMailMessage.style.display = "";
	
	document.getElementById("subjectMailMsgSpan").innerHTML = "Re: "+document.getElementById("subject"+id).value;
	document.getElementById('subjectMailMsgSpan').style.display = ''; 
	document.getElementById('subjectMailMsg').style.display = 'none';
	document.getElementById("subjectMailMsg").value = document.getElementById("subjectMailMsgSpan").innerHTML;
	document.getElementById("bodyMailMsg").value = "";
	document.getElementById("groupMailId").value = id;
		
	/* old way

	if(reply.style.display == "")
	{
		reply.style.display = "none";
		var oDOMHelper = new DOMHelper();
		oDOMHelper.removeChilds(reply);
	}
	else
	{
		reply.style.display = "";
		
		if(document.getElementById('replyGroupId') && document.getElementById('replyUserId'))
		{
			var valueGroupId = document.getElementById('replyGroupId').value;
			var valueUserId = document.getElementById('replyUserId').value;
		
			var oTd = document.createElement('td');
			reply.appendChild(oTd);
			
			var oTd = document.createElement('td');
			reply.appendChild(oTd);
			
			var oHr = document.createElement('hr');
			oTd.appendChild(oHr);
						
			var oForm = document.createElement('form');
			oForm.setAttribute('action', "/zspace/sendMailGroup");
			oForm.setAttribute('method', 'post');
			oTd.appendChild(oForm);
			
			var input = document.createElement('input');
			input.setAttribute('type', "hidden");
			input.setAttribute('name', "groupId");
			input.setAttribute('id', "groupId");
			input.setAttribute('value', valueGroupId);
			oForm.appendChild(input);
			
			var input = document.createElement('input');
			input.setAttribute('type', "hidden");
			input.setAttribute('name', "userId");
			input.setAttribute('id', "userId");
			input.setAttribute('value', valueUserId);
			oForm.appendChild(input);
			
			var input = document.createElement('input');
			input.setAttribute('type', "hidden");
			input.setAttribute('name', "groupMailId");
			input.setAttribute('id', "groupMailId");
			input.setAttribute('value', obj);
			oForm.appendChild(input);
			
			var oTable = document.createElement('table');
			oTable.setAttribute('border', 0);
			oForm.appendChild(oTable);
			
			var oTr = document.createElement('tr');
			oTable.appendChild(oTr);
			
			var oTd = document.createElement('td');
			oTr.appendChild(oTd);
			
			var oB = document.createElement('b');
			oB.innerHTML = "Re:";
			oTd.appendChild(oB);
			
			var oTd = document.createElement('td');
			oTr.appendChild(oTd);
			
			var input = document.createElement('input');
			input.setAttribute('type', "text");
			input.setAttribute('name', "subject");
			input.setAttribute('id', "subject");
			input.setAttribute('value', subject);
			input.setAttribute('readonly', "readonly");
			input.setAttribute('size', '35');
			oTd.appendChild(input);
			
			var oTr = document.createElement('tr');
			oTable.appendChild(oTr);
			
			var oTd = document.createElement('td');
			oTd.setAttribute('colspan', '2');
			oTr.appendChild(oTd);
			
			var oB = document.createElement('b');
			oB.innerHTML = "Body:";
			oTd.appendChild(oB);
				
			var oBr = document.createElement('br');
			oTd.appendChild(oBr);
			
			var textarea = document.createElement('textarea');
			textarea.setAttribute('name', "body");
			textarea.setAttribute('id', "body");
			textarea.setAttribute('rowls', '30');
			textarea.setAttribute('cols', '80');
			oTd.appendChild(textarea);
			
			var oTr = document.createElement('tr');
			oTable.appendChild(oTr);
			
			var oTd = document.createElement('td');
			oTr.appendChild(oTd);
			
			var input = document.createElement('input');
			input.setAttribute('type', "submit");
			input.setAttribute('value', 'Send Reply');
			oTd.appendChild(input);			
		}
		else
		{
			alert("You have to login!");
		}
	}
	*/
}

GroupMail.prototype.newMessage = function()
{
	oUtils.showHide('groupMailMessage'); 
	document.getElementById('subjectMailMsgSpan').style.display = 'none'; 
	document.getElementById('subjectMailMsg').style.display = '';
	document.getElementById("groupMailId").value = "";
	document.getElementById("bodyMailMsg").value = "";
	document.getElementById("subjectMailMsg").value = "";
}

GroupMail.prototype.validateMail = function()
{
	var form = document.getElementById("formGroupMail");
	
	form.submit();
}

var oGroupMail = new GroupMail();