
function MakeSmallBoxSeriesIdentical(){
var controlsArray = document.getElementsByClassName('boxSmallMarker'); 
if(controlsArray.length <= 0){return}
var offsetTopArray = new Array(controlsArray.length);
var indexArray = new Array(controlsArray.length);
var length = controlsArray.length;
var devide = length/3;

for (var i=0; i < length; i++){
    offsetTopArray[i] = controlsArray[i].offsetTop;
    indexArray[i] = i;
}

sortedTopsIndexArray = GetSortedIndexes(offsetTopArray, indexArray);
var k =0;
idsSmallBoxTextArea = new Array(2);
idsSmallBox = new Array(2);
for (var i = 0; i < length; i++)
    {
        idsSmallBox[k] = controlsArray[sortedTopsIndexArray[i]].id;
        idsSmallBoxTextArea[k] = GetTextAreaIdFromSmallBox(controlsArray[sortedTopsIndexArray[i]]);
        k++;
        if((i+1)%3 == 0){
            MakeHeightOfDivsIdentical(idsSmallBox);
	        MakeHeightOfDivsIdentical(idsSmallBoxTextArea);
            k = 0;   
    }
  }
}

function GetTextAreaIdFromSmallBox(smallBoxMainDivControl){
var mainDivControl = smallBoxMainDivControl;
var mainChildNods = mainDivControl.childNodes;

var node = GetNodeByClassName(mainChildNods,'boxSmallTextareaMarker');
var nodeControlId = GetValueFromAttribut(node.attributes,'ID');
return nodeControlId;
}

function GetNodeByClassName(nods, className){
    for (var i = 0; i < nods.length; i++){
    var nodeName = nods[i].name;
        if(nods[i].attributes != null){
             for (var j = 0; j < nods[i].attributes.length; j++){
                var attributes = nods[i].attributes;
                if(IsClassInNode(attributes, className)){
                    var retNode =  nods[i];
                    return retNode;
                }
             }       
        } 
    }
    return null;
}

function IsClassInNode(attributes, className){
    var att = attributes.getNamedItem("class");
    if(att){
        var value = att.value;
        if(value.indexOf(className) != -1){
                return true;
         } else {
                return false;
         }
    }
}


function GetValueFromAttribut(attributes, attributeName){
    var att = attributes.getNamedItem(attributeName);
    if(att){
        return att.value;
    }else{
        return -1;
    }
}

function GetSortedIndexes(array1, indexArray){
var sorted = false  
while (!sorted){
  sorted = true
  for (var i=0; i<array1.length-1; i++)
     if (array1[i]>array1[i+1]){
        sorted = false
        //array1
        tmp1 = array1[i] 
        array1[i]=array1[i+1]
        array1[i+1] = tmp1

        tmp2 = indexArray[i]
        indexArray[i]=indexArray[i+1]
        indexArray[i+1] = tmp2
     }
}
return indexArray;
}


function MakeHeightOfDivsIdentical(controlsIdsArray) {
try {
        var controlsArray = new Array(controlsIdsArray.length);
        var heights = new Array(controlsIdsArray.length);
        var greatHeight;

        for(var i=0;i<controlsArray.length;i++) {
          controlsArray[i] = document.getElementById(controlsIdsArray[i]);
          heights[i] = controlsArray[i].offsetHeight; 
        }

        greatHeight = GetGreatHeight(heights);
        for(var i=0;i<controlsArray.length;i++) {
          controlsArray[i].style.height = greatHeight + 'px';
        }
    } catch (e) {
         if (debug) { alert("Fehler aufgetreten: "+e); }
    }
}

function GetGreatHeight(heights){
var temp;
    for(i=0;i<heights.length;i++) {
        for(j=i;j<heights.length;j++) {
          if(heights[i]<heights[j]) {
            temp = heights[i];
            heights[i] = heights[j];
            heights[j] = temp;
          }    
    }
}
return heights[0];
}

function SetVisible(id) {

    for (var i = 0; i < document.getElementsByTagName("div").length; i++) {
        if (document.getElementsByTagName("div")[i].className == 'b2b_visible') {
            document.getElementsByTagName("div")[i].className = 'b2b_hidden';
        }
    }

    var toChange = document.getElementById(id);
    if (toChange != null) {
        toChange.className = 'b2b_visible';
    }
}