/*Most Popular widget - Accordeon*/

var runningIntervals=Array();

/* displays first part of accordeon, hides others, set to all parts the same height and dimishes paddings of parent object, input params -acc - id of accordeon*/
function InitAccordeon(acc){
  var accobj=document.getElementById(acc);
  if(accobj!=null){
 
    var maxH=0;
      
    for(var i=0; i<accobj.childNodes.length;i++){
        if(accobj.childNodes[i].className!=undefined){
          if(accobj.childNodes[i].className.indexOf('box_mostpopular')!=-1){
             for(var ii=0; ii<accobj.childNodes[i].childNodes.length;ii++){
                  if(accobj.childNodes[i].childNodes[ii].className!=undefined){
                    if(accobj.childNodes[i].childNodes[ii].className.indexOf('mostpopular_inner')!=-1){
                       var h=$(accobj.childNodes[i].childNodes[ii]).outerHeight();
                       maxH=Math.max(maxH,h);                    
                    }
                  }
              }     
          }
        }
    }
    
    for(var i=0; i<accobj.childNodes.length;i++){
        if(accobj.childNodes[i].className!=undefined){
          if(accobj.childNodes[i].className.indexOf('box_mostpopular')!=-1){
             for(var ii=0; ii<accobj.childNodes[i].childNodes.length;ii++){
                  if(accobj.childNodes[i].childNodes[ii].className!=undefined){
                    if(accobj.childNodes[i].childNodes[ii].className.indexOf('mostpopular_inner')!=-1){
                       $(accobj.childNodes[i].childNodes[ii]).height(maxH);                   
                    }
                  }
              }     
          }
        }
    }
  
     for(var i=0; i<accobj.childNodes.length;i++){
        if(accobj.childNodes[i].className!=undefined){
          if(accobj.childNodes[i].className.indexOf('box_mostpopular')!=-1){
            ResizeAccordeonPart(acc,accobj.childNodes[i].id,true); 
            break;
          }
        }
    }
    
    $(accobj).parent().css('padding-top','0px');
    $(accobj).parent().css('padding-bottom','0px');
    $(accobj).parent().css('margin-top','0px');
    $(accobj).parent().css('margin-bottom','0px');
  }
}

/*function for displaying certain part of accordion. If no part should be displayed, add null as active*/
/*input params -acc - id of accordeon, active - id of part to activate*/
function ActivateAccordeonPart(acc,active){
  var accobj=document.getElementById(acc);
    
  if(accobj!=null){
    var intName=acc+'_int';
    if((runningIntervals[intName]!=undefined) && (runningIntervals[intName]!=null)){
      window.clearInterval(runningIntervals[intName]);
    }
     
    runningIntervals[intName]=window.setInterval('ResizeAccordeonPart("'+acc+'","'+active+'",false)',100);  		
  }
}

/*interval function, enlarges active part, collapses all other parts of given accordeon*/
function ResizeAccordeonPart(acc,active,jump){
  var accobj=document.getElementById(acc);
  var actobj=document.getElementById(active);
  
  if(accobj!=null){
  
    var modified=0;
    
    for(var i=0; i<accobj.childNodes.length;i++){
      if(accobj.childNodes[i].className!=undefined){
        if(accobj.childNodes[i].className.indexOf('box_mostpopular')!=-1){
           var part=accobj.childNodes[i];
                     
           var isAct=false;
           if(part==actobj){
            isAct=true;
           }
          
           var partH=$(part).height();
            
           var headerH=0;
           var innerH=0;
           for(var ii=0; ii<part.childNodes.length; ii++){
              if(part.childNodes[ii].className!=undefined){
                if(part.childNodes[ii].className.indexOf('mostpopular_heading')!=-1){
                  headerH=$(part.childNodes[ii]).outerHeight();
                } else if(part.childNodes[ii].className.indexOf('mostpopular_inner')!=-1){
                  innerH=$(part.childNodes[ii]).outerHeight();
                }
              }
           } 
           
           if(isAct){
              if(partH<headerH+innerH){
                if(!jump){
                    $(part).height(Math.min(headerH+innerH,partH+Math.max(((headerH+innerH)-partH)/2,5)));
                } else {
                    $(part).height(headerH+innerH);                
                } 
                modified++;
              }                 
           } else {
              if(partH>headerH){
                if(!jump){
                    $(part).height(Math.max(headerH,partH-Math.max((partH-headerH)/2,5)));
                } else {
                    $(part).height(headerH);
                }
                modified++;
              }
           }
           
        }
      }
    } 
    
    if(modified==0){
      var intName=acc+'_int';
      window.clearInterval(runningIntervals[intName]);
    }
  }   
  
}
