/* NewConference status reporting with AJAX */
/* (c) 2006 - 2010 Martin van der Werff - martin (at) vanderwerff (dot) org */

var ajax_status = new sack();
var ajax_view = new sack();
var ajax_action = new sack();
var conf_status = 'I';
var t;

function conference_view_received() 
{
	var e = document.getElementById('status_message'); 

	if( conf_status.substring(0,1) == 'F' )
	{
		clear_message();
		e.innerHTML = msg_done;;	
	}
	else if( conf_status.substring(0,1) == 'D' )
	{
		e.innerHTML = msg_demo;
	}
	else
	{
		e.innerHTML = msg_progress;
		t = setTimeout("request_conference_status();", 100);
	}
}

function conference_status_received() 
{
	var response = ajax_status.response.replace(/\s+$/,'');

	if( conf_status != response )
	{
		if( conf_status.substring(0,1) != response.substring(0,1) )
		{
			request_conference_view(true);
		}
		else
		{
			request_conference_view(false);
		}
		conf_status = response;
	}
	else
	{
		if( (response.substring(0,1) != 'F') && (response.substring(0,1) != 'D') )
		{
			t = setTimeout("request_conference_status();", 100);
		}
	}
}

function request_conference_view(full)
{
	ajax_view.requestFile = "/sc/conferenceview.html";
	if( full )
	{
		ajax_view.setVar("full", "true");
		ajax_view.element = 'conference_view';
	}
	else
	{
		ajax_view.setVar("full", "false");
		ajax_view.element = 's3_left';
	}
	ajax_view.method = 'GET';
	ajax_view.onCompletion = conference_view_received;
	ajax_status.onFail = ajax_not_supported;
	ajax_view.runAJAX();
}

function request_conference_status()
{
	ajax_status.requestFile = "/sc/conferencestatus.html";
	ajax_status.setVar("s", conf_status);
	ajax_status.method = 'GET';
	ajax_status.onCompletion = conference_status_received;
	ajax_status.onFail = ajax_not_supported;
	ajax_status.runAJAX();
}

function ajax_not_supported()
{
	var e = document.getElementById('status_message'); 
	e.innerHTML = '<div id=\"s2_requirejs\">' + msg_requireax + '</div>';
}

function page_is_loaded()
{
	conf_status = 'I';
	var e = document.getElementById('status_message'); 
	e.innerHTML = msg_retrieving; 
	request_conference_status();
}

function conf_confirm(part, action, lang, name)
{
        var e = document.getElementById('s2_message');
	if( action == "1" )
	{
		if( lang == "nl" )
		{
			e.innerHTML = 'Verbinding <i>' + name + '</i> verbreken? <a href="/nojs.html" onclick="conf_action(\'' + part + '\', \'1\');return false"><img border="0" src="/images/sc/yes.gif" alt="Verbinding verbreken"><span>ja</span></a><a href="/nojs.html" onclick="clear_message();return false"><img border="0" src="/images/sc/no.gif" alt="Verbinding niet verbreken"><span>nee</span></a>';
		}
		else
		{
			e.innerHTML = 'Disconnect <i>' + name + '</i> ? <a href="/nojs.html" onclick="conf_action(\'' + part + '\', \'1\');return false"><img border="0" src="/images/sc/yes.gif" alt="Disconnect participant"><span>yes</span></a><a href="/nojs.html" onclick="clear_message();return false"><img border="0" src="/images/sc/no.gif" alt="Cancel"><span>no</span></a>';
		}
	}
	else if( action == "2" )
	{
		if( lang == "nl" )
		{
			e.innerHTML = 'Microfoon <i>' + name + '</i> aanzetten? <a href="/nojs.html" onclick="conf_action(\'' + part + '\', \'2\');return false"><img border="0" src="/images/sc/yes.gif" alt="Verbinding verbreken"><span>ja</span></a><a href="/nojs.html" onclick="clear_message();return false"><img border="0" src="/images/sc/no.gif" alt="Verbinding niet verbreken"><span>nee</span></a>';
		}
		else
		{
			e.innerHTML = 'Unmute <i>' + name + '</i> ? <a href="/nojs.html" onclick="conf_action(\'' + part + '\', \'2\');return false"><img border="0" src="/images/sc/yes.gif" alt="Disconnect participant"><span>yes</span></a><a href="/nojs.html" onclick="clear_message();return false"><img border="0" src="/images/sc/no.gif" alt="Cancel"><span>no</span></a>';
		}
	}
	else
	{
		if( lang == "nl" )
		{
			e.innerHTML = 'Microfoon <i>' + name + '</i> uitschakelen? <a href="/nojs.html" onclick="conf_action(\'' + part + '\', \'3\');return false"><img border="0" src="/images/sc/yes.gif" alt="Verbinding verbreken"><span>ja</span></a><a href="/nojs.html" onclick="clear_message();return false"><img border="0" src="/images/sc/no.gif" alt="Verbinding niet verbreken"><span>nee</span></a>';
		}
		else
		{
			e.innerHTML = 'Mute <i>' + name + '</i> ? <a href="/nojs.html" onclick="conf_action(\'' + part + '\', \'3\');return false"><img border="0" src="/images/sc/yes.gif" alt="Disconnect participant"><span>yes</span></a><a href="/nojs.html" onclick="clear_message();return false"><img border="0" src="/images/sc/no.gif" alt="Cancel"><span>no</span></a>';
		}
	}

	e.style.display = 'block';
}

function clear_message()
{
        var e = document.getElementById('s2_message');
	e.innerHTML = '';
	e.style.display = 'none';
}

function conf_action(part,action)
{
	clear_message();
	ajax_action.requestFile = "/sc/conferenceaction.html";
	ajax_action.setVar("p", part);
	ajax_action.setVar("a", action);
	ajax_action.method = 'GET';
	ajax_action.onCompletion = conf_action_done;
	ajax_action.onFail = ajax_not_supported;
	ajax_action.runAJAX();
}

function conf_action_done()
{
        /* var e = document.getElementById('status_message');
        e.innerHTML = 'request sent to conferencing server';
	*/
}

function conf_dialout()
{
	conf_action(document.dialout.p.value, '0');
	document.dialout.p.value = '';
	return false;
}

