
/**
 * Branchenliste und Erhebungsjahre je Branche
 */

/**
 * Hilfsfunktionen
 */
function isUndefined(obj) { return typeof(obj)=='undefined'; }
function isNull(obj) { return obj===null; }
function isSet(obj) { return !isUndefined(obj) && !isNull(obj); }
function hide(el) { if (el) { el.setStyle('display', 'none');  }}
function show(el) { if (el) { el.setStyle('display', 'block'); }}
function toggle(el) { if (el) { if (el.getStyle('display')=='none'||!isSet(el.getStyle('display')))  { show(el); } else { hide(el); } } }

/**
 * Statusvariable: ist die Checkbox zur Branchenauswahl gesetzt?
 */
var onlyCurrentYearVisible = false;

/**
 * 2010 erhobene Branchen
 */
/*
var currentBranchen = [ 
  "1", "2","3","5","6", "8",
  "10","14",
  "21","24","26",
  "35","39",
  "49",
  "50","55","58",
  "61","68",
  "71","72",
  "80","88",
  "103","104",
  "110","118","119",
  "183","184" 
];
*/
/**
 * 2011 erhobene Branchen
 */
 var currentBranchen = [
	"2", "3", "5", "6", "8", 
	"10", "11", "14", 
	"20", "24", "26", 
	"33", "36", "37", 
	"49", 
	"58", 
	"61", "64", "68", 
	"72", "78", 
	"88", 
	"103", "104", 
	"110", "118", 
	"124", "125", "126", 
	"183"
];

/**
 * Seite initialisieren
 */
function init_page(event) {
  show($('js_only'));
  hide($('branchendetails_nojs')); 
  if ($('onlycurrent')) { $('onlycurrent').addEvent('click', toggleOnlyCurrentYear); }
  if ($('branchen_all')) { $('branchen_all').addEvent('click', getHtml); }
  if ($('branchen_current')) { $('branchen_current').addEvent('click', getHtml); }
  if ($('onlycurrent')) { initializeOnlyCurrentYear(); }
  show($('ui'));
}

/**
 * Nur Branchen aus dem aktuellen Erhebungsjahr anzeigen
 */
function initializeOnlyCurrentYear() {
  $('onlycurrent').checked = onlyCurrentYearVisible;
  $$('#branchen_all option').each(function(el) {
    var bid = getBid(el);
    if (currentBranchen.indexOf(bid)>-1) {
      $('branchen_current').appendChild(el.clone());
    } 
  });
  if (onlyCurrentYearVisible) { 
    hide($('branchen_all')); show($('branchen_current')); 
  } else { 
    show($('branchen_all')); hide($('branchen_current')); 
  }
}

/**
 * Nur Branchen aus dem aktuellen Erhebungsjahr anzeigen
 * vs. Branchen aus allen Erhebungsjahren anzeigen
 */
function toggleOnlyCurrentYear() {
  toggle($('branchen_all'))
  toggle($('branchen_current')); 
  onlyCurrentYearVisible = !onlyCurrentYearVisible;
}

/**
 * Branchen-ID holen
 */
function getBid(element) {
   var bid = element.value; 
   if (!isSet(bid)) { bid = -1; }
   return bid;
}

/**
 * Brancheninfos holen und anzeigen
 */
function getHtml(event) {
  var target = event.target;
  var bid = getBid(target);
  if (bid<0) { return; } // falls Klick nach/hinter letztem Listeneintrag
  var loading_message = "<img src='tl_files/img/loading_1.gif' alt='Lade Details'> Lade Details für die Branche " + bid;
  $('branchendetails').innerHTML = loading_message;
  var myHTMLRequest = new Request.HTML({ url:'brdetails.php', update: $('branchendetails') }).get({ 'bid':bid, 'sleep': '1' });
}


/**
 * Initialisierung der Seite
 */
window.addEvent('domready', init_page);


