var formErrorFound = false;
var pd2validateFieldFocusSet = false;
var pd2validateFieldInValidCharFound = false;
var jsValidCharNumbers = "[0-9]";
var jsValidCharTelephone = "[0-9](8)";
var jsValidCharTelephoneDa = "[1-9][0-9](7)";
var jsValidCharMobileTelephoneDa = "[2-9][0-9](7)";
var jsValidCharChars = "[a-zA-Z0-9+-_ .'áæøåÆØÅ&;\(\)#%/\\½§ÜüâÂëËêÊéóúöÖäÄ*$]";
var jsValidCharEmail = "[a-z.@0-9_-]";
var jsValidCharTrueFalse = "0|1";

//Browser check
if (document.layers) ns4 = true; else ns4 = false; 
if (document.all) ie4 = true; else ie4 = false;
if (!document.layers || !document.all) ns6 = true; // Check for Netscape 6
var HIDDEN = (ns4) ? 'hide' : 'hidden';
var VISIBLE = (ns4) ? 'show' : 'visible';


function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function mouseMove(e) {
	if(ie4) {
		var x = event.clientX+document.body.scrollLeft;
		var y = event.clientY+document.body.scrollTop;
	}	else if(ns4) {
		var x = e.pageX;
		var y = e.pageY;
	}	else if(ns6) {
		var x = e.clientX;
		var y = e.clientY;
	}
}

function bodyOnLoad() {
	// does "init()" exist in the calling page?
	try{
		init();
	} catch(e) {}
}

function windowMaximize() {
	window.moveTo(0, 0);
	window.resizeTo(screen.availWidth, screen.availHeight);
}

function pd2popup(urlen, showScrollbars)
{
	try {
		if(showScrollbars != true && showScrollbars != false)
		{
			showScrollbars = true;
		}
		
		if(showScrollbars)
		{
			param = "scrollbars=yes, toolbar=no, directories=no, menubar=no, resizable=no, status=no";
		} else {
			param = "scrollbars=no, toolbar=no, directories=no, menubar=no, resizable=no, status=no";
		}
		
		var newWin = window.open("http://asp.forbrugerliv.dk/system/popup.asp?fileName=" + urlen, "popup", param);
	}
	catch(e) { }
}

function pd2popupArg(url, name, arg) {
	var newWin = window.open(url, name, arg);
}

function xpButtonMouseOver(obj, txt)
{
	var ImgArray = new Array();
	var ImgRoot = 'http://images.forbrugerliv.dk/icon/button_xp_';

	ImgArray[0] = new Image();
	ImgArray[1] = new Image();
	ImgArray[2] = new Image();
	ImgArray[0].src = ImgRoot + 'left_over.gif';
	ImgArray[1].src = ImgRoot + 'middle_over.gif';
	ImgArray[2].src = ImgRoot + 'right_over.gif';
	
	if (obj.children==null || obj.children.length<3)
		return;
	
	obj.children[0].style.background = 'url(' + ImgArray[0].src + ')';
	obj.children[1].style.background = 'url(' + ImgArray[1].src + ')';
	obj.children[2].style.background = 'url(' + ImgArray[2].src +')';

	window.status = txt;
	return true;
}

function xpButtonMouseOut(obj)
{
	var ImgRoot = 'http://images.forbrugerliv.dk/icon/button_xp_';
	
	if (obj.children==null || obj.children.length<3)
		return;
		
	if (obj.className=='buttonXPActive')
	{
		obj.children[0].style.background = 'url(' + ImgRoot + 'left_active.gif)';
		obj.children[1].style.background = 'url(' + ImgRoot + 'middle_active.gif)';
		obj.children[2].style.background = 'url(' + ImgRoot + 'right_active.gif)';			
	}
	else
	{
		obj.children[0].style.background = 'url(' + ImgRoot + 'left.gif)';
		obj.children[1].style.background = 'url(' + ImgRoot + 'middle.gif)';
		obj.children[2].style.background = 'url(' + ImgRoot + 'right.gif)';	
	}
	
	window.status = '';
}

function sitehtmlWriteFlash(id, movie, graphic, width, height, loop) {
	var MM_contentVersion = 5;
	var plugin = (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"]) ? navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin : 0;
	if ( plugin ) {
		var words = navigator.plugins["Shockwave Flash"].description.split(" ");
		for (var i = 0; i < words.length; ++i) {
			if (isNaN(parseInt(words[i])))
			continue;
			var MM_PluginVersion = words[i]; 
		}
		var MM_FlashCanPlay = MM_PluginVersion >= MM_contentVersion;
	}else{
		try {
			MM_FlashCanPlay = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.5")))
		}catch(e){
			MM_FlashCanPlay = false
		}
	}
	MM_FlashCanPlay = true
	if ( MM_FlashCanPlay ) {
			document.write('<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"');
		document.write('  codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" ');
		document.write(' ID="' + id + '" WIDTH="' + width + '" HEIGHT="' + height + '" ALIGN="">');
		document.write(' <PARAM NAME=movie VALUE="' + movie + '"> <PARAM NAME=loop VALUE=' + loop + '> <PARAM NAME=quality VALUE=best> <PARAM NAME=wmode VALUE=transparent> <PARAM NAME=bgcolor VALUE=#FFFFFF>  '); 
		document.write(' <EMBED src="' + movie + '" loop=true quality=best wmode=transparent bgcolor=#FFFFFF');
		document.write(' swLiveConnect=FALSE WIDTH="' + width + '" HEIGHT="' + height + '" NAME="' + id + '" ALIGN=""');
		document.write(' TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer">');
		document.write(' </EMBED>');
		document.write(' </OBJECT>');
	} else{
		document.write('<IMG SRC="' + graphic + '" WIDTH="' + width + '" HEIGHT="' + height + '" BORDER="0">');
	}
}

// old forbrugerliv

function divShowHide(dc) {
	if(dc.style.display == "none") {
		dc.style.display = "block";
	}else{
		dc.style.display = "none";
	}
}

var oldPic;
function topMenuHighlight(menuID, dc) {
	oldPic = dc.src;
	dc.src="/system/gfx/mnu_" + menuID + "_over.jpg";
	dc.style.cursor="hand";
}

function topMenuDelight(dc) {
	dc.src=oldPic
}

function flGotoArea(siteID, url) {
	location.href = url;// + "?area=" + siteID;
}

function pd2divShowHide(dc) {
	if(dc!="") {
		dc = document.getElementById(dc);
		if(dc.style.display == "none") {
			dc.style.display = "block";
		}else{
			dc.style.display = "none";
		}
	}
}

function pd2popopDialog(url, width, height) {
	var newWin = window.open(url,"popup","scrollbars=no, toolbar=no, directories=no, menubar=no, resizable=no, status=no, width=" + width + ", height=" + height + ", leftmargin=0, topmargin=0");
}

function pd2validateField(dc, validChars, errorText, minSize, maxSize) {
	if(!dc) {
		try {
			dc = document.getElementById(dc);
		} catch(e) { alert(e.description); }
	}
	if(dc) {
		var rtn = "";
		if(!errorText) errorText = "Du skal skrive/vælge noget til dette felt";
		try {
			minSize = Number(minSize)
		} catch(e) { minSize = 0 }
		try {
		maxSize = Number(maxSize)
		} catch(e) { maxSize = 0 }
		
		if(minSize > maxSize) {
			var x = minSize;
			minSize = maxSize;
			maxSize = x;
		}
	
		if(validChars=="") { validChars = jsValidCharChars }
		pd2validateFieldCharCheck(dc, validChars);
		if(pd2validateFieldInValidCharFound) {
			if( validChars == jsValidCharEmail ) rtn += "\n- Brug venligst kun små bogstaver."
			rtn += "\n- Ulovligt tegn fundet: \"" + pd2validateFieldInValidCharFound + "\"\n- Lovlige tegn er: " + validChars.substring(1, validChars.length-2)
		}
		if(minSize > 0 && maxSize > 0) {
			if(dc.value.length < minSize || dc.value.length > maxSize) {
				rtn += "\n- ";
				if(dc.value.length < minSize) {
					rtn += "Indholdet er for småt. ";
				}else{
					rtn += "Indholdet er for stort. ";
				}
				if(minSize==maxSize) {
					rtn += "Det skal være præcis " + minSize + " tegn langt. "
				}else{
					rtn += "Det skal være mellem " + minSize + " og " + maxSize + " tegn langt. "
				}
				rtn += "Du har indtastet " + dc.value.length + " tegn."
			}
		}
		
		if(rtn=="" && dc.value!="") {
			try
			{
				document.getElementById("label_" + dc.name).style.color = "";
				document.getElementById("label_" + dc.name).style.fontWeight = "";
			} catch(e) {}
			return "";
		} else {
			try {
				document.getElementById("label_" + dc.name).style.color = "#ff0000";
				document.getElementById("label_" + dc.name).style.fontWeight = "bold";
			}catch(e) {}
			if(!pd2validateFieldFocusSet) {
				try {
					dc.focus()
					pd2validateFieldFocusSet = true
				} catch(e) {}
			}
			formErrorFound = true
			return errorText + rtn + "\n\n";
		}
	} else {
		if(!dc) {
			return "HTML fejl. Feltet med fejlteksten '" + errorText + "' mangler.\n"
		}else{
			return "HTML fejl. Feltet '" + dc + "' mangler.\n"
		}
	}
}

function pd2validEmail(dc)
{
	var t = new String(dc.value);
	var s = /^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})$/;
	return s.test(t)
}

function pd2validText(dc)
{
	var t = new String(dc.value);
	var s = /^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$/;
	var s = /^([a-zA-Z0-9+-_ áæøåÆØÅ&;#%½§ÜüâÂëËêÊéóú*])/;
	return s.test(t)
}

function pd2validTelephoneNumber(dc, countryId)
{
	var t = new String(dc.value);
	
	switch(countryId)
	{
		default:
		case "da":
			var s = /^\b[3-9][0-9]{7}\b$/;
			break;
		case "se":
			var s = /^(0[1-9]\d{5}(?:\d{1})?(?:\d{2})?(?:\d{3})?(?:\d{4})?(?:\d{5})?)$/;
			break;
		case "no":
			var s = /^([2-3]|[5-8])[0-9]{7}$/;
			break;
	}
	
	if(s != null)
	{
		return s.test(t);
	}
	else
	{
		return false;
	}
}

function pd2validMobileTelephoneNumber(dc, countryId)
{
	var t = new String(dc.value);
	
	switch(countryId)
	{
		default:
		case "da":
			var s = /^\b[2-9][0-9]{7}\b$/;
			break;
		case "se":
			var s = /^0(10|70|73|74|76)(\d{7})$/;
			break;
		case "no":
			var s = /^(4|9)(\d{7})$/;
			break;
	}
	
	if(s != null)
	{
		return s.test(t);
	}
	else
	{
		return false;
	}
}

function pd2validateFieldCharCheck(dc, validChars) {
	pd2validateFieldInValidCharFound = false;
	if(validChars=="") { validChars = jsValidCharChars }
	var checkValue, validValue, regExp;
	var regExp = new RegExp(validChars);
	for(var i=0; i<dc.value.length; i++) {
		checkValue = dc.value.substring(i, i+1)
		validValue = regExp.exec(checkValue)
		if(validValue!=checkValue) { pd2validateFieldInValidCharFound = checkValue }
	}
}

function pd2validateAuto(dcID) {
	/*
		demands:
		var validateResult = true;
		var validateText = "";
	*/
	var rtn = true;
	var dc = document.getElementById(dcID);
	try{
		// auto demand structure detected
		if(dc.demand==1 && dc.value=="") rtn = false;
	}catch(e){
		if(dc.value=="") rtn = false;
	}
	if(rtn) {
		try{
			document.getElementById("label_" + dcID).style.color = "";
			document.getElementById("label_" + dcID).style.fontWeight = "";
		}catch(e) {}
	}else{
		try{
			document.getElementById("label_" + dcID).style.color = "#ff0000";
			document.getElementById("label_" + dcID).style.fontWeight = "bold";
		}catch(e) {}
		if(validateResult) dc.focus();
		
		// collect auto-validation-error text
		var txt = ""
		try{
			if(dc.demandText.length() > 1) txt = "\n" + dc.demandText;
		}catch(e) {}
		if(txt) validateText = validateText + txt;
	}
	if(validateResult) { validateResult = rtn; }
}

function pd2copyToClipboard(type, data)
{
	try
	{
		event.returnValue = false;
		window.clipboardData.clearData(type);
		window.clipboardData.setData(type, data);
	} 
	catch(e)
	{
		alert("Det lykkedes ikke at kopiere teksten til klippebordet. Prøv venligst igen.\n\nHvis fejlen fortsat er der, så forsøg at\ngenloade siden og prøve funktionen igen.")
	}
}

function pd2createPassword(passwordLength) {
	var cifferString = new String("123abcdefghijklm456nopqrstuvwxyz0123456789ABCDEFGHIJKL789MNOPQRSTUVWXYZ0");
	var password = new String("");
	while (password.length < passwordLength) {
		var n = new String(Math.random()*10000).substring(0, 3);
		while (cifferString.length < n) {
			n = Math.round(n/10);
		}
		password += cifferString.substring(n, n+1);
	}
	return password;
}
