/*        Beginning
 (c) Volker Neise, 19.02.2001

 ------------  functions
  function CheckInput(FormName)
  function CheckRequiredFields (FormName)
 ------------ some help functions
  function Message(lang,debug)
  function mark_on(image)
  function mark_off(image)
  function get_index(img)
  function ElementInfo()
  */

// -------------------------------------

function ElementInfo()
{
// just Debugg information
var anfz, anze, mymsg="";
  win = window.open("", "", "length=500,width=300")
  anzf = document.forms.length
  for (i=0; i < anzf; ++i)
      {win.document.write ("<p>Name of form: " + document.forms[i].name + "<br>")
      anze = document.forms[i].elements.length
      for (j=0; j < anze; ++j)
          { win.document.write("Element: "+(j+1) + ": "+ document.forms[i].elements[j].name+", Type: " + document.forms[i].elements[j].type +"<BR>")
           }
      win.document.write ("<HR>")
      }
  win.document.close()
}
// -------------------------------------
function get_index(img)
// get array index of required variable
{
var i;
for (i=0; i < document.images.length; ++i)
 {
  if (document.images[i].name == img)
   {
    return(i)
    }
  }
return (-1)
}
// -------------------------------------
function mark_on(image)
// set mark if required field is empty
{
 var m = get_index(image)
 if (m != -1) { document.images[m].src="img/pfeil.gif" } // set mark
 return(true)
}
// -------------------------------------
function mark_off(image)
// clear mark if required field is not empty
{
 var m = get_index(image)
 if (m != -1) { document.images[m].src="img/space.gif" } // clear mark
 return(true)
}
// -------------------------------------
function CheckRequiredFields(myForm,debug)
// checks whether required fields are empty (or like "foo") or not
{
if (debug>"1") { ElementInfo() } // debug information
var i, j, m, anfz, anze, tmp_name, tmp_value, mymsg="";
  anzf = document.forms.length
  for (i=0; i < anzf; ++i) {
      anze = document.forms[i].elements.length
      for (j=0; j < anze; ++j)
          { with (document.forms[i])
            {
            tmp_name = elements[j].name
        switch (elements[j].type)
         {
        case "select-one":
        elements[j].selectedIndex >= 0 ? tmp_value = elements[j].options[elements[j].selectedIndex].value: tmp_value="foo"
          break;
        case "select-multiple":
        elements[j].selectedIndex >= 0 ? tmp_value = elements[j].options[elements[j].selectedIndex].value: tmp_value="foo"
          break;
        default:
          tmp_value = elements[j].value;
        }
        if (debug>"0") { alert ("Feld: " + tmp_name + ", Wert: " + tmp_value ); }
        // yes = required field is empty or "foo" -> set mark, otherwise = clear mark
        if ( (tmp_name.lastIndexOf ("_") == (tmp_name.length-1)) && ((tmp_value=="") || (tmp_value=="foo")) )
              { mymsg += tmp_name + " "
                mark_on(tmp_name)
              }
         else { mark_off(tmp_name) }
        } // end of with
        } // end of for_j
      }  // end of for_i
if (debug>"0") { alert ("Result of CheckRequired: " + mymsg); }
return (mymsg);
}
// -------------------------------------
function Message (lang,debug)
{
if (lang=="de") {
this.msg1="Bitte füllen Sie alle Felder aus.\n";
this.msg2="\n";
this.msg3="\n";
this.msg4="\nBitte geben Sie eine korrekte Email an.";
}
else {
this.msg1="Sorry, for serving your request complete all fields, please.\n";
this.msg2="\n";
this.msg3="\n";
this.msg4="\nPlease check your mail-address.";
}
if (debug>"0") { alert ("Result of Message:\n"+this.msg1+"\n"+this.msg2+"\n"+this.msg3); }
}
// **************** main ****************

function CheckInput(myForm)
{
// main is called via <form method="POST" action="xxx.cgi" onSubmit="return CheckInput(this)">
var required_msg=""     // result of RequiredFields
var msg=""             // final alert
       // what is the desired language
mylang = new Message(myForm.LANGUAGE.value,0);
       // check for required fields.
required_msg = CheckRequiredFields(myForm,0);

//    final analysis
      // a required field is empty
if (required_msg) msg+=mylang.msg1;

if (msg)
        {
        alert (msg);         // javascript alert about what is wrong
        return false
        }
        else
        return true;        // ok. The form ist ready for submitting
}
// End