//Javascript Document
function testUpdate(callerID, status, message)
{
	var NEWEL = document.createElement("DIV");
	var colors = new Array();
	colors['online'] = "green";
	colors['away'] = "orange";
	colors['offline'] = "red";
	var newHTML = '<a><table border=0 cellspacing=0 cellpadding=0 width="100%">'
					+'<tr>'
				+'	<td rowspan="2" width="30" align="center" style="font-size:30px;"><font color="'+colors[status]+'">+</font></td>'
			+	'		<td align="left" style="font-size:16px; font-weight:bold;">'+callerID+'</td>'
			+	'	</tr>'
			+	'	<tr>'
			+	'		<td align="left" style="font-size:12px;">'+message+'</td>'
			+	'	</tr>'
			+	'	</table></a>';
	
	
	NEWEL.setAttribute('id', callerID+'_friend');
//	NEWEL.setAttribute('ondblclick', '"callUser(\'"+callerID+"\');');
//	NEWEL.setAttribute('onmouseover', "'document.getElementById(\""+callerID+"_friend\").style.backgroundColor = \"darkBlue\";'");
//	NEWEL.setAttribute('onmouseout', "'document.getElementById(\""+callerID+"_friend\").style.backgroundColor = \"#ffffff\";'");
	NEWEL.innerHTML = newHTML;	
	NEWEL.className = "online_friend one";
	
	updateFriend(callerID+"_friend", NEWEL);
}


function updateFriend(testElID, newEl)
{
	var mainEl = document.getElementById('friends_insideTD');
	
	var testEl = document.getElementById(testElID);
	mainEl.removeChild(testEl);
	testEl = newEl;
	var insideClass = false;
	var inserted = false;
	var rotate = "one";
	var testClassName = testEl.className.split(" ");
	var tempClassName;
	var prevClassName;	
	var order = 1;
	var lastNode = 0;
	
	for (var i = 0; i < mainEl.childNodes.length; i++)
	{
		if (mainEl.childNodes[i].nodeName == "DIV" && mainEl.childNodes[i].name != "_header")
		{
			tempClassName = mainEl.childNodes[i].className.split(" ");
			if ((testClassName[0] == tempClassName[0]) && inserted == false)
			{
				insideClass = true;
		/*	alertText += "\nchild["+i+"].tagName: "+mainEl.childNodes[i].tagName + "\n";
			alertText += "child["+i+"].className: "+mainEl.childNodes[i].className + "\n";
			alertText += "child["+i+"].id: "+mainEl.childNodes[i].id + "\n";
		*/
				order = stringOrder(testEl.id, mainEl.childNodes[i].id);	
				if (order == 2)
				{
					rotate = writeClass(testEl, rotate);
					mainEl.insertBefore(testEl, mainEl.childNodes[i]);
					inserted = true;
				}					
			} else if (insideClass == true)
			{
				if (inserted == false)
				{

					rotate = writeClass(mainEl.childNodes[i],rotate);
					mainEl.insertBefore(testEl, mainEl.childNodes[i]);		
					inserted = true;	
				} else {
					rotate = writeClass(mainEl.childNodes[i],rotate);
				}
			} else
			{
					rotate = writeClass(mainEl.childNodes[i],rotate);			
			}
			lastNode = i;
			if (inserted == false)
			{
				rotate = tempClassName[1];
			}
		}
	}
	if (order == 1 && inserted == false)
	{
		mainEl.appendChild(testEl);
	}
}


function stringOrder (newNode, currentNode)
{
	var newNodeID = new String(newNode);
	var currentNodeID = new String(currentNode);
	if (newNodeID == currentNodeID)
	{
		alert ("the Nodes have the same name");
		return 0;
	}
	newNode = newNode.toLowerCase();
	currentNode = currentNode.toLowerCase();
	
	var answer = 0;
	var charA = '';
	var charB = '';	
	
	var i = 0;
	while (answer == 0)
	{
		charA = newNode.charAt(i);
		charB = currentNode.charAt(i);

		if (charA > charB)
		{
			return 1;
		} else if (charA < charB) {
			return 2;
		} else {
			i++;
		}
	}
}

function writeClass(divEl, rotate)
{
	if (rotate == "one")
	{
		rotate = "two";
	} else {
		rotate = "one";
	}

	var tempdivEl = divEl.className.split(" ");
	divEl.className = tempdivEl[0] + " " + rotate;	

	return rotate;
}
