<!--
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

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 MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->


function MM_reloadPage(init) {  //Updated by PVII. Reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
function flevSlideDiv() { // v1.1, Marja Ribbers-de Vroed, FlevOOware
	if (arguments.length < 4) {return;}
	var sDivID = arguments[0]; if (sDivID == "") {return;}
	var docObj = eval("MM_findObj('" + sDivID + "')"); if (docObj == null) {return;}
	var iNewX = parseInt(arguments[1]), iNewY = parseInt(arguments[2]);
	var iSpeed = parseInt(arguments[3]);
	var iPx = (arguments.length > 4) ? parseInt(arguments[4]) : 0;
	iTimeout = 10, sSuffix = "";
	if (!document.layers) {docObj = docObj.style;} // not NS4.x 
	if (docObj.tmpTimeout != null) {clearTimeout(docObj.tmpTimeout);}
	var iCurX = parseInt(docObj.left), iCurY = parseInt(docObj.top);
	if ((iCurX != iNewX) || (iCurY != iNewY)) {  // layer position needs to be adjusted
		if (iPx > 0) { // constant speed
			iTimeout = iSpeed;
			var iPxX = iPx, iPxY = iPx, iMoveX = Math.abs(iCurX - iNewX), iMoveY = Math.abs(iCurY - iNewY);

			// take care of diagonal movement
			if (iMoveX < iMoveY) {iPxY = (iMoveX != 0) ? ((iMoveY/iMoveX)*iPx) : iPx;}
			else {iPxX = (iMoveY != 0) ? ((iMoveX/iMoveY)*iPx) : iPx;}
			if (iPxX >= iMoveX) {iPxX = Math.min(Math.ceil(iPxX), iPx);}
			if (iPxY >= iMoveY) {iPxY = Math.min(Math.ceil(iPxY), iPx);}
			// calculate temporary X/Y coordinates
			if ((iCurX < iNewX) && (iCurX + iPxX < iNewX)) {iNewX = iCurX + iPxX;}
			if ((iCurX > iNewX) && (iCurX - iPxX > iNewX)) {iNewX = iCurX - iPxX;}
			if ((iCurY < iNewY) && (iCurY + iPxY < iNewY)) {iNewY = iCurY + iPxY;}
			if ((iCurY > iNewY) && (iCurY - iPxY > iNewY)) {iNewY = iCurY - iPxY;}
		}

		else { // gradually decreasing speed
			var iMoveX = ((iNewX - iCurX) / iSpeed); 
			iMoveX = (iMoveX > 0) ? Math.ceil(iMoveX) : Math.floor(iMoveX);
			iNewX = iCurX + iMoveX; 
			var iMoveY = ((iNewY - iCurY) / iSpeed); 
			iMoveY = (iMoveY > 0) ? Math.ceil(iMoveY) : Math.floor(iMoveY);
			iNewY = iCurY + iMoveY;
		}

		// now actually move div
		if ((parseInt(navigator.appVersion)>4 || navigator.userAgent.indexOf("MSIE")>-1) && (!window.opera)) {sSuffix="px";}
		if (iMoveX != 0) {eval("docObj.left = '" + iNewX + sSuffix + "'");}
		if (iMoveY != 0) {eval("docObj.top = '" + iNewY + sSuffix + "'");}
		var sFunction = "flevSlideDiv('" + sDivID + "'," + arguments[1] + "," + arguments[2] + "," + iSpeed + "," + iPx + ")";
		docObj.tmpTimeout = setTimeout(sFunction,iTimeout);
	}
}


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 popup(page,dx,dy,nom) {
	if (document.all){
		var xMax = screen.width, yMax = screen.height;
	} else
		if (document.layers)
			var xMax = window.outerWidth, yMax = window.outerHeight;
		else 
			var xMax = 800, yMax=600;
	var xOffset = (xMax - dx)/2, yOffset = (yMax - dy)/2;
	window.open(page,nom,'scrollbars=no,status=no,resizable=no,width='+dx+',height='+dy+',screenX='+xOffset+',screenY='+yOffset+',top='+yOffset+',left='+xOffset+'',true,true);
}



function Pop2Show(strUrl, strName, isizeX, isizeY) {
var Pop2Show = null;
  Pop2Show = window.open(strUrl, strName, 'width='+isizeX+',height='+isizeY+',toolbar=no,scrollbars=no,statusbar=no,menubar=no,left=15,top=15,resizable=yes,personalbar=no,locationbar=no');
  if (Pop2Show) Pop2Show.focus();
}

function Pop2Show2(strUrl, strName, isizeX, isizeY) {
var Pop2Show2 = null;
  Pop2Show = window.open(strUrl, strName, 'width='+isizeX+',height='+isizeY+',toolbar=no,scrollbars=yes,statusbar=no,menubar=yes,left=5,top=5,resizable=yes,personalbar=no,locationbar=no');
  if (Pop2Show2) Pop2Show2.focus();
}


function Pop2ShowS(strUrl, strName, isizeX, isizeY) {
var Pop2Show = null;
  Pop2Show = window.open(strUrl, strName, 'width='+isizeX+',height='+isizeY+',toolbar=no,scrollbars=yes,status=yes,menubar=no,left=10,top=10,resizable=yes,personalbar=no,location=no');
  if (Pop2Show) Pop2Show.focus();
}

function setPointer(theRow, theAction, theDefaultColor, thePointerColor, theMarkColor)
{
    var theCells = null;

    // 1. Pointer and mark feature are disabled or the browser can't get the
    //    row -> exits
    if ((thePointerColor == '' && theMarkColor == '')
        || typeof(theRow.style) == 'undefined') {
        return false;
    }

    // 2. Gets the current row and exits if the browser can't get it
    if (typeof(document.getElementsByTagName) != 'undefined') {
        theCells = theRow.getElementsByTagName('td');
    }
    else if (typeof(theRow.cells) != 'undefined') {
        theCells = theRow.cells;
    }
    else {
        return false;
    }

    // 3. Gets the current color...
    var rowCellsCnt  = theCells.length;
    var domDetect    = null;
    var currentColor = null;
    var newColor     = null;
    // 3.1 ... with DOM compatible browsers except Opera that does not return
    //         valid values with "getAttribute"
    if (typeof(window.opera) == 'undefined'
        && typeof(theCells[0].getAttribute) != 'undefined') {
        currentColor = theCells[0].getAttribute('bgcolor');
        domDetect    = true;
    }
    // 3.2 ... with other browsers
    else {
        currentColor = theCells[0].style.backgroundColor;
        domDetect    = false;
    } // end 3

    // 4. Defines the new color
    // 4.1 Current color is the default one
    if (currentColor == ''
        || currentColor.toLowerCase() == theDefaultColor.toLowerCase()) {
        if (theAction == 'over' && thePointerColor != '') {
            newColor = thePointerColor;
        }
        else if (theAction == 'click' && theMarkColor != '') {
            newColor = theMarkColor;
        }
    }
    // 4.1.2 Current color is the pointer one
    else if (currentColor.toLowerCase() == thePointerColor.toLowerCase()) {
        if (theAction == 'out') {
            newColor = theDefaultColor;
        }
        else if (theAction == 'click' && theMarkColor != '') {
            newColor = theMarkColor;
        }
    }
    // 4.1.3 Current color is the marker one
    else if (currentColor.toLowerCase() == theMarkColor.toLowerCase()) {
        if (theAction == 'click') {
            newColor = (thePointerColor != '')
                     ? thePointerColor
                     : theDefaultColor;
        }
    } // end 4

    // 5. Sets the new color...
    if (newColor) {
        var c = null;
        // 5.1 ... with DOM compatible browsers except Opera
        if (domDetect) {
            for (c = 0; c < rowCellsCnt; c++) {
                theCells[c].setAttribute('bgcolor', newColor, 0);
            } // end for
        }
        // 5.2 ... with other browsers
        else {
            for (c = 0; c < rowCellsCnt; c++) {
                theCells[c].style.backgroundColor = newColor;
            }
        }
    } // end 5

    return true;
} // end of the 'setPointer()' function


