
onDomReady(function(){

  var context = $('accordion');
  var oFx = [];
  
  var items = $el(context,'div.accordion_text');
  
  items.forEach(function(item,index){

    setStyles(item,{overflow:'hidden'});
    
    oFx[index] = new Fx;
    oFx[index].initialize(item,{duration:600,curve:['easeInOut',4]});
    
  });
  
  addEvents($el(context,'a.accordion_title'),'click',function(event){

    stopEvent(event);
    
    if(hasClass(this,'accordion_close')){
      var clean = this.id.replace("get_", "");
    
      $(clean).style.height = '0px';
      removeClass($(clean),'hide');   
      
      items.forEach(function(item,index){
        var titleItem = $('get_'+item.id);
        
        if(item.id == clean){
          var schoolText = $el(item,'div.school')[0];
          item.style.height = "23px";
          schoolText.innerHTML = "<img src='mozaik/images/loading.gif' alt='loading' /> Loading..."
          var ajaxSchool = new ajaxRequest('xml.php?file=school&id_school='+clean.replace('accordion_',''));
          ajaxSchool.callBack(function(data){
            var xml_doc = data.responseXML;
            schoolText.innerHTML = Xml(xml_doc).tag('school').value;
            var to = firstNodeChild(item).offsetHeight;
            replaceClass(titleItem,'accordion_close','accordion_open');
            oFx[index].start({height:[23,to],opacity:[0,1]});
          });
          ajaxSchool.get();
        }else if(item.offsetHeight>10){
          var to = firstNodeChild(item).offsetHeight;
          replaceClass(titleItem,'accordion_open','accordion_close');
          oFx[index].start({height:[to,0],opacity:[1,0]});      
        }      
      });
    }else{
      var clean = this.id.replace("get_", "");
      items.forEach(function(item,index){
        var titleItem = $('get_'+item.id);
        if(item.id == clean){
          replaceClass(titleItem,'accordion_open','accordion_close');
          var to = firstNodeChild(item).offsetHeight;
          oFx[index].start({height:[to,0],opacity:[1,0]});
        }
      });
    }
  
  });

});

