/*************************************** Scrolling Pane - Start *******************************************************/
// begin absolutely positioned autoscroll area object scripts 
// Extension developed by David G. Miles 
// Original Scrollable Area code developed by Thomas Brattli 
function verifyCompatibleBrowser()
{ 
	this.ver=navigator.appVersion 
	this.dom=document.getElementById?1:0 
	this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0; 
	this.ie4=(document.all && !this.dom)?1:0; 
	this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0; 
	this.ns4=(document.layers && !this.dom)?1:0; 
	this.bw=(this.ie5 || this.ie4 || this.ns4 || this.ns5) 
	return this 
} 

bw=new verifyCompatibleBrowser() 
lstart=120; 
loop=true ; 
speed=150; 
pr_step=3 ;

function ConstructObject(obj,nest)
{ 
	nest=(!nest) ? '':'document.'+nest+'.' 
	this.el=bw.dom?document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?eval(nest+'document.'+obj):0; 
	this.css=bw.dom?document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+'document.'+obj):0; 
	this.scrollHeight=bw.ns4?this.css.document.height:this.el.offsetHeight 
	this.newsScroll=newsScroll; 
	this.moveIt=b_moveIt; this.x; this.y; 
	this.obj = obj + "Object" 
	eval(this.obj + "=this") 
	return this 
} 

function b_moveIt(x,y)
{ 
	this.x=x;this.y=y 
	this.css.left=this.x 
	this.css.top=this.y 
} 

//Makes the object scroll up 
function newsScroll(speed)
{ 
	if(this.y>-this.scrollHeight)
	{ 
		this.moveIt(0,this.y-pr_step) 
		setTimeout(this.obj+".newsScroll("+speed+")",speed) 
	}
	else if(loop) 
	{ 
		this.moveIt(0,lstart) 
		eval(this.obj+".newsScroll("+speed+")") 
	} 
} 

//Makes the object 
function InitialiseAutoScrollArea()
{ 
	objContainer=new ConstructObject('divASContainer') 
	objContent=new ConstructObject('divASContent','divASContainer') 
	objContent.moveIt(0,lstart) 
	objContainer.css.visibility='visible' 
	objContent.newsScroll(speed) 
} 
// end absolutely positioned scrollable area object scripts 
flevTimeoutID = null;

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function flevDivPositionValue(sDivID, sPositionProperty) { 
    var sPositionValue;
	// ***** W3C Compatible DOM (NN6, Mozilla 16, etc.) ***** 
    if (document.getElementById && !document.all) { //W3C DOM compliant 
       var docObj = document.getElementById(sDivID); 
		if (document.defaultView != null) { // NS6+ alike 
			sPositionValue = document.defaultView.getComputedStyle(docObj, "").getPropertyValue(sPositionProperty); 
			} 
		else { // Opera 5 alike 
			if (sPositionProperty == "height") { sPositionValue = docObj.style.pixelHeight; } 
			else if (sPositionProperty == "width") { sPositionValue = docObj.style.pixelWidth; } 
			else { sPositionValue = eval("docObj.style." + sPositionProperty); } 
			} 
		sPositionValue = (sPositionValue == "") ? "0" : sPositionValue; 
    	} 
    // ***** Netscape Navigator 4+ DOM ***** 
    else if (document.layers) { //NS4+ DOM compliant 
		var docObj = eval("MM_findObj('" + sDivID + "')"); 
		if ((sPositionProperty == "width") || (sPositionProperty == "height")) { sPositionValue = eval("docObj.clip." + sPositionProperty); } 
		else { sPositionValue = eval("docObj." + sPositionProperty); } 
		sPositionValue = (sPositionValue == "") ? "0" : sPositionValue; 
    	} 
    // ***** Internet Explorer 4+ DOM ***** 
    else if (document.all) { //IE4+ DOM compliant 
		if (sPositionProperty == "width") { sPositionValue = eval(sDivID + ".offsetWidth"); } 
		else if (sPositionProperty == "height") { sPositionValue = eval(sDivID + ".offsetHeight"); } 
		else if (sPositionProperty == "top") { sPositionValue = eval(sDivID + ".offsetTop"); } 
		else if (sPositionProperty == "left") { sPositionValue = eval(sDivID + ".offsetLeft"); } 
		sPositionValue = (sPositionValue == "") ? "0" : sPositionValue; 
    	} 
	if (isNaN(sPositionValue)) { if (sPositionValue.indexOf('px') > 0) { sPositionValue = sPositionValue.substring(0,sPositionValue.indexOf('px')); } } 
	return parseInt(sPositionValue); 
}

function flevMoveDiv(sDivID, sLeft, sTop){ 
	var	docObj = eval("MM_findObj('" + sDivID + "')"); 
	if (document.layers) { // NS4.x 
		eval("docObj.top = '" + sTop + "'"); 
		eval("docObj.left = '" + sLeft + "'"); 
	} 
	else { // all others 
		eval("docObj.style.top = '" + sTop + "'"); 
		eval("docObj.style.left = '" + sLeft + "'"); 
	} 
}
function flevAutoScrollDivs() { 
	var iArgs = flevAutoScrollDivs.arguments.length;   
	var sContainerDivID = 'AutoScrollContainer';   
	var sContentDivID = 'AutoScrollContent';   
	var iStartScrolling = (iArgs > 0) ? parseInt(flevAutoScrollDivs.arguments[0]) : 1;  
	var iPixels = (iArgs > 1) ? parseInt(flevAutoScrollDivs.arguments[1]) : 1;   
	var iDelay = (iArgs > 2) ? parseInt(flevAutoScrollDivs.arguments[2]) : 50;   
	var iCurrentTop = flevDivPositionValue(sContentDivID, 'top');   
	var iScrollTop = (-1 * flevDivPositionValue(sContentDivID, 'height'));   
	var iScrollBottom = flevDivPositionValue(sContainerDivID, 'height');   
	var iCurrentLeft = flevDivPositionValue(sContentDivID, 'left');  
	if (iStartScrolling) {   
		if (iCurrentTop != iScrollTop) {flevMoveDiv(sContentDivID, String(iCurrentLeft), String(iCurrentTop-iPixels));}	// Continue scrolling   
		else {flevMoveDiv(sContentDivID, String(iCurrentLeft), String(iScrollBottom));}	// Re-position scrolling layer at bottom of containing layer  
		flevTimeoutID = setTimeout("flevAutoScrollDivs(" + iStartScrolling + "," + iPixels + "," + iDelay + ")", iDelay);   
	}   
	else if (flevTimeoutID != null) {clearTimeout(flevTimeoutID);}
}
/*************************************** Scrolling Pane - End *******************************************************/
