/* global functions go here */

var onLoadFunctions = 'initCalculator();initFAQPage();initOnResize();initSubnaviPanels();addCalcDetailToggle();';
var onResizeFunctions = 'checkSidebar();';

function addOnloadFunction(fstr) {
  onLoadFunctions += fstr + ";";
}

function onLoad() {
  eval(onLoadFunctions);
}

function onResize() {
  eval(onResizeFunctions);
}

function initOnResize() {
  window.onresize = onResize;
}

var subnaviContainers = new Object();
var subnaviContainersIDs = new Array();
function initSubnaviPanels() {
  var subnaviContainersObjs = $$('.subnavpanel_container');
  for(var ic=0; ic<subnaviContainersObjs.length; ic++) {
      var cCont = new Object();
      cCont['objectid'] = subnaviContainersObjs[ic].id;
      cCont['id'] = cCont['objectid'].substring(cCont['objectid'].lastIndexOf('_')+1);
      cCont['object'] = subnaviContainersObjs[ic];
      cCont['fx'] = new Fx.Slide('subnavpanelFx_'+cCont['id'],{duration: 1000, onComplete: function() {
        /*subnaviContainers[cCont['id']]['running'] = false;
        if(subnaviContainers[cCont['id']]['stat'] == "false") {
          alert("displaynone");
          subnaviContainers[cCont['id']]['object'].style.display = 'none';
        }*/

      }});
      cCont['fx'].hide();
      cCont['stat'] = false;
      cCont['running'] = false;
      cCont['panelstat'] = true;
      subnaviContainers[cCont['id']] = cCont;
      subnaviContainersIDs[ic] = cCont['id'];
    }
}

function closeallSubnaviPanels(id) {
  for(var ic=0; ic<subnaviContainersIDs.length; ic++) {
    if(subnaviContainersIDs[ic] != id) {
      subnaviContainers[subnaviContainersIDs[ic]]['stat'] = false;
      //subnaviContainers[subnaviContainersIDs[ic]]['running'] = false;
      subnaviContainers[subnaviContainersIDs[ic]]['fx'].slideOut();
    }
  }
}

function switchSubnaviPanel(id) {

  closeallSubnaviPanels(id);

  if(subnaviContainers[id] != undefined && subnaviContainers[id] != 'undefined') {

    if(subnaviContainers[id]['panelstat'] && subnaviContainers[id]['fx'] && subnaviContainers[id]['object']/* && subnaviContainers[id]['running'] == false*/) {

      if(subnaviContainers[id]['stat'] == true) {
        subnaviContainers[id]['stat'] = false;
        //subnaviContainers[id]['running'] = true;
        subnaviContainers[id]['fx'].slideOut();
      } else {
        subnaviContainers[id]['object'].style.display = 'inline';
        //subnaviContainers[id]['running'] = true;
        subnaviContainers[id]['stat'] = true;
        subnaviContainers[id]['fx'].slideIn();
      }
    }
  }
}

function c_toplist_change(listid,tabnum) {

    var tlTitleName = 'toplistTitle';
    var tlContentName = 'toplistContent';

    var titleObj = document.getElementById(tlTitleName+'_'+listid+'_'+tabnum);
    var contentObj = document.getElementById(tlContentName+'_'+listid+'_'+tabnum);

    if(titleObj && contentObj) {

      var TTitleObj, TContentObj;
      for(var i = 0; i<10; i++) {
        TTitleObj = document.getElementById(tlTitleName+'_'+listid+'_'+i);
        TContentObj = document.getElementById(tlContentName+'_'+listid+'_'+i);
        if(TTitleObj && TContentObj) {
          var cTN = '';
          if(i == 0) cTN += ' borderD0CECELeft';
          else cTN += ' borderWhiteLeft';
          TTitleObj.className = cTN;
          TContentObj.className = 'tabContent displayNone';
        }
      }
      var cN = 'activated';
      if(i == 0) cN += ' borderD0CECELeft';
      else cN += ' borderWhiteLeft';

      titleObj.className = cN;
      contentObj.className = 'tabContent displayBlock';
    }
}

function doSearchFromForm() {
  var sF = document.getElementById('topSearchForm');
  if(sF) {
    if(typeof(sF.search) != 'undefined' && typeof(sF.search) != 'unknown') {
      if(typeof(sF.search.value) != 'undefined' && typeof(sF.search) != 'unknown') {
        var ss = sF.search.value;
        if(ss.length > 2) sF.submit();
      }
    }
  }
}

var calculatorStat = true;
var calculatorFx;
var calculatorActionTextOpen;
var calculatorActionTextClose;
var calculatorButton;
var calculatorBox;
function initCalculator() {
  calculatorFx = new Fx.Slide('calculatorBox',{duration: 2000,onComplete: calcSwitchComplete});
  //transition: Fx.Transitions.Pow.easeOut,

  calculatorActionTextOpen = document.getElementById('calc_btn_action_open');
  calculatorActionTextClose = document.getElementById('calc_btn_action_close');
  calculatorButton = document.getElementById('calc_btn');
  calculatorBox = document.getElementById('calculatorBox');


  var cN = calculatorBox.className;
  if(cN.indexOf('displayNone') != -1) {
    calculatorFx.hide();
    calculatorStat = false;
    calculatorBox.className = "boxes calculatorBox";
    calcSwitchComplete();
  } else {
    calculatorStat = true;
  }
}

function switchCalculator() {
  var obj = document.getElementById('calculatorBox');
  if(obj && calculatorFx) {
    if(calculatorStat) {
      calculatorFx.toggle();
      calculatorStat = false;
    } else {
      calculatorFx.toggle();
      calculatorStat = true;
    }
  }
}

function calcSwitchComplete() {
  if(calculatorStat) {
    //alert("out");
    if(calculatorActionTextOpen && calculatorActionTextClose && calculatorButton) {
      calculatorActionTextOpen.className = 'calc_btn_action displayNone';
      calculatorActionTextClose.className = 'calc_btn_action';
      calculatorButton.className = 'calc_btn';
    }
  } else {
    //alert("in");
    if(calculatorActionTextOpen && calculatorActionTextClose && calculatorButton) {
      calculatorActionTextOpen.className = 'calc_btn_action';
      calculatorActionTextClose.className = 'calc_btn_action displayNone';
      calculatorButton.className = 'calc_btn calc_btn_active';
    }
  }
}

function initFAQPage() {
  try{
    if($('lexicon')){

      var count = 0;
      $$('#lexicon .leftContentBoxLexi').each(
        function(e){
          e.id = 'subAcc_'+count++;

          if( count > 1 ) faqDisplay = 999999;
          else faqDisplay = 0;

          new Accordion
            ($$('#'+e.id+' .faq-title'), $$('#'+e.id+' .faq-text'),
              {
            	  opacity: false,
            	  onActive: function(toggler, element){
            	    toggler.setStyle('color', '#fff');
              	},
              	onBackground: function(toggler, element){
              	  toggler.setStyle('color', '#fff');
              	},
              	alwaysHide:true,
              	display : faqDisplay
              }
            );
        }
      )
    }
  } catch(e){
    loggi(e);
  }
}


/**
 * Add the toggle function to the result box
 */
var calcdetails_hideinfo = true;
function addCalcDetailToggle() {
  if( $('calcDetailsTitle') ) {
    slider = new Fx.Slide('calcDetailsBox');
    $('calcDetailsTitle').addEvent('click', function(e) {
  	  //e.stop();

  	  slider.toggle();
  	  if (slider.open) {
  	     $('calcDetailsTitle').setStyle('background-image', 'url(templates/html/master/img/icons/resultDown.gif)');
  	  } else {
  	    $('calcDetailsTitle').setStyle('background-image', 'url(templates/html/master/img/icons/resultUp.gif)');
  	  }
    });
    if(calcdetails_hideinfo) slider.hide();
    $('calcDetailsBox').setStyle('display','block');
  }
}


/**
* Log JS
*/
function jsLog(text) {
  var ua = navigator.userAgent;
  if(ua.indexOf("MSIE") >=0) {
  } else {
    console.log(text);
  }
}

/****
* Multibox
****/
var addMultibox = function() {
  new MultiBox('multibox', {
    descClassName:'multiBoxDesc',
    useOverlay: true,
    path: '',
    descMaxWidth: 100

  });
}
window.addEvent("domready", addMultibox);


/****
* Calc
****/
var setCalcBox = function() {
  if($('calcBox')) {
    new Ajax('index.php?'+$('calcBox').getProperty('title'), {
    	method: 'get',
    	data: {},
    	onComplete: function(){
    	  $('calcBox').setProperty('title','');
    	}
    	,update: $('calcBox')
    }).request();
  }

}
window.addEvent("load", setCalcBox);

