// Copyright Realize IT GmbH, www.realize.ch
// Latest Changes
// 2004_06_00   GH new


// caution: form is in our example the name of the form and not the name of the object type
// all our forms are named 'form'


function genGetElementById(elementId) {
  //genGetElementByIdAndDocument(window.document, elementId);
  if (document.getElementById) {
    return document.getElementById(elementId);
  }

  if (document.all) {
    return document.all[elementId];
  }

  if (document.layers) {
    var i;
    var n;

    if (document.layers.length > 0) {
      for (n=0; n < document.layers.length; n++) {


        if (document.layers[n].document.form.name == elementId) {
          return document.layers[n].document.form;
        }

        for (i = 0; i < document.layers[n].document.form.elements.length; i++) {
          if (document.layers[n].document.form.elements[i].name == elementId) {
            return document.layers[n].document.form.elements[i];
          }
        }
      }

    } else {
      if (document.form.name == elementId) {
        return document.form;
      }

      for (i=0; i < document.form.elements.length; i++) {
        if (document.form.elements[i].name == elementId) {
          return document.form.elements[i];
        }
      }
    }
  } 
}

function genGetElementByIdAndDocument(currentDocument, elementId) {
  if (currentDocument.getElementById) {
    return currentDocument.getElementById(elementId);
  }

  if (currentDocument.all) {
    return currentDocument.all[elementId];
  }

  if (currentDocument.layers) {
    var i;
    var n;

    if (currentDocument.layers.length > 0) {
      for (n=0; n < currentDocument.layers.length; n++) {


        if (currentDocument.layers[n].document.form.name == elementId) {
          return currentDocument.layers[n].document.form;
        }

        for (i = 0; i < currentDocument.layers[n].document.form.elements.length; i++) {
          if (currentDocument.layers[n].document.form.elements[i].name == elementId) {
            return currentDocument.layers[n].document.form.elements[i];
          }
        }
      }

    } else {
      if (currentDocument.form.name == elementId) {
        return currentDocument.form;
      }

      for (i=0; i < currentDocument.form.elements.length; i++) {
        if (currentDocument.form.elements[i].name == elementId) {
          return currentDocument.form.elements[i];
        }
      }
    }
  }  
}

function genSetElementValue(elementName, elementValue) {
  genGetElementById(elementName).value = elementValue;
}


function genGetSelectedRadioButtonValue(elementName) {
  //if (document.getElementById) {
  //  return document.getElementById(elementId);
  //}

  if (document.all) {
    var n;
    for (n = 0; n < document.all.length; n++) {
      if (document.all[n].name == elementValue) {
        if (document.all[n].checked) {
          return document.all[n].value;
        }
      }
    }
  }

  if (document.layers) {
    var i;
    var n;

    if (document.layers.length > 0) {
      for (n=0; n < document.layers.length; n++) {
        for (i = 0; i < document.layers[n].document.form.elements.length; i++) {
          if (document.layers[n].document.form.elements[i].name == elementName) {
            if (document.layers[n].document.form.elements[i].checked) {
              return document.layers[n].document.form.elements[i].value;
            }
          }
        }
      }

    } else {
      for (i=0; i < document.form.elements.length; i++) {
        if (document.form.elements[i].name == elementName) {
          if (document.form.elements[i].checked) {
            return document.form.elements[i].value;
          }
        }
      }
    }
  }
  
}



function resetElementValue(elementName) {
  // deselects items in a combobox
  // used in clsLink
  var myElement = genGetElementById(elementName);
  
  //alert('==>' + elementName + ' has status: ' + myElement);
  
  if (myElement == null) return;
  
  if (myElement.type == 'hidden') return;
  
  if (myElement.disabled == true) return;
  
  // Netscape needs it to have selected item deselected
  for ( var i = 0 ; i < myElement.length ; i++ ) {
    if ( myElement.options[i].selected ) {
      myElement.options[i].selected = false;
    }
  }
  myElement.value = '';
}

