//------------------------------------------------------------
// Streng håndtering
//------------------------------------------------------------

function trimList(list){
  var a = SplitList(list);
  for(i=0;i<a.length;i++){
    a[i] = trimStr(a[i]);
    a[i] = SplitStr(a[i]);
    for(j=0;j<a[i].length;j++){
      a[i][j] = trimStr(a[i][j]);
    }
  }
  return a;
}
  
function trimStr(str){
  while ((str.charCodeAt(str.length-1)==10) || (str.charCodeAt(str.length-1)==13)){
    str = str.substr(0, str.length-1);
  }
  return str;
}

function SplitList(List){
  var s=List.split(/\n/);
  return s;
}

function SplitStr(str){
  var s=str.split(";");
  return s;
}

function LTrim(str){
  while(str.charCodeAt(0)==32){
    str = str.substring(1)
  }
  return(str);
}
  
function RTrim(str){
  while(str.charCodeAt(str.length-1)==32 || str.charCodeAt(str.length-1)==13){
    str = str.substring(0,str.length-1)
  } 
  return(str);
}

function Trim(str){
  str = LTrim(str);
  str = RTrim(str);
  if(str.length==0)
    return("")
  else
    return(str)
}

//------------------------------------------------------------
// Array funktioner
//------------------------------------------------------------

function InArray2(a,v,col){
  var ridx, cidx, r = new Array(-1,-1);
  if(a[0]){
    for(ridx=0;ridx<a.length;ridx++){
      if(col>-1){
        if(a[ridx][col]==v){
          r[0] = col;
          r[1] = ridx;
          break;
        }
      }
      else{
        for(cidx=0;cidx<a[ridx].length;cidx++){
        
        }
      }
    }
  }
  return(r);
}


// Finder en værdi i et single-array og returnerer værdiens placering. 
// Returnerer -1 hvis værdien ikke findes.

function InArray(a,v){
  var idx, r = -1;  
  if(a[0]){
    for(idx=0;idx<a.length;idx++){
      if(a[idx]==v){
        r = idx;
        break;
      }
    }  
  }
  return(r);
}

// Finder en værdi i en liste og returnerer værdiens placering. 
// Returnerer -1 hvis værdien ikke findes.

function InList(l,v){
  var r = -1;
  var s = new String(l)
  var a = s.split(",");
  if(InArray(a,v)>-1)
    r = InArray(a,v)
  return(r);
}

//------------------------------------------------------------
// Formular funktioner
//------------------------------------------------------------

// Nulstiller et element i en formular.

function ResetElement(elm){
  var t = elm.type;
  switch(t){
    case "checkbox":
      elm.checked = false;
      break;
    case "text":
      elm.value = "";
      break;
    case "input":
      break;
      
  }
}

// Nulstiller brugernavn og adgangskode hvis de er erklæret ugyldige 

function InvalidLogin(){
  var f = document.forms[0];
  alert("Det valgte brugernavn eller adgangskode kan ikke benyttes!");
  f.elements["username"].value = "";
  f.elements["password"].value = "";
  f.elements["username"].focus();
}

/********************************************************************
* Function: OpenDialog                                              *
*-------------------------------------------------------------------*
* Åbner et nyt browservindue som child til det eksisterende vindue. *
*                                                                   *
*                                                                   *
*********************************************************************/

function OpenDialog(url, title, width, height, x, y, properties){
  var NewX = ((window.screen.width-width)/100)*x
  var NewY = ((window.screen.height-height)/100)*y
  this.DWIN = window.open(url, title, properties);
  if(properties != "fullscreen"){
    DWIN.blur();
    DWIN.resizeTo(width,height);
    DWIN.moveTo(NewX,NewY);
    DWIN.focus();
  }
  window.onunload = function(){DWIN.close();}
}

/********************************************************************
* Function: ReplaceParameter                                        *
*-------------------------------------------------------------------*
* Indsætter en ny værdi (value) for en parameter (parm) i           *
* parameterstrengen (parmstr). Findes parameteren ikke i forvejen   *
* indsættes den i parameterstrengen.                                *
*********************************************************************/
    
function ReplaceParameter(parmstr, parm, value){
  
  var pos1, pos2, parmstr, tempstr
  
  pos1 = parmstr.search(parm);
  if(pos1==0){
    pos2 = parmstr.search("&");
    if(pos2 > 0){
      parmstr = parmstr.substring(pos2+1, parmstr.length)
    }
  }
  else if(pos1 > 0){
    tempstr = parmstr.substring(pos1, parmstr.length);
    pos2 = tempstr.search("&");
    if(pos2 > 0){
      parmstr = parmstr.substring(0,pos1-1) + "&" + tempstr.substring(pos2+1, tempstr.length) 
    }
    else{
      parmstr = parmstr.substring(0, pos1-1)  
    }
  }
  if(value!=""){
    parmstr += "&" + parm + "=" + value;
  }
  
  return(parmstr);
}

/********************************************************************
* Function: SubmitFilter                                            *
*-------------------------------------------------------------------*
* Sorterer en liste ved at kalde siden med en sorteringsparameter.  *
* Parameternavnet og -værdien hentes fra en kombinationsboks på     *
* siden med listen, hvor parameternavnet er navnet på kombinations- *
* boksen og parameterværdien er den valgte værdi.                   *
*********************************************************************/

function SubmitFilter(elm){
  var url = window.location.href;
  var pos1, pos2, parmstr, newurl;
  for(idx=0;idx<url.length;idx++){
    if(url.charCodeAt(idx)==63){
      break;
    }
  }
  newurl = url.substring(0,idx)
  parmstr = url.substring(idx+1, url.length)
  pos1 = parmstr.search(elm.name);
  
  if(pos1==0){
    pos2 = parmstr.search("&");
    if(pos2 > 0){
      parmstr = parmstr.substring(pos2+1, parmstr.length)
    }
  }
  else if(pos1 > 0){
    tempstr = parmstr.substring(pos1, parmstr.length);
    pos2 = tempstr.search("&");
    if(pos2 > 0){
      parmstr = parmstr.substring(0,pos1-1) + "&" + tempstr.substring(pos2+1, tempstr.length) 
    }
    else{
      parmstr = parmstr.substring(0, pos1-1)  
    }
  }
  parm = elm.name +"="+ elm.value;
  newurl += "?" + parmstr + "&" + parm;
  window.location.replace(newurl);    
}

  

