﻿

var acc_hndl = {

 acc_name: '', cu_acc_open:'',
 fadespeed:200, 
 icon_hide:'images/green_arr.gif', icon_show:'images/green_arr_sel.gif', 
 
 init: function (nam,ano) {
  
   if (acc_hndl.acc_name!='') {
     $('#accid_'+acc_hndl.acc_name).hide();
     if (acc_hndl.cu_acc_open!='') {
       $('#acc_body_'+acc_hndl.acc_name+'_'+acc_hndl.cu_acc_open).hide();
       $('#acc_arrow_'+acc_hndl.acc_name+'_'+acc_hndl.cu_acc_open).attr('src',acc_hndl.icon_hide);
       acc_hndl.cu_acc_open = '';
     }
   }
   acc_hndl.acc_name = nam;
 
   $('#accid_'+acc_hndl.acc_name).show();

   // hide all bodies
   $('#accid_'+acc_hndl.acc_name+' .acc_body_'+acc_hndl.acc_name).hide();
   
   $('#accid_'+acc_hndl.acc_name+' .acc_head_'+acc_hndl.acc_name).bind('click', function(e) {
       acc_hndl.handle_proj_acc_click (e);
   });
 
   // get acc name of first body
   if (ano==':first:') { 
     var fst_an = $('#accid_'+acc_hndl.acc_name+' .acc_body_'+acc_hndl.acc_name).attr('id');
     ano = acc_hndl.get_target_number(fst_an);
   }
 
   acc_hndl.switch_to_new_acc(ano);
   
 },
 
 switch_to_new_acc : function (ano) {
 
  if (acc_hndl.cu_acc_open!='') {
   // slide out old body
   $('#acc_body_'+acc_hndl.acc_name+'_'+acc_hndl.cu_acc_open).slideUp(acc_hndl.fadespeed, function (){
     $('#acc_arrow_'+acc_hndl.acc_name+'_'+acc_hndl.cu_acc_open).attr('src',acc_hndl.icon_hide)
     
     if (acc_hndl.cu_acc_open == ano) {
       acc_hndl.cu_acc_open = '';
     } else {
       acc_hndl.cu_acc_open = ano; 
       if (acc_hndl.cu_acc_open!='') {
         $('#acc_arrow_'+acc_hndl.acc_name+'_'+ano).attr('src',acc_hndl.icon_show);
         $('#acc_body_'+acc_hndl.acc_name+'_'+ano).slideDown(acc_hndl.fadespeed, function () {});
       }
     }
   });
  } else {
   acc_hndl.cu_acc_open = ano; 
   if (acc_hndl.cu_acc_open!='') { 
     $('#acc_body_'+acc_hndl.acc_name+'_'+ano).slideDown(acc_hndl.fadespeed, function() {
       $('#acc_arrow_'+acc_hndl.acc_name+'_'+ano).attr('src',acc_hndl.icon_show);
     });
   }
  }  
 
 },
 
 
 handle_proj_acc_click : function  (e) {
   var tar =  e.target.parentNode;

   while (!$(tar).hasClass('acc_head_'+acc_hndl.acc_name)) {tar = tar.parentNode; if(tar==null) return;}
   var np = $(tar).attr('id');
   if (typeof np === "undefined") np=''; // IE returns empty str, FF undefined
   if ( np != "") {
       e.preventDefault();
       var ano = acc_hndl.get_target_number(np);
       acc_hndl.switch_to_new_acc(ano);
   }
 },


 get_target_number : function (pn) {
  var li = pn.lastIndexOf('_');
  if (li>=0) { return pn.slice(li+1); }
  return pn;
 }

}


