function clearSearchState(magOrBook) {
  // alert('magORbook' + magOrBook);
  switch(magOrBook) {
    case BOOK_ID:
      // CBs
      // Top-Thema nur Auswahl ändern
      document.getElementById('bTopTheme').options[0].selected = true;
      // CBs Thema: Optionen des selects loeschen
      removeOptionsFromSelectId('bTheme');
      // ISBN
      document.getElementById('bIsbn1').value="";
      // ArtikelNr
      document.getElementById('bArticleNr').value="";
      // Erscheinungstermin nur Auswahl änden
      document.getElementById('bPublishDateMonth').options[0].selected = true;
      document.getElementById('bPublishDateYear').options[0].selected = true;
      // Preisgruppe
      document.getElementById('bPrice').options[0].selected = true;
    break;

    case MAGAZIN_ID:
      // Top-Thema
      document.getElementById('mTopTheme').options[0].selected = true;
      // CBs Thema und Reihe
      removeOptionsFromSelectId('mTheme');
      removeOptionsFromSelectId('mSeries');

      // Erscheinungstermin
      document.getElementById('mPublishDateMonth').options[0].selected = true;
      document.getElementById('mPublishDateYear').options[0].selected = true;
// ArtikelNr
      document.getElementById('mArticleNr').value="";
    break;
  }
  _selTopTheme = '';
  _selTheme = '';
  _selSeries = '';
  _selAuthor = '';
  _selPublMonth = '';
  _selPublYear = '';
  _selPriceGroup = '';


};
//
//
//
function handleShowDiv(divId, openOrNot) {
  // alert('->'+divId+'<- ->'+openOrNot+'<-' );
	divObj = document.getElementById(divId);

	// schalten anhand des Sessionparameters
	if (openOrNot != null && openOrNot != '') {
	  if (openOrNot == 'false') {
    	divObj.style.display = 'none';
	    document.getElementById('eSOpen').value = 'false';
	  } else {
  	  divObj.style.display = 'block';
	    document.getElementById('eSOpen').value = 'true';
	  }
	} else  if( openOrNot == null ){
	  // umschalten im JavaScript
  	// auf AN
	  if( divObj.style.display == 'none') {
	    // alert('AN');
	    document.getElementById('extSearchLink').firstChild.data='schließen';
	    divObj.style.display = 'block';
	    // ins hiden field des Formulars für den nächsten Request
	    document.getElementById('eSOpen').value = 'true';
	  } else {
	    // alert('AUS');
	    document.getElementById('extSearchLink').firstChild.data='erweiterte Suche';

	    // alles Loeschen
	    if(document.getElementById(MAGAZIN_ID).checked) {
	    // alert('AUS -> MAGAZIN_ID');
	      clearSearchState(MAGAZIN_ID) ;
	    } else if (document.getElementById(BOOK_ID).checked) {
  	  // alert('AUS -> BOOK_ID');
	      clearSearchState(BOOK_ID) ;
	    }
	    // Radio ausschalten fuer Zeitschriften und Bücher
      document.getElementById('both').checked = true;
      // zuklappen
	    document.getElementById('extS_M').style.display = 'none';
	    document.getElementById('extS_B').style.display = 'none';
	    divObj.style.display = 'none';

	    document.getElementById('eSOpen').value = 'false';
	    clearSearchStateSession();
	  }
	}
	return false;
} // end function minmax



// Wird auf inc_search_form benoetigt
// schaltet Bereiche für Zeitschriften und Bücher
// nach Auswahl der Radios
function show(divId) {
  var divObj;
  divObj = document.getElementById(divId);
  switch (divId) {
    case 'extS_M':
      document.getElementById('extS_B').style.display = 'none';
    break;
    case 'extS_B':
      document.getElementById('extS_M').style.display = 'none';
    break;
  }
  	document.getElementById('extSearchLink').firstChild.data='schließen';
    divObj.style.display = 'block';
  return false;
} // end function show

// Loescht alle Optionen aus dem select mit der uebergebenen id
//
function removeOptionsFromSelectId(cBxId) {
  if(cBxId == 'bAuthor') {
    cBAutor.clearAll(true);
  } else {

    //alert('cBxId '+cBxId);
    var i;
    var currSelect = document.getElementById(cBxId);
    if (currSelect != null) {
      if( currSelect.length != null) {
        for(i=currSelect.options.length-1;i>=1;i--) {
          // alert('remove '+i);
          currSelect.remove(i);
        }
      }
    }
  }
}

// Fuellt die SelectBox
//
function fillSelect(xmlDoc, target, selectId, order){
  var currSelect = document.getElementById(target);
  // alle bisherigen Options löschen
  removeOptionsFromSelectId(target);

  var cS = xmlDoc.getElementsByTagName('select')[selectId];

  var respondOptions = cS.getElementsByTagName('option');

  if(target == 'bAuthor') {

    for (var i = 0 ; i < respondOptions.length ; i++) {
      respondOption = respondOptions[i];
      id = respondOption.getAttribute('id') ;
      value = respondOption.getAttribute('value') ;
      name = respondOption.getAttribute('name') ;
      cBAutor.addOption(name, value);
      if ( _selAuthor == name ) {
        cBAutor.selectOption(i,false,false);
      }
    }
  }else {
    for (var i = 0 ; i < respondOptions.length ; i++) {
      respondOption = respondOptions[i];

      id = respondOption.getAttribute('id') ;
      value = respondOption.getAttribute('value') ;
      name = respondOption.getAttribute('name') ;

      if (name != ''){
        new_option_id = document.createAttribute("id");
        new_option_id.value = id;
        new_option_value = document.createAttribute("value");
        new_option_value.value = value;
        new_option_name = document.createAttribute("name");
        new_option_value.value = name;

        optionElement = document.createElement("option");

        if ( _selTopTheme == name ||
            _selTheme == name ||
            _selSeries == name ||
            _selAuthor == name ||
            _selPublMonth == name ||
            _selPriceGroup == name ||
            _selPublYear == name) {
          //alert('Treffer: ' + name);

          new_selected = document.createAttribute("selected");
          new_selected.value = 'selected';
          optionElement.setAttributeNode(new_selected);
        }

        optionElement.setAttributeNode(new_option_id);
        optionElement.setAttributeNode(new_option_value);
        optionElement.setAttributeNode(new_option_name);
        optionElement.appendChild(document.createTextNode(value));

        currSelect.appendChild(optionElement);
      }
    }
  }
}

function handleRequestStateChanged(req) {

  if ((req.readyState == 4) && (req.status == 200)) {

    var xmlDoc = req.responseXML;
    anzTargets = xmlDoc.getElementsByTagName('select').length;
    for( var i = 0 ; i < anzTargets ; i++ ) {
      target = xmlDoc.getElementsByTagName('select')[i].getAttribute('id');
      fillSelect(xmlDoc, target, i);
    }
  }
}
function handleRequestStateChangedClearSession(req2) {
  if ((req2.readyState == 4) && (req2.status == 200)) {
    //var xmlDoc = req2.responseXML;
  }
}
//  - method .. serverseitige callBackMethode
//  - Array(
//      cBxId1   .. TargetSelect 1
//      cBxId2   .. TargetSelect 2 ),
//  - element ..ausloesendes Selecet

function sendRequest(method, aArray, element) {
  var id;

  // Categorie id
	if ( element.getAttribute('name') == 'extSType' ) {
	  id = element.getAttribute('id');
	} else {
	  id = element.options[element.selectedIndex].id;
	}
  req = null;
  if (window.XMLHttpRequest) {
    // the common way
    req = new XMLHttpRequest();

  } else if (window.ActiveXObject) {
    // internet explorer
    try {
      req = new ActiveXObject('Microsoft.XMLHTTP');
    } catch (e) {
      try {
        req = new ActiveXObject('Msxml2.XMLHTTP');
      } catch (e) {}
    }
  }
	req.onreadystatechange = function() {
	  handleRequestStateChanged(req);
	};

	req.open('post', '/b2c/ajaxCatalogTree/catalog_ajax.php');
	req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

 	var targetPar = "";
	if (aArray.length > 0) {
	  targetPar += "&target=" +aArray[0]
  	for ( var i = 1 ; i < aArray.length ; i++ ) {
  	  targetPar += "#" + aArray[i];
  	}
	}
	var params = 'method=' + method + '&id=' + id + targetPar;
	req.send(params);
}

function clearSearchStateSession() {
  req2 = null;
  if (window.XMLHttpRequest) {
    // the common way
    req2= new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    // internet explorer
    try {
      req2 = new ActiveXObject('Microsoft.XMLHTTP');
    } catch (e) {
      try {
        req2 = new ActiveXObject('Msxml2.XMLHTTP');
      } catch (e) {}
    }
  }
 	req2.onreadystatechange = function() {
    handleRequestStateChangedClearSession(req2);
 	};
	req2.open('post', '/b2c/ajaxCatalogTree/catalog_ajax.php');
	req2.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	var params = 'method=clear';
	req2.send(params);
}

