/*
 *  General Cross Browser Java Script Function 
 */
 
//++
// cross browser get object by id or name.  if the name is
// not a string, it is passed by unchanged since it can't be an id.
// if it is a string, it tries DOM first, then IE 4/5 then Netscape 4
// if forceIEBehavior is true and the getElementById
// fails, routine will try to find a name instead of IE
//--
function getObj( name, forceIEBehavior )
{
    var newObj;
    if ( typeof name == "string" ) {
        if (document.getElementById) {
            newObj = document.getElementById(name);
            if ( newObj == null && forceIEBehavior != null & forceIEBehavior ) {
                var newObjArray = document.getElementsByName( name );
                if ( newObjArray != null && newObjArray.length > 0 ) 
                    newObj = newObjArray[ 0 ];
            }
        }
        else if (document.all)
            newObj = document.all[name];
        else if (document.layers) 
            newObj = document.layers[name];
    }
    else
        newObj = name;
    return newObj;
}


//++
// cross browser get all objects with the same name in an array.
// tries DOM first, then IE 4/5 then Netscape 4
//--
function getObjArray( name )
{
    var newObjArray;
    if ( typeof name == "string" ) {
        if (document.getElementById) 
            newObjArray = document.getElementsByName(name);
        else if (document.all)
            newObjArray = document.all[name];
        else if (document.layers)
            newObjArray = document.layers[name];
    }
    else
        newObjArray = name;
    return newObjArray;
}

//++
// cross browser get style object by id or name.
// tries DOM first, then IE 4/5 then Netscape 4
// if forceIEBehavior is true and the getElementById
// fails, routine will try to find a name instead of IE
//--
function getStyle( name, forceIEBehavior )
{
    var myObj = getObj( name, forceIEBehavior );
    return myObj == null ? null : myObj.style;
}

//++
// cross browser routine to hide an element
//--
function hideElement( name )
{
	if ( document.getElementById ) {
		getStyle( name ).visibility="hidden";
		getStyle( name ).display="none";
	} else if ( document.layers ) {
		getObj( name ).visibility = "hide";
		getObj( name ).display="none";
	}
}

//++
// cross browser routine to show an element
//--
function showElement( name )
{
	if ( document.getElementById ) {
		getStyle( name ).visibility="visible";
		getStyle( name ).display="block";
	} else if ( document.layers ) {
		getObj( name ).visibility = "show";
		getObj( name ).display="block";
	}
}


function checkboxClick(id) {
	cb = getObj(id);
	cb.checked = !cb.checked;
}

function radioClick(id, val) {
	r = getObj(id);
	r.checked = true;
}

function MM_preloadImages() { //v3.0
 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
   var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
   if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}


function clrField(field){
	getObj(field).value = "";
}


/* open iframe and size it to content */
function openWin(from,page){
	frames[from + 'Frame'].location.href = page;
	$('div#' + from + 'Area').toggle();
}

function setHeight(from){
	height =  frames[from + 'Frame'].document.getElementById('formEle').offsetHeight;
	getObj(from + 'Frame').height = height + 'px';
}

function trim(s)
{
	return rtrim(ltrim(s));
}

function ltrim(s)
{
	var l=0;
	while(l < s.length && s[l] == ' ')
	{	l++; }
	return s.substring(l, s.length);
}

function rtrim(s)
{
	var r=s.length -1;
	while(r > 0 && s[r] == ' ')
	{	r-=1;	}
	return s.substring(0, r+1);
}
