<style type="text/css">
.contenton{display:block;}
.contentoff{display:none;}
</style>
<script type="text/javascript">
function switchCheck(obj,name) {

	var el = document.getElementById(obj);
	el.className = ( el.className == "contenton" )? "contentoff":"contenton"
	
	//debug Info alert(document.committers.elements[name].value);
	
	if( document.committers.elements[name].value == "0")
	  document.committers.elements[name].value = "1";
	else
	  document.committers.elements[name].value = "0";
	
    //debug info alert(document.committers.elements[name].value);
		
}
</script>
<?php
//bugzilla version cache file location
define( "VersionCache", "/home/data/httpd/bugs.eclipse.org/html/bugzilla-2.20/data/versioncache");

function debug_msg( $message, $level = 0) {
  if( defined('DEBUG') && $level <= DEBUG ){
  	echo $message . "\n\r</br>";
  }
}
/*****************************************
* 
* Name: 
* Function: 
* 
* Date: Jan 31/06
* By: M. Ward
* 
******************************************/
function checkpost( $var ) {
  if ( !isset($var) || $var == '') return 0;
  return 1;
}

/**********************************8
 * 
 * Name: Show warning
 * Function: displays a red warning message
 * Date: Mar 01/06
 * By: M. Ward
 * 
 *********************************/
function showwarning(){
?>
<p><font style="background-color: #f33;"> NOTE: All new additions are final, and cannot be undone.</font></p>
<?php	
}
?>