var onLoad_FuncQueue = new Array();
include('/ArrayLib.js');


String.prototype.trim = function()
{
	return this.replace(/^\s+/g,'').replace(/\s+$/g,'');
}


var win=null;
function NewWindow(mypage,myname,w,h,scroll,pos)
{
	if(pos=="random"){LeftPosition=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;TopPosition=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;}
	if(pos=="center"){LeftPosition=(screen.width)?(screen.width-w)/2:100;TopPosition=(screen.height)?(screen.height-h)/2:100;}
	else if((pos!="center" && pos!="random") || pos==null){LeftPosition=0;TopPosition=20}
	settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=no';
	win=window.open(mypage,myname,settings);
}


function initPage()
// calls all functions pushed onto the "onLoad" function queue
{
	while( onLoad_FuncQueue.length )
	{
		var f = onLoad_FuncQueue.shift();
		f();
	}
}


function setSelection( objSel, strSel, forceSelection ) {
	if( arguments.length < 3 )
		forceSelection = false;
	if( typeof(objSel) == "undefined" )
		return false;
	if( typeof(objSel.type) == "undefined" )
		return false;
	if( objSel.type != "select-one" )
		return false;
	for (var i = 0; i < objSel.length; ++i)
	{
		if( objSel.options[i].value.toUpperCase() == strSel.toUpperCase() )
		{
			objSel.options[i].selected = true;
			return true;
		}
	}
	if( forceSelection && objSel.options.length )
	{
		objSel.options[0].selected = true;
		return true;
	}
	return false;
}

function setObjectValue( objElm, strVal ) {
	if ( typeof(objElm) == 'undefined' )
		return '';

	switch( objElm.type || objElm[0].type )
	{
		case 'select-one':
		case 'select-multiple':
			setSelection( objElm, strVal, true );
			break;
		case 'checkbox':
		case 'radio':
			if( objElm.length )
				objElm[0].value = strVal;
			else
				objElm.value = strVal;
			break;
		case 'text':
		case 'textarea':
		default:
			objElm.value = strVal;
			break;
	}
	return false;
}


function getSelection( objSel ) {
	return objSel[ objSel.selectedIndex ].value;
}

function getObjectValue(objElm) {
	if ( typeof(objElm) == 'undefined' )
		return '';

	switch( objElm.type || objElm[0].type )
	{
		case 'select-one':
			return ( objElm.selectedIndex == -1 ) ? '' : objElm[ objElm.selectedIndex ].value;
			break;
		case 'select-multiple':
			var values = new Array();
			for( var i = 0; i < objElm.options.length; ++i )
				if( objElm.options[i].selected )
					values.push( objElm.options[i].value );
			return values.join(',');
			break;
		case 'checkbox':
		case 'radio':
			if( !objElm.length )
			{
				if( objElm.value )
					return objElm.value
			}
			else
			{
				var values = new Array();
				for( var i = 0; i < objElm.length; ++i )
					if( objElm[i].checked )
						values.push( objElm[i].value );
				return values.join(',');
			}
			break;
		case 'text':
		case 'textarea':
		default:
			if( objElm.value )
				return objElm.value
			else
				return '';
			break;
	}
}


function formatCurrency(num)
{
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
		num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
		cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		num = num.substring(0,num.length-(4*i+3))+','+num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + '$' + num + '.' + cents);
}


function displayOptions( arrOptions, valSelected )
{
	for( var i=0; i < arrOptions.length; ++i )
		document.write('\t\t\t\t<option value="' + arrOptions[i] + '"' + ( (valSelected==arrOptions[i]) ? 'selected': '' ) + '>' + arrOptions[i] + '</option>');
}


function setOptions( objSel, arrOptions, valSelected )
{
	if( arguments.length < 3 )
		valSelected = "";

	// clear out options in select object
	for( var m=objSel.options.length-1; m > 0; --m )
		objSel.options[m] = null;

	// add all options from arrOptions to select object
	for( var i=0; i < arrOptions.length; ++i )
		objSel.options[i] = new Option( arrOptions[i].text, arrOptions[i].value );

	// set selected option
	setObjectValue( objSel, valSelected );
}


function hideIt(idList)
{
	for( var i = 0; i < arguments.length; i++)
	{
		var id = arguments[i];
		hE(gE(id));
	}
}

function showIt(idList)
{
	for( var i = 0; i < arguments.length; i++)
	{
		var id = arguments[i];
		sE(gE(id));
	}
}

function include(src)
{
	document.write('<script language="Javascript" src="'+src+'"><\/script>');
}
function isValidEmail(sEmail)
{
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9])+$/;
	return (filter.test(sEmail))
}
function doUpperCase(fieldObj)
{
	fieldObj.value=fieldObj.value.toUpperCase();
}