// JavaScript Document
function changeOpenerWindow(url){
	self.opener.location = url;
	}

function windowopen(url, name, w, h)
{
w += 32;
h += 96;
var win = window.open(url,
  name, 
  'width=' + w + ', height=' + h + ', ' +
  'location=no, menubar=no, ' +
  'status=no, toolbar=no, scrollbars=no, resizable=yes');
 win.resizeTo(w, h);
 win.focus();
}

function spamFilter(user,domain){
		locationstring = "mailto:" + user + "@" + domain;
		window.location = locationstring;
}

var wheelMouseDelta = 0
var wheelMouseDeltaScroller = 0
var maxScrollY
var deltaChange
var scrollYscroller = 0
var deltaMultiplier
var scroller = {

init: function() {

scroller.docH = document.getElementById("content").offsetHeight;
scroller.contH = document.getElementById("container").offsetHeight;
scroller.scrollAreaH = document.getElementById("scrollArea").offsetHeight;
scroller.scrollH = (scroller.contH * scroller.scrollAreaH) / scroller.docH;

//Hide if not needed
if(scroller.scrollH < 15) scroller.scrollH = 15;
document.getElementById("scroller").style.height =Math.round(scroller.scrollH) + "px";

if (scroller.scrollAreaH < scroller.docH) {
document.getElementById("scrollArea").style.visibility = "visible"
}

scroller.scrollDist = Math.round(scroller.scrollAreaH-scroller.scrollH);

Drag.init(document.getElementById("scroller"),null,0,0,-1,scroller.scrollDist);
maxScrollY = 0 - (scroller.docH - scroller.contH)
/*run once */
var scrollY = parseInt(document.getElementById("scroller").style.top);
var docY = 0 - (scrollY * (scroller.docH - scroller.contH) / scroller.scrollDist);

/*multiplier for scroll change based on how big the list is relative to the scroll bar*/
deltaChange = (scroller.scrollDist / (scroller.docH - scroller.contH)) * ((scroller.docH - scroller.contH) / scroller.scrollDist * 15)
scrollYscroller = (scroller.scrollDist / (scroller.docH - scroller.contH)) * deltaChange

document.getElementById("content").style.top = docY + "px";
wheelMouseDelta = docY
wheelMouseDeltaScroller = 0 - scrollY

document.getElementById("scroller").onDrag = function (x,y) {
var scrollY = parseInt(document.getElementById("scroller").style.top);
var docY = 0 - (scrollY * (scroller.docH - scroller.contH) / scroller.scrollDist);

document.getElementById("content").style.top = docY + "px";
wheelMouseDelta = docY
wheelMouseDeltaScroller = scrollY
}
}
}

function handle(delta) {
	if (delta < 0) {
		if (wheelMouseDelta > maxScrollY) {
			document.getElementById("scroller").style.top = wheelMouseDeltaScroller + "px"
			document.getElementById("content").style.top = wheelMouseDelta + "px"
			wheelMouseDelta -= deltaChange
			wheelMouseDeltaScroller += scrollYscroller
			}
		if ((wheelMouseDelta+deltaChange) < maxScrollY) {
			document.getElementById("scroller").style.top = 0-maxScrollY+"px"
			document.getElementById("content").style.top = maxScrollY+"px"
			wheelMouseDelta = maxScrollY
			wheelMouseDeltaScroller = 0-maxScrollY
			}
	}
	else {
		if (wheelMouseDelta < 0) {
			document.getElementById("scroller").style.top = wheelMouseDeltaScroller + "px"
			document.getElementById("content").style.top = wheelMouseDelta + "px"
			wheelMouseDelta += deltaChange
			wheelMouseDeltaScroller -= scrollYscroller
			}
		if (wheelMouseDelta > 0) {
			document.getElementById("scroller").style.top = 0+"px"
			document.getElementById("content").style.top = 0+"px"
			}
	}
}

function wheel(event){
        var delta = 0;
        if (!event) /* For IE. */
                event = window.event;
        if (event.wheelDelta) { /* IE/Opera. */
                delta = event.wheelDelta/120;
                /** In Opera 9, delta differs in sign as compared to IE.
                 */
                if (window.opera)
                        delta = -delta;
        } else if (event.detail) { /** Mozilla case. */
                /** In Mozilla, sign of delta is different than in IE.
                 * Also, delta is multiple of 3.
                 */
                delta = -event.detail/3;
        }
        /** If delta is nonzero, handle it.
         * Basically, delta is now positive if wheel was scrolled up,
         * and negative, if wheel was scrolled down.
         */
        if (delta)
                handle(delta);
        /** Prevent default actions caused by mouse wheel.
         * That might be ugly, but we handle scrolls somehow
         * anyway, so don't bother here..
         */
        if (event.preventDefault)
                event.preventDefault();
	event.returnValue = false;
}

function scrollerbookmark(name) {
document.getElementById("content").style.top = 0- document.getElementById(name).offsetTop+'px'
document.getElementById("scroller").style.top = document.getElementById(name).offsetTop * (scroller.scrollDist / (scroller.docH - scroller.contH))+'px'

var scrollY = parseInt(document.getElementById("scroller").style.top);
var docY = 0 - (scrollY * (scroller.docH - scroller.contH) / scroller.scrollDist);

document.getElementById("content").style.top = (docY+10) + "px";
wheelMouseDelta = docY
wheelMouseDeltaScroller = scrollY

}