
function toggleLayer( whichLayer )
{
    var elem, vis;
	var newval;

    if( document.getElementById ) // this is the way the standards work
        elem = document.getElementById( whichLayer );
    else if( document.all ) // this is the way old msie versions work
        elem = document.all[whichLayer];
    else if( document.layers ) // this is the way nn4 works
        elem = document.layers[whichLayer];
        
    vis = elem.style;  // if the style.display value is blank we try to figure it out here
    
    if(vis.display == '')
    {
        if( elem.offsetWidth != undefined )
        {
            if( elem.offsetHeight != undefined)
            {
                newval = 'none';
                if( elem.offsetWidth != 0 )
                {
                    if( elem.offsetHeight != 0 )
                    {
                        newval = 'block';
                    }
                }
                
                vis.display = newval
            }
        }
    }

	// Toggle display state
    vis.display = (vis.display==''||vis.display=='block')?'none':'block';
	
	return vis.display;
}

function GetElById(id)
{
	var elem;
	
    if( document.getElementById ) // this is the way the standards work
        elem = document.getElementById( id );
    else if( document.all ) // this is the way old msie versions work
        elem = document.all[id];
    else if( document.layers ) // this is the way nn4 works
        elem = document.layers[id];
		
	return elem;
}

function GetElementState(el)
{
    var visx = el.style;  // if the style.display value is blank we try to figure it out here
	var state = '';
	var newval;

    if(visx.display == '')
    {
        if( el.offsetWidth != undefined )
        {
            if( el.offsetHeight != undefined)
            {
                newval = 'none';
                if( el.offsetWidth != 0 )
                {
                    if( el.offsetHeight != 0 )
                    {
                        newval = 'block';
                    }
                }
                
                state = newval
            }
        }
    }
	else 
	{
		state = visx.display;
	}
	
	return state;
}

function toggleDir( dirname )
{
    var elem, vis, imgid;
	
	// toggle the layer
	vis = toggleLayer( dirname );
	
	// Change the image
	
	imgid = "img" + dirname;

    if( document.getElementById ) // this is the way the standards work
        elem = document.getElementById( imgid );
    else if( document.all ) // this is the way old msie versions work
        elem = document.all[imgid];
    else if( document.layers ) // this is the way nn4 works
        elem = document.layers[imgid];
	
	if( vis == "block" )
	{
		elem.src = "/img/opendir.gif";
	}
	else
	{
		elem.src = "/img/closedir.gif";
	}
}

function expandAll()
{
	// Find all branches to expand
	var vis, vis2, elem, childElemName, childElem;
	var elems=document.getElementsByName("toggleable");
	var i;

	for( i=0; i<elems.length; i++ )
	{
		elem = elems[i];
		childElemName = elem.id.substring(3, elem.id.length);
		childElem = document.getElementById(childElemName);
		
		vis = GetElementState(elem);
		vis2 = GetElementState(childElem);
		if( vis2 == "none" )
		{
			toggleDir(childElemName);
		}
	}
}

function collapseAll()
{
	// Find all branches to expand
	var vis, vis2, elem, childElemName, childElem;
	var elems=document.getElementsByName("toggleable");
	var i;

	for( i=0; i<elems.length; i++ )
	{
		elem = elems[i];
		childElemName = elem.id.substring(3, elem.id.length);
		childElem = document.getElementById(childElemName);
		
		vis = GetElementState(elem);
		vis2 = GetElementState(childElem);
		if( vis2 == "block" )
		{
			toggleDir(childElemName);
		}
	}
}

function SelectText( textbox )
{
  document.getElementById(textbox).select()
}

function AddBookmark( layer, url, text )
{
	var ver = navigator.appName
	var num = parseInt(navigator.appVersion)

	toggleLayer(layer);
	/*
	if ((ver == "Microsoft Internet Explorer")&&(num >= 4)) {
	   javascript:window.external.AddFavorite(url,text);
	}else{
		toggleLayer(layer);
	} 
	*/
}

function plusone_vote( obj ) {
	if (typeof _gaq != 'undefined') {
		_gaq.push(['_trackEvent','plusone', obj.state]);
	}
}

