function visKilde(filnavn){
	var slut = window.location.href.lastIndexOf("/") + 1;
	var dok = window.location.href.substring(0,slut);
	dok += filnavn
	dok = "view-source:" + dok
	konsol = window.open(dok,"","");
}

// ur med romertal

function romertalUr(){
	var idag = new Date()
	var time = idag.getHours()
	var minut = idag.getMinutes()
	var sekund = idag.getSeconds()
	var romTime = talTilRomertal(time)
	var romMinut = talTilRomertal(minut)
	var romSekund = talTilRomertal(sekund)
	var romTid = romTime + " : " + romMinut + " : " + romSekund
	document.forms.frmRomertalUr.visKlokken.value = romTid
	setTimeout("romertalUr()", 1000)
}

// stopur med romertal

var sekunder = 0;
var minutter = 0;
var timer = 0;
var timerID = null;
var timerIgang = false;
var urStartet = false;

function nulstilUr(){
	sekunder = 0;
	minutter = 0;
	timer = 0;
	timerID = null;
	timerIgang = false;
	urStartet = false;
	document.stopur.display.value = "";
}

function stopUr(){
	if(timerIgang) clearTimeout(timerID);
	timerIgang = false;
	urStartet = false;
}

function startUr(){
	if(urStartet != true){
		 visTid();
		 urStartet = true;
	}
}

function visTid(){
	sekunder = sekunder + 1;
	if(sekunder == 60){
		sekunder = 0;
		minutter = minutter + 1;
	}
	if(minutter == 60){
		minutter = 0;
		timer = timer + 1;
	}

	if(timer > 0){
		var timeValuehr = "" + talTilRomertal(timer);
		var timeValuemin = "" + talTilRomertal(minutter) + ":";
	}else{
		var timeValuehr = "";
		var timeValuemin = "" + ((minutter > 0) ? talTilRomertal(minutter) + ":" : "");
	}
	var timeValuesec = "" + talTilRomertal(sekunder);

	document.stopur.display.value = timeValuehr + timeValuemin + timeValuesec;

	timerID = setTimeout("visTid()",1000);
	timerIgang = true;
}

var output = ""

function romertalTilTal(num){
	var intTemp = 0;
	var last_digit = 1000;
	var antalUgyldige = 0
	var ugyldige = ""
	for (var i=0; i<num.length; i++){
		switch(num.charAt(i)){
			case "I":
				var digit = 1
				break
			case "V":
				var digit = 5
				break
			case "X":
				var digit = 10
				break
			case "L":
				var digit = 50
				break
			case "C":
				var digit = 100
				break
			case "D":
				var digit = 500
				break
			case "M":
				var digit = 1000
				break
			default:
				antalUgyldige++
				ugyldige = ugyldige + num.charAt(i)
		}
		if(last_digit < digit){
			intTemp -= 2 * last_digit;
		}
		last_digit = digit;
		intTemp += last_digit;
	}
	switch(antalUgyldige){
		case 0:
			output = intTemp;
			break;
		case 1:
			alert("             F E J L\n\n" +
						"Tegnet " + ugyldige + " er ikke et gyldigt romertal\n\n" +
						"             Pr\370v igen ..."
				)
			output = ""
			document.forms.frmRomertal.reset()
			document.forms.frmRomertal.ctrInput.focus()
			break;
		default:
			alert("             F E J L\n\n" +
						"Tegnene " + ugyldige + " er ikke gyldige romertal\n\n" +
						"             Pr\370v igen ..."
				)
			output = ""
			document.forms.frmRomertal.reset()
			document.forms.frmRomertal.ctrInput.focus()
			break;
	}
}

function talTilRomertal(num){
	var intPos
	var intDigit
	var strTemp
	var arrayRomertal = new Array("I","V","X","L","C","D","M")
	intPos = 0
	strTemp = ""
	while (num > 0){
		intDigit = num % 10
		num = Math.floor(num / 10)
		switch(intDigit){
			case 1:
				strTemp = arrayRomertal[intPos] + strTemp
				break;
			case 2:
				strTemp = arrayRomertal[intPos] + arrayRomertal[intPos] + strTemp
				break;
			case 3:
				strTemp = arrayRomertal[intPos] + arrayRomertal[intPos] + arrayRomertal[intPos] + strTemp
				break;
			case 4:
				strTemp = arrayRomertal[intPos] + arrayRomertal[intPos + 1] + strTemp
				break;
			case 5:
				strTemp = arrayRomertal[intPos + 1] + strTemp
				break;
			case 6:
				strTemp = arrayRomertal[intPos + 1] + arrayRomertal[intPos] + strTemp
				break;
			case 7:
				strTemp = arrayRomertal[intPos + 1] + arrayRomertal[intPos] + arrayRomertal[intPos] + strTemp
				break;
			case 8:
				strTemp = arrayRomertal[intPos + 1] + arrayRomertal[intPos] + arrayRomertal[intPos] + arrayRomertal[intPos] + strTemp
				break;
			case 9:
				strTemp = arrayRomertal[intPos] + arrayRomertal[intPos + 2] + strTemp
				break;
		}
		intPos = intPos + 2
	}
	output = strTemp
	if(strTemp.length == 0){
		return "O"
	}else{
		return strTemp
	}
}

function beregn(num){
	if(num.length == 0){
		alert("             F E J L\n\n" +
					"Skriv et heltal eller et romertal i feltet\n\n" +
					"             Pr\370v igen ..."
			)
		document.forms.frmRomertal.reset()
		document.forms.frmRomertal.ctrInput.focus()
	}else if(isNaN(num)){
		romertalTilTal(num.toUpperCase())
		document.forms.frmRomertal.ctrOutput.value = output
		document.forms.frmRomertal.ctrInput.focus()
	}else if(num > 3999){
			alert("             F E J L\n\n" +
						"Funktionen kan ikke anvendes ved tal st\370rre end 3999\n\n" +
						"             Pr\370v igen ..."
				)
		document.forms.frmRomertal.reset()
		document.forms.frmRomertal.ctrInput.focus()
	}else{
		talTilRomertal(num)
		document.forms.frmRomertal.ctrOutput.value = output
		document.forms.frmRomertal.ctrOutput.focus()
	}
}