// JavaScript Document
var oTimerID = 0; //Show preview timer
var iTimerID = 0; //scroller timer
var uTimerID = 0; //Mask/unmask timer
var ftElm;
//var scrollDir = 0;

function gI(e){return document.getElementById(e);}

function scroller() {
	var contentID="";
	var containerID="";
	var scrollerID="";
	var scrollAreaID="";
	var m_scrollDir=0;
	var m_docH=0;
	var m_scrollAreaH=0;
	var m_contH=0;
	var m_scrollDist=0;
	var m_scrollH=0;
	
	this.SetContentID=SetContentID;
	this.SetContainerID=SetContainerID;
	this.SetScrollAreaID=SetScrollAreaID;
	this.SetScrollerID=SetScrollerID;
	this.init=init;
	this.scrollClick=scrollClick;
	this.stopScroll=stopScroll;
	this.scrollWheel=scrollWheel;
	this.MOZScrollWheel=MOZScrollWheel;
	this.MOZDrag=MOZDrag;
	
	function SetContentID(val) {contentID=val;}
	function SetContainerID(val) {containerID=val;}
	function SetScrollAreaID(val) {scrollAreaID=val;}
	function SetScrollerID(val) {scrollerID=val;}
	
	function init(){
		//alert(gI(contentID));
		m_docH = gI(contentID).offsetHeight;
		m_contH = gI(containerID).offsetHeight;
		//alert("scroller.contH =" + scroller.contH);
		m_scrollAreaH = gI(scrollAreaID).offsetHeight;
		m_scrollH = (m_contH * m_scrollAreaH) / m_docH;
		m_scrollDist = Math.round(m_scrollAreaH-parseInt(gI(scrollerID).offsetHeight));
		Drag.init(gI(scrollerID),null,0,0,-1,m_scrollDist);
		gI(scrollerID).onDrag=function(x,y){
			var scrollY=parseInt(gI(scrollerID).style.top);
			var docY=0-(scrollY*(m_docH-m_contH)/m_scrollDist);
			gI(contentID).style.top = docY+'px';
		}
		if(window.addEventListener) {
			gI(contentID).addEventListener("DOMMouseScroll", MOZScrollWheel, false);
			gI(contentID).addEventListener("select", MOZDrag, false);
		}
		
		
	}
	
	function scrollWheel(){
		window.event.returnValue=false;
		beginScroll(event.wheelDelta)
	}
	
	function scrollClick(dir,e){
		if(navigator.platform.indexOf('Mac')!=-1&&navigator.userAgent.indexOf('MSIE')!=-1){
			m_scrollDir = dir;
			beginScroll();
		}else{
			m_scrollDir = dir;
			iTimerID = window.setInterval(beginScroll,100,dir);
		}
	}
	
	function stopScroll(){
		window.clearInterval(iTimerID);
	}
	
	function beginScroll(dir){
		if(dir!=null) m_scrollDir = dir;
		var px=0;var top=parseInt(gI(scrollerID).style.top);
		var bottom=gI(scrollAreaID).offsetHeight-gI(scrollerID).offsetHeight;
		if(m_scrollDir>0){
			if(top>0)px=top-5;
			else return false;
		}else{
			if(top<bottom)px=top+5;
			else return false;
		}
		gI(scrollerID).style.top=px+'px';
		docH=gI(contentID).offsetHeight;
		contH=gI(containerID).offsetHeight;
		scrollAreaH=gI(scrollAreaID).offsetHeight;
		scrollH=(contH*scrollAreaH)/docH;
		scrollDist=Math.round(scrollAreaH-parseInt(gI(scrollerID).offsetHeight));
		var scrollY=parseInt(gI(scrollerID).style.top);
		var docY=0-(scrollY*(docH-contH)/scrollDist);
		gI(contentID).style.top=docY+"px"
	}
	
	function MOZScrollWheel(e){
		e.preventDefault();
		var top=parseInt(gI(scrollerID).style.top);
		var bottom=gI(scrollAreaID).offsetHeight-gI(scrollerID).offsetHeight;beginScroll(e.detail*-1);
	}
	function MOZDrag(e){
		e.preventDefault();
	}
}


var scroll1;
var scroll2;

window.onload = function() {
	scroll1 = new scroller();
	scroll1.SetContentID("content");
	scroll1.SetContainerID("TourStopsContainer");
	scroll1.SetScrollerID("scroller");
	scroll1.SetScrollAreaID("scrollArea");
	scroll1.init();	
	
	
}