<!--
var wwwRoot;
var styleRel;
var tooltipId = 'dude';

function addOnLoad (newOnLoad) {
    var oldOnLoad = window.onload;
    if(typeof oldOnLoad == 'function') {
        window.onload = function () {
            if(oldOnLoad)
                oldOnLoad()
            newOnLoad();
        }
    }
    else {
        window.onload = newOnLoad;
    }
}

// TODO: Clean up
function createEffect() {

	var elObj = null;
	var inc = 0.0;
	var msInc = 0;
	var msoInc;
	var oinc;
	var intervalId = null;
	this.resetInEffect = resetInEffect;
	this.resetOutEffect = resetOutEffect;
	this.getElName = getElName;
	//this.setMaxInc = setMaxInc;

	this.effectIn = function (delay,speed) {
		if(delay) {
			setTimeout (effectDelay,delay);
		} else {
			intervalId = setInterval(fadeIn, speed);
		}
	}

	function effectDelay() {
		intervalId = setInterval(fadeIn, 40);
	}

	this.setMaxInc = function (maxinc) {
		oinc = maxinc;
	}

	this.effectOut = function (speed) {
		intervalId = setInterval(fadeOut, speed);
	}

	this.setElObj = function (el) {
		elObj = el;
	}

	function getElName () {
		return elObj.id;
	}

	function fadeIn() {
		if(inc < oinc) {
			inc+=0.2;
			if(navigator.userAgent.indexOf('MSIE') != -1 && parseFloat(navigator.appVersion.split("MSIE")[1]) <= 7) {
				elObj.style.filter =  "alpha(opacity = "+(inc.toPrecision(1)*100)+")";
			} else {
				if((inc*100)<99) elObj.style.opacity = inc;
			}
		}
		else {
			resetInEffect();
		}
	}

	function fadeOut() {
		if(oinc.toPrecision(1) > 0.0) {
			if(navigator.userAgent.indexOf('MSIE') != -1 && parseFloat(navigator.appVersion.split("MSIE")[1]) <= 7) {
				elObj.style.filter =  "alpha(opacity = "+(oinc.toPrecision(1)*100)+")";
			}
			else {
				elObj.style.opacity = oinc.toPrecision(1);
			}
			oinc-=0.1;
		}
		else {
			resetOutEffect();
		}
	}

	function resetOutEffect() {
		clearInterval(intervalId);
		if(navigator.userAgent.indexOf('MSIE') != -1) {
			elObj.style.filter =  "alpha(opacity = 0)";
		}
		else {
			elObj.style.opacity = 0.0;
		}
		elObj.style.display = 'none';
		inc = 0.1;
	}

	function resetInEffect() {
		clearInterval(intervalId);
		if(navigator.userAgent.indexOf('MSIE') != -1) {
			elObj.style.filter =  "alpha(opacity = "+(oinc*100)+")";
		}
		else {
			elObj.style.opacity = oinc;
		}
		inc = 0.1;
	}

}

var newwindow;

function popwindow(pcontext,pwidth,pheight,pscrollbar,pname)
{
	var v_settings='height=' + pheight + ',width=' + pwidth + ',toolbar=no,menubar=no,scrollbars=' + pscrollbar + ',resizable=no,location=no,directories=no,status=no';
	newwindow = window.open(pcontext, pname, v_settings);
	newwindow.focus();
}

function newWindow(loc) {
	newwindow = window.open(loc);
	newwindow.focus();
}

function getDocumentHeight() { // Why can't everyone let javascript just be javascript??! *sigh*
	var yH;
	var xW;
	if (typeof window.pageYOffset == 'undefined') { // IE's (inc IE 7)
		if(document.body.scrollHeight != 0) { // IE 6
			yH = document.body.scrollHeight;
			xW = document.body.scrollWidth;
		}
		else { // IE 7
			yH = (document.body.clientHeight > document.body.parentNode.scrollHeight) ? document.body.clientHeight : document.body.parentNode.scrollHeight;
			xW = (document.body.clientWidth > document.body.parentNode.scrollWidth) ? document.body.clientWidth : document.body.parentNode.scrollWidth;
		}
	}
	else if (document.body.parentNode.scrollHeight > 0){ // Firefox
		yH = document.body.parentNode.scrollHeight;
		xW = document.documentElement.clientWidth+window.pageXOffset;
	}
	else {
		yH = (document.clientHeight > 0) ? document.clientHeight : document.documentElement.clientHeight+window.pageYOffset; // All others except konq. Even K4 doesn't return anything useful so we do our best.
		xW = (document.clientWidth > 0) ? document.clientWidth : document.documentElement.clientWidth+window.pageXOffset;
	}

	//alert("scrollHeight: " +document.body.scrollHeight + " offsetHeight: " + document.body.offsetHeight + " documentElement.clientHeight: " + document.documentElement.clientHeight + " scrollTop: " + document.body.scrollTop + " parentNode.scrollHeight: " + document.body.parentNode.scrollHeight + " window.pageYOffset: " + window.pageYOffset)
	return { y:yH,x:xW };
}

// Useful for various things. I use it to avoid browser cache issues.
function randomChars() {
	var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
	var strlen = 8;
	var randstr = '';
	for (var i=0; i<strlen; i++) {
		var randnum = Math.floor(Math.random() * chars.length);
		randstr += chars.substring(randnum,randnum+1);
	}
	return randstr;
}

var ttId,msg,msgHdr;
function showToolTip(msgHeader,msgText) {
	document.onmousemove = mouseMove;
	msg = msgText;
	msgHdr = msgHeader;
}

function hideToolTip() {
	document.onmousemove = null;
	removeElement(ttId,'body');
}

function mouseMove(ev) {
	ev = ev || window.event;
	var mousePos = mouseCoords(ev);
	if(!document.getElementById(ttId)) {
		toolTip(ttId);
	}
	else {
		var dude = document.getElementById(ttId);
		dude.style.left = (mousePos.x - 10)+"px";
		dude.style.top = (mousePos.y - (dude.offsetHeight+2))+"px";
		dude.style.cursor = "default";
		dude.style.visibility = "visible";
	}
}

function mouseCoords(ev) {
	if(ev.pageX || ev.pageY) {
		return {x:ev.pageX, y:ev.pageY};
	}

	return {
		x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
		y:ev.clientY + document.body.scrollTop - document.body.clientTop
	};
}

function createImage(imageFile,imgid,alt,imageHeight,padding){
	var section = document.getElementById(section);
	var img = document.createElement('img');
	img.id = (imgid) ? imgid : 'img1';
	img.src = imageFile;
	img.alt = alt;
	if(imageHeight) img.height = imageHeight;
	if(padding) img.style.paddingLeft = padding+'px';
	return img;
}

function toolTip(tid) {
	var doc = document.getElementById('body');
	var newel = createElement('div');
	var hdrtxt = document.createTextNode(msgHdr);
	var txt = document.createTextNode(msg);
	newel.className = "tooltip";
	newel.id = tid;
	var newelHdr = createElement('div');
	newelHdr.appendChild(hdrtxt);
	newelHdr.style.fontWeight = 'bold';
	newel.appendChild(newelHdr);
	newel.appendChild(txt);
	doc.appendChild(newel);
}

String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}
String.prototype.ltrim = function() {
	return this.replace(/^\s+/,"");
}
String.prototype.rtrim = function() {
	return this.replace(/\s+$/,"");
}

function Checkall(form)
{
   for(var i = 1; i < form.elements.length; i++){
      eval("form.elements[" + i + "].checked = form.elements[0].checked");
   }
}

function Uncheckall(form)
{
   for(var i = 1; i < form.elements.length; i++){
      eval("form.elements[" + i + "].checked = form.elements[0].unchecked");
   }
}

function swapImage(imgName)
{
   //Make sure we only swap real images.
   var imagetypes=/^\S+\.(gif|jpg|jpeg|png)$/;

   if(imagetypes.test(imgName)){
     document.imgTarget.src=imgName;
   }
}

function showPopup(item) {
        document.getElementById(item).style.visibility = 'visible';
        return true;
}

function hidePopup(item) {
        document.getElementById(item).style.visibility = 'hidden';
        return true;
}

// -->
function setActiveStyleSheet(title) {
	  var i, a, main;
	  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
	    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
	      a.disabled = true;
	      if(a.getAttribute("title") == title) a.disabled = false;
	    }
	  }
}

function getActiveStyleSheet() {
	  var i, a;
	  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
	    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
	  }
	  return null;
}

function getPreferredStyleSheet() {
	  var i, a;
	  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
	    if(a.getAttribute("rel").indexOf("style") != -1
	       && a.getAttribute("rel").indexOf("alt") == -1
	       && a.getAttribute("title")
	       ) return a.getAttribute("title");
	  }
	  return null;
}

function createCookie(name,value,days) {
	  if (days) {
	    var date = new Date();
	    date.setTime(date.getTime()+(days*24*60*60*1000));
	    var expires = "; expires="+date.toGMTString();
	  }
	  else expires = "";
	  document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	  var nameEQ = name + "=";
	  var ca = document.cookie.split(';');
	  for(var i=0;i < ca.length;i++) {
	    var c = ca[i];
	    while (c.charAt(0)==' ') c = c.substring(1,c.length);
	    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	  }
	  return null;
}

/*window.onload = function(e) {
	  var cookie = readCookie("style");
	  var title = cookie ? cookie : getPreferredStyleSheet();
	  setActiveStyleSheet(title);
}

window.onunload = function(e) {
	  var title = getActiveStyleSheet();
	  createCookie("style", title, 365);
}

var cookie = readCookie("style");
var title = cookie ? cookie : getPreferredStyleSheet();
setActiveStyleSheet(title);
*/




var fd = false;
var timerSpeed = 30;
var startinc = 778;
var len = 1;
var newsitems = 0;
var offset;

var lastLen = 0;

var http_request = false;

function initXMLHTTPReq() {
	var req = false;
	if (window.XMLHttpRequest) { // Gecko based, KHTML based, etc...
		req = new XMLHttpRequest();
		if (req.overrideMimeType) {
			req.overrideMimeType('text/xml');
		}
	} else if (window.ActiveXObject) { // Internet Explorer...
		try {
			req = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				req = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {
				req = false;
			}
		}
	}

	if (!req) {
		alert('Unable to create an XMLHTTP instance');
		return false;
	}
	else {
		return req;
	}
}

function setCallBack(cb) {
	switch(cb)
	{
		case "additem": http_request.onreadystatechange = postFeedback;
			break;
		case "loadSelections": http_request.onreadystatechange = loadDynSelections;
			break;
		case "delSelectionItem": http_request.onreadystatechange = rmItem;
			break;
		case "viewitem": http_request.onreadystatechange = viewItemContent;
			break;
		default: alert("Bad callback: " + cb);
	}
}

function makeRequest(url, callBack) {
	http_request = false;
	http_request = initXMLHTTPReq();
	setCallBack(callBack);
	http_request.open('GET', url + "&" + randomChars(), true);
	http_request.send(null);
}

function doPost(url, callBack, params) {
	http_request = false;

	http_request = initXMLHTTPReq();
	setCallBack(callBack);

	http_request.open('POST', url, true);
	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
	http_request.setRequestHeader("Content-length", params.length);
	http_request.setRequestHeader("Connection", "close");
	http_request.send(params);
}

function getElementValue(elementName) {
	if(http_request.responseXML.getElementsByTagName(elementName))
		return http_request.responseXML.getElementsByTagName(elementName)[0].childNodes[0].nodeValue;
	else
		return null;
}

function getElementObject(elementName) {
	if(http_request.responseXML.getElementsByTagName(elementName))
		return http_request.responseXML.getElementsByTagName(elementName);
	else
		return false;
}

function removeElement(id,elemId) {
	var elem = document.getElementById(elemId);
	var remElem = document.getElementById(id);
	if(remElem) {
		elem.removeChild(remElem);
	}
}

// wrapper for innerHTML of which only seems to work on IE.
// This should make it work with everything else.
// innerTxt(el [objectHTML], content [string]);
function innerTxt(el,content) {
	if (document.getElementById && !document.all) {
		rng = document.createRange();
		rng.setStartBefore(el);
		htmlFrag = rng.createContextualFragment(content);
		while (el.hasChildNodes())
			el.removeChild(el.lastChild);
		el.appendChild(htmlFrag);
	}
	else {
		el.innerHTML = content;
	}
}

function checkEmail(email) {
	var AtPos = email.indexOf("@")
	var StopPos = email.lastIndexOf(".")
	var Message = "";
	if (email == "") {
		Message = "EMail address field empty" + "\n"
	}
	else if (AtPos == -1 || StopPos == -1) {
		Message = "EMail address not valid";
	}
	else if (StopPos < AtPos) {
		Message = "EMail address not valid";
	}
	else if (StopPos - AtPos == 1) {
		Message = "EMail address not valid";
	}

	return Message
}

function createElement(element) {
	if (typeof document.createElementNS != 'undefined') {
		return document.createElementNS('http://www.w3.org/1999/xhtml', element);
	}
	if (typeof document.createElement != 'undefined') {
		return document.createElement(element);
	}
	return false;
}

var gpeffect = new createEffect();
function greyPage() {
	var overlay = document.getElementById('pageOverlay');
	var docHeight = getDocumentHeight();
	overlay.style.height = docHeight.y+"px";
	overlay.style.display = 'block';

	gpeffect.setElObj(overlay);
	gpeffect.setMaxInc(0.6);
	gpeffect.effectIn(false,70);
}

function hideGreyPage() {
	var overlay = document.getElementById('pageOverlay');
	gpeffect.effectOut(10);
}

function createInput(inpType,inpName,inpID,inpValue) {
	var inp = createElement('input');
	inp.type = inpType;
	inp.name = inpName;
	if(typeof inpID != 'undefined') inpID = inpID;
	if(typeof inpValue != 'undefined') inp.value = inpValue;
	return inp;
}
-->
