/***

    ProSearch

 	Script-Routinen f�r Suchfenster
 	 
***/

// Leert eine Combobox
function clearCombo(el) {
  while(el.options.length > 0) {
    el.options[0] = null;
  }
}

function showError(waititem,err) {
  setWaitItem(waititem);

  logError(err);
  logError(err.number);
  logError(err.name);
  logError(err.message);
  logError(err.description);
  logger.debuggingBookmarklet(); 
}

function setWaitItem(waititem) {
	if(waititem != "" && waititem != null) {
		if(document.getElementById(waititem).style.visibility == "hidden") {
			document.getElementById(waititem).style.visibility = "visible";
		} else {
			document.getElementById(waititem).style.visibility = "hidden";
		}
			
	}	
}


function getComboValues(id,param,target,waititem,value) {
  //if(id != "" && param != "") {
	  
    logDebug('id ' + id);	  
    logDebug('param ' + param);
    logDebug('target ' + target);
    logDebug('waititem ' + waititem);
    logDebug('value ' + value);
  

    logDebug('vor SetWaitItem');
	setWaitItem(waititem);
	logDebug('nach SetWaitItem');

    var param = "?typ=" + id + "&parameter=" + param;
    logDebug('param : ' + param);
    logDebug('Request : getParameterr.php' + param);
    var responseObject = doSimpleXMLHttpRequest("getParameter.php" + param);
    logDebug('Nach doSimpleXMLHttpRequest');
    responseObject.addCallback(setComboValues,target,waititem,value);
    logDebug('Nach addCallback');
    responseObject.addErrback(showError,waititem);
    logDebug('Nach addErrback');
  //} else {
  //  clearCombo(target);
  //  if(disableonempty == true) {
  //    target.disabled=true;
  //  } else {
  //    target.disabled=false;
  //  }
  //}
}



function setComboValues(target,waititem,value,resp) {
  logDebug('in setComboValues');	
  var xml = resp.responseText;
  var xmlDOMDocument = Spry.Utils.stringToXMLDoc(xml);
  var root = xmlDOMDocument.getElementsByTagName("items")[0];
  var items = root.getElementsByTagName("item");
  var selected_value = "";
 
  logDebug('vor clearCombo');
  
  clearCombo(target);
  
  logDebug('nach clearCombo');
  logDebug('items.length : ' + items.length);
 
  if(items.length > 0) {
    target.options[target.options.length] = new Option("","",false,false);
    for (var i = 0 ; i < items.length ; i++) {
      var item = items[i];
      if(item.childNodes.item(1).firstChild != null){
        var id = item.childNodes.item(0).firstChild.nodeValue;
        var text = UmlauteWandeln(item.childNodes.item(1).firstChild.nodeValue);

        try {
          if(item.childNodes.item(2).firstChild.nodeValue != "") {
            text += " (" + item.childNodes.item(2).firstChild.nodeValue + ")";
          }
        } catch(e) {
         // nix zu melden
        }
        target.options[target.options.length] = new Option(text,id,false,false);
      }
    }
    target.disabled=false;
    if(value!=null) {
    	target.value = value;
    }
  } else {
    target.disabled=true;
  }
  setWaitItem(waititem);  
}

function str_replace(search, replace, subject) {
	return subject.split(search).join(replace);
}



function UmlauteWandeln(value) {
	var mOut;

	mOut = str_replace("Ã„", "Ä", value);
	mOut = str_replace("Ãœ", "Ü", mOut);
	mOut = str_replace("Ã–", "Ö", mOut);

	mOut = str_replace("ÃƒÂ„", "Ä", mOut);
	mOut = str_replace("ÃƒÂœ", "Ü", mOut);
	mOut = str_replace("ÃƒÂ", "Ö", mOut);
	  
	  
	mOut = str_replace("Ã¤", "ä", mOut);
	mOut = str_replace("Ã¶", "ö", mOut);
	mOut = str_replace("Ã¼", "ü", mOut);
	  
	mOut = str_replace("ÃŸ", "ß", mOut);
	mOut = str_replace("Ã?", "ß", mOut);
	mOut = str_replace("ÃƒÂŸ", "ß", mOut);
	  
	  

	return mOut;
}


