/* --------------------------------------------------------------------------------
	file:		CrossBrowserFunctions.js
	purpose:	cross browser DOM access and modify functions, used mostly for UI stuff.
	created by:	Brandon Kelly / FauxTel, Inc.
	date:		August 24, 2004
   -------------------------------------------------------------------------------- */

var isW3C = (document.getElementById != null);
var isNN4 = (document.layers != null);
var isIE4 = (document.all != null);

function toggleLayer(name) {
	if (isW3C) {
		if (document.getElementById(name).style.display == 'none')
			document.getElementById(name).style.display = 'inline';
		else
			document.getElementById(name).style.display = 'none';
	} else if (isNN4) {
		// alert('NN4 toggle '+name+'('+document.layers[name].visibility +')');
		if (document.layers[name].visibility == 'hide')
			document.layers[name].visibility = 'visible';
		else
			document.layers[name].visibility = 'hidden';
	} else if (isIE4) {
		if (document.all.name.style.visibility == 'hidden')
			document.all.name.style.visibility = 'visible';
		else
			document.all.name.style.visibility = 'hidden';
	}
}
function getHandlerName(functionText)
{
        var nameStartToEnd=functionText.replace("function","");
        functionName=nameStartToEnd.substring(1,nameStartToEnd.indexOf("("));
        /*
        var nameEndChar=nameStartToEnd.indexOf("(");
        var functionName=nameStartToEnd.substring(1,nameEndChar);
        */
        return(functionName);
}
function showLayer(name) {
	if (isW3C) {
		document.getElementById(name).style.display = 'inline';
	} else if (isNN4) {
		document.layers[name].visibility = 'visible';
	} else if (isIE4) {
		document.all.name.style.visibility = 'visible';
	}
}
	
function hideLayer(name) {
	if (isW3C) {
		document.getElementById(name).style.display = 'none';
	} else if (isNN4) {
		document.layers[name].visibility = 'hidden';
	} else if (isIE4) {
		document.all.name.style.visibility = 'hidden';
	}
}
	
function getObj(id) {
	if (isW3C) {
		return document.getElementById(id);
	} else if (isIE4) {
		return document.all[id];
	} else if (isNN4) {
		return document.layers[id];
	}
}

function getStyle(id) {
	if (isW3C) {
		return document.getElementById(id).style;
	} else if (isIE4) {
		return document.all[id].style;
	} else if (isNN4) {
		return document.layers[id];
	}
}

function selectOption(element, value) {
	var i;
	for (i=0;i<element.options.length;i++) {
		if (element.options[i].value.toLowerCase() == value.toLowerCase()) {
			element.selectedIndex = i;
		}
	}
}

function setAllOptionsByControlType(id, value, type) {
	var i=0;
	var e;
	while ((e = getObj(type+id+'_'+i++)) != null ) {
		e.checked = ( value ? true : false );
	}
}

function setAllOptions(id, value) {
	var i=0;
	var e;
	while ( (e = getObj(id+'_'+i++)) != null ) {
		e.checked = ( value ? true : false );
	}
}

function selectedValue(element) {
	return element.options[element.selectedIndex].value
}

function getSelectedOption(id) {
	var a=null;
	var i=0;
	var e;
	while ( (e = getObj(id+'_'+i++)) != null ) {
		if ( e.checked ) {
			a = e.value;
			break;
		}
	}
	
	return a;
}
