var searchBox = new Class(
{
  
  // der Effekt wird initialisiert
  initialize: function() {
    
    this.myForm = $('mySearch');
    this.myTrigger = $('search');
    this.myTrigger2 = $('search2');
    this.myInput = $('searchText');

    //Show/Hide searchCategories
    this.fx = new Fx.Morph( $('searchCategories'), {
      duration:160,
      fps: 36,
      link:'cancel',
      transition: Fx.Transitions.Sine.easeIn,

      onStart: function(myTween){
      //alert (typeOf(myTween));
	  //      myTween.highlight('white');
      }
    });


    this.myInput.setProperty('value','Search ...');
    this.myInput.addEvent('blur',this.inputTextBlur.bind(this.myInput));
    this.myInput.addEvent('focus',this.inputText.bind(this.myInput));

    this.myForm.addEvent('submit',function (e) {e.stop();});

    this.myTrigger.addEvent('click',this.enter.bind(this));
    this.myTrigger2.addEvent('click',this.submit.bind(this));

  },
 
  inputTextBlur: function() {
  var searchDummyText = 'Search ...';
  var valueText = this.getProperty('value');
    
    if (searchDummyText !== valueText && valueText !== '') {
      searchDummyText = valueText;
    }
    this.setProperty('value',searchDummyText);
  },

  inputText: function() {
  var searchDummyText = 'Search ...';
  var valueText = this.getProperty('value');
  
    if (searchDummyText === valueText) {
      searchDummyText = '';

      this.setProperty('value',searchDummyText);
    }
  },
  
  enter: function(){
    this.fx.start({ 'opacity': '1'});
    this.myTrigger.removeEvents('click');
    this.myTrigger.addEvent('click',this.leave.bind(this));
  },
 
  leave: function() {
    this.fx.start({ 'opacity': '0'});
    this.myTrigger.removeEvents('click');
    this.myTrigger.addEvent('click',this.enter.bind(this));
  },
  submit: function() {

    $check = this.myInput.getProperty('value');

    if ($check === '' || $check === 'Search ...') {
      this.myInput.focus();
      this.myInput.select();
    } else {
      this.myForm.removeEvents('submit');
    }

  },
  checkSearch: function(myMode) {
  
    var showThisUids = '';
    var thisUids = [];

    if (myMode == 'all') {
    
      if (document.mySearch.freeIndexUid[0].checked == true) 
      { //bei Auswahl von 'ALL'
        bolCheckAll = false;
      } else {
        bolCheckAll = true;
      }

      //checkboxen iterieren, 1. "ALL" überspringen
      for (i=1;i<document.mySearch.freeIndexUid.length;i++){
        document.mySearch.freeIndexUid[i].checked=bolCheckAll;
        FancyForm.update(document.mySearch.freeIndexUid[i].getParent());
      }
      
        
    } else { //Singleauswahl
      document.mySearch.freeIndexUid[0].checked=false
      FancyForm.update(document.mySearch.freeIndexUid[0].getParent());
    }

    //collect checkbox values
    for (i=0;i<document.mySearch.freeIndexUid.length;i++){
      if (document.mySearch.freeIndexUid[i].checked == true)
      {
        thisUids.include(document.mySearch.freeIndexUid[i].value);
      }
    }
    showThisUids = thisUids.join(',');
    $('tx_indexedsearch[_freeIndexUid]').setProperty('value',showThisUids);
  }
}
)
 
window.addEvent('domready', function() {
  $('searchCategories').setStyles ({'opacity':'0'});  
  var mySearchBox = new searchBox();
});