// Globalna tablica heightObjs na obliczoną wysokość
var heightObjs = new Array();

// Pobieranie obliczonej wysokości i ustawianie jej na zero
function setHeight(objName) {
   var obj = document.getElementById(objName);
   var height = aaGetStyle(objName,'height');
   heightObjs[objName] = Math.round(parseFloat(height.substr(0,height.length-2)));
   obj.style.height="0";
}

// Przygotowywanie paneli
aaManageEvent(window,"load", function() { 

   setHeight('one');
   setHeight('two');
   setHeight('three');  

   document.getElementById('oneplus').style.display='block';
   document.getElementById('twoplus').style.display='block';
   document.getElementById('threeplus').style.display='block';
});

// Animowane rozwijanie elementu 
function expand(newItem) {
   document.getElementById(newItem + 'plus').style.display='none';
   document.getElementById(newItem + 'negative').style.display='block';
   var currentItem = document.getElementById(newItem);

   // Określanie przyrostu poprzez dzielenie obliczonej 
   // wysokości przez liczbę powtórzeń pętli - 20
   var incr = heightObjs[newItem] / 20;
   for (var i=0; i < 20; i++) {
      var val = (i+1) * incr;
      var func = "adjustItem("+val+",'"+newItem+"')";
      setTimeout(func,(i+1)*30);
   }
}

// Animowane ukrywanie elementu
function collapse(newItem) {
   document.getElementById(newItem + 'plus').style.display='block';
   document.getElementById(newItem + 'negative').style.display='none';
   var currentItem = document.getElementById(newItem);

   // Określanie pomniejszenia poprzez dzielenie obliczonej 
   // wysokości przez liczbę powtórzeń pętli - 20
   var decr = heightObjs[newItem] / 20; 
   for (var i=0; i<20; i++) {
      var val = heightObjs[newItem]-(decr*(i+1));
      var func = "adjustItem("+val+",'"+newItem+"')";
      setTimeout(func,(i+1)*30);
   }
}

// Dostosowywanie poszczególnych elementów
function adjustItem(val, newItem) {
    document.getElementById(newItem).style.height=val + "px";
}