// sf_suffix, request address suffix, depending on parameter set in app/config/settings.yml suffix
var sf_suffix = '';
var server_name = "webx";
var tabs = Array();
var content_divs = Array();
var loaded_divs = Array();
var ankersprung = '';

Event.observe(window, "load", function() {
  //if (ankersprung != "") document.location.hash = ankersprung;
  //$("anzeigeflaeche").scrollTop = 0;

  if (ankersprung === "") {
    return;
  }
  var anker_position = $$("a[name="+ankersprung+"]");
  if(anker_position.length === 0) {
    return;
  }

  anker_position = anker_position[0];
//  var scroll_element = $(anker_position).ancestors().find(function(element) { return element.scrollHeight > element.clientHeight; });
  var scroll_element = $('spalte2_inhalt');
  var scroll_position = anker_position.offsetTop;
  if(scroll_element !== anker_position.offsetParent && scroll_position !== scroll_element.offsetTop) {
    scroll_position -= scroll_element.offsetTop;
  }
  scroll_element.scrollTop = scroll_position;
});


Event.observe(window, "load", function() {
  $$("#spalte3 li a").each( function(element, i) {
    tabs[i] = element.parentNode.id;
    content_divs[i] = element.parentNode.id.substr(4);
    loaded_divs[content_divs[i]] = $(content_divs[i]) ? 1 : 0;
    Event.observe(element, "click", function(eventObj) {
           hide_tabcontents();
           $(element).parentNode.addClassName("current");
           $(element).previousSibling.addClassName("active");
           $(element).previousSibling.firstChild.src = "/images/leser_ol_active.gif";
           show_tabcontent(content_divs[i]);
           Event.stop(eventObj);
     });
  });
  if ($("list_selector")) {
    Event.observe($("list_selector"), "change", function() {
      location.href =  $('preselect').action.substring(0, $('preselect').action.lastIndexOf("/")) + "/" +  $F("list_selector") + sf_suffix;
    });
  }

  if ($('merken')) {
    Event.observe($("merken"), "click", function(eventObj) {
      new Ajax.Updater('merkzettellink', $('merken').href, {asynchronous:true, evalScripts:false, onSuccess:function() {
                        var ok_img = document.createElement("img");
                        ok_img.setAttribute('src', "/images/ok.png");
                        ok_img.setAttribute('id', "okimg");
                        if($('merkzettel').className.indexOf('aktiv') == -1) {
                          $('merkzettel').addClassName('aktiv');
                        }
                        if (!$("okimg")) { $("merken").up().insertBefore(ok_img, $("merken")); }
                      }
                      });
      Event.stop(eventObj);
    });
  }

  if ($('drucken')) {
    Event.observe($("drucken"), "click", function(eventObj) {
      window.print();
      Event.stop(eventObj);
    });
  }

  if ($('related_books')) {
    Event.observe($("related_books"), "change", function() {
      location.href = $F($("related_books"));
   });
  }

  if ($('mehr')) {externalLinks('links');}

});

function show_tabcontent(content_div) {
  if (loaded_divs[content_div] == 0) {
    ajax_get_content(content_div);
  }
  else {
    $(content_div).show();
  }
  if (content_div != 'stimmen' && typeof $('spalte3_zusatz') != undefined) { $('spalte3_zusatz').show(); }
}

function hide_tabcontents() {
  if ($('spalte3_zusatz')) { $('spalte3_zusatz').hide(); }
  tabs.each(function(element) {
    $(element).removeClassName("current");
    //$(element).childNodes[1].removeClassName("active");
    $(element).down().removeClassName("active");
    $(element).down().src = "/images/leser_ol.gif";
    if (loaded_divs[element.substring(4,element.length)] == 1) {
        $(element.substring(4,element.length)).hide();
    }
  });
}

function ajax_get_content(div_name) {
  ajax_action = $("tab_" + div_name).down("a").href;
  new Ajax.Request(ajax_action,
      {
          method: "get", onComplete: function(r) {
            if(loaded_divs[div_name] == 0) { new Insertion.Bottom('spalte3_inhalt', r.responseText); }
            loaded_divs[div_name] = 1;
            $A(content_divs).each(function(d) {
               if ($(d)) { $(d).hide(); }
            });
            $(div_name).show();
            if (div_name == 'mehr') {externalLinks('links');}
         }
      }
    );
}

function externalLinks(l) {
  if (!document.getElementsByTagName) return;
  var anchors = (l ? $A($(l).getElementsByTagName("a")) : $A(document.getElementsByTagName("a")));
  anchors.each(function(anchor)
  {
    if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external")
    {
        anchor.target = "_blank";
    }
  });
}
