/* Navscript.js - script that swaps / fades in subnavigation menus 
Last modified 20/01/2004 - ts - hosting-marketing@pipex.net */


// change this variable for number of subnavs
intMax = 7;

// new and improved object based browser sniffing 
//CS1.1

///////////////////////////////////////
//
//  Client sniffer by Brothercake
//  http://www.brothercake.com/
//
///////////////////////////////////////

var exclude=1;
var agt=navigator.userAgent.toLowerCase();
var win=0;var mac=0;var lin=1;
if(agt.indexOf('win')!=-1){win=1;lin=0;}
if(agt.indexOf('mac')!=-1){mac=1;lin=0;}
var lnx=0;if(lin){lnx=1;}
var ice=0;
var ie=0;var ie4=0;var ie5=0;var ie6=0;var com=0;var dcm;
var op5=0;var op6=0;var op7=0;
var ns4=0;var ns6=0;var ns7=0;var mz7=0;var kde=0;var saf=0;
if(typeof navigator.vendor!="undefined" && navigator.vendor=="KDE"){
	var thisKDE=agt;
	var splitKDE=thisKDE.split("konqueror/index.html");
	var aKDE=splitKDE[1].split("; ");
	var KDEn=parseFloat(aKDE[0]);
	if(KDEn>=2.2){
		kde=1;
		ns6=1;
		exclude=0;
		}
	}
else if(agt.indexOf('webtv')!=-1){exclude=1;}
else if(typeof window.opera!="undefined"){
	exclude=0;
	if(/opera[\/ ][5]/.test(agt)){op5=1;}
	if(/opera[\/ ][6]/.test(agt)){op6=1;}
	if(/opera[\/ ][7-9]/.test(agt)){op7=1;}
	}
else if(typeof document.all!="undefined"&&!kde){
	exclude=0;
	ie=1;
	if(typeof document.getElementById!="undefined"){
		ie5=1;
		if(agt.indexOf("msie 6")!=-1){
			ie6=1;
			dcm=document.compatMode;
			if(dcm!="BackCompat"){com=1;}
			}
		}
	else{ie4=1;}
	}
else if(typeof document.getElementById!="undefined"){
	exclude=0;
	if(agt.indexOf("netscape/6")!=-1||agt.indexOf("netscape6")!=-1){ns6=1;}
	else if(agt.indexOf("netscape/7")!=-1||agt.indexOf("netscape7")!=-1){ns6=1;ns7=1;}
	else if(agt.indexOf("gecko")!=-1){ns6=1;mz7=1;}
	if(agt.indexOf("safari")!=-1 || (typeof document.childNodes!="undefined" && typeof document.all=="undefined" && typeof navigator.taintEnabled=="undefined")){mz7=0;ns6=1;saf=1;}
	}
else if((agt.indexOf('mozilla')!=-1)&&(parseInt(navigator.appVersion)>=4)){
	exclude=0;
	ns4=1;
	if(typeof navigator.mimeTypes['*']=="undefined"){
		exclude=1;
		ns4=0;
		}
	}
if(agt.indexOf('escape')!=-1){exclude=1;ns4=0;}
if(typeof navigator.__ice_version!="undefined") {exclude=1;ie4=0;}

/* Global variables returned by sniffer (variable-description):
ie 	Internet Explorer 4+ and IE-based third-party browsers. You can also be more specific:
ie4 	... Internet Explorer 4 only.
ie5 	... Internet Explorer 5 or 6.
ie6 	... Internet Explorer 6 only.
ns4 	Netscape 4.
ns6 	Gecko and KDE-based browsers - which includes Nestcape 6 and 7, Mozilla, Konqueror and Safari. You can also identify smaller groups within this:
ns7 	... Netscape 7.
mz7 	... any gecko browser except Netscape. This is principally designed to identify Mozilla's own builds from Version 0.6 onwards, but it also returns true for any other non-netscape gecko browser.
kde 	... Konqueror, from KDE 2.2 onwards.
saf 	... Safari. This variable will identify Safari irrespective of which browser it's set to identify as.
op5 	Opera 5.
op6 	Opera 6.
op7 	Opera 7 or later. This, and the previous two variables, will identify Opera irrespective of which browser it's set to identify as.
*/

// browser debugger
/*
document.write("ie5="+ie5);
document.write("firefox="+mz7);
document.write("safari="+saf);
document.write("ns7="+ns7);
*/

function getObj(n, d) {
 return document.getElementById(n);
 /*  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=getObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;*/
}
 
// nav rollover delay (prevents accidental rollovers)
function navTimer(menu) {
	delay = 300; // the time delay (millisecs)
	timer = window.setTimeout("swapNav(" + menu + ")",delay); // sets the timer
}
function clearTimer() {
	// reset timer if it exists
	if (timer != null) { 
		window.clearTimeout(timer);
	}
}



var wait, goIn, intRightNow, inUse, intMax;

function fader( objID, dir ) {
	var fade_index; 
	var doFade = true;
	var fadeBy = 20;
	if(mz7) { var fadeby = 10; }
	var theObj = getObj( objID );
	if ( inUse != '' && inUse != dir ) {
		return;
	}
		
	if ( ( ie5 || ns7 || mz7 || saf ) && doFade ) {
		inUse = dir;
		if( ie5 ) {
			fade_index = theObj.filters.alpha.opacity;
		}
		if(saf) {
			fade_index = theObj.style.opacity * 100; 
		}
		if( ns7 || mz7 ) {
			fade_index = theObj.style.MozOpacity * 100; 
		}
		
		fade_index  = dir == 'in' ? fade_index + fadeBy : fade_index - fadeBy;
		index_limit = dir == 'in' ? 100 : 0;

		if( ie5 ) {
			theObj.filters.alpha.opacity = fade_index;
		}
		if(saf) { theObj.style.opacity = fade_index / 0; } // safari hack - it displays somehting
		
		if( ns7 || mz7 ) {
			theObj.style.MozOpacity = fade_index / 100; 
		}
		
		goIn = setTimeout( 'fader( \'' + objID + '\', \'' + dir + '\' )', 15 );
		if( ( dir == 'in' && fade_index >= index_limit ) || ( dir == 'out' && fade_index <= index_limit ) ) { //reached limit
			clearTimeout( goIn );
			inUse = '';
		}
	} else { // all other browsers do simple rollover nav
		var disp = dir == 'in' ? 'inline' : 'none';
		theObj.style.display = disp;
	}
}

/*
function addNewsSpace() {
	if (mz7)
		document.getElementById("news").innerHTML = '<br /><br /><br />' 
												  + document.getElementById("news").innerHTML 
												  + '<br /><br /><br />';
}
*/

// MM Navigator resize fix
function MM_reloadPage(init) { if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }} else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();} MM_reloadPage(true);


