// Dette er scriptet som styrer scrollbaren på glederskap.no

var time	= false;
var moveit = null;
var space = 30;
var current = "";
var fart = 15;
var hold_at = 0;

function fnInitScroll(psID) {
	current = psID;
	setHeight();
	if(bar_ratio()>=1) hide();
}

function getY(evt)		{if (evt.pageY) { return parseInt(evt.pageY); } else { return parseInt(event.clientY);}}
function bar_ratio() 	{return (getEl("tekstramme").offsetHeight-space) / (getEl("content").offsetHeight);}
function bondary() 		{return getEl("bar").offsetHeight - getEl("page").offsetHeight;}
function setHeight() 	{getEl("page").style.height = bar_height() * bar_ratio()+"px";}
function moveBy(value)	{moveTo(parseInt(getEl("page").style.top+0)+value);}
function getHeight() 	{return parseInt(getEl("page").style.height);}
function getEl(id) 		{return document.getElementById(current+id);} 
function getTop() 		{return parseInt(getEl("page").style.top);}
function bar_height() 	{return getEl("bar").offsetHeight;}
function stopScroll()	{if (time) {clearTimeout(time);}}
function disableSelect(){return false;}
function enableSelect() {return true;}	
function hide()			{getEl("oppned").style.display="none";}

function drop(obj,evt) {
	moveit=false;
	document.onselectstart=new Function ("return true");
	document.onmousedown = enableSelect;
	moveit=false;	
}

function hold(evt,obj,prefix) {
	if (moveit) {return;}
	clienty = getY(evt);
	hold_at = clienty - parseInt(getEl("page").style.top+0) ;
	document.onselectstart=new Function ("return false");
	document.onmousedown = disableSelect;
	current = prefix;
	moveit=true;
}

function moved(evt,obj) {
	if (moveit==true) {
		Y = getY(evt);
		moveTo(Y - hold_at);
	} 
}

function moveTo(value) {
	retval = false;
	t_bondary = bondary()
	if ( value >= 0 && value <= t_bondary ) {
		retval = true;
	} else if (value > t_bondary) {
		value = t_bondary
	} else if (value < 0) {
		value = 0;
	}
	getEl("page").style.top = value + 'px' ;
	getEl("content").style.top = - value / bar_ratio() + "px";
	return retval;
}

function scrollOpp(prefix) {
	if (moveit) {return;}
	if (prefix) { current = prefix;}
	time = setTimeout("scrollOpp()",50);			
	moveBy(-fart*bar_ratio());
}

function scrollNed(prefix) {
	if (moveit) {return;}
	if (prefix) { current = prefix;}
	time = setTimeout('scrollNed()',50);			
	moveBy(Math.ceil(fart*bar_ratio()));
}

// menyscript av Brothercake (http://www.brothercake.com) 

function menuInitTrigger(menuTrigger)
{
var menuMenu = null;
if(menuTrigger.firstChild && menuTrigger.firstChild.nextSibling)
{ menuMenu = menuTrigger.childNodes[2]; }
menuTrigger.onmouseover = function()
{ this.menuShowMenu();}
menuTrigger.onmouseout = function(e)
{ this.menuHideMenu(e);}
menuTrigger.menuShowMenu = function()
{

			// ved hover
			menuTrigger.firstChild.style.backgroundColor = '#fff';
			menuTrigger.firstChild.style.color = '#000';

//if trigger has menu
if(menuMenu != null)
{
menuMenu.style.marginTop = (0-menuTrigger.offsetHeight)+'px';
menuMenu.style.visibility = 'visible';
}
}
menuTrigger.menuHideMenu = function(e)
{
if(!e) { e = window.event; }
if(!menuTrigger.contains(e.relatedTarget || e.toElement))
{
			//rollout
			menuTrigger.firstChild.style.backgroundColor = '#ed620f;';
			menuTrigger.firstChild.style.color = '#fff';

if(menuMenu != null)
{
menuMenu.style.visibility = 'hidden';
}
}
}
if(!(menu.macie||menu.winie))
{
menuTrigger.contains = function(node)
{
if (node == null) { return false; }
if (node == this) { return true; }
else { return this.contains(node.parentNode); }
}
}
}
function menuNavbar(ulTree)
{
menu.nav = this;
menu.tree = ulTree;
if(menu.winie)
{
menu.html = menu.tree.innerHTML;
menu.html = menu.html.replace(/<([\/]?)li/ig,'<$1div');
menu.tree.innerHTML = menu.html;
}
 (menu.xdom) ? menu.tagNames = 'li' : (menu.winie) ? menu.tagNames = 'DIV' : 
menu.tagNames = 'LI';
menu.listItems = menu.tree.getElementsByTagName(menu.tagNames);
menu.listLen = menu.listItems.length;
for(i=0; i<menu.listLen; i++)
{
menuInitTrigger(menu.listItems[i]);
}
}
var tree = null;
var menu = new Object;

menu.ua = navigator.userAgent.toLowerCase();
menu.op6 = (menu.ua.indexOf("opera 6")!=-1||menu.ua.indexOf("opera/6")!=-1)?true:false;
menu.dom = (typeof document.getElementById!="undefined"&&typeof 
document.createElement!="undefined"&&!menu.op6)?true:false;
menu.winie = (menu.dom&&typeof document.all!="undefined"&&typeof 
window.opera=="undefined")?true:false;
menu.macie = 
(menu.winie&&menu.ua.indexOf("mac")!=-1)?true:false;if(menu.macie){menu.winie=false;}
menu.xdom = (menu.dom&&typeof document.write=='undefined')?true:false;
window.onload = function()
{
if(menu.dom)
{
tree = document.getElementById('menu');
if(tree != null)
{
menu.nav = new menuNavbar(tree)
}
}
}

/* menyscript av Brothercake (http://www.brothercake.com/) */

function menuInitTrigger(menuTrigger)
{
var menuMenu = null;
if(menuTrigger.firstChild && menuTrigger.firstChild.nextSibling)
{ menuMenu = menuTrigger.childNodes[2]; }
menuTrigger.onmouseover = function()
{ this.menuShowMenu();}
menuTrigger.onmouseout = function(e)
{ this.menuHideMenu(e);}
menuTrigger.menuShowMenu = function()
{

			// ved hover
			menuTrigger.firstChild.style.backgroundColor = '#fff';
			menuTrigger.firstChild.style.color = '#000';

//if trigger has menu
if(menuMenu != null)
{
menuMenu.style.marginTop = (0-menuTrigger.offsetHeight)+'px';
menuMenu.style.visibility = 'visible';
}
}
menuTrigger.menuHideMenu = function(e)
{
if(!e) { e = window.event; }
if(!menuTrigger.contains(e.relatedTarget || e.toElement))
{
			//rollout
			menuTrigger.firstChild.style.backgroundColor = '#eee';
			menuTrigger.firstChild.style.color = '#666';

if(menuMenu != null)
{
menuMenu.style.visibility = 'hidden';
}
}
}
if(!(menu.macie||menu.winie))
{
menuTrigger.contains = function(node)
{
if (node == null) { return false; }
if (node == this) { return true; }
else { return this.contains(node.parentNode); }
}
}
}
function menuNavbar(ulTree)
{
menu.nav = this;
menu.tree = ulTree;
if(menu.winie)
{
menu.html = menu.tree.innerHTML;
menu.html = menu.html.replace(/<([\/]?)li/ig,'<$1div');
menu.tree.innerHTML = menu.html;
}
 (menu.xdom) ? menu.tagNames = 'li' : (menu.winie) ? menu.tagNames = 'DIV' : 
menu.tagNames = 'LI';
menu.listItems = menu.tree.getElementsByTagName(menu.tagNames);
menu.listLen = menu.listItems.length;
for(i=0; i<menu.listLen; i++)
{
menuInitTrigger(menu.listItems[i]);
}
}
var tree = null;
var menu = new Object;

menu.ua = navigator.userAgent.toLowerCase();
menu.op6 = (menu.ua.indexOf("opera 6")!=-1||menu.ua.indexOf("opera/6")!=-1)?true:false;
menu.dom = (typeof document.getElementById!="undefined"&&typeof 
document.createElement!="undefined"&&!menu.op6)?true:false;
menu.winie = (menu.dom&&typeof document.all!="undefined"&&typeof 
window.opera=="undefined")?true:false;
menu.macie = 
(menu.winie&&menu.ua.indexOf("mac")!=-1)?true:false;if(menu.macie){menu.winie=false;}
menu.xdom = (menu.dom&&typeof document.write=='undefined')?true:false;
window.onload = function()
{
if(menu.dom)
{
tree = document.getElementById('menu');
if(tree != null)
{
menu.nav = new menuNavbar(tree)
}
}
}