var ENGLISH = 0;
var DEUTSCH = 1;

/**
 * sets the focus in a form
 */
function setFocus(form, element) {
  document.forms[form].elements[element].focus();
}

/**
 * Checks if all mandatory fields in the Order form
 * are filled
 */
function checkMandatoryFields(language) {
  var name = document.Bestellung.Name.value;
  var strasse_oder_postfach = document.Bestellung.Strasse_oder_Postfach.value;
  var ort = document.Bestellung.Ort.value;
  var plz = document.Bestellung.Postleitzahl.value;
  var land = document.Bestellung.Land.value;
  var email = document.Bestellung.E_Mail.value;
 
  var zahlung;
  for (var i = 0; i < document.Bestellung.Zahlung_mit.length; i++) {
    if (document.Bestellung.Zahlung_mit[i].checked == true) {
      zahlung = document.Bestellung.Zahlung_mit[i].value;
      break;
    }    	
  }
  
  var kreditkarte = document.Bestellung.Karte.options[document.Bestellung.Karte.selectedIndex].value;
  var kartennummer = document.Bestellung.Kartennummer.value;
  var name_auf_kreditkarte = document.Bestellung.Name_auf_Kreditkarte.value;
  var gueltig_bis = document.Bestellung.Gueltig_bis.value;
  
  if (!isValid(name)) {
    if (language == DEUTSCH) {
      alert("Bitte geben Sie Ihren Namen ein.");
    }
    else {
      alert("Please insert your name.");
    }
    document.Bestellung.Name.select();
    return false;
  }
  else if (!isValid(strasse_oder_postfach)) {
    if (language == DEUTSCH) {
      alert("Bitte geben Sie Strasse oder Postfach ein.");
    }
    else {
      alert("Please insert Street or Po. Box.");
    }
    document.Bestellung.Strasse_oder_Postfach.select();
    return false;
  }
  else if (!isValid(ort)) {
    if (language == DEUTSCH) {
      alert("Bitte geben Sie den Ort ein.");
    }
    else {
      alert("Please insert your city.");
    }
    document.Bestellung.Ort.select();
    return false;
  }
  else if (!isValid(plz)) {
    if (language == DEUTSCH) {
      alert("Bitte geben Sie die Postleitzahl ein.");
    }
    else {
      alert("Please insert your Zip Code name.");
    }
    document.Bestellung.Postleitzahl.select();
    return false;
  }
  else if (!isValid(land)) {
    if (language == DEUTSCH) {
      alert("Bitte geben Sie das Land ein.");
    }
    else {
      alert("Please insert your country.");
    }
    document.Bestellung.Land.select();
    return false;
  }
  if (!isValid(email)) {
    if (language == DEUTSCH) {
      alert("Bitte geben Sie Ihre E - Mail Addresse ein.");
    }
    else {
      alert("Please insert your E - Mail address.");
    }
    document.Bestellung.E_Mail.select();
    return false;
  }

  if (zahlung == "Kreditkarte") {
    if (!isValid(kreditkarte)) {
      if (language == DEUTSCH) {
        alert("Bitte wählen Sie die gewünschte Kreditkarte.");
      }
      else {
        alert("Please select the prefered credit card.");
      }
      document.Bestellung.Karte.focus();
      return false;
    }
    else if (!isValid(kartennummer)) {
      if (language == DEUTSCH) {
        alert("Bitte geben Sie die Kreditkartennummer ein.");
      }
      else {
        alert("Please insert the credit card number.");
      }
      document.Bestellung.Kartennummer.select();
      return false;
    }
    else if (!isValid(name_auf_kreditkarte)) {
      if (language == DEUTSCH) {
        alert("Bitte geben Sie den Namen auf der Kreditkarte ein.");
      }
      else {
        alert("Please insert the name on the credit card.");
      }
      document.Bestellung.Name_auf_Kreditkarte.select();
      return false;
    }
    else if (!isValid(gueltig_bis)) {
      if (language == DEUTSCH) {
        alert("Bitte geben Sie das \"Gültig bis\" - Datum ein.");
      }
      else {
        alert("Please insert the expiration date.");
      }
      document.Bestellung.Gueltig_bis.select();
      return false;
    }
  }
  
  var somethingChecked = false;
  for (var i = 0; i < 9; i++) {
    if (language == DEUTSCH) {
      if (document.Bestellung.elements[13 + i].checked == true) {    
        somethingChecked = true;	
      }
    }
    else { // one more element
      if (document.Bestellung.elements[15 + i].checked == true) {    
        somethingChecked = true;	
      }
    }
  }
  
  if (!somethingChecked) {
    if (language == DEUTSCH) {
      alert("Bitte wählen Sie die zu bestellende(n) CD(s)/LP(s).");
    }
    else {
      alert("Please choose the CD(s)/LP(s) you want to order.");
    }
    return false;
  }
  
//  return true;
}

/**
 * Checks the validity of a form value
 * This one is just called from checkMandatoryFields()
 */
function isValid(value) {
  if (value != null &&
      value != "" &&
      value != " ") {
    return true;    	
  }
  return false;
}
