/* bikies.js */

/* ANIMATED BIKE RACE */

function preloadImages(no) {
	var preload = new Array()
	preload[0] = newImage('bikie_scc.gif')
	if ((no != null) && (no == 1)) { return }
	preload[1] = newImage('bikie_right.gif')
	preload[2] = newImage('bikie_scc_down.gif')
	preload[3] = newImage('bikie_left.gif')
	preload[4] = newImage('bikie_scc_left.gif')
}

function newImage(name) {
	var img = new Image()
	img.src = getDir()+'images/' + name
	return img
}

function bike(left, index, src) {
	this.left = left
	this.src = src
	this.index = index
	this.status = 'start'
	this.goright = true
	this.step = 0
	this.count = 0
}

biker1 = new bike(-105, 150, getDir()+'images/bikie_scc.gif')
biker2 = new bike(((screen.availWidth > 800) ? -450 : -650), 200, getDir()+'images/bikie_right.gif')
var delay = 2000, left3 = 2000
var percentLeft = "6%", percentRight = "82%"

var firstGo = true, turn2=false
var wWidth, bikeLeft, bikeRight, step1, step2, step3
var objBike1
var objBike2
var objImg1
var objImg2
var objBikeImage1
var objBikeImage2

function setoff() {
	if (firstGo) {
		objBike1=document.getElementById("bike1").style
		objBike2=document.getElementById("bike2").style
		objImg1=document.getElementById("img1").style
		objImg2=document.getElementById("img2").style
		objBikeImage1=document.getElementById("bike_image1")
		objBikeImage2=document.getElementById("bike_image2")
		step1 = ((screen.availWidth > 800) ? 1.5 : 1)
		step3 = ((screen.availWidth > 800) ? 3 : ((isIE) ? 4 : 4))
		step2 = ((screen.availWidth > 800) ? 2 : 2.5)
		wWidth = ((isIE) ? document.body.clientWidth : window.innerWidth)
		bikeLeft = Math.round(wWidth * (parseInt(percentLeft) / 100))
		bikeRight = Math.round(wWidth * (parseInt(percentRight) / 100))
		firstGo = false
	}
	biker1.step = 0
	switch (biker1.status) {
		case 'start': { biker1.step = step1; break }
		case 'chase': { biker1.step = step3; break }
	}
	biker1.step *= ((biker1.goright) ? 1 : -1 )
	biker1.left = parseInt(objBike1.left)
	if (biker1.count < 10) {
		biker1.left += biker1.step
		objBike1.left = biker1.left
		if (biker1.left >= (wWidth + 25)) {
			biker1.goright = false
			biker1.src = getDir()+'images/bikie_scc_left.gif'
			objBikeImage1.src = biker1.src
			objBike1.zIndex = "130"
			biker1.count++
		}
		if (biker1.left <= -125 ) {
			biker1.goright = true
			biker1.src = getDir()+"images/bikie_scc.gif"
			objBikeImage1.src = biker1.src
			objBike1.zIndex = "150"
		}
		if ((biker1.count >= 1) && biker1.goright && (biker1.left >= bikeRight)) {
			if (isIE) {
				objImg2.left = percentRight
				objImg2.visibility = "visible"
				objBike1.visibility = "hidden"
			}
			biker1.count = 10
			biker1.status = 'end'
		}
	}
	biker2.step = step2 * ((biker2.goright) ? 1 : -1 )
	biker2.left = parseInt(objBike2.left)
	if (biker2.count < 10) {
		biker2.left += biker2.step
		objBike2.left = biker2.left
		if ((biker1.status == 'start') && biker1.goright && (biker2.left > 0) && (biker2.left >= biker1.left)) {
			left3 = biker2.left + 100
			biker1.status = 'down'
			biker1.src = getDir()+'images/bikie_scc_down.gif'
			objBikeImage1.src = biker1.src
		}
		if ((biker1.status == 'down') && (biker2.left > (left3 - 100)) && (biker2.left < (left3 - 90))) {
			objBike2.zIndex = "125"
		}
		if ((biker1.status == 'down') && (biker2.left >= left3)) {
			biker1.src = getDir()+"images/bikie_scc.gif"
			objBikeImage1.src = biker1.src
			biker1.status = 'up'
			left3 += 25
		}
		if ((biker1.status == 'up') && (biker2.left >= left3)) {
			biker1.status = 'chase'
		}
		if ((biker2.left >= (wWidth + 25)) && biker2.goright) {
			biker2.goright = false
			biker2.src = getDir()+'images/bikie_left.gif'
			objBikeImage2.src = biker2.src
			objBike2.zIndex = "100"
			biker2.count++
		}
		if ((biker2.count > 0) && (biker2.left <= -125 )) {
			biker2.goright = true
			biker2.src = getDir()+"images/bikie_scc.gif"
			objBikeImage2.src = biker2.src
			objBike2.zIndex = "110"
		}
		if ((biker2.count >= 1) && biker2.goright && (biker2.left >= bikeLeft)) {
			if (isIE) {
				objImg1.left = percentLeft
				objImg1.visibility = "visible"
				objBike2.visibility = "hidden"
			}
			biker2.count = 10
			biker2.status = 'end'
		}
	}
	if ((biker1.count < 5) || (biker2.count < 5)) {
		window.setTimeout('setoff()',1) 
	}
}

function bikerResize() {
	if ((biker1.status == 'end') && (biker2.status == 'end')) {
		objImg1.visibility = "visible"
		objBike2.visibility = "hidden"
		objImg2.visibility = "visible"
		objBike1.visibility = "hidden"
	}else {
		wWidth = ((isIE) ? document.body.clientWidth : window.innerWidth)
		bikeLeft = Math.round(wWidth * (parseInt(percentLeft) / 100))
		bikeRight = Math.round(wWidth * (parseInt(percentRight) / 100))
		step1 = ((screen.availWidth > 800) ? 1.5 : 1)
		step3 = ((screen.availWidth > 800) ? 3 : ((isIE) ? 4 : 4))
		step2 = ((screen.availWidth > 800) ? 2 : 2.5)
	}
	return false
}

function setDelay() {
	if (is40 || noMove) { 
		preloadImages(1)
		return 
	}
	preloadImages()
	if (!cookieOK) {
		window.setTimeout('setoff()',delay)
		return 
	}
	objBike1=document.getElementById("bike1").style
	objBike2=document.getElementById("bike2").style
	objImg1=document.getElementById("img1").style
	objImg2=document.getElementById("img2").style
	objBikeImage1=document.getElementById("bike_image1")
	objBikeImage2=document.getElementById("bike_image2")
	var val = GetCookie('delay')
	var ops = 0
	if ((biker1.status != 'start') && (biker2.status != 'start')) { return }
	if (val == null) { val = '1000/0' }
	else { 
		var x = val.indexOf('/')
		if (x <= 0) { val = '1000/0' }
		else {
			delay = parseInt(val.substring(0 , x))
			ops =  parseInt(val.substr(x+1)) + 1
			val = delay.toString() + '/' + ops.toString()
		}
	}
	if (ops < 2) { 
		SaveCookie('delay', val, 0) 
		window.setTimeout('setoff()',delay)
		val = GetCookie('delay')
//alert(val)
	} else { 
		with (objImg1) {
			left = percentLeft
			visibility = "visible"
		}
		with (objImg2) {
			left = percentRight
			visibility = "visible"
		}
		return
	}
}

function activateBikes() {
	firstGo = true
	wWidth = ((isIE) ? document.body.clientWidth : window.innerWidth)
	bikeLeft = Math.round(wWidth * (parseInt(percentLeft) / 100))
	bikeRight = Math.round(wWidth * (parseInt(percentRight) / 100))
	biker1 = new bike(bikeLeft, 150, getDir()+'images/bikie_scc.gif')
	biker2 = new bike(((screen.availWidth > 800) ? -345 : -275), 200, getDir()+'images/bikie_right.gif')
	objImg1.visibility = "hidden"
	objImg2.visibility = "hidden"
	objBikeImage1.src = biker1.src
	objBikeImage2.src = biker2.src
	objBike1.zIndex = biker1.index
	objBike2.zIndex = biker2.index
	objBike2.visibility = "visible"
	objBike1.visibility = "visible"
	objBike1.left = biker1.left
	objBike2.left = biker2.left
	animate('enable')
	window.setTimeout('setoff()',delay)
}

/* SCROLLING ACTIVITIES */

var actions = new Array (
	'Time Trials', 
	'Road&nbsp;Racing', 
	'Track&nbsp;Racing', 
	'Randonn&eacute;es', 
	'Cyclo&nbsp;Cross', 
	'Touring', 
	'Social&nbsp;Events', 
	'Coaching'
)

var act = 0
var bannerstep = 4
var flash = 7

function banners() {
	if (is40 || noMove) { return }
	act = 0
	bannerstep = (isNav ? 4 : 6)
	flash = 7
	var cText = "<div id='activity1' style='position:relative; top:0; left:-200; width:300; z-Index:20; color:red; "
		+ "font-family:Times New Roman, serif; font-style:italic; font-size:24pt; font-weight:700; vertical-align:middle; visibility:visible'>"
		+ "..." + actions[act++] + "...</div>"
	getObj("activities").innerHTML = cText
	b2 = window.setInterval("moveBanner()",1)
}

function flashMsg() {
	--flash
	with (getObj("activity1").style) {
		visibility = (visibility == 'visible') ? 'hidden' : 'visible'
		if (flash <= 0) {
			window.clearInterval(b3) 
			visibility = 'visible'
		}
	}
}

function moveBanner() {
	var cText, mText = ''
	var wWidth = ((isIE) ? document.body.clientWidth : window.innerWidth)
	with (getObj("activity1")) {
		var bleft1 = parseInt(style.left)
		if (act <= actions.length) {
			if (bleft1 < wWidth + 25) { style.left = bleft1 + bannerstep }
			else {
				style.left = -200
				innerHTML = '...' + actions[act++] + '...'
			}
		} 
		if (act > actions.length) {
			if (bannerstep > 0) {
				cText = '<span class="font18">SHAFTESBURY CYCLING CLUB has something for you<br></span>'
				for (var i = 0; i < actions.length; i++) {	mText += '&bull;&nbsp;' + actions[i] + '&nbsp;&bull;  ' }
				cText += '<span class="font14">' + mText + '</span>'
				act = 0
				style.left = wWidth + 25
				style.width = '100%'
				style.fontStyle = 'normal'
				style.height = ((isIE) ? '85' : '70')
				innerHTML = cText 
				bannerstep =	0	// -2
			}
			if ((bannerstep < 0) && (bleft1 > 5)) { style.left = bleft1 + bannerstep }
			else { 
				bannerstep = 0
				style.left = 0
				style.width = '100%'
				style.textAlign = 'center'
				window.clearInterval(b2) 
				b3 = window.setInterval("flashMsg()",(isNav ? 800 : 600))
			}
		}
	}
	getObj("activities").style.height = ((isIE) ? '70' : '70')
}

function bannerMsg() {
	if (!is40 && !noMove) { return }
	getObj("activities").style.textAlign = "center"
	var mText = ''
	var cText = '<span class="font18">SHAFTESBURY CYCLING CLUB has something for you<br></span>'
	for (var i = 0; i < actions.length; i++) { mText += '&bull;&nbsp;' + actions[i] + '&nbsp;&bull;  ' }
	cText += '<span class="font14">' + mText + '</span>'
	document.write(cText)
}

var moving = true

function animate(action) {
	with (getObj("animation").style) {
		switch (action) {
			case 'open':
				wWidth = ((isIE) ? document.body.clientWidth : window.innerWidth)
				width = 500
				left = ((wWidth - parseInt(width)) / 2) - ((isNav) ? 20 : 0)
				top = 100
				if (getObj("voting")) {
					height = 265
				} else {
					height = 150
				}
				visibility = "visible"
				window.scrollBy(0,-1000)
				w = window.setTimeout("animate('close')", 45000)
				break
			case 'enable':
				profile('animate','go')
				noMove = false
				break
			case 'disable':
				profile('animate','stop')
				noMove = true
				break
			case 'vote':
				profile('autoVote','yes')
				allowVote = true
				break
			case 'novote':
				profile('autoVote','no')
				allowVote = false
				break
			case 'close':
				visibility = "hidden"
				if ((typeof w == 'number') && (w != null)) { window.clearTimeout(w) }
				break
		}
		getObj("movement").innerHTML = ((noMove) ? 'Disabled' : 'Enabled')
		if (	getObj("voting")) { getObj("voting").innerHTML = ((allowVote) ? 'Yes' : 'No')}
	}
}
