var Akkordeon={
  getContentElement:function(el){
    return $(el).select('.stcontent')[0];
  },
  closeEffect:function(el){
    var el=$(el);
    return new Effect.BlindUp(this.getContentElement(el),{
      sync: true,
      afterFinish:function(){
        el.className=el.className.replace('akkordeonopen','akkordeonclosed');
      }
    });
  },
  openEffect:function(el){
    var el=$(el);
    var content=this.getContentElement(el);
    return new Effect.BlindDown(content,{
      sync: true,
      beforeStart:function(){
        content.hide();
        el.className=el.className.replace('akkordeonclosed','akkordeonopen');
      }
    });
  },
  findOpen:function(el){
    var el=$(el);
    var parent = $(el.parentNode);
    return parent.select('.akkordeonopen');
  },
  isOpen:function(el){
    var el=$(el);
    return el.className.match(/akkordeonopen/);
  },
  toggle:function(el){
    var effects = [];
    if (this.isOpen(el))
      effects.push(this.closeEffect(el));
    else {
      this.findOpen(el).each(function(toClose){effects.push(Akkordeon.closeEffect(toClose));});
      effects.push(this.openEffect(el));
    }
    new Effect.Parallel(effects,{duration: 0.8,afterFinish:Akkordeon.onfinish});
  },
  onfinish:function(){
    if ((typeof CmsToolbarElement != 'undefined') && (CmsToolbarElement)) CmsToolbarElement.relayoutAll();
  }
};




function clickAkkordeon(el){
  Akkordeon.toggle(el);
}

function hover(elid){
  var el = document.getElementById(elid);
  if (el) el.className='hover';
}
function leave(elid){
  var el = document.getElementById(elid);
  if (el) el.className='';
}
function nhover(id){
  hover('nt'+id);
  hover('ni'+id);
  hover('nl'+id);
}
function nleave(id){
  leave('nt'+id);
  leave('ni'+id);
  leave('nl'+id);
}


function _submit()
{
  var inputs = document.getElementsByTagName("input");
  for (var i=0; i<inputs.length; i++)  {
    if (inputs[i].className == "btn-go")  {
      inputs[i].onmouseover = function()
        {
          this.src = this.src.replace(".gif", "-hover.gif");
        }
        inputs[i].onmouseout = function()
        {
        this.src = this.src.replace("-hover.gif", ".gif");
    }
  }
}
}
  if (window.addEventListener)
  window.addEventListener("load", _submit, false);
else if (window.attachEvent)
  window.attachEvent("onload", _submit);


function switchTab(contentId,tabnum){
  loadingIndicator.show();
  new Ajax.Updater($('cnt'+contentId), CmsTools.GetSubmitUri().replace(/tab=\d*/,''), {
    parameters:{reloadContentId:contentId,tab:tabnum},
    method:'get',
    onSuccess:function() {
      loadingIndicator.hide();
      CmsToolbarElement.relayoutAll();
    },
    onFailure:function() {
      loadingIndicator.error();
    }
  });
  return false;
}



// ---------- Search Box



var SearchPopup = Class.create({
  initialize:function(element, options) {  
    this.element = $(element);
    this.element.setAttribute("autocomplete", "off");
    
    var defaultOptions = {
      url:'',
      searchParameter:'q',
      delay:0.2,
      dropDownId:'searchDropDown',
      onShow:function(){},
      onHide:function(){}
    };
    
    this.options = Object.extend(defaultOptions, options || {});
    
    this.popupOpen = false;
    
    new Form.Element.DelayedObserver(this.element, this.options.delay, this.onSearchTextChanged.bindAsEventListener(this));
    
    Event.observe(document, 'mousedown', this.onDocumentMouseDown.bindAsEventListener(this));
    
    Event.observe(window, 'keydown', this.onWindowKeyDown.bindAsEventListener(this));
    
  },
  onWindowKeyDown:function(ev){
    if (!this.popupOpen)
      return;
    switch (ev.keyCode) {
      case Event.KEY_ESC:
        this.hidePopup();
        Event.stop(ev);
        break;
    }
  },
  onSearchTextChanged:function(){
    
    var searchString = this.element.value;    
    if (searchString==''){
      if (this.popupOpen)
        this.hidePopup();
      return;
    }
    var params={};
    params[this.options.searchParameter]=searchString;    
    new Ajax.Updater(this.options.dropDownId, this.options.url, {
      parameters: params,
      evalScripts:true,
      onSuccess:this.showPopup.bindAsEventListener(this)
    });
    
  },
  showPopup:function(){
    this.popupOpen = true;
    $(this.options.dropDownId).show();
    this.options.onShow();
  },
  hidePopup:function(){
    this.popupOpen = false;
    $(this.options.dropDownId).hide();
    this.options.onHide();    
    this.element.value='';
  },  
  onDocumentMouseDown:function(ev) {
    if (this.popupOpen) {      
      var clickedEl = ev.element();
      if (clickedEl) {
        if (clickedEl.identify()==this.element.identify())
          return;
        var frm = clickedEl.up('#' + $(this.element.form).identify());
        var elt = clickedEl.up('#' + this.options.dropDownId);
        if (Object.isUndefined(elt) && Object.isUndefined(frm))
          this.hidePopup();
      }
    }
  }
});
/* new SearchPopup('searchText',{ 
  url:'/searchAjax.html?ccsdom=communication.net&ccsv=Newest',
  onShow:function(){ $('search').addClassName("results"); },
  onHide:function(){ $('search').removeClassName("results"); },
});*/