var stored_ids = new Array();
var stored_cmp = new Array();
var total_stored = 0;
var all = false;
var ignored_cmp = new Array();
var depth = 11;
var max = false;
var min = true;
/*************
 *start search_likecompanies
 **/
function toggleFavs(company,id,check){
  var newlist = '';
  var newidlist = '';
  var isin = false;

//if 'all' was NOT pressed
  if(!all){
    for(n=0;n<20;n++){
//check the existing array for the current id and delete it
      if(stored_ids[n]==id){
        stored_ids[n] = '';
        stored_cmp[n] = '';
        isin = true;
        total_stored--;
      }
//recreate the lists without the current id
      if(stored_ids[n]>0){
        newlist = newlist + '<br>' + stored_cmp[n];
        newidlist = newidlist + '##' + stored_ids[n];
      }
    }
//if current id isn't present, add it
    if(isin==false && total_stored<=20){
      total_stored++;
      stored_ids.push(id);
      stored_cmp.push(company);
      newlist = newlist + '<br>' + company;
      newidlist = id + '##' + newidlist;
//if the id isn't present, but already more than 20 ids saved, output error
    } else if(isin==false && total_stored>20 && check){
      alert(unescape('Sie haben sich bereits 20 Firmen markiert, das ist das Maximum.'));
      return false;
    }
//save the lists & display them
    document.getElementById('empfaengerlist').innerHTML = newlist;
    document.getElementById('empflist').value = newidlist;
  } else {
    if(!check){
      var ign_list = '';
      var newidlist = '';
      for(n=0;n<stored_ids.length;n++){
        if(stored_ids[n]==id){
          stored_ids.splice(n,1);//[n] = '';
          total_stored--;

          ignored_cmp.push(company);
        }
        newidlist = newidlist + '##' + stored_ids[n];
      }
      if(total_stored<=0){
        all=false;
      }
      for(n=0;n<ignored_cmp.length;n++){
        ign_list += ignored_cmp[n] + '<br>';
      }
      document.getElementById('empfaengerlist').innerHTML = 'Alle angezeigten ausser:<br>' + ign_list;
      document.getElementById('empflist').value = newidlist;
    } else {
//if all was pressed and a company deleted and should now be marked again do this
      if(total_stored<20){
        all = false;
        for(n=0;n<stored_ids.length;n++){
    //create the new list
          if(stored_ids[n]>0){
            stored_cmp[n] = document.getElementById('hid' + stored_ids[n]).name;
            newlist = newlist + '<br>' + stored_cmp[n];
            newidlist = newidlist + '##' + stored_ids[n];
          }
        }
    //add the id
        total_stored++;
        stored_ids.push(id);
        stored_cmp.push(company);
        newlist = newlist + '<br>' + company;
        newidlist = id + '##' + newidlist;
    //and print it
        document.getElementById('empfaengerlist').innerHTML = newlist;
        document.getElementById('empflist').value = newidlist;
      } else {
        document.getElementById('chk' + id).checked = false;
        alert('Sie haben das Maximum von 20 markierten Firmen bereits erreicht!' + id);
      }
    }
  }
}

function tglAllFavs(ids){
  var aa = document.getElementsByName('favorite[]');
  if(all) {
    for (var i=0; i<aa.length; i++){
      aa[i].checked = false;
    }
    stored_ids = new Array();
    total_stored = 0;
    document.getElementById('empfaengerlist').innerHTML = "";
    document.getElementById('empflist').value = "";
    all=false;
  } else {
    for (var i=0; i<aa.length; i++){
      aa[i].checked = true;
    }
    stored_ids = ids.split("##");
    total_stored = stored_ids.length;
    document.getElementById('empfaengerlist').innerHTML = "Alle angezeigten";
    document.getElementById('empflist').value = ids;
    ignored_cmp = new Array();
    all=true;  
  }
}

function checkrequest(){
  var error = '';
  if(total_stored>20) {
    error += '* Sie d%FCrfen maximal 20 Firmen markieren!\n';
  }
  if(jcap()==false) {
    error += '* Das Captcha ist falsch!\n';
  }
  if(document.requestform.empflist.value==''){
    error += '* Die Empf%E4ngerliste darf nicht leer sein!\n';
  }
  if(document.requestform.anfrage.value==''){
    error += '* Geben Sie eine Nachricht ein!\n';
  }
  if(document.requestform.email.value==''){ // && (document.requestform.address.value=='' || document.requestform.plz.value=='' || document.requestform.city.value=='')
    error += '* Geben Sie Ihre E-Mail Addresse an!\n';
  }
  if(document.requestform.datenschutz.checked==false){
    error += '* Sie m%FCssen die Bestimmungen zum Datenschutz akzeptieren!\n';
  }
  if(error!='') {
    alert(unescape('Es ist ein Fehler aufgetreten!\n' + error));
    return false;
  } else {
    return true;
  }
}

function tglAGB(){
  if(document.getElementById('agb')){
    if(document.getElementById('agb').style.display == "none"){
      document.getElementById('agb').style.display = "block";
    } else {
      document.getElementById('agb').style.display = "none";
    }
  }
}
/*************
 *end search_likecompanies
 **/

/*************
 *start nav tree in modules/content
 **/
function toggleTree(sym){
  if(sym=='+' && max==false){
    min = false;
    var target = depth+10;
    for(;depth<target;depth++){
      if(document.getElementById(depth)){
        document.getElementById(depth).style.display = 'block';
      } else {
        max = true;
        //break;
      }
    }
  }else if(sym=='-' && min==false){
    max = false;
    depth--;
    var target = depth-10;
    for(;depth>target;depth--){
      if(document.getElementById(depth)){
        document.getElementById(depth).style.display = 'none';
      }
    }
    depth++;
    if(depth<=11){
      min = true;
    }
  }
}
/*************
 *end nav tree in modules/content
 **/
