/* rcc.js		File containing general scripts for ECCA
	Created by Questronics Computing Service
*/

var ns4 = document.layers
var ie4 = document.all
var ns6 = document.getElementById && !document.all
var isOpera = (navigator.userAgent.indexOf("Opera") != -1)
var isNav = ((ns4 || ns6) && !isOpera)
var isIE = (!isNav && !isOpera)
var isWeb = (document.location.href.toLowerCase().indexOf("www") != -1) 
var BrowserName, Browser, BrowserVersion, BrowserFullVersion, ClientPlatform
with (navigator) {
	BrowserName = appName
	Browser = appVersion
	ClientPlatform = platform
	BrowserCode = appCodeName
	BrowserAgent = userAgent
}

var ie5 = false
if (isIE) {
	BrowserFullVersion = parseFloat(BrowserAgent.substr(BrowserAgent.indexOf('MSIE') + 5))
	ie5 = (BrowserFullVersion >= 5)
	BrowserFullVersion = BrowserFullVersion.toString(10)
} else { BrowserFullVersion = BrowserAgent.substr(BrowserAgent.indexOf('Netscape') + 8) }
var is40 = (BrowserFullVersion.indexOf("4.0") != -1)
var just = (ie5 || ns6)
//just=false
var screen800 = (screen.availWidth <= 800)

var i = 0
var host = document.location.href.toLowerCase() 
//alert(host)
if (host.indexOf("www") != -1) {
	i = host.indexOf("supanet.com") 
	if (i != -1) {
		self.document.location.href = "http://www.EasternCounties.org.uk" + host.substr(i+11)
	}
}

// EMAIL ADDRESSES //

var Emails = new Array()
i = 0
Emails[i++] = new Data ("EccaGenSec", "General Secretary", "Peter Beresford", "", "", "020 8989 5551" )
Emails[i++] = new Data ("EccaPres", "President", "Richard Spanton", "", "", "01375 379962", "" )
Emails[i++] = new Data ("EccaChair", "Chairman", "Trevor Pedley", "grainger476", "btinternet.com", "01708 228677" )
//Emails[i++] = new Data ("EccaChair", "Chairman", "Alan M. Osborne", "osborne41", "talktalk.net", "020 8599 0455", "020 8599 0291" )
Emails[i++] = new Data ("EccaTreasurer", "Treasurer", "Darryl Leese", "darryl.leese", "diageo.com", "01277 230595" )
Emails[i++] = new Data ("EccaRRSec", "Road Records Secretary", "Peter Smith", "smithepping", "hotmail.com", "01992 573591" )
Emails[i++] = new Data ("EccaTrackSec", "Track Secretary", "to be appointed", "", "", "" )
//Emails[i++] = new Data ("EccaTrackSec", "Track Secretary", "Andrew Ballentyne", "andrewb", "eurobase-systems.com", "01277 221538" )
Emails[i++] = new Data ("EccaArchivist", "ECCA Archivist", "Diana Freeman", "diana.freeman100", "tiscali.co.uk", "01379 668749" )
Emails[i++] = new Data ("FestivalOrg", "Festival Organiser", "Alan M. Osborne", "osborne41", "talktalk.net", "020 8599 0455", "020 8599 0291" )
Emails[i++] = new Data ("EccaViceChair", "Vice-Chairman", "Peter Smith", "smithepping", "hotmail.com", "01992 573591" )
Emails[i++] = new Data ("EccaAsstSec", "Asst. General Secretary", "Peter Wermerling", "", "", "020 8500 3316" )
Emails[i++] = new Data ("EccaAwardsSec", "Awards Secretary", "Terry Anderson", "terry", "bigtel.me.uk", "01245 467683" )
Emails[i++] = new Data ("EccaEquipSec", "Equipment Secretary", "Stan Broom", "stanley.broom", "ntlworld.com", "020 8595 4727" )
Emails[i++] = new Data ("EccaMarshalSec", "Marshalling Secretary", "Joan Potts", "Cyclingpotts", "aol.com", "01245 354884" )
Emails[i++] = new Data ("EccaBARSec", "B.A.R. Secretary", "Michael Purvis", "", "", "01277 840120" )
Emails[i++] = new Data ("EccaSocialSec", "Social Secretary", "Trevor Pedley", "grainger476", "btinternet.com", "01708 228677" )
Emails[i++] = new Data ("EccaNewsEditor", "Newsletter Editor", "Bill Thorncroft", "", "", "01277 231306" )
Emails[i++] = new Data ("EccaWebMaster", "Webmaster", "Alan M. Osborne", "WebMaster", "EasternCounties.org.uk", "020 8599 0455", "020 8599 0291" )
Emails[i++] = new Data ("PhilWhitehorn", "Phil Whitehorn", "Phil Whitehorn", "phil", "whitehorn.freeserve.co.uk")
Emails[i++] = new Data ("RichardParrotte", "Richard Parrotte", "Richard Parrotte", "r.parrotte", "btinternet.com", "01245 421088" )
Emails[i++] = new Data ("KeithWest", "Keith West", "Keith West", "west", "questronics.co.uk", "01277 624165" )
Emails[i++] = new Data ("DaveBristow", "Dave Bristow", "Dave Bristow", "dave.bristow1", "ntlworld.com ", "" )

var clubSites = new Array()
i = 0
clubSites[i] = new linkItem(i++, "Addiscombe", "Addiscombe CC", "addiscombe.org", "Addiscombe C.C.")
//clubSites[i] = new linkItem(i++, "Apibikes", "Apibikes.com", "apibikes.com/team", "Apibikes.com")
clubSites[i] = new linkItem(i++, "Becontree", "Becontree Wheelers CC", "harragan.freeserve.co.uk", "Becontree Wheelers C.C.")	
clubSites[i] = new linkItem(i++, "Bishops Stortford", "Bishop's Stortford CC", "bs-cc.org", "Bishop's Stortford C.C.")
clubSites[i] = new linkItem(i++, "Cambridge", "Cambridge CC", "cambridge-cycling-club.org.uk", "Cambridge C.C.")
clubSites[i] = new linkItem(i++, "CC Bexley", "CC Bexley", "cycleclub-bexley.org.uk", "C.C. Bexley") 
clubSites[i] = new linkItem(i++, "Chelmer", "Chelmer CC", "http://members.aol.com/chelmercc", "Chelmer C.C.")
clubSites[i] = new linkItem(i++, "Crescent", "Crescent Wheelers CC", "crescentwheelerscc.org.uk", "Crescent Wheelers C.C.")
clubSites[i] = new linkItem(i++, "De Laune", "De Laune CC", "delaunecc.org", "De Laune C.C.")
clubSites[i] = new linkItem(i++, "Dulwich Paragon", "Dulwich Paragon CC", "wallygimber.freeserve.co.uk", "Dulwich Paragon C.C.")
clubSites[i] = new linkItem(i++, "East Anglian", "East Anglian CC", "http://eacc.logahead.com", "East Anglian C.C.")
clubSites[i] = new linkItem(i++, "Easterley", "Easterley RC", "easterleycycling.org.uk", "Easterley R.C.")
clubSites[i] = new linkItem(i++, "Essex Roads", "Essex Roads CC", "essexroads.com", "Essex Roads C.C.")
clubSites[i] = new linkItem(i++, "Elite", "Elite CC", "elitecyclingclub.co.uk", "Elite C.C.")
clubSites[i] = new linkItem(i++, "Finsbury Park", "Finsbury Park CC", "finsburyparkcc.org", "Finsbury Park C.C.")
clubSites[i] = new linkItem(i++, "Gemini", "Gemini BC", "gemini-bc.org.uk", "Gemini B.C.")
clubSites[i] = new linkItem(i++, "Glendene", "Glendene CC", "glendenecc.org.uk", "Glendene C.C.")
//clubSites[i] = new linkItem(i++, "Godric", "Godric CC", "godriccyclingclub.co.uk", "Godric C.C.")
clubSites[i] = new linkItem(i++, "Herts Wheelers", "Hertfordshire Wheelers", "herts-wheelers.org.uk", "Hertfordshire Wheelers")
clubSites[i] = new linkItem(i++, "Interbike", "Interbike RT", "interbike.co.uk", "Interbike R.T.")
clubSites[i] = new linkItem(i++, "Ipswich", "Ipswich BC", "ipswichbicycleclub.co.uk", "Ipswich B.C.")
clubSites[i] = new linkItem(i++, "Lea Valley", "Lea Valley CC", "leavalley.org", "Lea Valley C.C.")
clubSites[i] = new linkItem(i++, "Maldon", "Maldon & District CC", "madcc.org.uk", "Maldon & District C.C.")
clubSites[i] = new linkItem(i++, "Old Portlians", "Old Portlians CC", "oldportlianscc.co.uk", "Old Portlians C.C.")
clubSites[i] = new linkItem(i++, "Ciclos Uno", "PCA Ciclos Uno", "ciclosuno.com", "PCA Ciclos Uno")
clubSites[i] = new linkItem(i++, "Redbridge", "Redbridge CC", "redbridgecc.org.uk", "Redbridge C.C.")
clubSites[i] = new linkItem(i++, "San Fairy Ann", "San Fairy Ann CC", "sfacc.co.uk", "San Fairy Ann C.C.")
clubSites[i] = new linkItem(i++, "Shaftesbury", "Shaftesbury CC", "shaftesburycc.co.uk", "Shaftesbury C.C.")
clubSites[i] = new linkItem(i++, "South Eastern", "South Eastern RC", "southeasternrc.co.uk", "South Eastern R.C.")
clubSites[i] = new linkItem(i++, "Southend", "Southend Wheelers", "southendwheelers.org", "Southend Wheelers")
clubSites[i] = new linkItem(i++, "Southborough", "Southborough & District Wheelers", "southborough-wheelers.co.uk", "Southborough & District Whlrs.")
clubSites[i] = new linkItem(i++, "Stevenage", "Stevenage CC", "stevenagecc.org.uk", "Stevenage C.C.")
clubSites[i] = new linkItem(i++, "Stowmarket", "Stowmarket & District CC", "stowcc.com", "Stowmarket & District C.C.")
clubSites[i] = new linkItem(i++, "Team Cambridge", "Team Cambridge", "team-cambridge.co.uk", "Team Cambridge")
clubSites[i] = new linkItem(i++, "Trisport Epping", "Trisport Epping", "trisportepping.co.uk", "Trisport Epping")
clubSites[i] = new linkItem(i++, "Verulam", "Verulam CC", "verulamcc.org.uk", "Verulam C.C.")
clubSites[i] = new linkItem(i++, "Victoria", "Victoria CC", "victoriacyclingclub.co.uk", "Victoria C.C.")
clubSites[i] = new linkItem(i++, "West Suffolk", "West Suffolk Wheelers", "westsuffolkwheelers.co.uk", "West Suffolk Wheelers")
clubSites[i] = new linkItem(i++, "West Kent", "West Kent RC", "http://website.lineone.net/~eddieland/wkrc/index.htm", "West Kent R.C.")
clubSites[i] = new linkItem(i++, "Whitewebbs", "Whitewebbs CC", "whitewebbscc.freeserve.co.uk", "Whitewebbs C.C.")
clubSites[i] = new linkItem(i++, "Wigmore", "Wigmore CC", "wigmorecyclingclub.com", "Wigmore C.C.")
clubSites[i] = new linkItem(i++, "Witham", "Witham and District CC", "withamanddistrictcc.co.uk", "Witham and District C.C.")
clubSites[i] = new linkItem(i++, "Wolsey", "Wolsey RC", "wolseyroadclub.co.uk", "Wolsey R.C.")
clubSites[i] = new linkItem(i++, "Woolwich", "Woolwich CC", "woolwichcyclingclub.com", "Woolwich C.C.")

var webSites = new Array()
i = 0
webSites[i] = new linkItem(i, 'bcf', "British Cycling", "http://www.britishcycling.org.uk", "British Cycling (ex-Federation)")
webSites[i].hint = " ~&nbsp;the co-ordinating body for U.K. based cycle sport"
webSites[i++].desc = "Official Website of British Cycling Federation. Includes Major Event Rankings and Category Rankings. "
	+ "Also details on WCPP and general matters."

webSites[i] = new linkItem(i, 'ctt', "C.T.T.", "http://www.cyclingtimetrials.org.uk", "Cycling Time Trials (ex-RTTC)")
webSites[i].hint = " ~&nbsp;the controlling body for time trialling in the U.K."
webSites[i++].desc ="Official Website of Cycling Time Trials. Includes Results of National Championships and British B.A.R. Competitions "
	+ "and latest Competition Records. Also archive information and details on general matters."

webSites[i] = new linkItem(i, 'ctc', "Cyclists\' Touring Club", "http://www.ctc.org.uk", 'C.T.C.')
webSites[i].hint = " ~&nbsp;Official Website of the Cyclists\' Touring Club."
webSites[i++].desc = "Official Website of the Cyclists\' Touring Club. A site full of information on Environmental issues as well as general club matters."

webSites[i] = new linkItem(i, "ERRL", "Essex Road Race League", "http://www.errl.org.uk", "E.R.R.L.")
webSites[i].hint = " ~&nbsp;details of Essex Road Race League events and results"
webSites[i++].desc =""

webSites[i] = new linkItem(i, "lcc", "LCC", "http://www.lcc.org.uk", "London Cycling Campaign")
webSites[i].hint = " ~&nbsp;campaigning to make London a cycling city"
webSites[i++].desc =""

webSites[i] = new linkItem(i, "tusk", "TUSK PRODUCTS", "http://www.tuskstore.com", "Tusk Products")
webSites[i].hint = "<br> ~&nbsp;sponsor to the E.C.C.A. Festival"
webSites[i++].desc =""

function Data(position, title, name, user, address, tel, fax) {
	this.position = position
	this.title = title
	this.name = name
	this.user = ((user == 'undefined') ? "" : user)
	this.address = ((address == 'undefined') ? "" : address)
	this.address = this.user + "@" + this.address
	if (this.address == "@") { this.address = "" }
	this.tel = ((tel == 'undefined') ? "" : tel)
	this.fax = ((fax == 'undefined') ? "" : fax)
}

function linkItem(no, id, title, url, name, src, width, height) {
	this.no = no
	this.name = name
	this.title = title
	this.alt = id
	this.id = id
	this.url = ((url.indexOf("http") == -1) ? "http://www." : "") + url
	this.src = ((src == null) || (src == "") || (src == "undefined")) ? "" : src
	this.width = ((width == null) || (width == "") || (width == "undefined")) ? 0 : width
	this.height = ((height == null) || (height == "") || (height == "undefined")) ? 0 : height
	this.desc = ''
	this.hint = ''
}

function writeEmail(posn,extra,doc,subject) {
	var i, titl='', cText = '<b>Email details not available</b>'
	var obj = eval(((doc == null) || (doc == "") || (doc == "undefined")) ? 'document' : 'doc.document')
	var subj = (((subject == null) || (subject == "") || (subject == "undefined")) ? 'Response from ' + obj.title : subject)
	var dek_exists = checkDek(obj)
	for (i = 0; i < Emails.length; i++) {
		if (Emails[i].position.toLowerCase() == posn.toLowerCase()) {
			titl=hardSpace(Emails[i].title)
			cText = '<a href="mailto:' + Emails[i].address + '?subject=' + subj + '"'
			if (dek_exists) { cText += ' onmouseover="popupMsg(\'Click to E-mail<br>' + titl + '\')" onmouseout="killMsg()" ' }
			else { cText += ' title="Click to E-mail ' + titl + '"' }
			cText += '>' + ((extra == 'name') ? Emails[i].name : ((extra == 'title') ? titl :  '<nobr>' + Emails[i].address + '</nobr>')) + '</a>'
//			cText += '>' + ((extra == 'name') ? Emails[i].name : ((extra == 'title') ? titl :  '<nobr>' + Emails[i].address)) + '</nobr>' + '</a>'
			if (Emails[i].address == '') { 
				switch (extra) {
					case 'name':
						cText = '<a name="' + posn + '">' + hardSpace(Emails[i].name) + '</a>'
						break
					case '-email':
						cText = titl
						break
					default:
						cText = ''
				}
			}
			break
		}
	}
//alert(cText)
	obj.write(" " + cText)
}

function writeWebsite(id, extra, doc, nHint) {
	var i, x, cText = 'Website Address details not available', wText, linkID
	var shoHint = (((nHint == null) || (nHint == "") || (nHint == "undefined") || (typeof nHint != "number")) ? 0 : nHint)
//// nHint = 0 - don't show hint; 1 - show hint; -1 - show hint but load into top document
	var cTarget = ((nHint == -1) ? ' target="_top" ' : ' target="new" ')
	var obj = eval(((doc == null) || (doc == "") || (doc == "undefined")) ? 'document' : 'doc.document')
	var dek_exists = checkDek(obj)
	for (i = 0; i < webSites.length; i++) {
		linkID = webSites[i].id.toUpperCase()
		if (linkID == id.toUpperCase()) {
			wText = ((extra == '-id') ? linkID : webSites[i].title) + " Website"
			x = wText.indexOf("'")
			if (x > 0) { wText = wText.substring(0, x) + "\\" + wText.substr(x) }
			while ((x = wText.indexOf(" ")) >= 0) {
				wText=wText.substring(0,x)+'&nbsp;'+wText.substr(x+1)
			}
			wText = "Click to open " + wText
			cText = '<a href="' + webSites[i].url + '"' + ((webSites[i].url.toLowerCase().indexOf("javascript") == -1) ? cTarget : "")
			if (dek_exists) { cText += ' onmouseover="popupMsg(\'' + wText + '\')" onmouseout="killMsg()"' }
			else { cText += ' title="' + wText + '"' }
			cText +='>'
			switch (extra) {
				case "id":
					cText += linkID
					break
				case "title":
					cText += webSites[i].title
					break
				case "url":
					cText += webSites[i].url
					break
				case "img":
					cText += '<img src="' + getDir("redbridge") + webSites[i].src + '" width=' + webSites[i].width + ' height=' + webSites[i].height +'>' 
					break
				default:
					cText += webSites[i].name
			}
			cText += '</a>' + ((shoHint == 0) ? "" : webSites[i].hint)
			break
		}
	}
//if (shoHint == -1) alert(cText)
//alert(cText)
	obj.write(cText)
}

function showClubs() {
	var i, x, cText = "", wText
	for (i = 0; i < clubSites.length; i++) {
		wText = clubSites[i].title + " Website"
		x = wText.indexOf("'")
		if (x > 0) { wText = wText.substring(0, x) + "\\" + wText.substr(x) }
		while ((x = wText.indexOf(" ")) >= 0) {
			wText=wText.substring(0,x)+'&nbsp;'+wText.substr(x+1)
		}
		wText = "Click to open " + wText
		cText += '<li><a href="' + clubSites[i].url + '" target="new" title="' + wText + '">' + clubSites[i].name + '</a></li>\n'
	}
//alert(cText)
	return(cText)
}

function hardSpace(text) {
	do { text = text.replace(' ', '&nbsp;') } while (text.indexOf(" ") != -1)
	return text
}

function writeDetails(posn, extra, doc, space, oneline) {
	var i, text, cText = '<b>Details not available</b>'
	var obj = eval(((doc == null) || (doc == "") || (doc == "undefined")) ? 'document' : 'doc.document')
	var space1 = ''
	if ((space == null) || (space == 'undefined')) { space1 = '' }
	else if ((typeof space == 'string') && (space == '-')) { space1 = ' - ' }
	else if (typeof space != 'boolean') { space1 = '' }
	else { space1 = '&nbsp;&nbsp;' }
	if ((oneline == null) || (oneline == 'undefined')) { oneline= false }
	var dek_exists = checkDek(obj)
	for (i = 0; i < Emails.length; i++) {
		if (Emails[i].position.toLowerCase() == posn.toLowerCase()) {
			if	(extra.toLowerCase() == "email") {
				text = (oneline ? space1 : '<br>') + 'Email:&nbsp;'
				cText = Emails[i].address
				if ((cText != "") && (cText != null) && (cText != "undefined")) { 
					titl=hardSpace(Emails[i].title)
					cText = '<i>' + text + '</i><a href="mailto:' + Emails[i].address + '"'
					if (dek_exists) { cText += ' onmouseover="popupMsg(\'Click to E-mail<br>' + titl + '\')" onmouseout="killMsg()" ' }
					else { cText += ' title="Click to E-mail ' + titl + '"' }
					cText += '><nobr>' + Emails[i].address + '</nobr>' + '</a>' + space1
				}
				else { cText = "" }
			} else {
				switch (extra.toLowerCase()) {
					case "name":
						text = ''
						cText = Emails[i].name
						if ((space1 == ' - ') && (Emails[i].address == '') && (Emails[i].tel == '')) { space1 = '' }
						break
					case "tel":
						text = 'Tel:&nbsp;'
						cText = Emails[i].tel
						break
					case "fax":
						cText = ''
//						break	//		THIS DISABLES FAX NO'S
						text = 'Fax:&nbsp;'
						cText = Emails[i].fax //+ '<br>'
						break
				}
				if ((cText != "") && (cText != null) && (cText != "undefined")) { cText = "<i>" + text + "</i>" + hardSpace(cText) + space1 }
				else { cText = "" }
			}
		}
	}
//alert('[*'+cText+'*]')
	obj.write(cText)
}

function writeInfo(posn, doc, override, oneline) {
	if ((override == null) || (override == 'undefined')) { override = false }
	if ((oneline == null) || (oneline == 'undefined')) { oneline= false }
	var obj = ((parent.banner) ? parent.banner : self)
	with (obj) {
		writeDetails(posn, "tel", doc, true)
		if (override) { writeDetails(posn, "fax", doc, true) }
		writeDetails(posn, "email", doc, true, oneline)
	}
}

function showSide(id) {
	if ((id == null) || (id == "") || (id == "undefined")) { id = "ecca_side" }
	if (parent.side) { 
//		if (parent.side.document.location.href.indexOf(id + ".html") == -1) {
//alert(id)
			parent.side.document.location = id + ".html"
//		}
	}
}

function displayTitle(colour, image, year) {
	var diry = ((isNav) ? getDir("redbridge") : '')
//alert(parent.banner.document.images.title.src)
//alert(diry)
	var titl = diry + "t_" + colour + "/" + image
//alert(titl)
	if (parent.banner && parent.banner.document.images.title) { 
		parent.banner.document.images.title.src=titl
//alert(parent.banner.document.images.title.src)
//alert(parent.banner.document.images.title.width)
	}
	if ((year != null) && (year != 'undefined') && (typeof year == 'number')) {
		if (parent.banner && parent.banner.document.images.title2) { 
			titl = diry + "t_" + colour + "/" + parseInt(year) + ".gif"
			parent.banner.document.images.title2.src=titl
		}
//alert(parent.banner.document.images.title2.src)
//alert(parent.banner.document.images.title.width)
	}
/*
with(parent.banner.getObj("title1").style) {
	alert('t='+top+'  l='+left+'  v='+visibility+'  z='+zIndex+'  w='+width+'  h='+height)
}
*/
}

function displayVisitors(site) {
	var siteName, siteDate
	var vis="hidden"
	var countColor="-f/ff00ff/-b/ffffff/"
	if (parent.main && (parent.main.document.location.href.indexOf("ecrra") != -1) && (site.toUpperCase() == "ECCA")) { site="ecrra" }
	switch (site.toUpperCase()) {
		case "REDBRIDGE":
			siteName="RedbridgeCyclingClub"
			siteDate="September 2001"
			countColor="-f/ff0000/-b/ffffff/"
			vis="visible"
			break
		case "ECCA":
			siteName="ECCA"
			siteDate="March 2002"
			countColor="-f/ffffff/-b/ff00ff/"
			vis="visible"
			break
		case "ECRRA":
			siteName="ECRRA"
			siteDate="March 2002"
			countColor="-f/ff00ff/-b/ffffff/"
			break
	}
	var cText='<img align=left id=counter src="http://counter.digits.com/wc/-d/4/-c/2/' + countColor + siteName + '" width=60 height=20 '
		+ 'title="Number of Visitors since ' + siteDate + '">'
//alert(cText)
	if (parent.banner) {
		obj=eval('parent.banner.document.' + ((ns6) ? 'getElementById' : 'all') + '("visitorNo")')
		if (obj) { 
			obj.style.visibility = vis; 
//			obj.innerHTML=cText;
			if (isWeb) { obj.innerHTML=cText; }
		}
		obj=eval('parent.banner.document.' + ((ns6) ? 'getElementById' : 'all') + '("visitor")')
		if (obj) { obj.style.visibility = vis; obj.innerHTML=((vis == "hidden") ? "" : "Visitor") }
		obj=eval('parent.banner.document.' + ((ns6) ? 'getElementById' : 'all') + '("webcounter")')
		if (obj) { obj.style.visibility = vis }
	} else {
		obj=eval('self.document.' + ((ns6) ? 'getElementById' : 'all') + '("visitorNo")')
		if (obj) { 
			obj.style.visibility = vis; 
			if (isWeb) { obj.innerHTML=cText; }
		}
		obj=eval('self.document.' + ((ns6) ? 'getElementById' : 'all') + '("visitor")')
		if (obj) { obj.style.visibility = vis; obj.innerHTML=((vis == "hidden") ? "" : "Visitor") }
		obj=eval('self.document.' + ((ns6) ? 'getElementById' : 'all') + '("webcounter")')
		if (obj) { obj.style.visibility = vis; alert(obj.style.visibility ) }
	}
}

function showFooter(colour, doc, bg) {
	var obj = eval(((doc == null) || (doc == "") || (doc == "undefined")) ? 'document' : 'doc.document')
	var background = (((bg == null) || (bg == "") || (bg == "undefined")) ? "white" : bg)
	var cText, color2
	switch (colour.toLowerCase()) {
		case "yellow":
			color2 = "#fff000"
			break
		case "green":
			color2 = "#00ff00"
			break
		case "white":
			color2 = "black"
			break
		case "mauve":
			color2 = "#ff00ff"
			break
		default:
			color2 = colour
	}
/*  superimposed images - for animated gifs */
	var diry = getDir("redbridge")
	var image2 = diry + "images/cycling for all.gif"
	var image1 = diry + "images/Redbridge Footer.gif"
	cText = '<table width=100% cellpadding=0 cellspacing=0 bgcolor=' + background + '><tr><td width=100%>'
		+ '<hr style="background-color:' + color2 + '" color="' + color2 + '" width=100% size=3>' 
		+ '<div align=center><img src="' + image1 + '">'
		+ '<div style="position:relative; top:-38px; text-align:center; z-index:75;"><img src="' + image2 + '"></div>'
		+ '</div><p></td></tr></table>'
//alert(cText)
	obj.write(cText)
}

function showPage(progName, srch) {
	if ((srch == null) || (srch == 'undefined') || (srch == "") || (typeof srch != 'string')) { srch = "" }
	else { srch = "?" + unescape(srch) }
//alert(progName + ".html" + srch)
	top.main.document.location=unescape(progName + ".html" + srch)
}

function showResult(raceName, year, srch) {
	var race = raceName.toLowerCase()
	var isFunction = false
	var skipYear = ((typeof year == 'number') && (year == -1))
	if (race.substring(0,1) == '*') {
		isFunction = true
		race = race.substr(1)
	}
	if ((year == null) || (year == 'undefined') || ((typeof year == 'string') && (year == "")) || ((typeof year == 'number') && (year <= 0))) {
		var now = new Date()
		year = now.getFullYear()
	} else { year = unescape(year) }
	if ((srch == null) || (srch == 'undefined') || (srch == "") || (typeof srch != 'string')) { srch = "" }
	else { srch = "?" + unescape(srch) }
	var cText = "racing/" + (skipYear ? "" : year + "/") + race + ".html" + srch
alert(cText)
	if (isFunction) { return unescape(cText) }
	parent.document.location="racing_frame.html"
//	parent.main.document.location=unescape(cText)
}

function showEcca(pageName) {
	var page = pageName.toLowerCase()
	parent.document.location=getDir("redbridge") + "ecca/ecca_" + page + "_frame.html"
}

function getDir(web) {
	var pName = self.document.location.href.toLowerCase()
	if ((pName.toLowerCase().indexOf('www') != -1) && (web.toLowerCase() == 'eastern')) { web = 'quest' }
//alert(pName+'\n'+web)
	var cDir = '', pName2
	var x = -1, y = -1
	if ((web != null) && (web != "") && (web != "undefined")) { x = pName.indexOf(web.substr(0,5).toLowerCase()) }
//alert('x='+x)
	if (x < 0) { return cDir }
	pName = pName.substr(x) 
	if ((pName.indexOf('/') == -1) && (pName.indexOf('\\') == -1)) { return cDir }
	for (x=1; x<pName.length; x++) {
		if ((pName.substr(x,1) == "/") || (pName.substr(x,1) == "\\")) {
			y++
			if (y>0) { cDir += '../' }
		}
	}
	return cDir
}

function checkDek(obj) {
	var dek_exists
	var obj = ((obj == null) || (obj == "") || (obj == "undefined")) ? eval('document') : obj
	if (ns4) { dek_exists = obj.dek }
	else if (ns6) { dek_exists = obj.getElementById("dek") }
	else if (ie4) { dek_exists = obj.all.dek }
//alert(dek_exists)
	return dek_exists
}

function getObj(name, doc) {
	return eval('document.' + ((ns6 || isOpera) ? 'getElementById' : 'all') + '("' + name +'")')
}

function documentSize(typ) {
	var xbody = ((isIE) ? document.body.clientWidth : self.innerWidth)
	if (isIE) {
		xbody = document.body.clientWidth
		ybody = document.body.clientHeight
	} else {
		xbody = self.innerWidth
		ybody = self.innerHeight
	}
alert(xbody)
	return ((typ == 'w') ? xbody : ybody)
}

function AddSuffix(val) {
	var num = val, suff='th'
	if ((isNaN(num)) || (typeof num == 'string')) { num = parseInt(num) }
	var n = num % 100
	if ((n < 11) || (n > 13)) {
		switch (num % 10) {
			case 1:
				suff = 'st'
				break
			case 2:
				suff = 'nd'
				break
			case 3:
				suff = 'rd'
				break
		}
	}
	return num.toString(10) + suff
}

function newWindow(file, typ, ht, wid) {
	if ((file == null) || (file == '')) { return }
	if (file.toUpperCase().indexOf('.HTM') == -1) { file += '.html' }
	var cText, nheight = 650, nwidth = 800
	nheight += 30
	if (screen.availWidth <= 850) {
		nheight = 500
		nwidth = screen.availWidth - 80
	}
	if ((ht != null) && (typeof ht == "number")) { nheight = ht }
	if ((wid != null) && (typeof wid == "number")) { nwidth = wid }
	if ((typ == null) || (typ == "undefined")) { typ = " " }
//alert(typ)
	switch (typ.toLowerCase()) {
		case "w":
			cText = 'screenX=40,screenY=50,titlebar,alwaysRaised=1,scrollbars,status,resizable'
			break
		case "tt":
			cText = 'width=750,height=650,screenX=40,screenY=40,titlebar,alwaysRaised=1,scrollbars,status,resizable'
			break
		case "ewf":
			cText = 'width=850,height=685,screenX=40,screenY=40,titlebar,alwaysRaised=1,scrollbars,status,resizable,menubar'
			break
		case "ew":
			cText = 'width=850,height=685,screenX=40,screenY=40,titlebar,alwaysRaised=1,scrollbars,status,resizable'
			break
		case "xx":
			cText = 'width=' + nwidth + ',height=' + nheight + ',screenX=40,screenY=50,titlebar,alwaysRaised=1,status,resizable,menubar,scrollbars'
			file=file + '?' + nheight + '/' + nwidth
			break
		case "yy":
			cText = 'width=' + nwidth + ',height=' + nheight + ',screenX=40,screenY=50,titlebar,alwaysRaised=1,status,resizable,menubar,scrollbars=no'
			file=file + '?' + nheight + '/' + nwidth
			break
		default:
			cText = 'width=' + nwidth + ',height=' + nheight + ',screenX=40,screenY=50,titlebar,alwaysRaised=1,status,resizable,menubar,scrollbars'
			break
	}
//alert(cText)
	formPopup = window.open(file,'Report',cText)
	if (formPopup) { formPopup.focus() }
}

function repositionReport(typ) {
	if (parent.document.frames.length == 0) {
		var wWidth, wHeight, leftSS, topSS = 10
		var frameWidth = (isIE) ? document.body.clientWidth : self.innerWidth
		var frameHeight = (isIE) ? document.body.clientHeight : self.innerHeight
		wHeight =((frameHeight > (screen.availHeight -20)) ? (screen.availHeight -20) : frameHeight + 52)
		wHeight =screen.availHeight -20
		wWidth = ((frameWidth > screen.availWidth) ? screen.availWidth : frameWidth + 25)
		leftSS = Math.max(0, ((screen.availWidth - wWidth) / 2))
		window.moveTo(leftSS, topSS)
//		if ((typ == null) || (typ == 'undefined') || (typ != 'ew')) { window.resizeTo(wWidth, wHeight) }
		window.resizeTo(wWidth, wHeight)
	}
}

function nmemonic(old) {
	var x, c, news=""
	for (x = 0; x < old.length; x++) {
		c = old.charCodeAt(x) - 128
		if (c < 0) { c += 128 }
		news += String.fromCharCode(c)
	} 
	return news
}

function decode(oldString, type) {
	var x, c, newstring=""
	if (typeof type != "string") { type='e' }
	for (x = 0; x < oldString.length; x++) {
		c = oldString.charCodeAt(x)
		if (type=="e") { c += 128 }
		if (type=="d") {
			c += -128
			if (c < 0) { c += 128 }
		}
		newstring += String.fromCharCode(c)
	} 
	return newstring
}

function loadImage(id, locn) {
	id=nmemonic(id)
	getObj(id).src=nmemonic(locn) + id + ".jpg"
}

function loadPlainImage(id, locn) {
	getObj(id).src=locn + id + ".jpg"
}

function getPhotoPath(number) {
	var cPath = ''
	var num = (((number != null) && (number != "") && (number != undefined) && !isNaN(number)) ? number : "")
	if (document.location.hostname.toLowerCase().indexOf("www") != -1) { 
		if ((number == "") || isNaN(number) || (number == undefined) || (number == "undefined")) { cPath = 'http://www.RccPhotos.fsnet.co.uk/gallery/' }
		else { cPath = 'http://www.RccPhotos-' + number + '.fsnet.co.uk/gallery' + number + '/' }
//alert('['+number+']  '+cPath)
		return cPath
	}
	var pName = document.location.href
	var pName2 = pName.toLowerCase()
//alert(pName2)
	var x = pName2.indexOf('redbridge')
	var webPhotos = false
	if (x <= 0) {
		x = pName2.indexOf('rccphotos')
		if (x >= 0) { webPhotos = true }
	}
	var pRoot = pName
	if (x > 0) { 
		pRoot = pName.substring(0, x)
		pName = pName.substr(x) 
	}
	cPath = pRoot + "RccPhotos/gallery" + (isNaN(num) ? "" : num) + "/"
//alert(cPath)
	return cPath
}

function getPhoto(locn, titl, wdth, algn, styl) {
	var x, hght="", cPath, cText, num = ""
	if ((locn == null) || (locn == "") || (locn == "undefined")) { return }
	if ((titl == null) || (titl == "") || (titl == "undefined")) { titl = "" }
	if ((wdth == null) || (wdth == "") || (wdth == "undefined")) { wdth="" }
	if (wdth != "") {
		x = wdth.toLowerCase().indexOf("h")
		if (x != -1) { 
			hght = parseInt(wdth.substr(x+1)) 
			wdth = wdth.substring(0,x)
		}
		x = wdth.toLowerCase().indexOf("w")
		if (x != -1) { wdth = parseInt(wdth.substr(x+1)) }
	}
	if ((algn == null) || (algn == "") || (algn == "undefined")) { algn = "" }
	if ((styl == null) || (styl == "") || (styl == "undefined")) { styl = "" }
	x = locn.indexOf("/")
	if ((x>0) && (!isNaN(locn.substr(x-1,1)))) { num = locn.substr(x-1,1) }
	cPath = getPhotoPath(num) + locn.substr(x+1) 
	cText = '<img src="' + cPath + '"' 
		+ ((titl == "") ? "" : ' title="' + titl + '"')
		+ ((wdth == "") ? "" : ' width="' + wdth + '"') 
		+ ((hght == "") ? "" : ' height="' + hght + '"') 
		+ ((algn == "") ? "" : ' align="' + algn + '"') 
		+ ((styl == "") ? "" : ' style="' + styl + '"')
		+ '>'
//alert(cText)
	document.write(cText)
}

function modalWindow(message,type,mwidth,mheight){
	if (ie5) {
		while (message.indexOf('\n\n') != -1) { message = message.replace('\n\n','<p>') }
		while (message.indexOf('\n') != -1) { message = message.replace('\n','<br>') }
		var cText = 'help:0;status:0;resizable:0;scrollbars:0;dialogWidth:'+mwidth+'px;dialogHeight:'+mheight+'px;center:yes'
//alert(getDir('eastern')+"alert.html")
		ans = window.showModalDialog(getDir('eastern')+"alert.html",message+';'+type,cText)
	} else {
		while (message.indexOf('<p>') != -1) { message = message.replace('<p>','\n\n') }
		while (message.indexOf('<br>') != -1) { message = message.replace('<br>','\n') }
		switch(type) {
			case 'alert':
				alert(message)
				ans = 1
				break
			case 'confirm':
			case 'yes/no':
				ans = confirm(message,'Yes')
				break
		}
	}
	return ans
}

//Pop up information box II (Mike McGrath (mike_mcgrath@lineone.net,  http://website.lineone.net/~mike_mcgrath))
//Permission granted to Dynamicdrive.com to include script in archive
//For this and 100's more DHTML scripts, visit http://dynamicdrive.com

msg_Xoffset = 0;    // modify these values to ...
msg_Yoffset = 20;    // change the popup position.

var msg_skn
var msg_yyy = -1000;
var dek_exists

function msgPopup() {
	if (ns4) { dek_exists = document.dek }
	else if (ns6) { dek_exists = document.getElementById("dek") }
	else if (ie4) { dek_exists = document.all.dek }
	if (dek_exists) {
		if (ns4) { msg_skn = document.dek }
		else if (ns6) { msg_skn = document.getElementById("dek").style }
		else if (ie4) { msg_skn = document.all.dek.style }
		if (ns6) { document.captureEvents(Event.MOUSEMOVE) }
		if (ns4) { document.captureEvents(Event.MOUSEMOVE) }
		else {
			msg_skn.visibility = "visible"
			msg_skn.display = "none"
			msg_skn.contents = ""
		}
		document.onmousemove=track;
	}
}

var kill

function popupMsg(msg, bak) {
	if (ns4) { dek_exists = document.dek }
	else if (ns6) { dek_exists = document.getElementById("dek") }
	else if (ie4) { dek_exists = document.all.dek }
	if (!dek_exists) { return }
	if ((bak == null) || (bak == '') || (bak == 'undefined')) { bak = "lightgreen" }
	var content="<table width=150 border=1 bordercolor=black cellpadding=3 cellspacing=0 bgcolor=" + bak
		+ "><tr><td class=dek><font size=2>" + msg + "</font></td></tr></table>"
	msg_yyy = msg_Yoffset
	msg_skn.contents = msg
	 if (ns4) { 
		msg_skn.document.write(content)
		msg_skn.document.close()
		msg_skn.visibility = "visible"
	}
 	if (ns6 || ie4) {
		getObj("dek").innerHTML = content
		msg_skn.display = ''
	}
	kill = window.setTimeout("killMsg()", 3500)
//alert(msg_skn.left+' : '+msg_skn.top+' : '+msg_skn.contents.length+' : '+ (1 + Math.ceil(msg_skn.contents.length / 20)) * 25)
}

function killMsg() {
	window.clearTimeout(kill)
	if (!dek_exists) { return }
	msg_yyy = -1000
	if (ns4) { msg_skn.visibility = "hidden" }
	else if (ns6 || ie4) { msg_skn.display = "none" }
}

var scrollOK = false

function trackMouse() {
	scrollOK = true
	if (ns4) { document.captureEvents(Event.MOUSEMOVE) }
	document.onmousemove=track;
}

var xmouse = 0							// mouse x-coord within element
var ymouse = 0							// mouse y-coord within element
var xscreen = 0							// mouse x-coord within screen
var yscreen = 0							// mouse y-coord within screen
var xbody = 0
var ybody = 0
var xoffset	 = 0							// mouse x offset from left of firing element (eg image)
var yoffset = 0								// mouse y offset from top of firing element (eg image) 
var xclient = 0								// mouse x position relative to frame
var yclient = 0								// mouse y position relative to frame

function track(evt) {
	var y, xm, ym, ypos
	if (isIE) {
		xmouse = event.x
		ymouse = event.y
		xscreen = event.screenX
		yscreen = event.screenY
		xbody = document.body.clientWidth
		ybody = document.body.clientHeight
		xoffset = event.offsetX
		yoffset = event.offsetY
		xclient = event.clientX	
		yclient = event.clientY
		y = ymouse
		xm =document.body.scrollLeft + xclient
		ym = ymouse + document.body.scrollTop
		xpos = xbody - 155
		ypos = ybody + document.body.scrollTop
	} else {
		xmouse = evt.pageX
		ymouse = evt.pageY
		xscreen = evt.screenX
		yscreen = evt.screenY
		xclient = self.pageXOffset
		yclient = self.pageYOffset
		xbody = self.innerWidth
		ybody = self.innerHeight
		y = ymouse - yclient
		xm = xmouse
		ym = ymouse
		xpos = xbody - 165
		ypos = ybody + yclient
	}
	if (msg_skn) {
		var offset = 20 + (1 + Math.ceil(msg_skn.contents.length / 20)) * 25
		msg_skn.left = xm + msg_Xoffset - ((xm > xpos) ? 150 : 0)
		msg_skn.top = ym + msg_yyy - ((ym > (ypos - offset + 20)) ? offset : 0)
//		msg_skn.top = ym + msg_yyy - ((ym > ypos) ? offset : 0)
	}
/*
	parent.window.contacts.document.f.txt.value = 
		'  mX='+xmouse+'    mY='+ymouse+'  cX='+xclient+'  cY='+yclient+' bX='+xbody+' bY='+ybody+'   sX='+xscreen+'   sY='+yscreen
*/
	var gap = 10		//	used to be 25
	if (scrollOK) {
		if (y < gap) { window.scrollBy(0, -10) }
		else if ((ybody - y) < gap) { window.scrollBy(0, 10) }
	}
}

