/*
 * Globals
 */
var sliding = false;

 /*
 * Expand/collapse the secton given as parameter.
 * crtSection - the current expanded/collapsed section
 */
function expandCollapse(crtSection) {
  // Current section container, expanded or collapse
  var sectionContainer = crtSection.parentNode.parentNode;
	if (sectionContainer.className == "section section_expanded"){
		sectionContainer.className = sectionContainer.className.replace(/section_expanded/, "section_collapsed");
	}
	else {
		sectionContainer.className = sectionContainer.className.replace(/section_collapsed/, "section_expanded");
	}
	return;
}

/*
 * Set the active tab.
 * selTab - selected tab object.
 * selTabContentId - selected tab coresponding content.
 */
function activateTab(selTab, selTabContentId) {
  // desactivate the previous tab head
  var tabsHeadsList = selTab.parentNode.parentNode;
  var tabs = tabsHeadsList.getElementsByTagName("span");
  for (var i=0; i < tabs.length; i++){
    var crtTab = tabs[i];
    if (crtTab.className.indexOf("active") >= 0) {
      crtTab.className = crtTab.className.replace(/ active/, "");
      crtTab.className = crtTab.className.replace(/active/, "");
    }
  }

  // activate the current tab head
  selTab.className = "active";

  // tabs content div, wraps all tabs bodies
	var tabs = document.getElementById("tabs_section") ;
  var tabsContent ;

  // look for the tab body
  for (var i=0; i<tabs.childNodes.length; i++){
    var crtChild = tabs.childNodes[i];
    if(crtChild.className == "content") {
      tabsContent = crtChild;
      break;
    }
  }

	for(var i=0; i < tabsContent.childNodes.length; i++) {
    var crtChild = tabsContent.childNodes[i];
    if(crtChild.className == "tab_content active" && crtChild.id != selTabContentId) {
			crtChild.className = "tab_content";
		}
		else if (crtChild.id == selTabContentId) {
			crtChild.className = "tab_content active";
		}
	}

	return ;
}

/*
 * Slide to the specific slide.
 * slideNr - the slide number where to slide.
 */
function slideTo(slideNr) {
  if (sliding) {
    return;
  }
    var elementId;
    var element;
      for(lauf=1;lauf < 4;lauf++) {
          if (lauf != slideNr) {
              elementId = 'spanslider' + lauf;
              element = document.getElementById(elementId);              
          }
      }

    slideTointernale(slideNr);
}

function slideTointernale(slideNr) {
  if (sliding) {
    return;
  }
  sliding = true;

  var newShift = (slideNr-1) * 850;
  var elementId = 'sliding_list';
  var element = document.getElementById(elementId);
  var crtShift = parseInt(element.style.marginLeft.replace(/px/, ""));
  crtShift = -crtShift;
	slideLeft(crtShift, newShift, elementId) ;

	return;
}

function showPressed(element) {
    element.style.background="white url('/slices/first_page/core_business_buttons_hover.png') repeat-x bottom right";
}
function showUnpressed(element) {
    element.style.backgroundImage="";
}


function setPressedTo(slideNr) {
  if (sliding) {
    return;
  }
  var elementId;
  var element;
    for(lauf=1;lauf < 4;lauf++) {
        if (lauf != slideNr) {
            elementId = 'spanslider' + lauf;
            element = document.getElementById(elementId);
            //showUnpressed(element);
        }
    }
     elementId = 'spanslider' + slideNr;
     element = document.getElementById(elementId);
  //showPressed(element);
  var lauf;
    return;
}



/*
 * Slide an element from its current position to the new position
 * crtShift - current position of the element.
 * newShift - the new final position of the shifted element.
 * elementId - the shifted element id.
 */
function slideLeft (crtShift, newShift, elementId) {

  if (crtShift < newShift) {
  	crtShift = crtShift + Math.ceil((newShift-crtShift)/3);
  }
  else if (crtShift > newShift) {
  	crtShift = crtShift - Math.ceil((crtShift-newShift)/3);
  }
  else if (crtShift == newShift) {
    sliding = false;
    return ;
  }

  var element = document.getElementById(elementId);
  element.style.marginLeft = -crtShift + 'px';

  var time = setTimeout('slideLeft('+crtShift+', '+newShift+', '+'\"'+elementId+'\"'+')', 30);
}

// Timer for the sliding
function startSlidingTimer() {
    wooYayIntervalId = setInterval ( "slideTimer()", 7000 );
}

var index = 2;
var index_max = 3;

function slideTimer() {
    if (index != 0) {
        setPressedTo(index);
        slideTointernale(index);
        index++;
        if (index > index_max) {
            index = 1;
        }
    }
}

function sliderTimerStop() {
    index = 0;
}

/*
 * Add first page componets behaviour.
 */
function addFirstPageBehaviour() {
  addSearchButtonBehaviour() ;
  addLangExpanderBehaviour() ;
//  addCoreBusinessButtonBehaviour() ;
  addTabsBehaviour() ;
  startSlidingTimer();
}

/*
 * Add normal page componets behaviour.
 */
function addNormalPageBehaviour() {
  addSearchButtonBehaviour() ;
  addLangExpanderBehaviour() ;
}

/*
 * Add tabs behaviour
 */
function addTabsBehaviour() {
  // add taqb articles behaviour
  addTabBodyBehaviour("news_tab_content");
  addTabBodyBehaviour("why_tab_content");
  addTabBodyBehaviour("about_tab_content");
//  addTabBodyBehaviour("notices_tab_content");
//  addTabBodyBehaviour("blogs_tab_content") ;

  addTabsHeadsBehaviour();
}

/*
 * Add individual tabs bodies articles hover behavior.
 */
function addTabBodyBehaviour(tabId) {
  var tab = document.getElementById(tabId);
  // iterate for all tab childs
  var childs = tab.getElementsByTagName("div");
  for (var i=0; i < childs.length; i++){
    var crtChild = childs[i];
    // if the child is a column add the ie hover behaviour
      if (crtChild.className.indexOf("column") >= 0){
        crtChild.onmouseover = function(){
          this.className = this.className + " hover";
        }
        crtChild.onmouseout = function(){
          this.className = this.className.replace(/hover/, "");
        }
      }
  }
}

/*
 * Add tabs heads hover behaviour.
 */
function addTabsHeadsBehaviour() {
  var tabsHeadsList = document.getElementById("tabs_heads");
  var tabs = tabsHeadsList.getElementsByTagName("span");

  for (var i=0; i < tabs.length; i++){
    var crtTab = tabs[i];
    crtTab.onmouseover = function(){
      this.className = this.className + " hover";
    }
    crtTab.onmouseout = function(){
      this.className = this.className.replace(/hover/, "");
    }
  }
}

/*
 * Add core-business buttons hover behaviour.
 */
function addCoreBusinessButtonBehaviour() {
  var buttonsList = document.getElementById("core_business_buttons_list");
  var buttons = buttonsList.getElementsByTagName("span");

  for (var i=0; i < buttons.length; i++){
    var crtButton = buttons[i];
    crtButton.onmouseover = function(){
      this.className = "hover";
    }
    crtButton.onmouseout = function(){
      this.className = "";
    }
  }
}

/*
 * Add lang expander button behaviour.
 */
function addLangExpanderBehaviour() {
  // add expand behaviour
  // find lang-list and lang-expander divs by id
  var langList = document.getElementById("lang_list");
  var langExpander = document.getElementById("lang_expander");

  langExpander.onmousedown = function(){
    if (langList.className == "hide"){
      langList.className = "" ;
      langExpander.className = "expanded";
    }
    else {
      langList.className = "hide" ;
      langExpander.className = "collapsed";
    }
  }

  // add hover behaviour
  langExpander.onmouseover = function(){
    var innerSpan = langExpander.getElementsByTagName("span");
    innerSpan[0].className = innerSpan[0].className + " hover";
  }
  langExpander.onmouseout = function(){
    var innerSpan = langExpander.getElementsByTagName("span");
    innerSpan[0].className = innerSpan[0].className.replace(/hover/, "");
  }
}

/*
 * Add search button behaviour.
 */
function addSearchButtonBehaviour() {
  var searchButton = document.getElementById("search_submit");
  // add hover behaviour
  searchButton.onmouseover = function(){
    searchButton.className = searchButton.className + " hover";
  }
  searchButton.onmouseout = function(){
    searchButton.className = searchButton.className.replace(/hover/, "");
  }

  // add submit behaviour
  searchButton.onmousedown = function(){
    document.searchform.submit();
  }
}
