var agt=navigator.userAgent.toLowerCase();
var ns4 = (document.layers)? true:false;				//Detect Browsers DTW 27/03/2004
var ie4 = (document.all && !document.getElementById) ? true : false;
var ie5 = (document.all && document.getElementById) ? true : false;
var n6 = (document.getElementById && !document.all) ? true : false;
var is_mac = (agt.indexOf("mac")!=-1);
var loaded=0;
var flashStr="";
var noFlashStr="";
var imagesLoaded=false;

if(ns4)window.location="http://webstandards.org/upgrade/";

//Flash detection routines DTW 27/03/2004
var flash4Installed = false;
var flash5Installed = false;
var flash6Installed = false;
var flash7Installed = false;
var verNo=0;
var flashInstalled = false;

var isIE = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;		
var isWin = (navigator.appVersion.indexOf("Windows") != -1) ? true : false;

if(isIE && isWin){ 
	document.write('<SCR' + 'IPT LANGUAGE=VBScript\> \n');
	document.write('on error resume next \n');
	document.write('flash4Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.4"))) \n');
	document.write('flash5Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.5"))) \n');
	document.write('flash6Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.6"))) \n');
	document.write('flash7Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.7"))) \n');
	document.write('</SCR' + 'IPT\> \n');
}


function detectFlash()
{
if (navigator.plugins)
{								
	if (navigator.plugins["Shockwave Flash"])
	{
	var flashDescription = navigator.plugins["Shockwave Flash"].description;
	var flashVersion = parseInt(flashDescription.charAt(flashDescription.indexOf(".") - 1));
	verNo=flashVersion;
	if (verNo<5) return false; else  return true;
	}
}

if (flash4Installed == true) {verNo=4; flashInstalled=true;}
if (flash5Installed == true) {verNo=5; flashInstalled=true;}
if (flash6Installed == true) {verNo=6; flashInstalled=true;}
if (flash7Installed == true) {verNo=7; flashInstalled=true;}
if (verNo<5) return false;

window.status="Flash installed=: " + flashInstalled + " <--> Version: " + verNo;
if (flashInstalled == true) return true;
}



var bNames="";
var path='images/nav/';
var btn=new Array(); 

function Button(name){ 
	this.on=new Image(); 
	this.on.src=path+name+'~.gif'; 
	this.off=new Image(); 
	this.off.src=path+name+'.gif'; 
} 


function rollOn(name){
	if(!imagesLoaded)return;
	document[name].src=btn[name].on.src; 
} 
function rollOff(name) {
	if(!imagesLoaded)return;
	document[name].src=btn[name].off.src;
}

function preload(arrayStr,pathStr){ 
	path=pathStr;
	bNames=arrayStr.split(' '); 
	for(i=0; i<bNames.length; i++) btn[bNames[i]]=new Button(bNames[i]); 
	imagesLoaded=true;
	} 	


function popUp(str,w,h)
{
paramsStr="width="+ w +",height="+ h +",scrollbars=yes,toolbar=no";
if (window.winref && !window.winref.closed)
	{
	window.winref.focus();
	}
	else
	{
	 winref=window.open(str,"",paramsStr);
	}
}

function popUpMap(str,w,h)
{
paramsStr="width="+ w +",height="+ h +",scrollbars=yes,toolbar=no";
if (window.winref && !window.winref.closed)
	{
	window.winref.focus();
	}
	else
	{
	 winref=window.open(str,"",paramsStr);
	}
}


function getTour(){
if(detectFlash()) location.href="tour_flash.asp"; else location.href="tour.asp";
}


function emailCheck (emailStr) {
var emailPat=/^(.+)@(.+)$/
var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
var validChars="\[^\\s" + specialChars + "\]"
var quotedUser="(\"[^\"]*\")"
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
var atom=validChars + '+'
var word="(" + atom + "|" + quotedUser + ")"
var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")



var matchArray=emailStr.match(emailPat)
if (matchArray==null) {
	alert("Email address seems incorrect (check @ and .'s)")
	return false
}
var user=matchArray[1]
var domain=matchArray[2]

// See if "user" is valid 
if (user.match(userPat)==null) {
    // user is not valid
    alert("The username doesn't seem to be valid.")
    return false
}

var IPArray=domain.match(ipDomainPat)
if (IPArray!=null) {
	  for (var i=1;i<=4;i++) {
	    if (IPArray[i]>255) {
	        alert("Destination IP address is invalid!")
		return false
	    }
    }
    return true
}

var domainArray=domain.match(domainPat)
if (domainArray==null) {
	alert("The domain name doesn't seem to be valid.")
    return false
}


var atomPat=new RegExp(atom,"g")
var domArr=domain.match(atomPat)
var len=domArr.length
if (domArr[domArr.length-1].length<2 || 
    domArr[domArr.length-1].length>3) {
   alert("The address must end in a three-letter domain, or two letter country.")
   return false
}

if (len<2) {
   var errStr="This address is missing a hostname!"
   alert(errStr)
   return false
}

return true;
}