function showButton(id){
  var btn = document.getElementById(id);
  var f='';
  var d='';
  var l='';
  if ( document.getElementById('farbe') ) {
    var fObj = document.getElementById('farbe');
    f = fObj.value;
  }
  if ( document.getElementById('durchmesser') ) {
    var dObj = document.getElementById('durchmesser');
    d = dObj.value;
  }
  //if ( document.getElementById('loch') ) {
  //  var lObj = document.getElementById('loch');
  //  l = dObj.value;
  //}
  if (f != '' && d != '') {
    btn.style.display = "";
  }else{
    btn.style.display = "none";
  }
}

function fill(source){
  if (document.getElementById('requestvalue_' + source).value != "") {
    resetCombobox(source);
    var sVal = document.getElementById('requestvalue_' + source).value;
    var aVal = sVal.split(";");
    var start = 1;
    var o = document.getElementById(source);
    o.options[0] = new Option('--> Auswählen <--','');
    //alert("aVAL: " + aVal.length);
    if (aVal.length > 1) {
      if (o.name != "typ" && o.name != "carrcode" && o.name != "jahrgang") {
        o.options[1] = new Option('Alle','Alle');
        start = 2;
      }
    }
    for(i=0; i<aVal.length; i++){
      j = i + start;
      o.options[j] = new Option(aVal[i],aVal[i]);
    }
  }
}

function fill_new(source){
  var stringval = document.getElementById('requestvalue_' + source).value;
  var nrofelements = document.getElementById('anzahltreffer').innerHTML;
  var zaehler = 25000;
  while (stringval.value != "" && nrofelements > 0 && zaehler > 0) {
    zaehler = zaehler - 1;
  }
  //alert("STRINGVAL" + stringval);
  resetCombobox(source);
  var sVal = document.getElementById('requestvalue_' + source).value;
  alert("VALUE: " + sVal);
  var aVal = sVal.split(";");
  var start = 1;
  var o = document.getElementById(source);
  o.options[0] = new Option('--> Auswählen <--','');
  if (o.name != "typ" && o.name != "carrcode" && o.name != "jahrgang") {
    o.options[1] = new Option('Alle','Alle');
    start = 2;
  }
  for(i=0; i<aVal.length; i++){
    j = i + start;
    o.options[j] = new Option(aVal[i],aVal[i]);
    alert("VAL: " + aVal[i] + " " + i);
  }
}

function checkAnzahlFelgen(maxFelgen,msg_nofelgen,msg_tomany){
  var nrOfFelgen = document.getElementById('anzahltreffer').innerHTML;
  if (nrOfFelgen <= 0) {
    alert("Warnung: " + msg_nofelgen);
    return false;
  }
  if(nrOfFelgen >= maxFelgen) {
    alert("Warnung: " + msg_tomany);
    return false;
  } 
  return true;
}

function selectedColor(id){
  document.getElementById(id).style.background = "#000000";
  //document.getElementByID(id).style.color = "#00FF00";
}

function resetColor(){
  document.getElementById('tabletyp').style.background = "#CC0000";
  document.getElementById('tabletyp').style.background = "#CC0000";
  document.getElementById('tablecarrcode').style.background = "#CC0000";
  document.getElementById('tablejahrgang').style.background = "#CC0000";
  document.getElementById('tableloch').style.background = "#CC0000";
  document.getElementById('tabledurchmesser').style.background = "#CC0000";
  document.getElementById('tablefarbe').style.background = "#CC0000";
}

function hideCombobox(){
  if (document.getElementById('tabletyp')){
    document.getElementById('tabletyp').style.display = "none";
  }
  if (document.getElementById('typ')){
    document.getElementById('typ').options.length = 1;
  }
  if (document.getElementById('typgen')){
    document.getElementById('typgen').options.length = 1;
  }
  if (document.getElementById('tablecarrcode')){
    document.getElementById('tablecarrcode').style.display = "none";
  }
  if (document.getElementById('carrcode')){
    document.getElementById('carrcode').options.length = 1;
  }
  if (document.getElementById('tablejahrgang')){
    document.getElementById('tablejahrgang').style.display = "none";
  }
  if (document.getElementById('jahrgang')){
    document.getElementById('jahrgang').options.length = 1;
  }
  if (document.getElementById('tableloch')){
    document.getElementById('tableloch').style.display = "none";
  }
  if (document.getElementById('loch')){
    document.getElementById('loch').options.length = 1;
  }
  if (document.getElementById('tabledurchmesser')){
    document.getElementById('tabledurchmesser').style.display = "none";
  }
  if (document.getElementById('durchmesser')){
    document.getElementById('durchmesser').options.length = 1;
  }
  if (document.getElementById('tablefarbe')){
    document.getElementById('tablefarbe').style.display = "none";
  }
  if (document.getElementById('farbe')){
    document.getElementById('farbe').options.length = 1;
  }
}

function hide(id){
  var aId = id.split(";");
  for (i=0; i<aId.length; i++) {
    document.getElementById(aId[i]).style.display = "none";
  }
}

function resetFields(sId){
  var aId = sId.split(";");
  for (i=0; i<=aId.length; i++){
    resetField(aId[i]);
  }
}

function resetField(id){
  if (document.getElementById(id)){
    document.getElementById(id).value = "";
  }
}

function resetCombobox(id){
  document.getElementById(id).options.length=1;
  //var field = id.replace(/table/,'');
  //document.getElementById('requestvalue_'+field).value = "";
}

function setCombobox(id,value){
  var o = document.getElementById(id);
  for (i=0; i<o.lenght; i++){
    if (o.value == value){
      o.selected;
    }
  }
}

function hideTable(id){
  if (id != null) {
    document.getElementById(id).style.display = "none";
  }
}

function showTable(id){
  if (id != null) {
    document.getElementById(id).style.display = "";
  }
}

function showTables(sId){
  var aId = sId.split(";");
  for (i=0; i<aId.length; i++) {
    showTable(aId[i]);
  }
}

function sleep(naptime){
  naptime = naptime * 1000;
  var sleeping = true;
  var now = new Date();
  var alarm;
  var startingMSeconds = now.getTime();
  //alert("starting nap at timestamp: " + startingMSeconds + "\nWill sleep for: " + naptime + " ms");
  while(sleeping){
     alarm = new Date();
     alarmMSeconds = alarm.getTime();
     if(alarmMSeconds - startingMSeconds > naptime){ sleeping = false; }
  }      
  //alert("Resultate gefunden!");
}

function busy(msg,idtoreset) {
  //document.getElementById('busyfield').innerHTML = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" + msg + "&nbsp;&nbsp;&nbsp;";
  //alert(msg);
  document.getElementById('busyfield').style.display = "";
  if(idtoreset != ""){
    resetField(idtoreset);
  }
  if (document.getElementById('automarke')){
    document.getElementById('automarke').disabled = true;
    document.getElementById('automarke').style.cursor = "wait";
  }
  if (document.getElementById('typ')){
    document.getElementById('typ').disabled = true;
    document.getElementById('typ').style.cursor = "wait";
  }
  if (document.getElementById('automarke')) {
    document.getElementById('automarke').disabled = true;
    document.getElementById('automarke').style.cursor = "wait";
  }
  if (document.getElementById('jahrgang')) {
    document.getElementById('jahrgang').disabled = true;
    document.getElementById('jahrgang').style.cursor = "wait";
  }
  if (document.getElementById('loch')){
    document.getElementById('loch').disabled = true;
    document.getElementById('loch').style.cursor = "wait";
  }
  if(document.getElementById('durchmesser')){
    document.getElementById('durchmesser').disabled = true;
    document.getElementById('durchmesser').style.cursor = "wait";
  }
  if(document.getElementById('farbe')){
    document.getElementById('farbe').disabled = true;
    document.getElementById('farbe').style.cursor = "wait";
  }
  if (document.getElementById('senden')){
    document.getElementById('senden').disabled = true;
    document.getElementById('senden').style.cursor = "wait";
  }
}

function idle(){
  if (document.getElementById('automarke')){
    document.getElementById('automarke').disabled = false;
    document.getElementById('automarke').style.cursor = "";
  }
  if (document.getElementById('typ')){
    document.getElementById('typ').disabled = false;
    document.getElementById('typ').style.cursor = "";
  }
  if (document.getElementById('carrcode')){
    document.getElementById('carrcode').disabled = false;
    document.getElementById('carrcode').style.cursor = "";
  }
  if (document.getElementById('jahrgang')){
    document.getElementById('jahrgang').disabled = false;
    document.getElementById('jahrgang').style.cursor = "";
  }
  if (document.getElementById('loch')){
    document.getElementById('loch').disabled = false;
    document.getElementById('loch').style.cursor = "";
  }
  if (document.getElementById('durchmesser')){
    document.getElementById('durchmesser').disabled = false;
    document.getElementById('durchmesser').style.cursor = "";
  }
  if (document.getElementById('farbe')){
    document.getElementById('farbe').disabled = false;
    document.getElementById('farbe').style.cursor = "";
  }
  if (document.getElementById('senden')){
    document.getElementById('senden').disabled = false;
    document.getElementById('senden').style.cursor = "";
  } 
  //document.getElementById('reset').disabled = false;
  //document.getElementById('busyfield').innerHTML = "";  
  if (document.getElementById('busyfield')){
    document.getElementById('busyfield').style.display = "none";  
  }
}

function writeVal2Id(id,val){
  document.getElementById(id).innerHTML = "" + val + "";
}

function resetValue(){
  document.getElementById('requestvalue_carrcode').value = " ";
  document.getElementById('requestvalue_typ').value = " ";
  document.getElementById('requestvalue_jahrgang').value = " ";
  document.getElementById('requestvalue_loch').value = " ";
  document.getElementById('requestvalue_durchmesser').value = " ";
  document.getElementById('requestvalue_farbe').value = " ";
  
  hideTable('tablehinweis_zuwenigkriterien');
  hideTable('tablehinweis_keinefelgen');
  
  setVal("anzahltreffer","-");
}

function resetCombo(id){
  var o = document.getElementById(id);
  for (i=0; i<=document.getElementById(id).length; i++){
    if(document.getElementById(id).options[i].value == "RESETTOSTART" ){
      document.getElementById(id).options[i].selected = "SELECTED";
      break;
    }
  }
}

function backToTheStart(id){
  resetCombo(id);
  resetValue(); 
  hideCombobox();
  hideResult('tableresult');
}

function setVal(id,msg){
  document.getElementById(id).innerHTML = msg;
}

function hideResult(id){
  var str = "";
  for (var i = 0; i < document.getElementsByTagName("table").length; i++){
    str = "";
    str = document.getElementsByTagName("table")[i].id; 
    if (str.search(/resulttable_|browsetable_/) != -1 ){
      document.getElementsByTagName("table")[i].style.display = "none";
    }
  }
}

function showResult(id){
  document.getElementById(id).style.display = "";
}

function showElements(sId){
  var aId = sId.split(";");
  for (i=0; i<aId.length; i++) {
    document.getElementById(aId[i]).style.display = "";
  }
}

function hideElements(sId){
  var aId = sId.split(";");
  for (i=0; i<aId.length; i++) {
    document.getElementById(aId[i]).style.display = "none";
  }
}

function checkSuchkriterien(){
  if (document.getElementById('automarke').value != "" &&
      document.getElementById('typ').value != "") {
    hideTable('tablehinweis_zuwenigkriterien');
  }else{
    showTable('tablehinweis_zuwenigkriterien');
  }
}

function checkAnzahlGefundeneFelgen(){
  if (document.getElementById('anzahltreffer').innerHTML == "0" ){
    hideTable('tablehinweis_keinefelgen');
  }else{
    hideTable('tablehinweis_keinefelgen');
  }
}
