function skriv(txt) {
    for (var i = 0; i < txt.length; i++) {
        if (txt.charAt(i) == "Ø") { Response.write("&#216;"); }
        else {
            if (txt.charAt(i) == "ø") { Response.write("&#248;"); }
            else {
                if (txt.charAt(i) == "Å") { Response.write("&#197;"); }
                else {
                    if (txt.charAt(i) == "å") { Response.write("&#229;"); }
                    else {
                        if (txt.charAt(i) == "Æ") { Response.write("&#198;"); }
                        else {
                            if (txt.charAt(i) == "æ") { Response.write("&#230;"); }
                            else {
                                document.write(txt.charAt(i));
                            }
                        }
                    }
                }
            }
        }
    }
}

function hentFormat2(n){
  if (n < 10) return "0" + n;
  return n;
}

function hentTid() {
	var dato = new Date();
	return format2(dato.getHours()) + ":" + format2(dato.getMinutes()) + ":" +  format2(dato.getSeconds());
}

function hentDato() {
	var dato = new Date();
	var uge_navn = new Array("Søndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lørdag");
	var maaned_navn = new Array("Januar","Februar","Marts","April","Maj","Juni","Juli","August","September","Oktober","November","December");
	var txt = uge_navn[dato.getDay()] + "&nbspd.&nbsp" + dato.getDate() + "&nbsp";
	txt += maaned_navn[dato.getMonth()] +"&nbsp" + dato.getYear();
	return txt;
}

function hentMnavn(maanednr) {
	var m_navn = new Array("Januar","Februar","Marts","April","Maj","Juni","Juli","August","September","Oktober","November","December");
	return m_navn[maanednr-1];
}

function hentUnavn(dagnr) {
	var u_navn = new Array("Man.","Tir.","Ons.","Tor.","Fre.","Lør.","Søn.");
	return u_navn[dagnr-1];
}

function hentMstart(maanednr,aarnr) {
	var startdag = "";
	var dato = new Date(aarnr,maanednr-1,1);
	if ( dato.getDay() == 0 ) startdag = 7;
	else startdag = dato.getDay();
	return startdag;
}
function skudAar(aar) {
  return (aar % 100 == 0) ? (aar % 400 == 0) : (aar % 4 == 0);
}

function hentMlaengde(maanednr,aarnr) {
	var dato = new Date(aarnr,1,1);
	var dage = new Array(31,28,31,30, 31,30,31,31,  30,31,30,31);
	if (skudAar(dato.getYear())) dage[1] = 29
	return dage[maanednr-1];

}

function fuldVindue(  ) {
    if (window.width != screen.availWidth && window.height != screen.availHeight) {
        window.moveTo(0,0);
    	window.resizeTo(screen.availWidth,screen.availHeight);
    }
}  // fuldVindue

function Fejl(tekst,fokuselm) {
    alert(tekst);
    fokuselm.focus();
    fokuselm.select()
    return false;
}

function strengTrim(str) {
    str = new String(str);
    resultat = new String("");
	for (i = 0; i < str.length; i++) {
        if (!(str.charAt(i) == " ")) resultat += str.charAt(i)
    }
    return resultat;
}

function strengLen(str) {
    return new String(str).length;
}

function strengFjernAndreEnd(checkstr,streng) {
    var tmpstr = ""; streng = new String(streng);
	for (i = 0; i < streng.length; i++) {
	  if (checkstr.indexOf(streng.substr(i,1)) >= 0) {
	     tmpstr += streng.substr(i,1);
	  }
	}
    return tmpstr;
}

function strengErPositivInt(tal) {
    var ok = true;
    for (var i = 0; i < tal.length; i++) {
        var ch = tal.charAt(i)
        if (!(ch=="1"||ch=="2"||ch=="3"||ch=="4"||ch=="5"||ch=="6"||
            ch=="7"||ch=="8"||ch=="9"||ch=="0")) {
            ok = false;
        }
    }
    if (isNaN(tal)) ok = false;
    return ok;
}

function strengErReal(tal) {
    var ok = true;
    for (var i = 0; i < tal.length; i++) {
        var ch = tal.charAt(i)
        if (!(ch=="1"||ch=="2"||ch=="3"||ch=="4"||ch=="5"||ch=="6"||
            ch=="7"||ch=="8"||ch=="9"||ch=="0"||ch==","||ch=="-")) {
            ok = false;
        }
    }
    tal = replaceAll(tal,",",".");
    if (isNaN(tal)) ok = false;
    return ok;
}


function blokEnterKey(e) {
    var key;
    if(window.event) key = window.event.keyCode;     //IE
    else key = e.which;     //firefox
    if(key == 13) return false;
    else return true;
    // <input type="text" name="mytext" onKeyPress="return blokEnterKey(event)">
}

function checkDatoinput(field){
	var checkstr = "0123456789";
	var DateField = field;
	var Datevalue = "";
	var DateTemp = "";
	var seperator = "-";
	var day;
	var month;
	var year;
	var leap = 0;
	var err = 0;
	var i;
	err = 0;
	DateValue = DateField.value;
	/* Delete all chars except 0..9 */
	for (i = 0; i < DateValue.length; i++) {
	  if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) {
	     DateTemp = DateTemp + DateValue.substr(i,1);
	  }
	}
	DateValue = DateTemp;
	/* Always change date to 8 digits - string*/
	/* if year is entered as 2-digit / always assume 20xx */
	if (DateValue.length == 6) {
	  DateValue = DateValue.substr(0,4) + '20' + DateValue.substr(4,2); }
	if (DateValue.length != 8) {
	  err = 19;}
	/* year is wrong if year = 0000 */
	year = DateValue.substr(4,4);
	if (year == 0) {
	  err = 20;
	}
	/* Validation of month*/
	month = DateValue.substr(2,2);
	if ((month < 1) || (month > 12)) {
	  err = 21;
	}
	/* Validation of day*/
	day = DateValue.substr(0,2);
	if (day < 1) {
	 err = 22;
	}
	/* Validation leap-year / february / day */
	if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) {
	  leap = 1;
	}
	if ((month == 2) && (leap == 1) && (day > 29)) {
	  err = 23;
	}
	if ((month == 2) && (leap != 1) && (day > 28)) {
	  err = 24;
	}
	/* Validation of other months */
	if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) {
	  err = 25;
	}
	if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) {
	  err = 26;
	}
	/* if 00 ist entered, no error, deleting the entry */
	if ((day == 0) && (month == 0) && (year == 00)) {
	  err = 0; day = ""; month = ""; year = ""; seperator = "";
	}
	/* if no error, write the completed date to Input-Field (e.g. 13.12.2001) */
	if (err == 0) {
	  DateField.value = day + seperator + month + seperator + new String(year).substring(2,4);
	}
	/* Error-message if err != 0 */
	else {
	  alert("Datoen er ikke gyldig");
	  DateField.select();
	  DateField.focus();
	}
}

function checkDatoInput(field,datodefault){
	var checkstr = "0123456789";
	var DateField = field;
	var Datevalue = "";
	var DateTemp = "";
	var seperator = "-";
	var day;
	var month;
	var year;
	var leap = 0;
	var err = 0;
	var i;
	err = 0;
	DateValue = DateField.value;
	/* Delete all chars except 0..9 */
	for (i = 0; i < DateValue.length; i++) {
	  if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) {
	     DateTemp = DateTemp + DateValue.substr(i,1);
	  }
	}
	DateValue = DateTemp;
	/* Always change date to 8 digits - string*/
	/* if year is entered as 2-digit / always assume 20xx */
	if (DateValue.length == 6) {
	  DateValue = DateValue.substr(0,4) + '20' + DateValue.substr(4,2); }
	if (DateValue.length != 8) {
	  err = 19;}
	/* year is wrong if year = 0000 */
	year = DateValue.substr(4,4);
	if (year == 0) {
	  err = 20;
	}
	/* Validation of month*/
	month = DateValue.substr(2,2);
	if ((month < 1) || (month > 12)) {
	  err = 21;
	}
	/* Validation of day*/
	day = DateValue.substr(0,2);
	if (day < 1) {
	 err = 22;
	}
	/* Validation leap-year / february / day */
	if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) {
	  leap = 1;
	}
	if ((month == 2) && (leap == 1) && (day > 29)) {
	  err = 23;
	}
	if ((month == 2) && (leap != 1) && (day > 28)) {
	  err = 24;
	}
	/* Validation of other months */
	if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) {
	  err = 25;
	}
	if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) {
	  err = 26;
	}
	/* if 00 ist entered, no error, deleting the entry */
	if ((day == 0) && (month == 0) && (year == 00)) {
	  err = 0; day = ""; month = ""; year = ""; seperator = "";
	}
	/* if no error, write the completed date to Input-Field (e.g. 13.12.2001) */
	if (err == 0) {
        DateField.value = day + seperator + month + seperator + new String(year).substring(2,4);
        if (strengTrim(DateField.value) == "") {
            alert("Datoen er ikke gyldig");
            DateField.value = datodefault;
            DateField.select();
            DateField.focus();
        }
	}
	/* Error-message if err != 0 */
	else {
	  alert("Datoen er ikke gyldig");
      DateField.value = datodefault;
      DateField.select();
	  DateField.focus();
	}
}

function elmVis(navn) {
    document.getElementById(navn).style.display = "block";
}
function elmSkjul(navn) {
    document.getElementById(navn).style.display = "none";
}

function elmSynlig(navn) {
    return (document.getElementById(navn).style.display == "block")
}
function elmVisskjul(navn) {
    if (elmSynlig(navn)) elmSkjul(navn)
    else elmVis(navn)
}

function skrivKncLysavis(tekst,inputattr) {
    if (tekst != "") {
      document.write("<form name='knclysavis'>");
      document.write("<input "+inputattr+" style='border:1 solid white;' name='knclysavistekst' size='25' value='"+tekst+"'>");
      document.write("</form>");
      skrivKncLysavis("")
    }
    else {
        window.setTimeout('skrivKncLysavis(\"\","")',100);
        var msg = document.knclysavis.knclysavistekst.value;
        document.knclysavis.knclysavistekst.value = msg.substring(1) + msg.substring(0,1);
    }
}

function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}

function overlayGetPosOffset(overlay, offsettype){
    var totaloffset=(offsettype=="left")? overlay.offsetLeft : overlay.offsetTop;
    var parentEl=overlay.offsetParent;
    while (parentEl!=null) {
        totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
        parentEl=parentEl.offsetParent;
    }
    return totaloffset;
}

function overLayOpen(curobj, subobjstr, opt_position){
    if (document.getElementById) {
        var subobj=document.getElementById(subobjstr)
        subobj.style.display=(subobj.style.display!="block")? "block" : "none"
        var xpos=overlayGetPosOffset(curobj, "left")+((typeof opt_position!="undefined" && opt_position.indexOf("right")!=-1)? -(subobj.offsetWidth-curobj.offsetWidth) : 0)
        var ypos=overlayGetPosOffset(curobj, "top")+((typeof opt_position!="undefined" && opt_position.indexOf("bottom")!=-1)? curobj.offsetHeight : 0)
        subobj.style.left=xpos+"px"
        subobj.style.top=ypos+"px"
        return false
    }
    else return true
}

function overLayClose(subobj){
    document.getElementById(subobj).style.display="none"
    return false;
}

function nummerFormat(num,dec,thou,pnt,curr1,curr2,n1,n2) {
    var x = Math.round(num * Math.pow(10,dec));
    if (x >= 0) n1=n2='';
    var y = (''+Math.abs(x)).split('');
    var z = y.length - dec;
    if (z<0) z--;
    for(var i = z; i < 0; i++)
    y.unshift('0');y.splice(z, 0, pnt);
    while (z > 3) {z-=3; y.splice(z,0,thou);}
    var r = curr1+n1+y.join('')+n2+curr2;
    return r;
}


function replaceAll(tekst,frategn,tiltegn) {
    tekst = new String(tekst);
    var idx = tekst.indexOf(frategn);
    while ( idx > -1 ) {
        tekst = tekst.replace(frategn,tiltegn);
        idx = tekst.indexOf(frategn);
    }
    return tekst;
}

function createQuery(form) {
    var elements = form.elements;
    var pairs = new Array();
    for (var i = 0; i < elements.length; i++) {
        if ((name = elements[i].name) && (value = elements[i].value))
            pairs.push(name + "=" + encodeURIComponent(value));
    }
    return pairs.join("&");
}

function makeRequest(metode,url,divelm,formelm,finishfunc,evaluer) {
    var httpRequest;
    if (window.XMLHttpRequest) { // Mozilla, Safari, ...
        httpRequest = new XMLHttpRequest();
    }
    else if (window.ActiveXObject) { // IE
        try { httpRequest = new ActiveXObject("Msxml2.XMLHTTP"); }
        catch (e) {
            try { httpRequest = new ActiveXObject("Microsoft.XMLHTTP"); }
            catch (e) {}
        }
    }
    if (!httpRequest) {
        alert('Giving up :( Cannot create an XMLHTTP instance');
        return false;
    }
    httpRequest.onreadystatechange = function() {
        if (httpRequest.readyState == 4) {
            if (evaluer) eval(httpRequest.responseText);
            else { document.getElementById(divelm).innerHTML = httpRequest.responseText; }
            if (finishfunc != "") eval(finishfunc);
        }
    };
    httpRequest.open(metode,url,true);
    httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    if (metode == "GET") httpRequest.send(null);
    if (metode == "POST") httpRequest.send(createQuery(formelm));
}


