var ciffer = /^\d*$/; 

function tvingCifre(feltObj){

	if (ciffer.test(feltObj.value)) {
		// alt er ok
	} else {
		var til = "";
		var fra = feltObj.value;
		for (var i=0; fra.length>i; i++ ) 
			if ( ciffer.test( fra.charAt(i) ) )
				til += fra.charAt(i);
		feltObj.value = til;
	}
}

function validateEmail(email){
	if (email.length == 0){
		return false;
	}
	found = false;
	for (i=0; i < email.length; i=i+1) {
		if (email.charAt(i) == "@") {
			var num = i;
			found = true;
		}
	} //slut for
	if (found == false) {
	  return false;
	} else {
		//@fundet på plads num.
		num++;
		komma1found = false;
		for (num; num < email.length; num++){
			if(email.charAt(num) == "."){
				komma1found = true;
				var num2 = num;
			}
		}
		if (komma1found == false){
			return false;
		} else {
			//tester for tegn efter komma.
			var t = email.length -3;
			if (num2 > t){
				return false;
			}
		}
	}
	return true;
}//end function

function popupHelp(helpId){
	var url = "help.php?helpId="+helpId;
	window.open(url,"PopUpHelp"+helpId,"width=20,height=20,left=20,top=20,toolbar=no,location=no,directories=no,status=no,scrollbars=yes");
}
function validateNyhedsbrev(){
	var f = document.forms.formNewsletter;

	if (f.email.value == "Indtast e-mail..." || f.email.value == ""){
		alert("Indtast venligst e-mail");	
		return false;
	}

	if (! validateEmail(f.email.value)){
		alert("Den indtastede e-mail er ikke korrekt. \nPrøv venligst igen.");	
		f.email.focus();
		return false;
	}

	return true;
}

var nlFirst = true;
function nlRemText(){
	if (nlFirst){
		document.forms.formNewsletter.email.value = "";
		nlFirst = false;
	}
}


function setOpacity(obj, opacity) {
  opacity = (opacity == 100)?99.999:opacity;
   // IE/Win
  obj.style.filter = "alpha(opacity:"+opacity+")";
   // Safari<1.2, Konqueror
  obj.style.KHTMLOpacity = opacity/100;
   // Older Mozilla and Firefox
  obj.style.MozOpacity = opacity/100;
   // Safari 1.2, newer Firefox and Mozilla, CSS3
  obj.style.opacity = opacity/100;
}

function fadeOut(objId,opacity) {
  if (document.getElementById) {
	obj = document.getElementById(objId);
	if (opacity >= 10) {
	  setOpacity(obj, opacity);
	  opacity -= 10;
	  window.setTimeout("fadeOut('"+objId+"',"+opacity+")", 50);
	} 
  }
}

function fadeOutAndRedir(objId,opacity,url) {
  if (document.getElementById) {
	obj = document.getElementById(objId);
	if (opacity >= 5) {
	  setOpacity(obj, opacity);
	  opacity -= 5;
	  window.setTimeout("fadeOutAndRedir('"+objId+"',"+opacity+",'"+url+"')", 100);
	} else {
		setOpacity(obj, 0);
		document.location.href = url;
	}
  }
}

function fadeIn(objId,opacity) {
  if (document.getElementById) {
	obj = document.getElementById(objId);
	if (obj != null){
		if (opacity <= 100) {
		
		  setOpacity(obj, opacity);
		  opacity += 10;
		  window.setTimeout("fadeIn('"+objId+"',"+opacity+")", 100);
		}
	}
  }
}

function popupHelp(helpId){
	var url = "help.php?helpId="+helpId;
	window.open(url,"PopUpHelp"+helpId,"width=20,height=20,left=20,top=20,toolbar=no,location=no,directories=no,status=no,scrollbars=yes");
}


function RandomNum(nr) {
	return parseInt((Math.random() * nr) + 1);
}

function popUpWin(popupPage,pWidth, pHeight) {	
	window.open(popupPage,"PopUp"+RandomNum(10),"width="+pWidth+",height="+pHeight+",left=20,top=20,toolbar=no,location=no,directories=no,status=no,scrollbars=yes");
}

function printDatoListe(d,m,y,bookingBehandlerId){
	if (bookingBehandlerId == ""){
		bookingBehandlerId = 0;
	}
	var url = "booking.php?show=printDato&day="+d+"&month="+m+"&year="+y+"&bookingBehandlerId="+bookingBehandlerId;
	window.open(url,"PopUpPrint","width=250,height=230,left=20,top=20,toolbar=no,location=no,directories=no,status=no,scrollbars=yes");

}

function knapSubmitForm(formElement, submitNavn) {
	var input = document.createElement("input");
	input.type = "hidden";
	input.name = submitNavn;
	input.value = 1;
	formElement.appendChild(input);
	formElement.submit();
}


var buttonHiddenInputs = new Array();

function insertButtonHiddenInput(name, parentNode) {
	//alert("Inserting hidden input: "+ name + ", parentNode " + parentNode);

	for (var i = 0; i < buttonHiddenInputs.length; i++) {
		var hiddenInput = buttonHiddenInputs[i][0];
		if (hiddenInput.name == name && buttonHiddenInputs[i][1] == parentNode) {
			parentNode.appendChild(hiddenInput);
		}
	}
}

function replaceInputButtons() {
	
	var inputs = document.getElementsByTagName("input");

	
	for (var i = 0; i < inputs.length; i++) {
		var input = inputs[i];
		var type = (input.getAttribute("type") != null) ? input.getAttribute("type").toLowerCase() : "";
		
		if (type != "button" && type != "submit") {
			continue;
		}

		
		var imgButton = document.createElement("img");
		//alert(input.value);
		imgButton.src = "knap.php?text=" + escape(input.value) + "&ext=.png";
		imgButton.alt = input.value;
		imgButton.style.verticalAlign = "middle";
		imgButton.style.cursor = "pointer";
		imgButton.style.margin = "2px 0px 2px 0px";
		imgButton.border = "0";
		
		var buttonLink = document.createElement("a");
		buttonLink.href = "javascript:void(0);";
		if (typeof input.form != "undefined") {
			buttonLink.form = input.form;
		}
		buttonLink.appendChild(imgButton);
		buttonLink.title = input.value;


		//alert(input.outerHTML);

		if (input.getAttribute("onclick") != null) {
			//alert(input.getAttribute("onclick"));

			if (navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion.indexOf("MSIE 6.0") != -1) {
				// I IE6 er det stort set umuligt at faa attribut-vaerdien for onclick ud.
				//alert(input.onclick + "");
				var temp = input.outerHTML.substring(input.outerHTML.indexOf("\"")+1);
				var onclick = temp.substring(0, temp.indexOf("\""));
				//alert(onclick);
				buttonLink.setAttribute("onclick", onclick);
				//alert(buttonLink.outerHTML);
			} else {
				buttonLink.setAttribute("onclick", input.getAttribute("onclick"));
			}
			//alert(buttonLink.onclick);
			//buttonLink.onclick = "alert(1)";
			///alert(typeof input.getAttribute("onclick"));
			//buttonLink.onclick = input.onclick;
		}


		//alert(input.value + " (" + input.type + ") " + (input.getAttribute("onclick") == null) + " / " + (input.getAttribute("onclick") == ""));

		//alert(i + ": " + typeof input.parentNode.tagName + ": " + input.parentNode.tagName);


		var parentNode = input.parentNode;

		if (type == "submit") {
		
			if (input.getAttribute("onclick") == "" || input.getAttribute("onclick") == null) {		
			
				//alert("Modifying " + input.value);
				buttonLink.onclick = function() {
					//alert(111 + " " + this.name);
					if (typeof this.name != "undefined") {
						insertButtonHiddenInput(this.name, this.parentNode);
					}
					this.form.submit();
				}	
				
			} else {
			
				if (navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion.indexOf("MSIE 6.0") != -1) {
					var temp = input.outerHTML.substring(input.outerHTML.indexOf("\"")+1);
					alert(temp);
					var onclick = temp.substring(0, temp.indexOf("\""));
					buttonLink.oldonclick = onclick;
					//alert(buttonLink.oldonclick);
				} else {
					buttonLink.oldonclick = "" + input.getAttribute("onclick");
				}

				buttonLink.onclick = function() {
					//alert(111);
					//alert(this.getAttribute("oldonclick"));
					var onclick = this.oldonclick;
					
					//onclick = onclick.replace("this", "this.form");
					
					if (onclick.substring(0, 9) != "function ") { // Firefox
						onclick = "function temp() { " + onclick + "}; temp();";
					}
					
					if (onclick.substring(0, 19) == "function anonymous(") { // IE
						onclick += "; anonymous();";
					}
					
					if (eval(onclick)) {
						if (typeof this.name != "undefined") {
							insertButtonHiddenInput(this.name, this.parentNode);
						}
						this.form.submit();
					}
				}	
				//alert(input.getAttribute("onclick"));
			}

			
			//buttonLink.tmpOnclick = buttonLink.onclick;
			//buttonLink.onclick = function() {
			//	alert(111);
			//}

			if (input.id != "") {
				buttonLink.id = input.id;
			}

			if (input.name != "") {
				buttonLink.name = input.name; 
				var hiddenInput = document.createElement("input");
				hiddenInput.setAttribute("name", input.name + "");
				hiddenInput.setAttribute("type", "hidden");
				hiddenInput.setAttribute("value", "true");
				//parentNode.insertBefore(hiddenInput, input);
				//alert(input.name);
				buttonHiddenInputs[buttonHiddenInputs.length] = new Array(hiddenInput, parentNode);
			}	
		}


		try {
			//alert(parentNode.innerHTML);
			parentNode.insertBefore(buttonLink, input);
		} catch (e) {
			//alert(e.getMessage());
		}

	}


	for (var i = inputs.length-1; i >= 0; i--) {
		var input = inputs[i];
		var type = (input.getAttribute("type") != null) ? input.getAttribute("type").toLowerCase() : "";

		//alert("Removing " + i + ": " + typeof inputs[i]);
		if (type != "button" && type != "submit") {
			continue;
		}

		var parentNode = input.parentNode;
		parentNode.removeChild(input);
	}
	
	/*
	for (var i = 0; i < newHiddenInputs.length; i++) {
		var newHiddenInput = newHiddenInputs[i][0];
		var parentNode = newHiddenInputs[i][1];
		parentNode.appendChild(newHiddenInput);
	}
	*/
}

function replaceHeaders() {
	//alert(headers.length);

	//for (var i = 0; i < headers.length; i++) {
	
	var count = 0;
	while (document.getElementsByTagName("h1").length > 0) {
		var headers = document.getElementsByTagName("h1");

		var headerText = headers[0].innerHTML;
		//alert("*" + headerText + "*");
		
		headerText = headerText.replace(/^\s+|\s+$/g, ''); // trim
		headerText = headerText.replace("\r", ""); 
		headerText = headerText.replace("\n", " "); 
		while (headerText.indexOf("  ") != -1) {
			headerText = headerText.replace("  ", " ");
		}
 		headerText = headerText.replace("&nbsp;", " ");
 	 	headerText = headerText.replace(/&(lt|gt);/g, function (strMatch, p1){
 		 	return (p1 == "lt")? "<" : ">";
 		});
 		var headerStrippedText = headerText.replace(/<\/?[^>]+(>|$)/g, "");
		//alert(headerStrippedText);
		var img = document.createElement("img"); 
		img.src = "overskrift.php?text=" + escape(headerStrippedText);
		img.alt = headerText;
		
		img.style.marginBottom = "8px";
		img.style.marginleft = "-1px";


		headers[0].parentNode.replaceChild(img, headers[0]);

		count++;
		if (count == 1000) {
			break; // Terminer loekken, hvis et eller andet skulle gaa galt
		}

		//alert(headers.length);
	}

}

function accessRestrictionsMsg(){
	alert("Beklager, du har ikke rettigheder til at tilgå valgte ressource.");
}

function trim(str) {

	return str.replace(/^\s+|\s+$/g, '') ;

}


function fNumber(tal, cifre, separator) {
    if (typeof cifre == "undefined") {
		cifre = 2;
    }
    if (typeof separator == "undefined") {
		separator = false;
    }
    if (!isNaN(tal)) { // tal er ikke en not-a-number value, saa det maa vaere et tal
		var isNeg = false;
		if (tal < 0) {
			isNeg = true;
			tal = tal * (-1);
		}

		tal = tal.toFixed(cifre);
		var str = tal.toString();
		str = str.replace(".",",");
		if (separator) {
			var lastPart = str.substr(str.length-(cifre+1));
			var firstPart = str.substr(0, str.length-(cifre+1));
			var copyStr = "";
			for (i = firstPart.length-1; i >= 0; i--) {
				copyStr = firstPart.charAt(i) + copyStr;
				if (i != 0 && (firstPart.length-i) % 3 == 0) {
					copyStr = "." + copyStr;
				}
			}
			var finalStr = copyStr + lastPart;
			if (isNeg) {
				finalStr = "-"+finalStr;
			}
			return finalStr;
		} else {
			if (isNeg) {
				str = "-"+str;
			}
			return str;
		}
	} else {
		return tal;
    }
}

Array.prototype.remove = function(from, to) {
	var rest = this.slice((to || from) + 1 || this.length);
	this.length = from < 0 ? this.length + from : from;
	return this.push.apply(this, rest);
};

var ciffer3 = /^[+-]?\d*(,\d*)?$/;
var ciffer3a = /^[\+\.\-\,]$/; 

function tvingCifre3(feltObj){

	if (ciffer3.test(feltObj.value)) {

		// alt er ok

	} else {
		var forrige = "";
		var til = "";
		var fra = feltObj.value;
		for (var i=0; fra.length-1>i; i++ ) {
			if ( ciffer3.test(fra.charAt(i)) ) {
				if ( ciffer3a.test(fra.charAt(i)) && ciffer3a.test(forrige)) {
				} else {
					til += fra.charAt(i);
				}
				forrige = fra.charAt(i);
			}
		}
		feltObj.value = til;
	}
}

