// JavaScript Document

var ScrollBars = {};
var timer = null;
ScrollBars.init = function(){
	

	
if (document.getElementById("thumbnail_container") != null){
	ScrollBars.activateScrollBar("thumbnail_container","thumbnail_content","thumbnail_scroll_area","thumbnail_scroller","thumbnail_up_arrow_link","thumbnail_down_arrow_link");						
	}

if (document.getElementById("article_container") != null){
	ScrollBars.activateScrollBar("article_container","article_content","article_scroll_area","article_scroller","article_up_arrow_link","article_down_arrow_link");						
	}
if (document.getElementById("team_info_container") != null){
	ScrollBars.activateScrollBar("team_info_container","team_info_content","team_info_scroll_area","team_info_scroller","team_info_up_arrow_link","team_info_down_arrow_link");						
	}


if (document.getElementById("search_container") != null){
	ScrollBars.activateScrollBar("search_container","search_content","search_scroll_area","search_scroller","search_up_arrow_link","search_down_arrow_link");						
	}

if (document.getElementById("player_info_container") != null){
	ScrollBars.activateScrollBar("player_info_container","player_info_content","player_info_scroll_area","player_info_scroller","player_info_up_arrow_link","player_info_down_arrow_link");						
	}

if (document.getElementById("manager_container") != null){
	ScrollBars.activateScrollBar("manager_container","manager_content","manager_scroll_area","manager_scroller","manager_up_arrow_link","manager_down_arrow_link");						
	}
if (document.getElementById("member_container") != null){
	ScrollBars.activateScrollBar("member_container","member_content","member_scroll_area","member_scroller","member_up_arrow_link","member_down_arrow_link");						
	}

if (document.getElementById("blog_container") != null){
	ScrollBars.activateScrollBar("blog_container","blog_content","blog_scroll_area","blog_scroller","blog_up_arrow_link","blog_down_arrow_link");						
	}

if (document.getElementById("contact_details_container") != null){
	ScrollBars.activateScrollBar("contact_details_container","contact_details_content","contact_details_scroll_area","contact_details_scroller","contact_details_up_arrow_link","contact_details_down_arrow_link");						
	}

if (document.getElementById("team_info_container") != null){
	ScrollBars.activateScrollBar("team_info_container","team_info_content","team_info_scroll_area","team_info_scroller","team_info_up_arrow_link","team_info_down_arrow_link");						
	}

if (document.getElementById("team_info_container_1") != null){
	ScrollBars.activateScrollBar("team_info_container_1","team_info_content_1","team_info_scroll_area_1","team_info_scroller_1","team_info_up_arrow_link_1","team_info_down_arrow_link_1");						
	}

if (document.getElementById("team_info_container_2") != null){
	ScrollBars.activateScrollBar("team_info_container_2","team_info_content_2","team_info_scroll_area_2","team_info_scroller_2","team_info_up_arrow_link_2","team_info_down_arrow_link_2");						
	}

if (document.getElementById("site_info_container") != null){
	ScrollBars.activateScrollBar("site_info_container","site_info_content","site_info_scroll_area","site_info_scroller","site_info_up_arrow_link","site_info_down_arrow_link");						
	}
	
if (document.getElementById("mb_container") != null){
	ScrollBars.activateScrollBar("mb_container","mb_content","mb_scroll_area","mb_scroller","mb_up_arrow_link","mb_down_arrow_link");						
	}	

if (document.getElementById("mb_articles_container") != null){
	ScrollBars.activateScrollBar("mb_articles_container","mb_articles_content","mb_articles_scroll_area","mb_articles_scroller","mb_articles_up_arrow_link","mb_articles_down_arrow_link");						
	}	

if (document.getElementById("contacts_and_fixtures_container") != null){
	ScrollBars.activateScrollBar("contacts_and_fixtures_container","contacts_and_fixtures_content","contacts_and_fixtures_scroll_area","contacts_and_fixtures_scroller","contacts_and_fixtures_up_arrow_link","contacts_and_fixtures_down_arrow_link");						
	}	
if (document.getElementById("blog_thumbnails_container") != null){
	ScrollBars.activateScrollBar("blog_thumbnails_container","blog_thumbnails_content","blog_thumbnails_scroll_area","blog_thumbnails_scroller","blog_thumbnails_up_arrow_link","blog_thumbnails_down_arrow_link");						
	}
if (document.getElementById("featured_content_container") != null){
	ScrollBars.activateScrollBar("featured_content_container","featured_content_content","featured_content_scroll_area","featured_content_scroller","featured_content_up_arrow_link","featured_content_down_arrow_link");						
	}
if (document.getElementById("team_table_container") != null){
	ScrollBars.activateScrollBar("team_table_container","team_table_content","team_table_scroll_area","team_table_scroller","team_table_up_arrow_link","team_table_down_arrow_link");						
	}
	
if (document.getElementById("invitation_container") != null){
	ScrollBars.activateScrollBar("invitation_container","invitation_content","invitation_scroll_area","invitation_scroller","invitation_up_arrow_link","invitation_down_arrow_link");						
	}


};



ScrollBars.activateScrollBar = function(container,content,scrollArea,scroller, upArrowLink,downArrowLink){
	ScrollBars.setScrollBarHeight(container,content,scrollArea,scroller);	
	ScrollBars.assignDragToScroller(content,scrollArea,scroller);
	ScrollBars.activateScrollButtons(content,scrollArea,scroller,upArrowLink,downArrowLink);
};


ScrollBars.setScrollBarHeight = function(container,content,scrollArea,scroller){


var containerHeight = document.getElementById(container).clientHeight;

var contentHeight = document.getElementById(content).clientHeight;
var scrollAreaHeight = document.getElementById(scrollArea).clientHeight;
/*if (contentHeight <= containerHeight){
	var scrollBarHeight = 0;
}else {
	
	var scrollBarHeight = 25;	
};*/



/* use this code  here if you wnat bar to be resized according to amount of contnet*/
if (contentHeight <= containerHeight){
	var scrollBarHeight = 0;
}else {
	var scrollBarHeight = scrollAreaHeight * (containerHeight/contentHeight);	
	if (scrollBarHeight > 25) {
				scrollBarHeight = 25;
		};
};


document.getElementById(scroller).style.height = Math.round(scrollBarHeight) + "px"; 

};


ScrollBars.getContentTop = function(content,scrollArea,scroller){
	
var scrollerTop = document.getElementById(scroller).offsetTop;
var scrollAreaHeight = document.getElementById(scrollArea).clientHeight;
var contentHeight =  document.getElementById(content).clientHeight;
var scrollAreaTop = 0;
var containerTop = 0;
var contentTop = ((scrollAreaTop - scrollerTop)/scrollAreaHeight) * (contentHeight) + containerTop;
return contentTop;
	};
	
ScrollBars.assignDragToScroller = function(content,scrollArea,scroller){
	var Scroller = document.getElementById(scroller);
	var scrollAreaHeight = document.getElementById(scrollArea).clientHeight;
	var scrollerHeight = document.getElementById(scroller).clientHeight;
	var scrollDist = Math.round(scrollAreaHeight - scrollerHeight);
	
	Drag.init(Scroller,null,0,0,0,scrollDist);
	
	Scroller.onDrag = function(x,y){

	var contentTop = ScrollBars.getContentTop(content,scrollArea,scroller);
	document.getElementById(content).style.top = contentTop + "px";
		
		}
	
};


ScrollBars.moveUp = function(content,scrollArea,scroller){
	var endValue = 0;
	var increment = 1;
	//debugger;
	var Scroller =  document.getElementById(scroller);
	var scrollerTop = Scroller.offsetTop;
		
	Scroller.style.top = ScrollBars.changeCurrentValue(endValue,scrollerTop,increment) + "px"; 
	var contentTop = ScrollBars.getContentTop(content,scrollArea,scroller);
	document.getElementById(content).style.top = contentTop + "px";
		
	timer =  setTimeout(function(){ScrollBars.moveUp(content,scrollArea,scroller)},20);
	
};

ScrollBars.moveDown = function(content,scrollArea,scroller){
	var endValue = document.getElementById(scrollArea).clientHeight;;
	var increment = 1;
	//debugger;
	var Scroller =  document.getElementById(scroller);
	var scrollerTop= Scroller.offsetTop;
		
	Scroller.style.top = ScrollBars.changeCurrentValue(endValue - Scroller.offsetHeight,scrollerTop,increment) + "px"; 
	var contentTop = ScrollBars.getContentTop(content,scrollArea,scroller);
	document.getElementById(content).style.top = contentTop + "px";
		
	timer =  setTimeout(function(){ScrollBars.moveDown(content,scrollArea,scroller)},20);
	
};


ScrollBars.stopMove = function(event){
	
if (timer){
	
clearTimeout(timer);

	}
	
};
									  
ScrollBars.changeCurrentValue = function(endValue,currentValue,increment){
	
var valueDifference = endValue - currentValue;
var newCurrentValue = 0;
var newIncrement = 0;

if (valueDifference > 0){
			newIncrement = Math.min(valueDifference,increment);
			newCurrentValue = currentValue + increment;
			return newCurrentValue;
	}
	else if (valueDifference < 0){
			newIncrement = Math.min(-valueDifference,increment);
			newCurrentValue = currentValue - increment; 
			return newCurrentValue;
		
	}
	else {
			newCurrentValue = endValue;
			return newCurrentValue;	
		
		
	}
	return newCurrentValue;
};
									  
					
ScrollBars.activateScrollButtons = function(content,scrollArea,scroller,upArrowLink,downArrowLink){
var UpButton = document.getElementById(upArrowLink);
var DownButton = document.getElementById(downArrowLink);
Core.addEventListener(UpButton,"mousedown",function(event){ScrollBars.moveUp(content,scrollArea,scroller)});
Core.addEventListener(UpButton,"mouseup",ScrollBars.stopMove);
Core.addEventListener(UpButton,"mouseout",ScrollBars.stopMove);

Core.addEventListener(DownButton,"mousedown",function(event){ScrollBars.moveDown(content,scrollArea,scroller)});
Core.addEventListener(DownButton,"mouseup",ScrollBars.stopMove);
Core.addEventListener(DownButton,"mouseout",ScrollBars.stopMove);
	
};




/**************************************************
 * dom-drag.js
 * 09.25.2001
 * www.youngpup.net
 **************************************************
 * 10.28.2001 - fixed minor bug where events
 * sometimes fired off the handle, not the root.
 **************************************************/

var Drag = {

	obj : null,

	init : function(o, oRoot, minX, maxX, minY, maxY, bSwapHorzRef, bSwapVertRef, fXMapper, fYMapper)
	{
		o.onmousedown	= Drag.start;

		o.hmode			= bSwapHorzRef ? false : true ;
		o.vmode			= bSwapVertRef ? false : true ;

		o.root = oRoot && oRoot != null ? oRoot : o ;

		if (o.hmode  && isNaN(parseInt(o.root.style.left  ))) o.root.style.left   = "0px";
		if (o.vmode  && isNaN(parseInt(o.root.style.top   ))) o.root.style.top    = "0px";
		if (!o.hmode && isNaN(parseInt(o.root.style.right ))) o.root.style.right  = "0px";
		if (!o.vmode && isNaN(parseInt(o.root.style.bottom))) o.root.style.bottom = "0px";

		o.minX	= typeof minX != 'undefined' ? minX : null;
		o.minY	= typeof minY != 'undefined' ? minY : null;
		o.maxX	= typeof maxX != 'undefined' ? maxX : null;
		o.maxY	= typeof maxY != 'undefined' ? maxY : null;

		o.xMapper = fXMapper ? fXMapper : null;
		o.yMapper = fYMapper ? fYMapper : null;

		o.root.onDragStart	= new Function();
		o.root.onDragEnd	= new Function();
		o.root.onDrag		= new Function();
	},

	start : function(e)
	{
		var o = Drag.obj = this;
		e = Drag.fixE(e);
		var y = parseInt(o.vmode ? o.root.style.top  : o.root.style.bottom);
		var x = parseInt(o.hmode ? o.root.style.left : o.root.style.right );
		o.root.onDragStart(x, y);

		o.lastMouseX	= e.clientX;
		o.lastMouseY	= e.clientY;

		if (o.hmode) {
			if (o.minX != null)	o.minMouseX	= e.clientX - x + o.minX;
			if (o.maxX != null)	o.maxMouseX	= o.minMouseX + o.maxX - o.minX;
		} else {
			if (o.minX != null) o.maxMouseX = -o.minX + e.clientX + x;
			if (o.maxX != null) o.minMouseX = -o.maxX + e.clientX + x;
		}

		if (o.vmode) {
			if (o.minY != null)	o.minMouseY	= e.clientY - y + o.minY;
			if (o.maxY != null)	o.maxMouseY	= o.minMouseY + o.maxY - o.minY;
		} else {
			if (o.minY != null) o.maxMouseY = -o.minY + e.clientY + y;
			if (o.maxY != null) o.minMouseY = -o.maxY + e.clientY + y;
		}

		document.onmousemove	= Drag.drag;
		document.onmouseup		= Drag.end;

		return false;
	},

	drag : function(e)
	{
		e = Drag.fixE(e);
		var o = Drag.obj;

		var ey	= e.clientY;
		var ex	= e.clientX;
		var y = parseInt(o.vmode ? o.root.style.top  : o.root.style.bottom);
		var x = parseInt(o.hmode ? o.root.style.left : o.root.style.right );
		var nx, ny;

		if (o.minX != null) ex = o.hmode ? Math.max(ex, o.minMouseX) : Math.min(ex, o.maxMouseX);
		if (o.maxX != null) ex = o.hmode ? Math.min(ex, o.maxMouseX) : Math.max(ex, o.minMouseX);
		if (o.minY != null) ey = o.vmode ? Math.max(ey, o.minMouseY) : Math.min(ey, o.maxMouseY);
		if (o.maxY != null) ey = o.vmode ? Math.min(ey, o.maxMouseY) : Math.max(ey, o.minMouseY);

		nx = x + ((ex - o.lastMouseX) * (o.hmode ? 1 : -1));
		ny = y + ((ey - o.lastMouseY) * (o.vmode ? 1 : -1));

		if (o.xMapper)		nx = o.xMapper(y)
		else if (o.yMapper)	ny = o.yMapper(x)

		Drag.obj.root.style[o.hmode ? "left" : "right"] = nx + "px";
		Drag.obj.root.style[o.vmode ? "top" : "bottom"] = ny + "px";
		Drag.obj.lastMouseX	= ex;
		Drag.obj.lastMouseY	= ey;

		Drag.obj.root.onDrag(nx, ny);
		return false;
	},

	end : function()
	{
		document.onmousemove = null;
		document.onmouseup   = null;
		Drag.obj.root.onDragEnd(	parseInt(Drag.obj.root.style[Drag.obj.hmode ? "left" : "right"]), 
									parseInt(Drag.obj.root.style[Drag.obj.vmode ? "top" : "bottom"]));
		Drag.obj = null;
	},

	fixE : function(e)
	{
		if (typeof e == 'undefined') e = window.event;
		if (typeof e.layerX == 'undefined') e.layerX = e.offsetX;
		if (typeof e.layerY == 'undefined') e.layerY = e.offsetY;
		return e;
	}
};

Core.start(ScrollBars);
