

function cursor_wait() 
{
	document.body.style.cursor = 'wait';
}

function cursor_clear() 
{
	document.body.style.cursor = 'default';
}

function login() 
{	
	try
	{
		_DBG(2,_FUNC(arguments.callee)+":"+"entered");
		var username = document.getElementById("username").value;
		var password = document.getElementById("password").value;
		if(username == "")
		{
			_DBG(2,"invalid username");
			document.getElementById("message_text").innerText = "Invalid Username";
			return;
		}

		if(password == "")
		{
			_DBG(2,"invalid password");
			document.getElementById("message_text").innerText = "Invalid Password";
			return;
		}
		
		cursor_wait();

		document.getElementById("message_text").innerText = "Logging In...";
		_DBG(2,"logging in as \'"+username+"\'...");
		
		x_login(username, password, login_event);
		
		
	}
    catch(ex)
    {	
		_DBG(0,ex.message);
    }
}

function email_password(branding) 
{
	try
	{
		_DBG(2,_FUNC(arguments.callee)+":"+"entered");
		var email_address = document.getElementById("login_email_address").value;
		x_email_password(email_address,branding, email_password_event);
		_DBG(2,"sending password reminder for"+email_address);
	}
    catch(ex)
    {	
		_DBG(0,ex.message, document.URL,document.lastModified, document.referrer);
    }
}



function get_poigroup_array() 
{
	try
	{
		_DBG(2,_FUNC(arguments.callee)+":"+"entered");
		document.getElementById("run_report_button").disabled				= true;	
		document.getElementById("poi_group_filter_select").options.length	= 1;
		document.getElementById("poi_group_filter_select").options[0].value	= 0;
		document.getElementById("poi_group_filter_select").options[0].text	= g_language["loading"] + "...";
		g_sequence_id++;
		x_get_poigroup_array(g_session_id,g_sequence_id, get_poigroup_array_event);		
	}
	catch(ex)
	{
		_DBG(0,ex.message);
	}
}

function get_driver_array() 
{
	try
	{
		_DBG(2,_FUNC(arguments.callee)+":"+"entered");
		document.getElementById("run_report_button").disabled		= true;	
		document.getElementById("driver_select").options.length		= 1;
		document.getElementById("driver_select").options[0].value	= 0;
		document.getElementById("driver_select").options[0].text	= g_language["loading"] + "...";
		g_sequence_id++;
		x_get_driver_array(g_session_id,g_sequence_id, get_driver_array_event);
	}
	catch(ex)
	{
		_DBG(0,ex.message);
	}
}

function get_asset_array() 
{
	try
	{
		_DBG(2,_FUNC(arguments.callee)+":"+"entered");
		document.getElementById("run_report_button").disabled				= true;	
		document.getElementById("asset_select").options.length	= 1;
		document.getElementById("asset_select").options[0].value	= 0;
		document.getElementById("asset_select").options[0].text	= g_language["loading"] + "...";
		g_sequence_id++;
		
		// TODO: Change this to get assets rather than drivers...
		x_get_driver_array(g_session_id,g_sequence_id, get_asset_array_event);		
	}
	catch(ex)
	{
		_DBG(0,ex.message);
	}
}

function get_user()
{
	try
	{
		_DBG(2,_FUNC(arguments.callee)+":"+"entered");
		_DBG(2,"retrieving user info for session: "+g_session_id+"...");
		g_sequence_id++;
		x_get_user(g_session_id,g_sequence_id, get_user_event);		
	}
	catch(ex)
	{
	    _DBG(0,ex.message);
	}
}


function get_languagetoken_array() 
{
	try
	{
		_DBG(2,_FUNC(arguments.callee)+":"+"entered");
		g_sequence_id++;
		x_get_languagetoken_array(g_session_id,g_user['language_id'],g_sequence_id, get_languagetoken_array_event);
	}
	catch(ex)
	{
		_DBG(0,ex.message);
	}
}
 
// call wsi interface into report engine
function get_report(report_id,parameter_list_xml,target_div_id,report_format)
{
	try
	{
		_DBG(2,_FUNC(arguments.callee)+":"+"entered");
		g_sequence_id++;
		_DBG(1,"session:"+g_session_id);
		_DBG(1,"id:"+report_id);
		_DBG(1,"parameter_list_xml:"+parameter_list_xml);
		_DBG(1,"target_div_id:"+target_div_id);
		_DBG(1,"g_sequence_id:"+g_sequence_id);				
		x_get_report(g_session_id,report_id, parameter_list_xml, target_div_id, report_format, g_sequence_id, g_report_offset,1,get_report_event);

	}
	catch(ex)
	{
		_DBG(0,ex.message);
	}
}


// call wsi interface into report engine
function show_print_report(report_id,parameter_list_xml)
{
	try
	{
		_DBG(2,_FUNC(arguments.callee)+":"+"entered");					
		g_sequence_id++;
		x_get_report(g_session_id,report_id, parameter_list_xml, "", "printhtml",g_sequence_id,g_report_offset,1, show_print_report_event);		
	}
	catch(ex)
	{
		_DBG(0,ex.message);
	}
}



function email_report(report_id,subject,parameter_list_xml,recipient_list_xml)
{
	try
	{
		_DBG(2,_FUNC(arguments.callee)+":"+"entered");					
		g_sequence_id++;
		
		x_email_report(g_session_id,report_id,subject,parameter_list_xml,recipient_list_xml ,g_sequence_id, email_report_event);
	}
	catch(ex)
	{
		_DBG(0,ex.message);
	}
}
