/*
=================================================================
JavaScript-Utility: Änderungen im Formular erkennen und markieren
=================================================================

Version:	1.0 / 04.10.2002 / W. Schafroth
                Erstausgabe

Beschreibung:
Das Script ermittellt im Formular die geänderten Formularelementen
und markiert diese in einem verborgenen (hidden) Formularelement. 
Folgende Formularelemente sind prüfbar:
    - Textfeld
    - Auswahlfeld
    - Optionenfeld

Die Information "geaendert" ist für PHP in der Variable unter dem 
selben Namen und der Erweiterung _upd abgespeichert (siehe Beisp.).

$feld1        = $_REQUEST["feld1"];
$feld1_upd    = $_REQUEST["feld1_upd"];
// Nicht geändert
echo $feld1;     => alter Wert
echo $feld1_upd; => 
// Geändert
echo $feld1;     => neuer Wert
echo $feld1_upd; => geaendert

Aufruf:
// Externe Prozedur einlesen
<SCRIPT LANGUAGE="JavaScript" SRC="../utilities/set_upd_mark.js" type="text/javascript"></SCRIPT>
</HEAD>
<BODY>
  <form name="form1" action="xxx.php" method="POST">
  <p>Name: <input type="text" name="txtName" size="20" onchange="javascript:set_upd_mark_text('txtName')">
  <input name="txtName_upd" type="HIDDEN" value=""></p>
  <p>Vorname: <input type="text" name="txtVorname" size="20" onchange="javascript:set_upd_mark_text('txtVorname')">
  <input name="txtVorname_upd" type="HIDDEN" value=""></p>
  <p><select name='auswahl' size='0' onChange="set_upd_mark_select('auswahl');">
       <option value='1'>Auswahl 1</option>
       <option value='2'>Auswahl 2</option>
       <option value='3'>Auswahl 3</option>
       <option value='4'>Auswahl 4</option>
     </select>
     <input name="auswahl_upd" type="HIDDEN" value=""></p>
  <p><input type="radio" checked name="search" value="1" onChange="set_upd_mark_radio('search',0);">Option 1</p>
     <input type="radio" name="search" value="4" onChange="set_upd_mark_radio('search',1);">Option 2</p>
     <input name="search_upd" type="HIDDEN" value="">
  <p><input type="submit" value="Übernehmen" name="btnOK"></p>
</FORM>
*/

// Änderungsmarke für Textfelder setzen
function set_upd_mark_text(feldname) {
    //alert("Wechsel angezeigt");
    //alert(feldname);

    //alert(document.getElementsByName(feldname)[0].name);
    //alert(document.getElementsByName(feldname)[0].value);
    updfeldname = feldname + "_upd";
    //alert(document.getElementsByName(updfeldname)[0].name);
    document.getElementsByName(updfeldname)[0].value = "geaendert";

    //alert(updfeldname + " : " + document.updmarke.feld1_upd.value);
}

// Änderungsmarke für Auswahlfeld setzen
function set_upd_mark_select(feldname) {
    //alert("Wechsel angezeigt");
    //alert("Parameter feldname : " + feldname);

    //alert("Name des Feldes : " + document.getElementsByName(feldname)[0].name);
    //alert("Wert des Feldes : " + document.getElementsByName(feldname)[0].value);
    updfeldname = feldname + "_upd";
    //alert("Name des upd-Feldes : " + document.getElementsByName(updfeldname)[0].name);
    document.getElementsByName(updfeldname)[0].value = "geaendert";

    //alert("Wert des upd-Feldes : " + updfeldname + " = " + document.updmarke.selected_upd.value);
}

// Änderungsmarke für Optionenfeld setzen
function set_upd_mark_radio(feldname,index) {
    //alert("Wechsel angezeigt");
    //alert("Parameter feldname : " + feldname);
    //alert("Parameter index    : " + index);

    //alert("Name des Feldes : " + document.getElementsByName(feldname)[index].name);
    //alert("Wert des Feldes : " + document.getElementsByName(feldname)[index].value);
    document.getElementsByName(feldname)[index].checked = true;

    updfeldname = feldname + "_upd";
    //alert("Name des upd-Feldes : " + document.getElementsByName(updfeldname)[0].name);
    document.getElementsByName(updfeldname)[0].value = "geaendert";

    //alert("Wert des upd-Feldes : " + updfeldname + " : " + document.updmarke.search_upd.value);
}

