var isIE = (typeof(document.all) != "undefined");
var DISPLAY_TABLE_ROW = isIE ? "block" : "table-row-group";

function initTextBoxes() {
  var i;
  var j;

  for (i=0; i<document.forms.length; i++) {
    for (j=0; j<document.forms[i].elements.length; j++) {
      if (document.forms[i].elements[j].name.indexOf('charno_') >= 0) {
        charsLeft = document.forms[i].elements[j].value-document.forms[i].elements[document.forms[i].elements[j].name.substring(7)].value.length;
        document.forms[i].elements[j].value = charsLeft;
      }
    }
  }
}

function updateCounter(form, formItem, maxsize) {
  var charsLeft;

  inputString = form.elements[formItem].value;

  if (inputString.length > maxsize) {
    form.elements[formItem].value = inputString.substring(0, maxsize);
    charsLeft = 0;
  } else charsLeft = maxsize - inputString.length;

  form.elements['charno_'+formItem].value = charsLeft;
}

function jumpTo(formItem) {
  var i;
  var j;

  for (i=0; i<document.forms.length; i++) {
    for (j=0; j<document.forms[i].elements.length; j++) {
      if (document.forms[i].elements[j].name == formItem) {
        document.forms[i].elements[formItem].focus();
      }
    }
  }
}

function checkPassword(formName){
  var i;
  var j;
  var re = /^[\w\x2e\x2d\x3c\x3e\x21\x23\x24\x25\x26\x2f\x5c]*$/g;

  for (j=0; j<document.forms[formName].elements.length; j++) {
    if (document.forms[formName].elements[j].name == '/password2') {
      if (document.forms[formName].elements['/password'].value.match(re) == null) {
        alert('Hasło zawiera niedozwolone znaki.');
        return false;
      }

      if (document.forms[formName].elements['/password2'].value != document.forms[formName].elements['/password'].value) {
        alert('Hasło i potwierdzonie hasła nie są identyczne.');
        document.forms[formName].elements['/password2'].focus();
        document.forms[formName].elements['/password2'].select();
        return false;
      }

      if (document.forms[formName].elements[j].value.length < 4) {
        alert('Hasło jest za krótkie.');
        return false;
      }
    }
  }

  return true;
}

function checkboxToggle(checkbox) {
  if ((typeof(checkbox) != "undefined") && (arguments.length >= 2)) {
    for (var i = 1; i < arguments.length; i++) {
      var element = document.getElementById(arguments[i]);
      if (element != null) {
        element.style.display = (checkbox.checked ? DISPLAY_TABLE_ROW : "none");
        if (isIE) {
          var cells = element.getElementsByTagName("td");
          for (var j = 0; j < cells.length; j++) {
            cells[j].style.display = (checkbox.checked ? DISPLAY_TABLE_ROW : "none");
          }
        }
        var inputs = element.getElementsByTagName("input");
        for (var j = 0; j < inputs.length; j++) {
          if (!checkbox.checked) inputs[j].value = "";
        }
      }
    }
  }
}

function toggleElementByCheckbox(checkboxID, elementID) {
  var checkbox = document.getElementById(checkboxID);
  var element = document.getElementById(elementID);
  if (element != null && checkbox != null)
    element.style.display = (checkbox.checked ? DISPLAY_TABLE_ROW : "none");
}

