/**
 * Little javascript helper to deals with event between coplet 
 * In the client window
 *
 */
var callbacks={};
var events={}
function registerCallback(name, callback)
{
	callbacks[name]=callback;
}

function registerEvent(name, args)
{
	events[name]=args;
}

function publishEvents()
{
	for (var name in events)
	{
		if (!callbacks[name])
		{
			alert("No callback for name "+name);
			return false;
		}
		callbacks[name](events[name]);
	}
}

function showHideNormalLogin()
{
	var loginDiv;
	var beforeLoginDiv;
	var loginForm;
	 
    loginDiv = document.getElementById("normalLogin");
    beforeLoginDiv = document.getElementById("beforeLogin");
	loginForm = document.forms["identiform"];
    if (loginDiv.style.display != 'none') 
    {
		// clean the fields (login/password)		
    	loginForm.name.value='';
    	loginForm.password.value='';
    	loginDiv.style.display = 'none';    
    	beforeLoginDiv.style.display='';     
    }	
    else {
		beforeLoginDiv.style.display='none';		
		loginDiv.style.display = '';				
		loginForm.name.value='';
		loginForm.password.value='';		
		loginForm.name.focus();
    }
}

function foldOrUnfoldSelectedSource(aNode, ulNodeID)
{
	var ulNode = document.getElementById(ulNodeID);

	if (ulNode != null)
	{
		var mark = (ulNode.style.display == "none");

		if (mark)
		{
			aNode.setAttribute("CLASS", "wminus");
			aNode.setAttribute("className", "wminus");
			ulNode.style.display = "block";
		}
		else
		{
			aNode.setAttribute("CLASS", "wplus");
			aNode.setAttribute("className", "wplus");
			ulNode.style.display = "none";
		}
	}
}

function updateChannel()
{
	var iChannel = window.location.toString().indexOf("selectedChannel=", 1);
	
	if (iChannel != -1)
	{
		self.location.href =  window.location.toString().substring(0, iChannel + 16) + document.forms["channelForm"].elements["Channel"].value;
	}
	else
	{
		self.location.href =  window.location.toString() + "&selectedChannel=" + document.forms["channelForm"].elements["Channel"].value;
	}
}