/* my own getElementsByClass based on getElementsByTagName.
Returns an array of elements that can be [indexe]'d */
function getElementsByClass(searchClass, tag) {
	if (tag=='') tag='*';
	
	var classElements = new Array();
	var els = document.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
	}

/* count down minutes on signout.php 
A js timer is used just to eliminate the page refreshes inherent in a PHP timer */
function decrMin() {
	var minute = document.getElementById('minID').innerHTML-1;
	document.getElementById('minID').innerHTML=minute;
	if(minute<1) location.href = '?wP=timeout';
	}


/* MENUS ************************************************************************
these functions are called by <ul class='m' id=wM> mouseover events ****************/

function showM(wM){
		//get the hidden <li> in the menu <ul id=wM>
	var the_inputs=document.getElementById(wM).getElementsByTagName("li");
	for(var n=0;n<the_inputs.length;n++){
		if(the_inputs[n].className=="mhide") the_inputs[n].className="mshow";
		}
	}

function hideM(wM){
		//get the shown <li> in the menu <ul id=wM>
	var the_inputs=document.getElementById(wM).getElementsByTagName("li");
	for(var n=0;n<the_inputs.length;n++){
		if(the_inputs[n].className=="mshow") the_inputs[n].className="mhide";
		}
	}


//position menu relto scrollbar
function pstnMenu() {
	d = document.getElementById('barID');
	var scrollNum;
	//var scrollNum=document.documentElement.scrollTop;
	//var scrollNum=window.pageYOffset;
	if( typeof( window.pageYOffset ) == 'number' )
		scrollNum = window.pageYOffset;	//Netscape
	else if( document.body && document.body.scrollTop )
		scrollNum = document.body.scrollTop;	//DOM
	else if( document.documentElement && document.documentElement.scrollTop ) 
		scrollNum = document.documentElement.scrollTop;	//IE6

	if(scrollNum > 100) {
		d.style.position='fixed';
		d.style.top='0px';
		}
	else {
		d.style.position='absolute';
		d.style.top='100px';
		}
	}

/* MENUS ************************************************************************
********************************************************************************/

//attache onscroll event to window, IE-only
function doAttachEvent(){
	window.attachEvent("onscroll", pstnBar);
	}

//position bar relto scrolling
function pstnBar() {
	d = document.getElementById('barID');
	var scrollNum=document.documentElement.scrollTop;
	if(scrollNum > 140) {
		d.style.position='fixed';
		d.style.top='0px';
		}
	else {
		d.style.position='absolute';
		d.style.top='140px';
		}
	}


/* POSITION STUFF *****************************************************************
**********************************************************************************/

//expand height of <div id=scrollportID class=scrollport> toaccomodate hor scrollbar
function scrollportHeight(adj) {
	d = document.getElementById('scrollportID');
	adj=parseInt(adj);
	var newHeight=d.clientHeight;
	newHeight=newHeight + adj;
	newHeight=newHeight + 'px';
	d.style.height=newHeight;
	}

/* checkAll() checks all checkboxes in a form **********************************************/
function checkAll() {
	var theCheckboxes = new Array();
	theCheckboxes = getElementsByClass('chk', 'input');
	var numCheckboxes = theCheckboxes.length;
	for (i = 0; i < numCheckboxes; i++) theCheckboxes[i].checked=true;
	}



/* uncheckAll() un-checks all checkboxes in a form **********************************************/
function uncheckAll() {
	var theCheckboxes = new Array();
	theCheckboxes = getElementsByClass('chk', 'input');
	var numCheckboxes = theCheckboxes.length;
	for (i = 0; i < numCheckboxes; i++) theCheckboxes[i].checked=false;
	}
