istIE = document.all;
isHot = false;
var hilfe_aus = false;

function text_aendern() 
{
  // zur Ermittlung des Namens, ggf auch Values des gerade aktiven
  // Formularelements
  showMe();

  if (text_aendern.arguments.length > 0) 
  {
    var varname = text_aendern.arguments[0];

    if(varname)
    {
        varname = varname.replace('.', '_');
    }
    

    if (text_aendern.arguments.length > 1) 
    {
      if (isNaN(text_aendern.arguments[1]) == true) 
      {
        // ist 2. Parameter numerisch?
        varname += "_" + text_aendern.arguments[1];
      } 
      else 
      {
        // wenn ja, dann haben wir einen MenuIndex und verweisen auf Array:
        varname += "[" + text_aendern.arguments[1] + "]";
      }
    }

    // Workaroud: IE 6 bekommt bei eval ein Error, wenn kein Wert gefunden wird!
    try 
    {
      if (typeof (eval(varname)) != "object" && eval(varname) != 0) 
      {
        $("div[id='Hilfetext']").html(eval(varname));
        $('#help_box').attr("style", "display: block");
      } 
      else 
      {
        $('#help_box').attr("style", "display: none");
      }
    } catch (e) {
      $('#help_box').attr("style", "display: none");
    }

  }
}

function showTooltip(id,event)
{
  var objT = $("#"+id);
  var body = $("body");

  var currPosX = event.clientX + document.body.scrollLeft;
  var currPosY = event.clientY + document.body.scrollTop;
  objT.css('zIndex', 20);

  objT.css('display', 'block');
  if(body.width() - currPosX < objT.width())
  {
    objT.css('left', currPosX-10-objT.width()+"px");
  }
  else
  {
    objT.css('left', currPosX+10+"px");

  }
  objT.css('top', currPosY+10+"px");
}

function hideTooltip(id)
{
  $("#"+id).css('display', 'none');
}

function abfrage_loeschen() {
  Check = confirm("Wollen Sie wirklich löschen?");
  if (Check == false)
    return false;
  return true;
}

function hilfe_aendern(hilfetext) {
 $("div[id='Hilfetext']").html(hilfetext);
 $('#help_box').attr("style", "display: block");

}

function abfrage_logout() {
  Check = confirm("Wollen Sie den Antrag speichern?");
  if (Check == true) {
    var myInput1 = document.createElement("input");
    myInput1.type = "hidden";
    myInput1.name = 'speichern';
    myInput1.value = 1;
    document.getElementsByTagName("form")[0].appendChild(myInput1);
  }
  return true;
}

function abfrage_uebersicht() {
  Check = confirm("Wollen Sie den Antrag speichern?");
  if (Check == true) {
    var myInput1 = document.createElement("input");
    myInput1.type = "hidden";
    myInput1.name = 'speichern';
    myInput1.value = 1;
    document.getElementsByTagName("form")[0].appendChild(myInput1);
  }
  return true;
}

function initDrag(e) {
  topDog = istIE ? "BODY" : "HTML";
  whichDog = istIE ? document.all.help_box : document
      .getElementById("help_box");
  hotDog = istIE ? event.srcElement : e.target;
  while (hotDog.id != "titleBar" && hotDog.tagName != topDog) {
    hotDog = istIE ? hotDog.parentElement : hotDog.parentNode;
  }
  if (hotDog.id == "titleBar") {
    offsetx = istIE ? event.clientX : e.clientX;
    offsety = istIE ? event.clientY : e.clientY;
    Xnow = parseInt(whichDog.style.left);
    Ynow = parseInt(whichDog.style.top);
    dragEnabled = true;
    document.onmousemove = drag;
  }
}

function drag(e) {
  whichDog = istIE ? document.all.help_box : document
      .getElementById("help_box");
  if (!dragEnabled)
    return;
  whichDog.style.left = istIE ? Xnow + event.clientX - offsetx : Xnow
      + e.clientX - offsetx;
  whichDog.style.top = istIE ? Ynow + event.clientY - offsety : Ynow
      + e.clientY - offsety;
  return false;
}

function endDrag() {
  dragEnabled = false;
}

function hideMe() {
  whichDog = istIE ? document.all.help_box : document
      .getElementById("help_box");
  whichDog.style.visibility = "hidden";
  hilfe_aus = true;
}

function showMe() {
  if (!hilfe_aus) {
    whichDog = istIE ? document.all.help_box : document
        .getElementById("help_box");
    if(whichDog)
    {
        whichDog.style.visibility = "visible";
    }
    
  }
}
function toggleQH() {
  whichDog = istIE ? document.all.help_box : document
      .getElementById("help_box");
  hilfetoggle = istIE ? document.all.togglehilfe : document
      .getElementById("togglehilfe");
  if (whichDog.style.visibility == "visible") {
    whichDog.style.visibility = "hidden";
    hilfetoggle.innerText = '<a href="javascript:toggleMe();">Hilfe an</a>';
  } else {
    whichDog.style.visibility = "visible";
    hilfetoggle.innerText = "";
  }
}

function is_help_active() {
  var help_box = document.getElementById("help_box");

  if (help_box) 
  {
    if (document.dynelements.help_box_clicked) 
    {
      if (document.dynelements.help_box_clicked.value == 1) 
      {
        help_box.style.display = "block";
      } 
      else 
      {
        help_box.style.display = "none";
      }
    }
  }
}

function showlogin() {

  if (document.getElementById("loginbox").style.display == "none"
      || document.getElementById("loginbox").style.display == "") {
    document.getElementById("loginbox").style.display = "block";
  } else {
    document.getElementById("loginbox").style.display = "none";
  }
}

function setStandardText() {
  merkmal = istIE ? document.all.Hilfetext : document
      .getElementById("Hilfetext");
  merkmal.innerHTML = standard_text;
}

function setFocusOnFirstField()
{
  
  var dynelemnts = document.dynelements;

  if(!dynelemnts)
  {
    return;
  }
  
  var length = dynelemnts.length;

  if (document.dynelements.elements) {
    for (i = 0; i < length; i++) {
      if (document.dynelements.elements[i].type != "hidden"
          && document.dynelements.elements[i].type != "button"
          && document.dynelements.elements[i].type != "submit") {
        var element_ = document.dynelements.elements[i];

        if (element_)
        {
          try
          {
            if(element_.type == "radio")
            {
              if(element_.checked)
              {
                element_.focus();
                break;
              }
            }
            else
            {
              element_.focus();
              break;
            }
          } catch (e) {;}
        }
      }
    }
  }
}

var hilfe = "<b>Hilfe</b><br>Text für Hilfe";

document.onmousedown = initDrag;
document.onmouseup = endDrag;

function absenden(button_name) {
  var myInput1 = document.createElement("input");
  myInput1.type = "hidden";
  myInput1.name = button_name;
  myInput1.value = button_name;
  document.getElementsByTagName("form")[0].appendChild(myInput1);
  document.getElementsByTagName("form")[0].submit();
  return true;
}

function guetesiegel_zeigen() {
  if (document.dynelements.immobilien_bauart.value == 2
      || document.dynelements.immobilien_bauart.value == 3) {
    document.getElementById("guetesiegel").style.visibility = "visible";
  } else {
    document.getElementById("guetesiegel").style.visibility = "hidden";
  }
}

function orange(buttonname) {
  document.getElementsByName(buttonname)[0].style.color = "#F14F12";
}

function blau(buttonname) {
  document.getElementsByName(buttonname)[0].style.color = "#004287";
}

function orange_vbngt(buttonname) {
  document.getElementsByName(buttonname)[0].style.color = "#ED7610";
}

function blau_vbngt(buttonname) {
  document.getElementsByName(buttonname)[0].style.color = "#003D79";
}

function changeTilgungAuswahl_1() {
  document.all.tilgung_kr[0].checked = true;
  document.all.tilgung_betrag_kr.value = "";
}

function changeTilgungAuswahl_2() {
  document.all.tilgung_kr[1].checked = true;
  document.all.tilgung_prozent_kr.value = "";
}

function button_setzen(hiddenfield_name) {
  var myInput1 = document.createElement("input");
  myInput1.type = "hidden";
  myInput1.name = hiddenfield_name;
  myInput1.value = 1;
  document.getElementsByName("dynelements")[0].appendChild(myInput1);
  document.dynelements.submit();
}

function openWindow(url) {
  newWindow = window.open(url, "ScoringErgebnis",
      "width=800,height=600,left=100,top=0,location=no");
  newWindow.focus();
}

function check_aktuelle_warmmiete() {
  if(document.all.miete_immobilie)
  {
    document.all.miete_immobilie[0].checked = true;
  }
}

function check_wohnflaeche() {
  if(document.all.miete_immobilie)
  {
    document.all.miete_immobilie[2].checked = true;
  }
}

function clear_warmmiete() {
  if(document.all.miete_immobilie)
  {
    if (document.all.miete_immobilie[0].checked == true) {
      document.all.wohnflaeche.value = "";
    } else if (document.all.miete_immobilie[1].checked == true) {
      document.all.warmmiete.value = "";
      document.all.wohnflaeche.value = "";
    } else if (document.all.miete_immobilie[2].checked == true) {
      document.all.warmmiete.value = "";
    }
  }
}

/**
 * Ansicht anhand Grundschuldssart ändern.
 */
function ansicht_aendern() {
  selectfeld = document.forms[0].grundschuldsart_gb;
  fin_type = selectfeld.options[selectfeld.selectedIndex].value;

  if (fin_type == "1") {
    document.getElementById("gb_kaufpreis").style.display = "inline";
    document.getElementById("gb_notaranderkonto").style.display = "inline";
    document.getElementById("gb_grundschuld").style.display = "inline";
    document.getElementById("gb_briefbildung").style.display = "inline";
    document.getElementById("gb_notarbestaetigung").style.display = "inline";
    document.getElementById("gb_vollzug_eintragung").style.display = "inline";
    document.getElementById("gb_vollzug_abtretung").style.display = "none";
    document.getElementById("gb_vollzug_loeschung").style.display = "none";
  } else if (fin_type == "2") {
    document.getElementById("gb_kaufpreis").style.display = "inline";
    document.getElementById("gb_notaranderkonto").style.display = "inline";
    document.getElementById("gb_grundschuld").style.display = "none";
    document.getElementById("gb_briefbildung").style.display = "none";
    document.getElementById("gb_notarbestaetigung").style.display = "none";
    document.getElementById("gb_vollzug_eintragung").style.display = "none";
    document.getElementById("gb_vollzug_abtretung").style.display = "none";
    document.getElementById("gb_vollzug_loeschung").style.display = "none";
  } else if (fin_type == "3") {
    document.getElementById("gb_kaufpreis").style.display = "none";
    document.getElementById("gb_notaranderkonto").style.display = "none";
    document.getElementById("gb_grundschuld").style.display = "inline";
    document.getElementById("gb_briefbildung").style.display = "inline";
    document.getElementById("gb_notarbestaetigung").style.display = "inline";
    document.getElementById("gb_vollzug_eintragung").style.display = "inline";
    document.getElementById("gb_vollzug_abtretung").style.display = "inline";
    document.getElementById("gb_vollzug_loeschung").style.display = "none";
  } else if (fin_type == "4") {
    document.getElementById("gb_kaufpreis").style.display = "none";
    document.getElementById("gb_notaranderkonto").style.display = "none";
    document.getElementById("gb_grundschuld").style.display = "inline";
    document.getElementById("gb_briefbildung").style.display = "inline";
    document.getElementById("gb_notarbestaetigung").style.display = "inline";
    document.getElementById("gb_vollzug_eintragung").style.display = "inline";
    document.getElementById("gb_vollzug_abtretung").style.display = "none";
    document.getElementById("gb_vollzug_loeschung").style.display = "none";
  } else if (fin_type == "5") {
    document.getElementById("gb_kaufpreis").style.display = "none";
    document.getElementById("gb_notaranderkonto").style.display = "none";
    document.getElementById("gb_grundschuld").style.display = "inline";
    document.getElementById("gb_briefbildung").style.display = "none";
    document.getElementById("gb_notarbestaetigung").style.display = "none";
    document.getElementById("gb_vollzug_eintragung").style.display = "none";
    document.getElementById("gb_vollzug_abtretung").style.display = "inline";
    document.getElementById("gb_vollzug_loeschung").style.display = "none";
  } else if (fin_type == "6") {
    document.getElementById("gb_kaufpreis").style.display = "none";
    document.getElementById("gb_notaranderkonto").style.display = "none";
    document.getElementById("gb_grundschuld").style.display = "inline";
    document.getElementById("gb_briefbildung").style.display = "none";
    document.getElementById("gb_notarbestaetigung").style.display = "none";
    document.getElementById("gb_vollzug_eintragung").style.display = "none";
    document.getElementById("gb_vollzug_abtretung").style.display = "none";
    document.getElementById("gb_vollzug_loeschung").style.display = "inline";
  } else {
    document.getElementById("gb_kaufpreis").style.display = "none";
    document.getElementById("gb_notaranderkonto").style.display = "none";
    document.getElementById("gb_grundschuld").style.display = "none";
    document.getElementById("gb_briefbildung").style.display = "none";
    document.getElementById("gb_notarbestaetigung").style.display = "none";
    document.getElementById("gb_vollzug_eintragung").style.display = "none";
    document.getElementById("gb_vollzug_abtretung").style.display = "none";
    document.getElementById("gb_vollzug_loeschung").style.display = "none";
  }

  /**
   * Alle unvisible - Formelemente leeren.
   * 
   * @see pro_ajax.js
   */
  // unset_unvisible_elements();
}

function voranschrift_anzeigen_init(typ) {

  if (typ == "antragsteller") {
    init_voranschrift_antragsteller();
  } else {
    init_voranschrift_mitantragsteller();
  }
}

function init_voranschrift_antragsteller() {
  if (document.getElementsByName("voranschrift")[0].checked == true) {
    voranschrift_anzeigen(1);
  }

  if (document.getElementsByName("voranschrift")[1].checked == true) {
    voranschrift_anzeigen(2);
  }
}

function init_voranschrift_mitantragsteller() {
  if (document.getElementsByName("voranschrift_ma")[0].checked == true) {
    voranschrift_anzeigen_ma(1);
  }

  if (document.getElementsByName("voranschrift_ma")[1].checked == true) {
    voranschrift_anzeigen_ma(2);
  }
}

function voranschrift_anzeigen(anzeige) {
  var voranschrift_anzeige = document.getElementById("block-voranschrift").style;
  if (anzeige == 1) {
    voranschrift_anzeige.display = "inline";

    // Wenn Voranschrift gewählt wurde, required setzen (bei error inkl. fl_error)
    if(document.getElementById("label_voranschrift_strasse").getAttribute('class') != 'formlabel fl_error')
    {
      document.getElementById("label_voranschrift_strasse").setAttribute('class', "formlabel fl_required");
    }

    if(document.getElementById("label_voranschrift_hausnummer").getAttribute('class') != 'formlabel fl_error')
    {
      document.getElementById("label_voranschrift_hausnummer").setAttribute('class', "formlabel fl_required");
    }

    if(document.getElementById("label_voranschrift_plz").getAttribute('class') != 'formlabel fl_error')
    {
      document.getElementById("label_voranschrift_plz").setAttribute('class', "formlabel fl_required");
    }

    if(document.getElementById("label_voranschrift_wohnort").getAttribute('class') != 'formlabel fl_error')
    {
      document.getElementById("label_voranschrift_wohnort").setAttribute('class', "formlabel fl_required");
    }
  } else {
    voranschrift_anzeige.display = "none";
    document.getElementsByName("voranschrift_strasse")[0].value = "";
    document.getElementsByName("voranschrift_hausnummer")[0].value = "";
    document.getElementsByName("voranschrift_plz")[0].value = "";
    document.getElementsByName("voranschrift_wohnort")[0].value = "";
    document.getElementById("label_voranschrift_strasse").setAttribute('class') = '';
    document.getElementById("label_voranschrift_hausnummer").setAttribute('class') = '';
    document.getElementById("label_voranschrift_plz").setAttribute('class') = '';
    document.getElementById("label_voranschrift_wohnort").setAttribute('class') = '';
  }
  return true;
}

function voranschrift_anzeigen_ma(anzeige) {
  var voranschrift_anzeige_ma = document
      .getElementById("block-voranschrift-ma").style;
  if (anzeige == 1) {
    voranschrift_anzeige_ma.display = "inline";

    // Wenn Voranschrift gewählt wurde, required setzen (bei error inkl. fl_error)
    if(document.getElementById("label_voranschrift_strasse_ma").getAttribute('class') != 'formlabel fl_error')
    {
      document.getElementById("label_voranschrift_strasse_ma").setAttribute('class', "formlabel fl_required");
    }

    if(document.getElementById("label_voranschrift_hausnummer_ma").getAttribute('class') != 'formlabel fl_error')
    {
      document.getElementById("label_voranschrift_hausnummer_ma").setAttribute('class', "formlabel fl_required");
    }

    if(document.getElementById("label_voranschrift_plz_ma").getAttribute('class') != 'formlabel fl_error')
    {
      document.getElementById("label_voranschrift_plz_ma").setAttribute('class', "formlabel fl_required");
    }

    if(document.getElementById("label_voranschrift_wohnort_ma").getAttribute('class') != 'formlabel fl_error')
    {
      document.getElementById("label_voranschrift_wohnort_ma").setAttribute('class', "formlabel fl_required");
    }
  } else {
    voranschrift_anzeige_ma.display = "none";
    document.getElementsByName("voranschrift_strasse_ma")[0].value = "";
    document.getElementsByName("voranschrift_hausnummer_ma")[0].value = "";
    document.getElementsByName("voranschrift_plz_ma")[0].value = "";
    document.getElementsByName("voranschrift_wohnort_ma")[0].value = "";
    document.getElementById("label_voranschrift_strasse_ma").setAttribute('class') = '';
    document.getElementById("label_voranschrift_hausnummer_ma").setAttribute('class') = '';
    document.getElementById("label_voranschrift_plz_ma").setAttribute('class') = '';
    document.getElementById("label_voranschrift_wohnort_ma").setAttribute('class') = '';
  }
  return true;
}

function show_immo_details(auswahl) {
  
  if (document.getElementById("immobilien-details-art")
      && document.getElementById("immobilien-details-bauart")) {

    var immobilien_details_art = document
        .getElementById("immobilien-details-art").style;
    var immobilien_details_bauart = document
        .getElementById("immobilien-details-bauart").style;
    
    if (document.getElementById("immobilien-details-guetesiegel")) {
      var immobilien_details_guetesiegel = document
          .getElementById("immobilien-details-guetesiegel").style;
    }

    if (auswahl == "grundstuecksfinanzierung") {
      
      immobilien_details_art.visibility = "hidden";
      immobilien_details_bauart.visibility = "hidden";

      if (immobilien_details_guetesiegel) {
        immobilien_details_guetesiegel.visibility = "hidden";
      }
      document.getElementsByName("immobilien_art")[0].value = 0;
      document.getElementsByName("immobilien_bauart")[0].value = 0;
      if (immobilien_details_guetesiegel) {
        document.getElementsByName("guetesiegel")[0].checked = false;
      }
    } else {
      immobilien_details_art.visibility = "visible";
      immobilien_details_bauart.visibility = "visible";

      if (immobilien_details_guetesiegel) {
        immobilien_details_guetesiegel.visibility = "visible";
      }
    }
    return true;
  }
  return false;
}

jQuery(function() 
{
  var show_help = true;

  $("input[name='Hilfe']").click(function()
  {
    $(this).toggleClass('checked');
    if($("input[name='help_box_clicked']").val()=='1')
    {
      $("input[name='help_box_clicked']").attr('value','0');
      $('#help_box').attr("style", "display: none");
      show_help = false;
    }
    else
    {
      $("input[name='help_box_clicked']").attr('value','1');
      show_help = true;
    }
  });
  
  $("#showCalculationDetails").click(function()
  {
    $('#quickcheck_calculation').attr("style", "display: block");
    $('#hideCalculationDetails').attr("style", "display: block");
    $('#showCalculationDetails').attr("style", "display: none");
  });

  $("#hideCalculationDetails").click(function ()
  {
    $('#quickcheck_calculation').attr("style", "display: none");
    $('#hideCalculationDetails').attr("style", "display: none");
    $('#showCalculationDetails').attr("style", "display: block");

  });

  function change_help (var_1, var_2)
  {
    if(show_help)
    {
      var_2 ? text_aendern(var_1, var_2) : text_aendern(var_1);
    }
  }

  //jQuery Funktion für die Zusatzinformationstexte (Rechte Spalte)
  $("input[type='text'], textarea, input[type='checkbox']").focus( function() {

    change_help($(this).attr('id'));
  });

  // Selektbox wird angeklickt!
  $("select").change( function(){
    change_help($(this).attr('name'), $(this).attr('value'));
  });

  // Auswahlt der Selektbox mit Tastatur
  $("select").keyup( function(){
    change_help($(this).attr('name'), $(this).attr('value'));
  });

  //jQuery Funktion für die Zusatzinformationstexte bei Radiobuttons (Rechte Spalte)

  

  $("input[type='radio']").focus( function() {
    change_help($(this).attr('name'), $(this).attr('value'));
    if($(this).attr('value') == 'modernisierung')
    {
      preselect_field('wk_he_kosten_1_art',3)
    }
  });

  // Ersetzt OnLoad
  setFocusOnFirstField();


  /**
   * Selectiert ein Feld vor
   *
   * @params: string field_id -> ID des Feldes welcher vorselektiert werden soll
   * @params: int value_id -> ID des Value, welches vorselektiert werden soll
   */
  function preselect_field(field_id,value_id)
  {
    if($('#'+field_id))
    {
      $('#'+field_id).attr('value', value_id);
    }
    
  }

  // Bei Grundstücksfinanzierung werden die Selektboxen Bauart und Immobilienart ausgeblendet (Fragen zur Immobile)
  $("input[value='grundstuecksfinanzierung']").focus( function() {
    
    if($("#immobilien-details-bauart").length > 0 && $("#immobilien-details-art").length > 0)
    {
      $("#immobilien-details-bauart").css('display','none');
      $("#immobilien-details-art").css('display','none');
      $("#immobilien-details-bauart").attr('value', '0');
      $("#immobilien-details-art").attr('value', '0');
     
      if ($("#guetesiegel\\.1").length > 0) {
        
        $("#immobilien-details-guetesiegel").css('display', 'none');
        $("#guetesiegel\\.2").attr('checked', 'true');
        
      }
      
      
    }    
  });

  
  
  //Selektboxen Bauart und Immobilienart werden eingeblendet (Fragen zur Immobile)
  $("input[value='neue_immobilie_bauen'], input[value='neue_immobilie_erwerben'], " +
  		"input[value='bestehende_immobilie_erwerben'], input[value='bestehende_finanzierung_umschulden'], " +
  		"input[value='modernisierung'], input[value='kapitalbeschaffung']").focus( function() {
  		  
  		  if($("#immobilien-details-bauart").length > 0 && $("#immobilien-details-art").length > 0)
  		  {
    		  $("#immobilien-details-bauart").css('display','block');
    		  $("#immobilien-details-art").css('display','block');
  		  
    		  if ($("#immobilien-details-guetesiegel").length > 0) {
    	      $("#immobilien-details-guetesiegel").css('display', 'block');
    	    }
    		  
  		  }
        
  });



  /**
   * Vorbelegung bei der Letzten Seite für Europace
   *
   *
   */

  var dataexport_partner =  $('#_dataexport_partner');
  if(dataexport_partner)
  {
    preselect_for_dataexport = function(selectedIndex)
    {
        var _dataexport_vermittler_nummer = $('#_dataexport_vermittler_nummer');
        
        if(_dataexport_vermittler_nummer)
        {
            if(selectedIndex == 1)  // vorbelegung bei Europace
            {
//                if(!_dataexport_vermittler_nummer.val())
//                {
                    _dataexport_vermittler_nummer.val('0000000000'); // vorbelegung bei Europace
//                }
            }
            else if(selectedIndex == 2) // vorbelegung bei Europace
            {
                _dataexport_vermittler_nummer.val('');
            }
            else // vorbelegung BEI ALLEN ANDEREN
            {
                _dataexport_vermittler_nummer.val('');
            }
        }
    }

    //preselect_for_dataexport(dataexport_partner.get(0).selectedIndex);

    dataexport_partner.change(function()
    {
        preselect_for_dataexport(this.selectedIndex);
    })

    

  }
});
