	//<!--
	// FLEX-DHTML API (BETA 1.0)
	// COPYRIGHT (C) 1999-2000 BY ANDREAS HÅKANSSON. ALL RIGHTS RESERVED 
	// THIS DHTML JAVASCRIPT API MAY NOT BE USED ON OTHER SITES, WITHOUT
	// THE WRITTEN PERMISSION OF THE AUTHOR. TO GET IN CONTACT WITH THE
	// AUTHOR, EMAIL ANDREAS HÅKANSSON (andy.h@telia.com).
	//
	// SPECIAL PERMISSION HAVE BEEN GIVEN TO DBI E-BUSINESS SOLUTIONS AB
	// (WWW.DBI.SE) TO USE THIS API ON WWW.GOAGUBBARRACING.COM
	//-->
	
	
	function FlexLayerInit() {
		layer1 = new FlexLayer('bodyDiv')
		layer2 = new FlexLayer('mainDiv')
		layer3 = new FlexLayer('itemDiv')
		layer4 = new FlexLayer('newsDiv')
		layer5 = new FlexLayer('contDiv')
		layer6 = new FlexLayer('arw1Div')
		layer7 = new FlexLayer('arw2Div')
		
		if(ns) {
			layer3.css.captureEvents(Event.MOUSEOUT)
			layer3.css.onMouseOut = dragRelease
			layer3.css.captureEvents(Event.MOUSEOVER)
			layer3.css.onMouseOver = dragCapture
			document.captureEvents(Event.MOUSEMOVE)
			document.captureEvents(Event.MOUSEUP)
		}
		document.onmousemove = mouseMove	
		document.onmouseup = mouseUp
		
		FlexLayerResize()
		layer5.loadFile('contents/intro.html')	
		layer1.show()
	}

	function FlexLayerResize() {
		windowWidth = (ns)? window.innerWidth : document.body.offsetWidth-20
		windowHeight = (ns)? window.innerHeight : document.body.offsetHeight-4
		layer1.moveTo((windowWidth-741)/2,(windowHeight-380)/2)
	}

	function FlexLayer(obj) {
		this.ref = FlexLayerTrace(obj)
		this.obj = eval(this.ref)
		this.pnt = obj + 'layerFlex'
		eval(this.pnt + "=this")	

		this.css = (ns)? this.obj : this.obj.style
		this.xPos = (ns)? this.css.left : this.obj.offsetLeft
		this.yPos = (ns)? this.css.top : this.obj.offsetTop
		this.parentObj = (ns)? this.obj.parentLayer : this.obj.parentElement
		this.loadFile = FlexLoadFile
		this.loadQueue = FlexLoadQueue
		this.loadStatus = false		
		this.scrollUp = FlexLayerScrollUp
		this.scrollDown = FlexLayerScrollDown
		this.scrollStop = FlexLayerScrollStop
		this.scrollInit = false
		this.scrollSetup = FlexLayerScrollSetup
		this.show = FlexLayerShow
		this.hide = FlexLayerHide
		this.moveTo = FlexLayerMoveTo
		this.moveBy = FlexLayerMoveBy
	}

	function FlexLayerMoveTo(x,y) {
		if(x != null) {
			this.xPos = x
			if(ns) this.css.left = this.xPos
			else if(ie) this.css.pixelLeft = this.xPos 
		}
		if(y != null) {	
			this.yPos = y
			if(ns) this.css.top = this.yPos
			else if(ie) this.css.pixelTop = this.yPos 
		}
	}
	
	function FlexLayerMoveBy(x,y) {
		this.moveTo(this.xPos+x,this.yPos+y)
	}

	function FlexLayerTrace(find) {
		if(ns) {
			var ref = 'document.layers'
			var parent = eval(ref)
			var workPointer = 0
			var queuePointer = 0
			var currentLevel = 0
			var layerQueue = new Array()
			var layerReference = new Array()
					
			for(;;) {
				if(parent.length > 0) {
					for(n=0 ; n<parent.length ; n++) {
						layerReference[parent[n].id] = new Array()
						layerReference[parent[n].id][0] = ref + "['" + parent[n].id + "']"
						layerReference[parent[n].id][1] = currentLevel
						this.level = currentLevel
						
						child = eval(layerReference[parent[n].id][0] + '.document.layers')
						if(child.length > 0) {
							layerQueue[queuePointer++] = parent[n].id
							layerReference[parent[n].id][2] = child.length
						}
						if(find != null) {
							if(find.toLowerCase() == parent[n].id.toLowerCase()) 
								return layerReference[parent[n].id][0]
						}
					}
				}
				if(layerQueue[workPointer] != null) {
					ref = layerReference[layerQueue[workPointer++]][0] + '.document.layers'
					parent = eval(ref)
				}
				else {
					if(find) alert("ERROR: Couldn't find a reference to ["+find+"]")
					break
				}
			}
		}
		else if(ie) {
			pnt = eval("document.all['"+find+"']")
			if(pnt != null) 
				return "document.all['"+find+"']"
			else
				alert("ERROR: Couldn't find a reference to ["+find+"]")
		}
	}
	
	function FlexLayerShow() {
		this.css.visibility = (ns)? "show" : "visible"
	}
	
	function FlexLayerHide() {
		this.css.visibility = (ns)? "hide" : "hidden"
	}

	function FlexLoadFile(url) {
		var blnExists = false
		for(var n = 0 ; n < loadQueue.length ; n++) {
			if(loadQueue[n] == this)
				blnExists = true
		}
		if(!blnExists) {
			loadQueue[lastPointer] = this
			linkQueue[lastPointer] = url
			window.defaultstatus = "object added to queue slot " + lastPointer
			lastPointer++
			if(!document.fileLoading)
				loadQueue[workPointer].loadQueue(url)
		}
	}
		
	function FlexLoadQueue() {
		document.fileLoading = true
		if(this.loadTest == true) {
			if(document.loadState == true) {
				clearTimeout(f)
				this.loadTest = false
				document.loadState = false
				
				if(ie) document.all[this.obj.id].innerHTML = document.bufferFrame.document.body.innerHTML
				
				if(loadQueue[workPointer] == layer5) {
					contWindow = (ns) ? layer5.css.document.height - 10 : layer5.obj.scrollHeight
					scrollWindow = (ns) ? layer5.parentObj.clip.height : layer5.parentObj.offsetHeight
					offsetHeight = contWindow - scrollWindow
 					if(contWindow > scrollWindow) {
 						layer6.show()
 						layer7.show()			
 					}
 					else {
 						layer6.hide()
 						layer7.hide()
 					}
				}
				
				loadQueue[workPointer] = null
				workPointer++
				if(this != loadQueue[workPointer]) {
					if(loadQueue[workPointer] != null) {
						window.status = linkQueue[workPointer]
						loadQueue[workPointer].loadQueue(linkQueue[workPointer])
					}
					else {
						workPointer = 0
						lastPointer = 0
						document.fileLoading = false
					}
				}	
			}
			else 
				f = setTimeout(this.pnt + ".loadQueue()", 10)
		}
		else {
			this.loadTest = true
			if(ns) this.css.load(linkQueue[workPointer],this.parentObj.clip.width)
			else if(ie) parent.document.all["bufferFrame"].src = linkQueue[workPointer]
			f = setTimeout(this.pnt + ".loadQueue()", 10)
		}
		this.moveTo(0,15)
		this.loadStatus = true
		this.scrollInit = false
	}
	var loadQueue = new Array()
	var linkQueue = new Array
	var lastPointer = 0
	var workPointer = 0
	
	function FlexLayerScrollSetup() {
		contWindow = (ns) ? this.css.document.height - 10 : this.obj.scrollHeight
		scrollWindow = (ns) ? this.parentObj.clip.height : this.parentObj.offsetHeight
		offsetHeight = contWindow - scrollWindow
 		if(contWindow > scrollWindow) {
 			this.scrollInit = true
 			this.scrollReady = true			
 		}
	}
	
	function FlexLayerScrollUp() {
		if(this.loadStatus == true) {
        		if(this.scrollReady == true) {
				if(this.yPos < 15) {
					this.moveBy(0,4)
					s = setTimeout(this.pnt +".scrollUp()",30)
  				}
  			}
  		}
	}
	
	function FlexLayerScrollDown() {
		if(this.loadStatus == true) {		
			if(this.scrollInit != true) this.scrollSetup()
  			if(this.scrollReady == true) {
  				if(this.yPos > -offsetHeight) {
  					this.moveBy(0,-4)
					s = setTimeout(this.pnt +".scrollDown()",30)
  				}
  			}
  		}
	}
	
	function FlexLayerScrollStop() {
		if(this.scrollInit == true) clearTimeout(s)
	}