var ignore = new list()
var besk = new list();
var intfields = new list();
var maxlength = new list();

function henttitel(navn) {
  for (var i = 0; i < besk.length; i++) {
    if (extractword(besk[i], 0) == navn)
      return extractword(besk[i], 1)
  }
 return navn.substring(0,1).toUpperCase() + navn.substring(1);
}

function validate_int_fields(form,errortext1,errortext2,ignoreblank) {
  for (var i = 0; i < intfields.length; i++) {
    if (eval('form.' + intfields[i])) {
      // Felt findes i formularen
      cur = eval('form.' + intfields[i]);
      if ((ignoreblank==true) && (cur.value == ''))
        continue;
        
      if (!isinteger(cur.value)) {
        cur.focus();
        cur.select();
        return formaterror(errortext2,henttitel(cur.name));
      }  
      if (parseInt(cur.value) == 0) {
        cur.focus();
        cur.select();
        return formaterror(errortext1,henttitel(cur.name));
        
      }  
    }
  }
  return true;
}

function validate_maxlength(form,errortext) {
  for (var i = 0; i < maxlength.length; i++) {
    if (eval('form.' + extractword(maxlength[i], 0))) {
      // Felt findes i formularen
      cur = eval('form.' + extractword(maxlength[i], 0));
      if (cur.type == "text" || cur.type == "password" || cur.type == "textarea") {
        if (cur.value.length > asint(extractword(maxlength[i], 1)))
          return formaterror(errortext,henttitel(cur.name),extractword(maxlength[i], 1));
      }  
    }
  }
  return true;
}



function validatefields(form,errortext) {

  for (var i = 0; i < form.length; i++) {
    cur = form[i];
    found = false;
    var ignoreList = ('|' + ignore.join('|') + '|');
    if (cur.type == "text" || cur.type == "textarea" || cur.type == "password") {
      if (cur.value == '') {
        if (ignoreList.indexOf('|'+cur.name+'|') != -1) {
          found = true;
        }
        if (!found) {
          eval( "form." + cur.name ).focus();
          return formaterror(errortext,henttitel(cur.name));
        }  
      }
    }
  }
  return true;
}

function validEmailAddress( value ) {
  var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
  return (filter.test(value));
}

function validemail(value,fejltekst) {
  var felter = value.split( ';' );
  for (var i = 0; i < felter.length; i++) {
    value = felter[i];
    if (!validEmailAddress(value)) return false;
  }
  return true;
}


function formaterror( msg,param,param2) {
  if (msg.indexOf('%s') == -1) 
    msg += param
  else
    msg = msg.replace('%s',param);
    
  if (param2) {
    if (msg.indexOf('%d') != -1) 
      msg = msg.replace('%d',param2);
  }  
  return error(msg);
}


function error(msg) {
  alert (dkstring(msg));
  return false;
}

function list() {
  var res = new Array();
  res.add = list_add;
  return res;
}

function list_add(item) {
  this[this.length] = item;
}

function infolder(path) {
  s = window.location.href;
  return s.indexOf(path) > 0;

}

function extractword(value, no) {
  first = -1;
  if (no > 0) {
    for (var i = 0; i < no; i++) 
      first = value.indexOf(',', first+1);
    if (first == -1) return '';
  }
  tmp = value.substring(first+1);  
  first = tmp.indexOf(',');
  if (first != -1) 
    tmp = tmp.substring(0,first);
//  alert(tmp);  
  return tmp;
}
function highlight(field) {
  field.select();
  field.focus();
}


