
// code to allow many functions to be ran on startup | START
var startups = new Array();

function addStartup(func){
	startups[startups.length] = func;
}//addStartup


function runStartups(){
	for(var i=0; i < startups.length; i++ ){
		eval(startups[i]);
	}
}//runStartups
// code to allow many functions to be ran on startup | END

// Code to work out the correct ording of form element as defined by w3c
function focusFirstElement()
{
	if(document.forms.length > 0){
		var elements = document.forms[0].elements;
		if(elements.length > 0){
			var ordering = getFormElementsOrder();
			var temp = ordering[0].split(':',2);
			elements[parseInt(temp[1])].focus();
		}
	}
}

function autoTabOrdering()
{
	if(document.forms.length > 0){
		var elements = document.forms[0].elements;
		if(elements.length > 0){
			var ordering = getFormElementsOrder();
			for(x=0;x<elements.length;x++){
				var temp = ordering[x].split(':',2);
				elements[parseInt(temp[1])].tabIndex = (x+1);
			}
		}
	}
}

function getFormElementsOrder()
{
	if(document.forms.length > 0){
		var auto_ordering = 1;
		var elements = document.forms[0].elements;
		var ordering = new Array();
		var count = 0;
		for(x=0;x<elements.length;x++){
			if(elements[x].type!='hidden' && elements[x].disabled!='disabled'){
				if(elements[x].tabIndex==null || elements[x].tabIndex=="" || elements[x].tabIndex=="undefined"){
					str = '999999'+(auto_ordering++);
				}else{
					str = elements[x].tabIndex;
				}
				str = str+':'+x;
				ordering[count++]=str;
			}
		}
		ordering.sort();
		return ordering;
	}
}

//addStartup('focusFirstElement()');
