/* Common AFS Form control and checking Java Script functions */
/* This file is included by the afswrapper.php file */


function AFS_enable_control(ctrl_id)
{//alert("AFS enable control");
var ctrl = document.getElementById(ctrl_id);
ctrl.disabled = false;}

function AFS_disable_control(ctrl_id)
{var ctrl = document.getElementById(ctrl_id);
ctrl.disabled = true;}

// Set focus to specified form control
function AFS_set_focus(ctrl_id)
	{var ctrl_tb = document.getElementById(ctrl_id);  ctrl_tb.focus(); }

// Check that one of the elements in a selection list has been selected - assumes element 0 is empty
function AFS_ck_select(select_id)
{var select_elem = document.getElementById(select_id);
 if (select_elem.selectedIndex == 0) 
	{return(false);}
 return(true);}

// Boolean function to check that an entered charge code matchs a valid template
// Alerts the user if the entered CC does not match
function AFS_is_good_charge_code(ctrl_id)
{try 
	{var RE_short_cc = /^[A-Z0-9]{10}\.[A-Z0-9]{9}\.[A-Z0-9]{6}/i;
	var RE_long_cc = /^[A-Z0-9]{10}\.[A-Z0-9]{9}\.[A-Z0-9]{6}\.[A-Z0-9]{12}/i;
	var ctrl = document.getElementById(ctrl_id);
	//alert("In is good charge code");
	cc = ctrl.value;
	if (cc.length == 27)
		{if (cc.match(RE_short_cc))	{return(true);}}
	else if (cc.length = 30)
		{if (cc.match(RE_long_cc))	{return(true);}}
	mssg = "You have entered an invalid charge code. \n\r"
	mssg = mssg + "Format for charge codes is:\n\r\n\r"
	mssg = mssg + "Cost Center.Functional Area[.Work Breakdown Structure]\n\r\n\r"
	mssg = mssg + "Where Cost Center is 10 Alpha Numeric Characters. \n\r"
	mssg = mssg + "The Functional Area is 9 Alpha Numeric Characters, a period, and 6 Alpha Numeric Characters. \n\r"
	mssg = mssg + "And the optional Work Breakdown Area is 12 Alpha Numeric Characters. \n\r"
	mssg = mssg + "For Example: LLAK9F3200.LO7770900.XZ0000.LFSPEA9F0000"
	alert (mssg);
	return(false);}
catch(err)
	{var txt="There was an error in script AFS_is_good_charge_code.\n\n";
	txt+="Error description: " + err.description + "\n\n";
	txt+="Click OK to continue.\n\n";
	alert(txt);}
}

function AFS_ck_radio(radio_name)
{//alert("ckRadio for " + radio_name);
var colRadio = document.getElementsByName(radio_name);
for (var i = 0; i < colRadio.length; i++)
  {if (colRadio[i].checked) 	{ return(true);	} }
return false;}
	
function AFS_set_initial_focus(elem_id)
	{//alert("in set initial focus"); 
	var elem = document.getElementById(elem_id); elem.focus()}

function AFS_submit_form(form_id,target_page)
	{ var frm = document.getElementById(form_id); frm.action = target_page; frm.submit(); }

function AFS_get_radio_value(radio_name)
    {var colRadio = document.getElementsByName(radio_name);
	for (var i = 0; i < colRadio.length; i++)
  		{if (colRadio[i].checked) { return(colRadio[i].value);}}
	return(null);}

