
var szDivIDold = "";
var oldimgname = "";

function toggleBox(szDivID) {
var imgname = 'img_'+szDivID;

if (document.layers) { // NN4+
    if (document.layers[szDivID].visibility == 'visible') {
      document.layers[szDivID].visibility = "hide";
      document.layers[szDivID].display = "none";
      document.layers[szDivID+"SD"].fontWeight = "normal";
    } else {
      document.layers[szDivID].visibility = "show";
      document.layers[szDivID].display = "inline";
//      document.layers[szDivID+"SD"].fontWeight = "bold";
    }
  } else if (document.getElementById) { // gecko(NN6) + IE 5+
    var obj = document.getElementById(szDivID);
	var oldobj = document.getElementById(szDivIDold);
//    var objSD = document.getElementById(szDivID+"SD");
    if (obj.style.visibility == 'visible') {
      obj.style.visibility = "hidden";
      obj.style.display = "none";
      document.images[imgname].src = "uploads/tf/arrow_down.gif";
//      objSD.style.fontWeight = "normal";
    } else {
      obj.style.visibility = "visible";
      obj.style.display = "inline";
      document.images[imgname].src = "uploads/tf/arrow_up.gif";
//      objSD.style.fontWeight = "bold";
    }
	if ( (oldimgname != "") && (oldimgname != imgname) && (oldobj.style.visibility == 'visible')) {
      oldobj.style.visibility = "hidden";
      oldobj.style.display = "none";
      document.images[oldimgname].src = "uploads/tf/arrow_down.gif";
	}
	else {
	}


  } else if (document.all) { // IE 4
    if (document.all[szDivID].style.visibility == 'visible') {
      document.all[szDivID].style.visibility = "hidden";
      document.all[szDivID].style.display = "none";
		if ((szDivIDold != "") && (document.all[szDivIDold].style.visibility == 'visible')) {
		document.all[szDivIDold].style.visibility = "hidden";
      	document.all[szDivIDold].style.display = "none";
	  	}
//      document.all[szDivID+"SD"].style.fontWeight = "normal";
    } else {
      document.all[szDivID].style.visibility = "visible";
      document.all[szDivID].style.display = "inline";
//      document.all[szDivID+"SD"].style.fontWeight = "bold";
    }
  }
szDivIDold = szDivID;
oldimgname = 'img_'+szDivIDold;
}


var marked_row = new Array;
var oldMarkedRow = '';
var oldMarkedCells = '';
var theRow = "";
var clearOldRow = false;
function setPointer(theRow, theRowNum, rowCellsCnt, 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 rowCellsCnt  = 1;
    
    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;
            marked_row[theRowNum] = true;      
           
        }
    }
    // 4.1.2 Current color is the pointer one
    else if (currentColor.toLowerCase() == thePointerColor.toLowerCase()
             && (typeof(marked_row[theRowNum]) == 'undefined' || !marked_row[theRowNum])) {             	        
        if (theAction == 'out') {        	
            newColor              = theDefaultColor;
        }
        else if (theAction == 'click' && theMarkColor != '') {        	
            newColor              = theMarkColor;
            marked_row[theRowNum] = true;
            oldMarkedRow!='' ? marked_row[oldMarkedRow]=false:'';            
            oldMarkedCells!='' ? clearRow(theDefaultColor,oldMarkedCells,rowCellsCnt,domDetect):'';
            oldMarkedRow=theRowNum;
            oldMarkedCells=theCells;

//        var TDClassName = theCells[0].style.className;
//		alert(TDClassName);
 			
//			if ( (theRowNumOld != "") && (theRowNumOld != theRowNum) ){
//			alert("theRowNumOld= "+theRowNumOld);	
//            marked_row[theRowNumOld] = null;
//			}
//			else {
//			alert("theRowNumOld ist leer");			
//			theRowNumOld = theRowNum;
//			}

			
        }
    }
    // 4.1.3 Current color is the marker one
    else if (currentColor.toLowerCase() == theMarkColor.toLowerCase()) {    	     	
        if (theAction == 'click') {        	        	
            newColor              = (thePointerColor != '')
                                  ? thePointerColor
                                  : theDefaultColor;
            if(marked_row[theRowNum] == (typeof(marked_row[theRowNum]) == 'undefined' || !marked_row[theRowNum])){
            	marked_row[theRowNum] = true;
            	          	
            }else{
                marked_row[theRowNum] = null;
                oldMarkedRow==''
                oldMarkedCells==''                
            }
           	
        }
    } // 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

function clearRow(newColor,theCells,rowCellsCnt,domDetect){
	    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;                
            }
        }        
    } 
}


