// Sniffer based on http://www.mozilla.org/docs/web-developer/sniffer/browser_type.html

var uagent    = navigator.userAgent.toLowerCase();

var is_safari = ( (uagent.indexOf('safari') != -1) || (navigator.vendor == "Apple Computer, Inc.") );

var is_opera  = (uagent.indexOf('opera') != -1);

var is_kon    = (uagent.indexOf('konqueror') != -1);

var is_webtv  = (uagent.indexOf('webtv') != -1);

var is_ie     = ( (uagent.indexOf('msie') != -1) && (!is_opera) && (!is_safari) && (!is_webtv) );

var is_ie4    = ( (is_ie) && (uagent.indexOf("msie 4.") != -1) );

var is_moz    = (navigator.product == 'Gecko');

var is_ns     = ( (uagent.indexOf('compatible') == -1) && (uagent.indexOf('mozilla') != -1) && (!is_opera) && (!is_webtv) && (!is_safari) );

var is_ns4    = ( (is_ns) && (parseInt(navigator.appVersion) == 4) );



var is_win    =  ( (uagent.indexOf("win") != -1) || (uagent.indexOf("16bit") !=- 1) );

var is_mac    = ( (uagent.indexOf("mac") != -1) || (navigator.vendor == "Apple Computer, Inc.") );

var ua_vers   = parseInt(navigator.appVersion);



var reportStatus = new Array();

function report ( msg ) {

    reportStatus.push ( msg );

}

function showReport ( err ) {

    alert ( reportStatus.join ( "\n" ) );

}

window.onerror = function ( err, url, line ) {

    report ( err + " [" + url + " - line " + line + "]" );

    showReport();

}



function getByID(elem) {

	if(document.getElementById) {

		return document.getElementById(elem);

	} else if (document.all) {

		return document.all[elem];

	} else if (document.layers) {

		return document.layers[elem];

	} else {

		return null;

	}

}



function toggleDisplay(elem) {

	elem = getByID(elem);

	if(elem.style.display == 'none')

		elem.style.display = ''

	else

		elem.style.display = 'none';

}



/**

    TABS

 */

var currentTab = '';

function setTab(tab) 

{

	if (currentTab == tab)

	   return false;

	   

	if (getByID('tab_' + currentTab))

    {

		getByID('tab_' + currentTab).className='tabHidden';

		getByID('tabStub_' + currentTab).className='';

    }



	currentTab = tab;

		

	if (getByID('tab_' + tab))

	{

		getByID('tab_' + tab).className='';

		getByID('tabStub_' + tab).className='tabStubActive';

		getByID('tabStub_' + tab).blur();

	}



	// Get the tab form element

	tabMemory = getByID('tab_memory');

	if (tabMemory)

	{

        tabMemory.value = tab;

    }



	// Prevent page changes...

	return false;

}



function initTabs(defaultTab)

{

    document.write("<input type=hidden name=tab id=tab_memory value='" + defaultTab + "' />");

    return setTab(defaultTab);

}