function toggle( elementid )
  {
    if (document.getElementById( elementid ).disabled == true) {
  		document.getElementById( elementid ).disabled=false;
	} else {
		document.getElementById( elementid ).disabled=true;
	}
  }
function enableThis( elementid )
  {
    if (document.getElementById( elementid ).disabled == true) {
  		document.getElementById( elementid ).disabled=false;
	}
  }
function disableThis( elementid )
  {
    if (document.getElementById( elementid ).disabled == false) {
  		document.getElementById( elementid ).disabled=true;
	}
  }
function showHide( elementid )
  {
    if (document.getElementById( elementid ).style.display == 'inline') {
  		document.getElementById( elementid ).style.display='none';
	} else {
		document.getElementById( elementid ).style.display='inline';
	}
  }

function hideThis( elementid )
  {
    if (document.getElementById( elementid ).style.display == 'inline') {
  		document.getElementById( elementid ).style.display='none';
	}
  }

function showThis( elementid )
  {
    if (document.getElementById( elementid ).style.display == 'none') {
  		document.getElementById( elementid ).style.display='inline';
	}
  }

function showMeHideMe( showid, hideid )
  {
    document.getElementById( hideid ).style.display='none';
	document.getElementById( showid ).style.display='inline';
  }

function contentToElement(id, new_value)
{
  if (id.length == 0)
  {
    return;
  } else {
    document.getElementById(id).innerHTML = new_value;
    return true;
  }
}

function changeFormValue(id, new_value)
{
  if (id.length == 0)
  {
    return;
  } else {
    document.getElementById(id).value = new_value;
    return true;
  }
}

function changeMultiFormValue(id, formid, new_value)
{
  if (id.length == 0)
  {
    return;
  } else {
    x = document.getElementById(formid);
	for ( i = 0; i <= x.length-1; i++ )
	{
		if (x[i].name == id) {
			x[i].value = new_value;
		    return true;
		}
	}
  }
}

function changeFormSelect(id, new_value)
{
  if (id.length == 0)
  {
    return;
  } else {
    document.getElementById(id).selectedIndex = new_value;
    return true;
  }
}

function changeRow( id, color )
{
	var row = document.getElementById( id );
	var cells = row.getElementsByTagName( 'td' );
	for ( i = 0; i <= cells.length-1; i++ )
	{
		cells[i].style.backgroundColor=color;
	}
}

function goToURL( url )
{
window.location=url
}

function changeBackground(id, new_value)
{
  if (id.length == 0)
  {
    return;
  } else {
    document.getElementById(id).style.background = new_value;
    return true;
  }
}

function checkUncheckAll(theElement) {
    var theForm = theElement.form, z = 0;
	for(z=0; z<theForm.length;z++){
    	if(theForm[z].type == 'checkbox' && theForm[z].name != 'checkall'){
			theForm[z].checked = theElement.checked;
	  	}
	}
}

function CheckAll(thisForm)
{
 var ourForm = document.getElementById(thisForm);
for (i = 0; i < ourForm.length; i++)
	{
	if (ourForm.elements[i].id != 'checkAllNone') { ourForm.elements[i].checked = true; }
	}
}

function UncheckAll(thisForm)
{
 var ourForm = document.getElementById(thisForm);
for (i = 0; i < ourForm.length; i++)
	{
		if (ourForm.elements[i].id != 'checkAllNone') { ourForm.elements[i].checked = false; }
	}
}

function CheckThis(id) {
	document.getElementById(id).checked=true;
}

function updateCheckboxes(ourForm, returnElement)
{
	var checked_items = '';
	var str;
	var thisForm = document.getElementById(ourForm);
	for ( i = 0; i < thisForm.elements.length; i++ ) {
		if (thisForm.elements[i].checked) {
			str = thisForm.elements[i].value;
			checked_items = checked_items + '^' + str;
		}
	}
	if (checked_items.length > 0) {
		// Test to see if element already exists
		var myvalues = document.getElementById("check_values");
		myvalues.value = checked_items;
	}

	// Call the form's submit method
	thisForm.elements["closer"].onclick();
}

/**
*
* Javascript trim, ltrim, rtrim
* http://www.webtoolkit.info/
*
*
**/

function trim(str, chars) {
    return ltrim(rtrim(str, chars), chars);
}

function ltrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}

function rtrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}

function tablerow_toggle(id) {
	var tr = document.getElementById(id);
	if (tr==null) { return; }
	var bExpand = tr.style.display == '';
	tr.style.display = (bExpand ? 'none' : '');
}
function tablerow_changeimage(id, sMinus, sPlus) {
	var img = document.getElementById(id);
	if (img!=null) {
		var bExpand = img.src.indexOf(sPlus) >= 0;
		if (!bExpand)
			img.src = sPlus;
		else
			img.src = sMinus;
	}
}
function ExpandCollapseRow(rowid, imgid) {
	tablerow_changeimage(imgid, 'http://www.forkie.com/img/icons/silk/icons/zoom_out.png', 'http://www.forkie.com/img/icons/silk/icons/zoom_in.png');
	tablerow_toggle(rowid);
}