function Namespace() { }
var ForlagsService = new Namespace();

function xPasswordCopy(sourceID, targetName) {
	this.TargetElement = "";
	this.SourceElement = "";

	this.Init = function () {
		pc.SourceElement = document.getElementById(sourceID);
		pc.TargetElement = document.getElementsByName(targetName)[0];

		pc.SourceElement.onkeyup = pc.KeyUpHandler;
	};

	this.KeyUpHandler = function () {
		pc.TargetElement.value = this.value;
	};
}

function xFormKeyHandler(strFormName) {
	this.Init = function () {
		var form = document.forms[strFormName];

		if (form) form.onkeydown = this.KeyDownHandler;
	};

	this.KeyDownHandler = function (evt) {
		var e = evt || window.event;
		var kc = e.keyCode || e.target;

		if (kc == 13) {
			var form = document.forms[strFormName];
			if (form) form.submit();
		}
	};
}

function xMediaGraphic() {

	this.OperaImagesLoaded = true;

	this.ErrorHandler = function (img) {
		if (img.errors == 2) {
			//img.style.display = "none";
			return false;
		}

		if (!img.errors) img.errors = 0;
		img.src = ForlagsService.MediaGraphic.GetFallBackSrc(img);
	};

	this.Opera = function () {
		var imgs = Tangora.DOM.GetCollectionByClassName("site_wrapper", "img", "mediagraphic");
		for (var i = 0; i < imgs.length; i++) {
			var img = imgs[i];
			img.onload = ForlagsService.MediaGraphic.OperaHandler;
			img.fallbacksrc = ForlagsService.MediaGraphic.GetFallBackSrc(img);
		}
	};

	this.RestoreOperaImages = function () {
		if (ForlagsService.MediaGraphic.OperaImagesLoaded) {
			var imgs = Tangora.DOM.GetCollectionByClassName("site_wrapper", "IMG", "mediagraphic");
			for (var i = 0; i < imgs.length; i++) {
				var img = imgs[i];
				img.onload = null;
				img.src = img.fallbacksrc;

				if (img.src.indexOf("_logo") > -1) {
					//img.style.display = "none";
				}
			}
		}
	};

	this.OperaTimeout = function () {
		window.setTimeout(ForlagsService.MediaGraphic.RestoreOperaImages, 100);
	};

	this.OperaHandler = function () {
		ForlagsService.MediaGraphic.OperaImagesLoaded = false;
	};

	this.GetFallBackSrc = function (img) {
		var src = img.src;
		var errors = img.errors;
		var medie = this.GetMedie(location.pathname);
		if (!medie) {
			medie = this.GetMedie(document.referrer.substring(document.referrer.lastIndexOf("/"), document.referrer.length));
		}

		if (!medie || img.errors == 1) {
			src = src.substring(0, src.lastIndexOf("_")) + ".gif";
		}
		else {
			src = src.substring(0, src.lastIndexOf("_")) + medie + ".gif";
		}
		img.errors = (errors + 1);
		return src;
	};

	this.GetMedie = function (medieName) {
		var l = new xLanguageHandler();
		xtender.Extension = l.GetExtensionFromHost();
		return xtender.GetMedie(medieName);
	};

	if (Tangora.Browser.Opera) {
		Tangora.Events.AddHandler(window, "onload", this.Opera);
		Tangora.Events.AddHandler(window, "onload", this.OperaTimeout);
	}

}

function xAttachPageGraphicLink(pageid, medie) {
	var medieFlag = false;

	if (!medie || medie == "") {
		jsMedie = xtender.GetMedie(location.pathname);

		if (jsMedie) {
			medie = jsMedie.substring(1, jsMedie.length);
			medieFlag = true;
		}
	}

	var doc = new XML();
	var url = location.protocol + "//" + location.host + "/spotlinks.xml?sideid=" + pageid + "&medie=" + medie + "&rndkey=" + GetRndKey();
	var s = tsAjax.innerHTML(url);
	doc.LoadXML(s);
	var node = doc.selectSingleNode("//spotlink");
	if (location.href.indexOf("debug") > -1) alert(node);
	if (node.me != null) {
		var graphicid = doc.selectSingleNode("//spotlink/graphicid").text;
		var link = doc.selectSingleNode("//spotlink/link").text;
		var img = document.getElementById(graphicid);
		if (medieFlag) img = document.getElementById(graphicid.replace(medie, ""));
		var alt = doc.selectSingleNode("//spotlink/alt").text;
		if (location.href.indexOf("debug") > -1) alert(graphicid);
		if (img) {
			var a = document.createElement("a");
			a.href = link;
			a.className = "sectionlink";
			a.target = "_blank";
			var pnode = img.parentNode;
			pnode.insertBefore(a, img);
			a.appendChild(img);

			img.alt = alt;
		}
	}
}

function xNavigationList(srcElementID, strActivePage, strLogon, strCancelled) {
	this.Build = function () {
		var srcElement = document.getElementById(srcElementID);

		var select = srcElement.firstChild;
		select.onchange = this.ChangeHandler;

		Util.AjaxHandlers.LoadComboboxContent('menu', 'kontonr=' + strLogon + '&udmeldt=' + strCancelled, select, strActivePage);
	};

	this.ChangeHandler = function () {
		var select = this;

		if (this.options && this.options[this.selectedIndex].value != "0") {
			var url = "/page" + this.options[this.selectedIndex].value + ".aspx";

			document.location = url;
		}
	};
}

function xActionFixer(strFormName, orgPageId) {
	this.Init = function () {
		var form = document.forms[strFormName];

		if (form && (orgPageId != "")) {
			form.action = form.action + "&orgpageid=" + orgPageId;
		}
	};
}

function xAccessControl(pageID, username, email) {
	this.AllowAddressChange = "";
	this.AllowSubscriptionChange = "";
	this.AllowPause = "";
	this.AllowVacation = "";
	this.AllowPayment = "";
	this.AllowPBS = "";
	this.AllowBalance = "";
	this.CancelledSubscription = "";
	this.AllowReklamation = "";

	this.Check = function () {
		var v = true;

		if (email == "" && username != "" && pageID != 1441) {
			this.Redirect(1441, true);
		}

		switch (pageID) {
			case 442: // Velkommen
				if (this.CancelledSubscription == "1") {
					this.Redirect(457);
					return;
				}
				break;
			case 443: // Adresseændring
				if (this.AllowAddressChange != "1") v = false;
				break;
			case 444: // Ferieflytning
				if (this.AllowVacation != "1" || this.CancelledSubscription != "0") v = false;
				break;
			case 445: // Afbryd pausering
				if (this.AllowPause != "-1" || this.CancelledSubscription != "0") v = false;
				break;
			case 446: // Afmeld abonnement
				if (this.CancelledSubscription != "0" || this.CancelledSubscription != "0") v = false;
				break;
			case 447: // �ndre abonnement
				if (this.AllowSubscriptionChange != "1" || this.CancelledSubscription != "0") v = false;
				break;
			case 448: // Pauser abonnement
				if (this.AllowPause != "1" || this.CancelledSubscription != "0") v = false;
				break;
			case 456: // Betal med kreditkort
				if (this.AllowPayment != "1") v = false;
				break;
			case 450: // Afbryd pausering
				if (this.AllowPause != "-1" || this.CancelledSubscription != "0") v = false;
				break;
			case 451: // Tilmeld Betalingsservice
				if (this.AllowPBS != "1" || this.CancelledSubscription != "0") v = false;
				break;
			case 452: // Personlige oplysninger
				//				if(this.CancelledSubscription != "0") v = false;
				break;
			case 453: // Min saldo
				if (this.AllowBalance != "1") v = false;
				break;
			case 465: // Genoptag abonnement
				if (this.CancelledSubscription != "1") v = false;
				break;
			case 1018:
				if (this.AllowReklamation != "1") v = false;
		}


		if (!v && (getParam("debug") != "yep")) {
			if (this.CancelledSubscription == "1") {
				this.Redirect(457, false);
			}
			else {
				this.Redirect(442, false);
			}
		}
	};

	this.Redirect = function (pageID, blnEmail) {
		url = "/page" + pageID + ".aspx";

		document.location = url;
	};
}

function xNeutralElementsHider(pageID, userName) {
	if (userName == "") {
		if (!ForlagsService.MediaGraphic.GetMedie(location.pathname) && !ForlagsService.MediaGraphic.GetMedie(document.referrer.substring(document.referrer.lastIndexOf("/"), document.referrer.length))) {
			var imgs = Tangora.DOM.GetCollectionByClassName("site_wrapper", "img", "mediagraphic");

			for (var i = 0; i < imgs.length; i++) {
				if (imgs[i].src.indexOf("large") > -1 || imgs[i].src.indexOf("small") > -1) {
					imgs[i].style.display = "none";
				}
			}
		}

		if (pageID == 442 || pageID == 441) {
			document.getElementById("content_wrapper_" + pageID).style.display = "none";
			document.getElementById("address_wrapper").style.display = "none";

			if (pageID == 442) {
				document.getElementById("send_login_442").style.display = "block";
			}
		}
	}
}

function xFieldCaptionHandler(medie) {
	this.Get = function (ident) {
		return this.FetchFieldCaption(ident);
	};

	this.FetchFieldCaption = function (ident) {

		var txt = "";
		medie = (!medie) ? "AOHDK" : medie;
		txt = Util.AjaxHandlers.GetString("customfieldlabel", "media=" + medie + "&field=" + ident);
		return txt;
	};

}


function xCaptionHandler(medie) {
	this.Get = function (pageID, ident) {
		var txt = this.FetchCaption(pageID, ident);

		if (txt == "") return;

		document.write(txt);
	};

	this.GetValue = function (pageID, ident) {
		var txt = this.FetchCaption(pageID, ident);
		return txt;
	};

	this.FetchCaption = function (pageID, ident) {
		var txt = '';
		medie = (!medie) ? "AOHDK" : medie;

		if (pageID != "" && typeof (ident) != "undefined") {

			if (navigator.userAgent.match(/Android/ig)) {
				txt = Util.AjaxHandlers.GetString("pagecaptiontranslation", "media=" + medie + "&pageid=" + pageID + "&ident=" + ident);
			} else {
				txt = ForlagsService.LookUpCaption(medie, pageID, ident);
			}
		}
		else {

			if (navigator.userAgent.match(/Android/ig)) {
				txt = Util.AjaxHandlers.GetString("captioncollectionmember", "media=" + medie + "&ident=" + pageID);
			} else {
				txt = ForlagsService.LookUpCaption(medie, pageID);
			}
		}

		//if(txt == "") return;
		return txt;
	};

	this.GetButton = function (pageID, ident, type) {

		var text = '';
		if (navigator.userAgent.match(/Android/ig)) {
			txt = Util.AjaxHandlers.GetString("pagecaptiontranslation", "media=" + medie + "&pageid=" + pageID + "&ident=" + ident);
		} else {
			txt = ForlagsService.LookUpCaption(medie, pageID, ident);
		}

		if (type == "submit") {
			document.write('<div class="btn_blue_left" style="float: left; margin-right: 15px;">');
			document.write('<a href="javascript: document.forms.generic.submit();" class="btn_blue_right">');
			document.write(txt + '</a></div>');
		}
		else if (type == "cancel") {
			document.write('<div class="btn_white_left" style="float: left;">');
			document.write('<a href="/page442.aspx" class="btn_white_right">' + txt + '</a></div>');
		}
	};
}

function xLookUpCaption(medie, pageid, ident) {

	//pages.xml
	//magazines.xml
	//captions.xml
	//captions2.xml

	xml = new XML();
	xml2 = new XML();

	var thepageid = pageid;

	if (typeof (thexml2) != 'undefined' && typeof (thexml) != 'undefined') {
		xml2.LoadXML(thexml2);
		xml.LoadXML(thexml);
	}

	medie = medie.toUpperCase();

	var text = '';
	var query = '';
	if (typeof (ident) != "undefined") {

		query = "//captioncollection[medie='" + medie + "']/pages/page[@id='" + thepageid + "']/" + ident;

		var elm = xml.selectSingleNode(query);

		text = elm.text;
		if (text.length == 0) {
			var elm2 = xml2.selectSingleNode(query);

			text = elm2.text;
		}

	} else {
		query = "//captioncollection[medie='" + medie + "']/" + thepageid;

		var elm = xml.selectSingleNode(query);

		text = elm.text;
		if (text.length == 0) {
			var elm2 = xml2.selectSingleNode(query);

			text = elm2.text;
		}
	}

	return text;
}

function xCountryHandler() {
	this.GetCountryList = function (medie, rownumber) {
		var txt = "";

		txt = Util.AjaxHandlers.GetString("countrylist", "media=" + medie + "&id=" + rownumber);

		return txt;
	};
}

function xPriceHandler() {
	this.GetPrice = function (medie, campaign, country) {
		var price = "";
		price = Util.AjaxHandlers.GetString("campaignprice", "media=" + medie + "&campaign=" + campaign + "&country=" + country);
		return price;
	};
}

function xLanguageHandler() {
	this.GetExtensionFromHost = function () {
		var host = location.host;
		var ext = host.substring(host.lastIndexOf(".") + 1, host.length).toLowerCase();

		return ext;
	};

	this.ChangeMasterLayout = function (layoutID) {
		var url = "http://" + location.host;

		if (url[url.length] != "&" && url.indexOf("?") > 0) {
			url += "&";
		}
		else if (url[url.length] != "&" && url.indexOf("?") == -1) {
			url += "?";
		}

		url += "layout=" + layoutID;
		tsAjax.innerHTML(url);
		if (location.href.indexOf("justloggedout=true") > -1) {
			var url2 = url;
		} else {
			var url2 = location.href;
		}
		location.replace(url2);
	};

	this.SetMasterLayout = function (userMedia) {
		var currentLayoutID = Tangora.Cookies.GetCookieValue("mitabonnement", "masterlayout");
		var layoutID = 0;

		if (userMedia == "TX1DE" && currentLayoutID != 6) {
			layoutID = 6;
		}
		else if (userMedia == "tilmeldingsside" && currentLayoutID != 5) {
			Tangora.Cookies.SetCookieValue("mitabonnement", "masterlayout", 5);
			this.ChangeMasterLayout("5");
		}
		else if (userMedia == "tilmeldingsside2" && currentLayoutID != 104) {
			Tangora.Cookies.SetCookieValue("mitabonnement", "masterlayout", 104);
			this.ChangeMasterLayout("104");
		}
		else if (userMedia != "") {
			mediaLanguage = Util.AjaxHandlers.GetString("medialanguage", "media=" + userMedia);
			layoutID = xtender.GetLayoutID(mediaLanguage);
			if (currentLayoutID === "5") {
				currentLayoutID =-1
			}

			if (!currentLayoutID || (layoutID != currentLayoutID)) {
				Tangora.Cookies.SetCookieValue("mitabonnement", "masterlayout", layoutID);
				this.ChangeMasterLayout(layoutID);
			}
		}
		else {
			xtender.Extension = this.GetExtensionFromHost();
			layoutID = xtender.GetLayoutID(null);

			if (currentLayoutID === "5") {
				currentLayoutID = -1
			}

			if (!currentLayoutID || (layoutID != currentLayoutID) || (location.href.indexOf("justloggedout=true") > -1)) {
				Tangora.Cookies.SetCookieValue("mitabonnement", "masterlayout", layoutID);
				this.ChangeMasterLayout(layoutID);
			}
		}
	};
}


function xOpenPaymentWindow(medie, sessionId) {
	var pId = ForlagsService.GetMediaExceptionValueByMedia(medie, 1, 2);
	var lId = ForlagsService.GetMediaExceptionValueByMedia(medie, 1, 1);

	var url = "/page" + pId + ".aspx?isbasket=1&pageid=" + pId + "&listid=" + lId + "&orgorderid=0&action=emptybasket";
	url += "&rndkey=" + Math.random(1000);
	tsAjax.innerHTML(url);
	var camps = document.getElementsByName("tilmeldingskampagne");
	var campaignId = "";
	var campaignName = "";

	for (var i = 0; i < camps.length; i++) {
		if (camps[i].checked) {
			campaignId = camps[i].value;

			var pNode = camps[i].parentNode;
			var lbl = pNode.getElementsByTagName("label")[0];
			campaignName = lbl.innerHTML;

			break;
		}
	}

	var itemId = medie.toString() + "-" + campaignId.toString();
	//var sessionId = Tangora.Cookies.GetCookie("ASP.NET_SessionId");
	var cElm = document.getElementById("idland");
	var country = cElm.options[cElm.selectedIndex].value;

	ForlagsService.AddPaymentToBasket(itemId, campaignId, campaignName, medie, sessionId, country);
}

function xAddPaymentToBasket(itemId, campaignId, campaignName, medie, sessionId, country) {
	var strRes = "itemid=" + itemId + "&campaignid=" + campaignId + "&campaignname=" + campaignName + "&country=" + country + "&medie=" + medie + "&sessionid=" + sessionId;

	var url = location.protocol + "//" + location.host + "/page1160.aspx?action=post&layoutid=1";

	var storage = tsAjax.createInstance("bgsave");
	storage.method = "post";
	storage.postData = strRes + "&previouscontent=";
	//storage.callback = ForlagsService.AddPaymentToBasketCallBack;
	storage.media = medie;
	var response = tsAjax.innerHTML(url, null, "bgsave");
	ForlagsService.AddPaymentToBasketCallBack(medie, response);
}

function xAddPaymentToBasketCallBack(media, response) {
	if (response.length > 0) {
		var RT = response;
		RT = RT.replace("<!-- [ Falcon ] Blankt layout start -->", "").replace("<!-- [ Falcon ] Blankt layout end -->", "");

		if (isNaN(RT)) {
			alert("Der opstod en fejl under betalingen, prøv venligst igen");
			return;
		}

		ForlagsService.AddToBasket(RT, 1, media);
	}
	else {
		var RT = response;
	}
}

function xAddToBasket(productid, count, strMedia) {
	var URL = ForlagsService.GetShoppingListUrlByMedia(strMedia, 1);
	URL += "&productid=" + productid + "&count=" + count;

	if (document.getElementById('MiniBasketPageId')) {
		URL = URL + '&minibasket=2&minibasketpageid=' + document.getElementById('MiniBasketPageId').innerHTML + '&rnd=' + RandomName(4);
	}

	//var pId = ForlagsService.GetShoppingListPageIdByMedia(strMedia,1);
	tsAjax.innerHTML(URL, null, 'default');
	ForlagsService.AddToBasketDone();
}

function xAddToBasketDone() {
	if (tsAjax.storage['default'].ajaxObj.readyState == 4) {
		if (document.getElementById('MiniBasketPageId')) {
			var obj = document.getElementById('MiniBasketFrame');
			obj.src = 'page' + document.getElementById('MiniBasketPageId').innerHTML + '.aspx?isbasket=1&pageid=' + document.getElementById('MiniBasketPageId').innerHTML + '&listid=-300040&minibasketbgload=1&rnd=' + RandomName(4);
		}

		//var w = window.open("/paymentwindow","paymentwindow","width=550,height=550,toolbars=no,resizeable=no");
		//var w = window.open("/page" + pId + ".aspx","paymentwindow","width=550,height=550,toolbars=no,resizeable=no");
	}
}

//MediaExceptions
var standardValues = new Array();
standardValues[0] = new Array();
standardValues[0][0] = "MEDIA:-300021:456".split(":");
standardValues[0][1] = "MEDIA:-300040:1163".split(":");


function xGetShoppingListUrlByMedia(strMedia, intType) {
	var pId = ForlagsService.GetMediaExceptionValueByMedia(strMedia, intType, 2);
	var lId = ForlagsService.GetMediaExceptionValueByMedia(strMedia, intType, 1);
	var url = "/page" + pId + ".aspx?isbasket=1&pageid=" + pId + "&listid=" + lId + "&action=add&closeatonce=1";

	return url;
}

function xGetShoppingListUrlByMediaForConfigurator(media, price) {
	var pId = ForlagsService.GetMediaExceptionValueByMedia(media, 0, 2);
	var lId = ForlagsService.GetMediaExceptionValueByMedia(media, 0, 1);

	var url = '/page' + pId + '.aspx?isbasket=1&pageid=' + pId + '&listid=' + lId + '&action=add&productid=1&count=1&beloeb=' + price;
	return url;
}

function xGetShoppingListPageIdByMedia(strMedia, intType) {
	var pId = ForlagsService.GetMediaExceptionValueByMedia(strMedia, intType, 2);
	return pId;
}

function xGetShoppingListIdByMedia(strMedia, intType) {
	var lId = ForlagsService.GetMediaExceptionValueByMedia(strMedia, intType, 1);
	return lId;
}

function xGetMediaExceptionValueByMedia(strMedia, intType, index) {
	var val = "";

	var me = mediaExceptions;
	if (strMedia != null) strMedia = strMedia.toUpperCase();

	for (var i = 0; i < me.length; i++) {
		if (me[i][intType][0] == strMedia) {
			val = me[i][intType][index];
			break;
		}
	}

	if (val == "") {
		val = standardValues[0][intType][index];
	}

	return val;
}


function xHideDeliveryAddress(medie) {
	var res = Util.AjaxHandlers.GetString("hidedeliveryaddress", "media=" + medie);
	if (isNaN(res)) res = 0;
	return res;
}

function xHideNewsletter(medie) {
	var res = Util.AjaxHandlers.GetString("autonewsletter", "media=" + medie);
	if (isNaN(res)) res = 0;
	return res;
}

function xDatePicker(owner, id) {
	this.id = id;
	this.owner = owner;
	this.input = null;
	this.value = '';
	this.formname = null;
	this.errortext = null;

	this.init = function () {
		if (!this.owner) return;
		if (this.owner.nextSibling) {
			//alert(this.owner.nextSibling.outerHTML);
			this.errortext = this.owner.nextSibling.outerHTML;
		}

		if (typeof this.owner.style != 'undefined') {
			this.owner.style.display = 'none';
		}
		this.input = document.getElementById(id);
		this.value = this.input.value;
		var elm = this.input;
		while (elm.parentNode != null && elm.tagName.toLowerCase() != 'form') {
			elm = elm.parentNode;
		}
		if (elm.tagName.toLowerCase() == 'form') {
			this.formname = elm.name;
		}
	};

	this.display = function () {
		var d = new Date();
		if (this.value != '') {
			var obj = /(\d*)-(\d*)-(\d*)/i.exec(this.value);
			d = new Date(obj[3], obj[2] - 1, obj[1] - 1);
		}
		var day = d.getDate();
		var month = d.getMonth() + 1;
		var year = d.getFullYear();

		var s = '<select id="day-' + id + '" onchange="ForlagsService.DatePicker.Update(\'' + this.id + '\')">' + this.GetOptions(0, 31, day) + '</select>';
		s += '<select id="month-' + id + '" onchange="ForlagsService.DatePicker.Update(\'' + this.id + '\')">' + this.GetOptions(0, 12, month) + '</select>';
		s += '<select id="year-' + id + '" onchange="ForlagsService.DatePicker.Update(\'' + this.id + '\')">' + this.GetOptions((year - 100), (year + 10), year) + '</select>';
		if (this.errortext) s += this.errortext;
		return s;
	};

	this.display2 = function (root, id) {
		var d = new Date();
		if (this.value != '') {
			var obj = /(\d*)-(\d*)-(\d*)/i.exec(this.value);
			d = new Date(obj[3], obj[2] - 1, obj[1] - 1);
		}
		var day = d.getDate();
		var month = d.getMonth() + 1;
		var year = d.getFullYear();

		var sel1 = $ts.createElement('select', { 'id': 'day-' + id });
		sel1.onchange = function () { ForlagsService.DatePicker.Update(id); };
		sel1 = this.GetOptions2(sel1, 1, 31, day);
		root.appendChild(sel1);

		var sel2 = $ts.createElement('select', { 'id': 'month-' + id });
		sel2.onchange = function () { ForlagsService.DatePicker.Update(id); };
		sel2 = this.GetOptions2(sel2, 1, 12, month);
		root.appendChild(sel2);

		var sel3 = $ts.createElement('select', { 'id': 'year-' + id });
		sel3.onchange = function () { ForlagsService.DatePicker.Update(id); };
		sel3 = this.GetOptions2(sel3, (year - 100), (year + 10), year);
		root.appendChild(sel3);

		return root;
	}

	this.Update = function (id) {
		var dest = document.getElementById(id);
		var dayElm = document.getElementById('day-' + id);
		var monthElm = document.getElementById('month-' + id);
		var yearElm = document.getElementById('year-' + id);
		dest.value = dayElm.options[dayElm.selectedIndex].value + '-' + monthElm.options[monthElm.selectedIndex].value + '-' + yearElm.options[yearElm.selectedIndex].value;
		//alert(dest.value);
	};

	this.GetOptions = function (s, e, curValue) {
		var str = '';
		for (var i = s; i <= e; i++) {
			if (curValue == i) str += '<option selected="selected" value="' + i + '">' + i + '</option>';
			else str += '<option value="' + i + '">' + i + '</option>';
		}
		return str;
	};

	this.GetOptions2 = function (elm, s, e, curValue) {
		var strChoose = '--'
		var strValue = '01';
		if (curValue > 1000 && curValue < 1901) {
			strChoose = '----';
			strValue = '1900';
			s = new Date().getFullYear() - 100;
			e = new Date().getFullYear() + 10;
		}

		var opt = $ts.createElement('option');
		opt.value = strValue;
		opt.text = strChoose;
		try {
			elm.add(opt, null); // standards compliant; doesn't work in IE
		}
		catch (ex) {
			elm.add(opt); // IE only
		}

		for (var i = s; i <= e; i++) {
			var t = (i < 10 ? '0' + i : i)
			opt = $ts.createElement('option');
			opt.value = t;
			opt.text = t;
			try {
				elm.add(opt, null); // standards compliant; doesn't work in IE
			}
			catch (ex) {
				elm.add(opt); // IE only
			}
		}

		return elm;
	}

	this.init();
}

function xLocaliseLogin(userid, pageid) {

	if (pageid == 442 && userid.length == 0) {
		var medie = xtender.GetMedie(location.pathname);
		if (medie) {
			medie = medie.replace('_', '');

			$.ajax({
				url: '/page4386.aspx?medie=' + medie,
				success: function (data) {
					data = data.replace('<\/script>', '');
					data = data.replace('<script type="text\/javascript">\r\n', '');
					data = data.replace("';\r\n", '');
					data = data.replace("var thexml = '", '')

					thexml = data;
				},
				async: false
			});

			$.ajax({
				url: '/page4392.aspx?medie=' + medie,
				success: function (data) {

					data = data.replace('<\/script>', '');
					data = data.replace('<script type="text\/javascript">\r\n', '');
					data = data.replace("';\r\n", '');
					data = data.replace("var thexml2 = '", '');

					thexml2 = data;
				},
				async: false
			});

			var rumch = new ForlagsService.CaptionHandler(medie);

			var abnUsername = rumch.GetValue('100442', 'abntextusername');
			var abnPassword = rumch.GetValue('100442', 'abntextpassword');
			var abnForgot = rumch.GetValue('100442', 'abnforgot');
			var pagetitle = rumch.GetValue('100442', 'pagetitle');

			if (abnUsername.length > 0) {
				$('#abn_text_username').html(abnUsername);
			}

			if (abnPassword.length > 0) {
				$('#abn_text_password').html(abnPassword);
			}

			if (abnForgot.length > 0) {
				$('#text_abn_forgot').html(abnForgot);
			}

			if (pagetitle.length > 0) {
				document.title = pagetitle;
			} else {
				document.title = xtender.GetPageTitle();
			}
		} else {
			document.title = xtender.GetPageTitle();
		}
	}
}

function xCreateSignMeUp(medie, mgmfilter, abn) {

	var ch1 = new ForlagsService.CaptionHandler(medie);
	var fieldname = ch1.GetValue("100442", "signupnew");

	var container = document.getElementById('rumSignUpPlaceHolder');

	var transl = fieldname;

	if (mgmfilter.length > 0) {

		document.getElementById('rumSignUpPlaceHolder').innerHTML = '<div><a class="inlinelink" href="/page725.aspx?medie='
				+ medie
				+ '&filter='
				+ mgmfilter
				+ '&joinedby='
				+ abn
				+ '">'
				+ transl + '</a></div>';
	}
}

function xValidator() {
	this.ValidatePhone = function () {
		var phone = document.getElementById("idtelefon");
		var cellPhone = document.getElementById("idmobil");
		var exFreq = Tangora.DOM.GetFirstCollectionMemberByClassName(phone.parentNode, "span", "formreq");

		if (phone.value == "" && cellPhone.value == "") {
			if (!exFreq) {
				var freq = document.createElement("span");
				freq.className = "formreq";
				freq.innerHTML = "*";
				phone.parentNode.appendChild(freq);

				document.getElementById("error-message").innerHTML = "Et eller flere felter (markeret med *) er ikke udfyldt korrekt. Prøv venligst igen.";
			}

			return false;
		}
		else {
			if (exFreq) exFreq.parentNode.removeChild(exFreq);
			document.getElementById("error-message").innerHTML = "";
		}

		var email = $elm("idemail");
		var exFreq = Tangora.DOM.GetFirstCollectionMemberByClassName(email.parentNode, "span", "formreq");
		var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
		var emailvalue = $ts.trim(email.value);
		$elm("idemail").value = emailvalue;
		if (reg.test(emailvalue) == false) {
			if (!exFreq) {
				var freq = document.createElement("span");
				freq.className = "formreq";
				freq.innerHTML = "*";
				email.parentNode.appendChild(freq);

				document.getElementById("error-message").innerHTML = "Et eller flere felter (markeret med *) er ikke udfyldt korrekt. Prøv venligst igen.";
			}

			return false;
		} else {
			if (exFreq) exFreq.parentNode.removeChild(exFreq);
			document.getElementById("error-message").innerHTML = "";
		}

		if (!ForlagsService.Validator.ValidateCustomFields()) {
			return false;
		} else {
			document.getElementById("error-message").innerHTML = "";
		}

		return true;
	}

	this.InitPage = function (medie) {
		Tangora.DOM.GetFirstCollectionMemberByClassName("maincell", "a", "btn_blue_right").onclick = ForlagsService.Validator.ValidatePhone;
		ForlagsService.Validator.UpdateCountryLists(medie);

		var floor = document.getElementById("idetage");
		if (floor) floor.onkeydown = ForlagsService.Validator.FloorInputValidator;
		Tangora.Events.AddHandler(floor, "onblur", ForlagsService.Validator.FloorInputBlurValidator);

		var nr = document.getElementById("idhusnr");
		if (nr) nr.onkeydown = ForlagsService.Validator.FloorInputValidator;
		Tangora.Events.AddHandler(nr, "onblur", ForlagsService.Validator.FloorInputBlurValidator);
	}

	this.UpdateCountryLists = function (medie) {
		var cElm = document.getElementById("idland");
		var country = "1248";
		if (country == "") country = cElm.options[cElm.selectedIndex].value;

		var cCountries = ForlagsService.CountryHandler.GetCountryList(medie, country);

		cCountries = '<root>' + cCountries + '</root>';

		var cXML = new XML();

		cXML.LoadXML(cCountries);

		var nodelist = cXML.selectNodes('//option');
		var node = nodelist.Next();
		while (node) {
			var opt = document.createElement('option');
			opt.text = node.text;
			opt.value = node.getAttribute('value');
			var selected = node.getAttribute('selected');
			opt.selected = (selected ? true : false);

			try {
				cElm.add(opt, null);
			} catch (ex) {
				cElm.add(opt);
			}

			node = nodelist.Next();
		}
	}

	this.FloorInputValidator = function (e) {
		if (!e) e = window.event;
		var code = (e.keyCode) ? e.keyCode : e.which;

		var character = String.fromCharCode(code);
		if (e.shiftKey || e.ctrlKey || e.altKey || (code == 32) || (code == 186)) return false;
		if (isNaN(parseInt(character)) && !ForlagsService.Validator.CheckCode(code)) return false;
		if (location.href.indexOf("h4x") > -1) alert("Code: " + code + " | Character: " + character);
		return true;
	}

	this.FloorInputBlurValidator = function (e) {
		var elm = (this == window) ? event.srcElement : this;

		try {
			var res = "";

			for (var i = 0; i < elm.value.length; i++) {
				var char = elm.value.charAt(i);
				if (!isNaN(char) && char != ' ' && !isNaN(parseInt(char))) res += char;
			}

			elm.value = res;
		}
		catch (err) {
			if (location.href.indexOf("h4x") > -1) alert("Fejl: " + err);
		}
	}

	this.CheckCode = function (code) {
		var allowedCodes = "9,37,39,8,46,96,97,98,99,100,101,102,103,104,105".split(",");

		for (var i = 0; i < allowedCodes.length; i++) {
			if (parseInt(allowedCodes[i]) == parseInt(code)) return true;
		}

		return false;
	}

	this.ValidatePaymentInfo = function () {
		var elms = document.getElementById("account_info_wrapper").getElementsByTagName("input");
		var error = false;

		for (var i = 0; i < elms.length; i++) {
			var fReqs = Tangora.DOM.GetCollectionByClassName(elms[i].parentNode, "span", "formreq");

			if (elms[i].value == "") {
				if (fReqs.length == 0) {
					var fReq = document.createElement("span");
					fReq.innerHTML = "*";
					fReq.className = "formreq";
					elms[i].parentNode.appendChild(fReq);
				}

				error = true;
			}
			else {
				if (fReqs && fReqs.length > 0) fReqs[0].parentNode.removeChild(fReqs[0]);
			}

		}

		if (error && !document.getElementById("org_error_wrapper")) document.getElementById("error_wrapper").style.display = "block";

		return (!error);
	}

	this.ValidatePaymentAddress = function () {
		var elms = document.getElementById("payment_address_wrapper").getElementsByTagName("input");
		var error = false;

		for (var i = 0; i < elms.length; i++) {
			if (ForlagsService.SignUp.CheckElementID(elms[i], "idfaktureringsvirksomhed") || ForlagsService.SignUp.CheckElementID(elms[i], "idfaktureringssted") || ForlagsService.SignUp.CheckElementID(elms[i], "idfaktureringsblok") || ForlagsService.SignUp.CheckElementID(elms[i], "idfaktureringsetage") || ForlagsService.SignUp.CheckElementID(elms[i], "idfaktureringslejl") || ForlagsService.SignUp.CheckElementID(elms[i], "idfaktureringstelefon") || ForlagsService.SignUp.CheckElementID(elms[i], "idfaktureringsmobil")) {
				elms[i].title = "not_required";
			}
		}

		for (var i = 0; i < elms.length; i++) {
			if (elms[i].title != "not_required") {
				var fReqs = Tangora.DOM.GetCollectionByClassName(elms[i].parentNode, "span", "formreq");

				if (elms[i].value == "") {
					if (fReqs.length == 0) {
						var fReq = document.createElement("span");
						fReq.innerHTML = "*";
						fReq.className = "formreq";
						elms[i].parentNode.appendChild(fReq);
					}

					error = true;
				}
				else {
					if (fReqs && fReqs.length > 0) fReqs[0].parentNode.removeChild(fReqs[0]);
				}
			}
		}

		var phone = document.getElementById("idfaktureringstelefon");
		var cellPhone = document.getElementById("idfaktureringsmobil");

		if (phone.value == "" && cellPhone.value == "") {
			var fReq = document.createElement("span");
			fReq.innerHTML = "*";
			fReq.className = "formreq";
			if (Tangora.DOM.GetFirstCollectionMemberByClassName(phone.parentNode, "span", "formreq") == null) phone.parentNode.appendChild(fReq);
			error = true;
		}
		else {
			var elm = Tangora.DOM.GetFirstCollectionMemberByClassName(phone.parentNode, "span", "formreq");
			if (elm) elm.parentNode.removeChild(elm);
		}

		var email = document.getElementById("idfaktureringsemail");
		var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;

		var emailvalue = $ts.trim(email.value);
		document.getElementById("idfaktureringsemail").value = emailvalue;
		if (reg.test(emailvalue) == false) {
			var fReq = document.createElement("span");
			fReq.innerHTML = "*";
			fReq.className = "formreq";
			if (Tangora.DOM.GetFirstCollectionMemberByClassName(email.parentNode, "span", "formreq") == null) email.parentNode.appendChild(fReq);
			error = true;
		} else {
			var elm = Tangora.DOM.GetFirstCollectionMemberByClassName(email.parentNode, "span", "formreq");
			if (elm) elm.parentNode.removeChild(elm);
		}

		if (error && !document.getElementById("org_error_wrapper")) document.getElementById("error_wrapper").style.display = "block";

		return (!error);
	}

	this.ValidateAddress = function () {
		var elms = document.getElementById("address_wrapper").getElementsByTagName("input");
		var error = false;

		for (var i = 0; i < elms.length; i++) {
			if (ForlagsService.SignUp.CheckElementID(elms[i], "idvirksomhed") || ForlagsService.SignUp.CheckElementID(elms[i], "idsted") || ForlagsService.SignUp.CheckElementID(elms[i], "idblok") || ForlagsService.SignUp.CheckElementID(elms[i], "idetage") || ForlagsService.SignUp.CheckElementID(elms[i], "idlejl") || ForlagsService.SignUp.CheckElementID(elms[i], "idtelefon") || ForlagsService.SignUp.CheckElementID(elms[i], "idmobil") || ForlagsService.SignUp.CheckElementID(elms[i], "idean") || ForlagsService.SignUp.CheckElementID(elms[i], "idtxt1") || ForlagsService.SignUp.CheckElementID(elms[i], "idtxt2") || ForlagsService.SignUp.CheckElementID(elms[i], "idtxt3") || ForlagsService.SignUp.CheckElementID(elms[i], "idreal1") || ForlagsService.SignUp.CheckElementID(elms[i], "idreal2") || ForlagsService.SignUp.CheckElementID(elms[i], "idreal3") || ForlagsService.SignUp.CheckElementID(elms[i], "iddate1") || ForlagsService.SignUp.CheckElementID(elms[i], "iddate2") || ForlagsService.SignUp.CheckElementID(elms[i], "iddate3")) {
				elms[i].title = "not_required";
			}
		}

		for (var i = 0; i < elms.length; i++) {
			if (elms[i].title != "not_required") {
				var fReqs = Tangora.DOM.GetCollectionByClassName(elms[i].parentNode, "span", "formreq");

				if (elms[i].value == "") {
					if (fReqs.length == 0) {
						var fReq = document.createElement("span");
						fReq.innerHTML = "*";
						fReq.className = "formreq";
						elms[i].parentNode.appendChild(fReq);
					}

					error = true;
				}
				else {
					if (fReqs && fReqs.length > 0) fReqs[0].parentNode.removeChild(fReqs[0]);
				}
			}
		}

		var phone = document.getElementById("idtelefon");
		var cellPhone = document.getElementById("idmobil");

		if (phone.value == "" && cellPhone.value == "") {
			var fReq = document.createElement("span");
			fReq.innerHTML = "*";
			fReq.className = "formreq";
			if (Tangora.DOM.GetFirstCollectionMemberByClassName(phone.parentNode, "span", "formreq") == null) phone.parentNode.appendChild(fReq);
			error = true;
		}
		else {
			var elm = Tangora.DOM.GetFirstCollectionMemberByClassName(phone.parentNode, "span", "formreq");
			if (elm) elm.parentNode.removeChild(elm);
		}

		var email = document.getElementById("idemail");
		var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;

		var emailvalue = $ts.trim(email.value);
		document.getElementById("idemail").value = emailvalue;
		if (reg.test(emailvalue) == false) {
			var fReq = document.createElement("span");
			fReq.innerHTML = "*";
			fReq.className = "formreq";
			if (Tangora.DOM.GetFirstCollectionMemberByClassName(email.parentNode, "span", "formreq") == null) email.parentNode.appendChild(fReq);
			error = true;
		} else {
			var elm = Tangora.DOM.GetFirstCollectionMemberByClassName(email.parentNode, "span", "formreq");
			if (elm) elm.parentNode.removeChild(elm);
		}

		var accept = document.getElementById("idaccepterbetingelser");

		if (!accept.checked) {
			var fReq = document.createElement("span");
			fReq.innerHTML = "*";
			fReq.className = "formreq";
			if (Tangora.DOM.GetFirstCollectionMemberByClassName(accept.parentNode, "span", "formreq") == null) accept.parentNode.appendChild(fReq);
			error = true;
		}
		else {
			var elm = Tangora.DOM.GetFirstCollectionMemberByClassName(accept.parentNode, "span", "formreq");
			if (elm) elm.parentNode.removeChild(elm);
		}

		if (error && !document.getElementById("org_error_wrapper")) document.getElementById("error_wrapper").style.display = "block";

		return (!error);
	}

	this.ValidateCustomFields = function () {
		var elms = $elms('.mandatory');
		var error = true;
		var max = elms.length;
		var errorCount = 0;
		for (var i = 0; i < max; i++) {
			var value = $ts.trim(elms[i].value);
			if (value.length === 0) {
				errorCount++;
			} else {
				if (value.indexOf('01-01-1900') > -1) {
					errorCount++;
				} else if (value.search(/^(0[1-9]|[12][0-9]|3[01])[-](0[1-9]|1[012])[-](19|20)\d\d$/) > -1) {
					var arrDate = value.split('-');

					var day = parseInt((arrDate[0] * 1));
					var month = parseInt((arrDate[1] * 1)) - 1;
					var year = parseInt(arrDate[2]);

					mSeconds = new Date(year, month, day).getTime();
					objDate = new Date();
					objDate.setTime(mSeconds);
					if (objDate.getFullYear() !== year || objDate.getMonth() !== month || objDate.getDate() !== day) {
						errorCount++;
					}
				}
			}
		}

		if (errorCount > 0) {
			error = false;
			if (!error && document.getElementById("error-message")) {
				document.getElementById("error-message").innerHTML = "Et eller flere felter (markeret med *) er ikke udfyldt korrekt. Prøv venligst igen.";
			}else if (!error && !document.getElementById("org_error_wrapper")) {
				document.getElementById("error_wrapper").style.display = "block";
			}
		}

		return error;
	}
}

function xVacation() {

	this.Init = function () {
		document.getElementById("from_date").options[0].innerHTML = (document.getElementById("idfra_dato").value != "") ? document.getElementById("idfra_dato").value : ch.FetchCaption("choose");
		document.getElementById("from_date").onfocus = function () { this.options[0].innerHTML = (document.getElementById("idfra_dato").value != "") ? document.getElementById("idfra_dato").value : ch.FetchCaption("choose"); };

		document.getElementById("to_date").options[0].innerHTML = (document.getElementById("idtil_dato").value != "") ? document.getElementById("idtil_dato").value : ch.FetchCaption("choose");
		document.getElementById("to_date").onfocus = function () { this.options[0].innerHTML = (document.getElementById("idtil_dato").value != "") ? document.getElementById("idtil_dato").value : ch.FetchCaption("choose"); };


		document.getElementById("idgade").value = "";
		document.getElementById("idhusnr").value = "";
		document.getElementById("idblok").value = "";
		document.getElementById("idetage").value = "";
		document.getElementById("idlejl").value = "";
		document.getElementById("idsted").value = "";
		document.getElementById("idpostnummer").value = "";
		document.getElementById("idby").value = "";
		document.getElementById("idtelefon").value = "";
		document.getElementById("idmobil").value = "";

	}

	this.FromDateClick = function () {
		var link = Tangora.DOM.GetFirstCollectionMemberByClassName("maincell", "td", "date_picker").getElementsByTagName("a")[0];
		var newHref = "javascript:openMiniCal('generic','fra_dato','',";
		newHref += Tangora.Cookies.GetCookieValue("mitabonnement", "masterlayout");
		newHref += ",0,300,300,444,'27')";

		link.href = newHref;
		document.getElementById("from_date").onclick = function () { eval(link.href) };
	}

	this.ToDateClick = function () {
		var link = Tangora.DOM.GetCollectionByClassName("maincell", "td", "date_picker")[1].getElementsByTagName("a")[0];
		var newHref = "javascript:openMiniCal('generic','til_dato','',";
		newHref += Tangora.Cookies.GetCookieValue("mitabonnement", "masterlayout");
		newHref += ",0,300,300,444,'27')";
		link.href = newHref;
		document.getElementById("to_date").onclick = function () { eval(link.href) };
	}
}

function xPauseHandler() {

	var _account = '';

	this.Init = function (account) {
		_account = account;
		var fra = document.getElementById("idfra_blad");
		var til = document.getElementById("idtil_blad");
		fra.onchange = function () { ForlagsService.PauseHandler.fraPauseChange(fra); };
		til.onchange = function () { ForlagsService.PauseHandler.tilPauseChange(til); };

		var opt = document.createElement("option");
		opt.innerHTML = '( vent venligst )';
		fra.appendChild(opt);
		var opt = document.createElement("option");
		opt.innerHTML = '( vent venligst )';
		til.appendChild(opt);
		til.selectedIndex = 1;
		fra.selectedIndex = 1;


		Util.AjaxHandlers.LoadComboboxContent('xstartpause', 'kontonr=' + _account, 'idfra_blad', '');
		Util.AjaxHandlers.LoadComboboxContent('xendpause', 'kontonr=' + _account, 'idtil_blad', '');
	}

	this.fraPauseChange = function (that) {
		var til = document.getElementById("idtil_blad");
		//var fra = document.getElementById("idfra_blad");

		var sv = til.options[til.selectedIndex].value;
		for (var i = til.childNodes.length - 1; i > -1; i--) {
			til.removeChild(til.childNodes[i]);
		}

		var opt = document.createElement("option");
		opt.innerHTML = '( vent venligst )';
		til.appendChild(opt);
		til.selectedIndex = 0;

		Util.AjaxHandlers.LoadComboboxContent('xendpause', 'kontonr=' + _account + '&startpause=' + that.options[that.selectedIndex].value, 'idtil_blad', sv);

	}

	this.tilPauseChange = function (that) {
		//var til = document.getElementById("idtil_blad");
		var fra = document.getElementById("idfra_blad");
		var sv = fra.options[fra.selectedIndex].value;
		for (var i = fra.childNodes.length - 1; i > -1; i--) {
			fra.removeChild(fra.childNodes[i]);
		}

		var opt = document.createElement("option");
		opt.innerHTML = '( vent venligst )';
		fra.appendChild(opt);
		fra.selectedIndex = 0;

		Util.AjaxHandlers.LoadComboboxContent('xstartpause', 'kontonr=' + _account + '&endpause=' + that.options[that.selectedIndex].value, 'idfra_blad', sv);
	}
}

function xSignUpCCRep() {

	this.SignUpWindow = function (media) {

		var merchant = '';

		var host = window.location.hostname;

		$.ajax({
			async: false,
			type: 'GET',
			url: 'http://' + host + '/services/proxy.ashx',
			data: 'endpoint=87.54.30.67/Forlagsservice/ajax.ashx&action=mediadibsmerchant&media=' + media,
			dataType: 'text',
			success: function (data) {
				merchant = data;
			}
		});

		var strHTML = '<html>'
		+ '<head>'
		+ '<title>Example of a payment form</title>'
		+ '<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />'
		+ '<meta http-equiv="Content-Script-Type" content="text/javascript" />'
		+ '<meta http-equiv="Content-Style-Type" content="text/css" />'
		+ '<script type="text/javascript">'
		+ 'var price = 0;'
		+ 'window.onload = function (evt) { document.payform.submit(); }'
		+ '</script>'
		+ '</head>'
		+ '<body>'
		+ '<form name="payform" method="post" action="https://payment.architrade.com/payment/start.pml">'
		  + '<input type="hidden" name="merchant" value="' + merchant + '" />'
		  + '<input type="hidden" name="orderid" value="0" />'
		  + '<input type="hidden" name="lang" value="da" />'
		  + '<input type="hidden" name="amount" value="1" />'
		  + '<input type="hidden" name="currency" value="208" />'
		  + '<input type="hidden" name="accepturl" value="http://' + host + '/page4171.aspx" />'
		  + '<input type="hidden" name="cancelurl" value="http://' + host + '/page4170.aspx" />'
		  + '<input type="hidden" name="preauth" value="true">'
		+ '</form>'
		+ '</body>'
		+ '</html>';

		var win = window.open('', 'DIBS', "height=650,width=550");
		win.document.open("text/html", "replace");
		win.document.write(strHTML);
		win.document.close();
	}

	this.SignUpFinal = function (transact, authkey, username) {

		$('#idauthkey').val(authkey);
		$('#iddibsticket').val(transact);
		$('#iduser_name').val(username);

		document.forms.generic.submit();
	}

}

function xReloadUser(username, password) {

	var userinfo = {
		'username': username,
		'password': password
	};

	$.ajax({
		async: false,
		type: 'GET',
		url: '/page441.aspx',
		data: 'action=logout&clearcookie=1',
		dataType: 'text'
	});

	$.ajax({
		async: false,
		type: 'POST',
		url: '/page441.aspx?validating=1&action441=validate',
		data: userinfo,
		dataType: 'text'
	});

}

function xUserAccountWarning(account) {

	var endpoint = 'http://' + location.host + '/services/proxy.ashx';
	var data = $ts.ajax({
		url: endpoint,
		data: '?endpoint=87.54.30.67/Forlagsservice/ajax.ashx&action=useraccountwarning&kontonr=' + account + '&ts=' + new Date().getTime(),
		type: 'GET',
		async: false
	});

	var msg = data;
	document.write('<strong>' + msg + '</strong>');
}

function xMediaChangeStyler() {
	$('input[name=medianame]').each(function (index) {

		var i = index + 1;

		var mediaabbr = $('label[for=idmedianameid' + i + ']').html();

		$('#idmediachangeid' + i).val(mediaabbr);

	});

	$('input[name=mediachange]').click(function () {
		$('.btn_blue_right').attr('href', 'javascript: document.forms.generic.submit();');
		$('.btn_blue_right').removeClass('btn_disabled');
	});

	$('.btn_blue_right').attr('href', 'javascript:return false;');
	$('.btn_blue_right').addClass('btn_disabled');
}

function xHideSelect(theselect) {

	var value = $(theselect + ' option').val();

	if (value == "") {
		$(theselect).parent().parent().hide();
	}
}

function xSignUp(medie, sessionid) {
	var _medie = null;
	var _sessionid = null;
	var _filter = null;
	var _win = {};
	var _abnid = 0;
	this.ShowTableRow = function (elmID) {
		var elm = document.getElementById(elmID);
		if (!elm) return;
		var strDisplay = "table-row";
		if (Tangora.Browser.IE) strDisplay = "block";
		elm.style.display = strDisplay;
	}

	this.HideTableRow = function (elmID) {
		var elm = document.getElementById(elmID);
		if (!elm) return;
		elm.style.display = "none";
	}

	this.PaymentOptionsClickHandler = function () {
		var elm = (this == window) ? event.srcElement : this;
		var lbl = elm.parentNode.getElementsByTagName("label")[0];

		if (elm.value == "2") {
			ForlagsService.SignUp.ShowTableRow("account_info_wrapper");

			var elms = document.getElementById("account_info_wrapper").getElementsByTagName("input");

			for (var i = 0; i < elms.length; i++) {
				(function (ii) {
					if (elms[ii].value == "0") elms[ii].value = "";
				})(i);
			}
		}
		else {
			ForlagsService.SignUp.HideTableRow("account_info_wrapper");
			document.getElementById("error_wrapper").style.display = "none";
		}

		elm.checked = true;
		document.getElementById("idbetalingsmetode").value = elm.value;
		if (lbl) document.getElementById("idbetalingsmetodenavn").value = lbl.innerHTML;
	}

	this.PaymentAddressClickHandler = function () {
		var elm = (this == window) ? event.srcElement : this;

		if ((elm.id.indexOf("toadresser") > -1)) {
			ForlagsService.SignUp.ShowTableRow("payment_address_wrapper");
			ForlagsService.SignUp.HideTableRow("ean_number_wrapper");

			var elm1 = document.getElementById("idean");
			elm1.value = "";
		}
		else {
			ForlagsService.SignUp.HideTableRow("payment_address_wrapper");
			ForlagsService.SignUp.ShowTableRow("ean_number_wrapper");
			document.getElementById("idean").focus();
			document.getElementById("idean").blur();
		}

		document.getElementById("idleveringsmetode").value = elm.value;
	}

	this.InitClickHandlers = function () {
		var elms = document.getElementsByName("betalingsmetoder");
		Tangora.Events.AddHandler(elms[0], "onclick", ForlagsService.SignUp.PaymentOptionsClickHandler);
		Tangora.Events.AddHandler(elms[1], "onclick", ForlagsService.SignUp.PaymentOptionsClickHandler);
		Tangora.Events.AddHandler(elms[2], "onclick", ForlagsService.SignUp.PaymentOptionsClickHandler);
		Tangora.Events.AddHandler(elms[3], "onclick", ForlagsService.SignUp.PaymentOptionsClickHandler);

		var val = document.getElementById("idbetalingsmetode").value;

		var giro = document.getElementById("idbetalingsmetoderid1");
		var pbs = document.getElementById("idbetalingsmetoderid2");
		var cc = document.getElementById("idbetalingsmetoderid3");
		var abn = document.getElementById("idbetalingsmetoderid4");

		if (val != "") {
			for (var i = 0; i < elms.length; i++) {
				var elmid = parseInt(elms[i].id.replace("idbetalingsmetoderid", ""));
				elms[i].checked = (parseInt(val) == elmid);
			}
		}
		else {
			if (cc) cc.checked = true;
			else if (pbs) pbs.checked = true;
			else if (giro) giro.checked = true;
		}

		if (cc && cc.checked) {
			cc.click();
		}
		else if (abn && abn.checked) {
			abn.click();
		}
		else if (pbs && pbs.checked) {
			pbs.click();
		}
		else if (giro && giro.checked) {
			giro.click();
		}

		var elms = document.getElementById("address_options").getElementsByTagName("input");
		Tangora.Events.AddHandler(elms[0], "onclick", ForlagsService.SignUp.PaymentAddressClickHandler);
		Tangora.Events.AddHandler(elms[1], "onclick", ForlagsService.SignUp.PaymentAddressClickHandler);

		val = document.getElementById("idleveringsmetode").value;
		elms[0].checked = (val == 1 | val == "");
		elms[1].checked = (val == 2);

		if (elms[1].checked) elms[1].click();

		ForlagsService.SignUp.HelpTexter();
		ForlagsService.SignUp.ReplaceAcceptText();
		ForlagsService.SignUp.SelectFirstCampaign();
		ForlagsService.SignUp.ModifyFormAction();
		ForlagsService.SignUp.ModifySubmitButton();

		var floor = document.getElementById("idetage");
		if (floor) floor.onkeydown = ForlagsService.Validator.FloorInputValidator;
		Tangora.Events.AddHandler(floor, "onblur", ForlagsService.Validator.FloorInputBlurValidator);

		var fFloor = document.getElementById("idfaktureringsetage");
		if (fFloor) fFloor.onkeydown = ForlagsService.Validator.FloorInputValidator;
		Tangora.Events.AddHandler(fFloor, "onblur", ForlagsService.Validator.FloorInputBlurValidator);

		var nr = document.getElementById("idhusnr");
		if (nr) nr.onkeydown = ForlagsService.Validator.FloorInputValidator;
		Tangora.Events.AddHandler(nr, "onblur", ForlagsService.Validator.FloorInputBlurValidator);

		var fNr = document.getElementById("idfaktureringshusnr");
		if (fNr) fNr.onkeydown = ForlagsService.Validator.FloorInputValidator;
		Tangora.Events.AddHandler(fNr, "onblur", ForlagsService.Validator.FloorInputBlurValidator);

		ForlagsService.SignUp.UpdateCountryLists();
		ForlagsService.SignUp.PriceOnChangeHandler();

		var hideDeliv = ForlagsService.HideDeliveryAddress(_medie);
		if (hideDeliv == 0) document.getElementById("delivery-address-wrapper").style.display = "block";

		var autonews = ForlagsService.HideNewsletter(_medie);
		if (autonews == 1) {
			document.getElementById('idacceptmarketing').checked = true;
			document.getElementById('acceptmarketing0').style.display = 'none'
		}
	}

	this.SelectFirstCampaign = function () {
		var elms = document.getElementsByName("tilmeldingskampagne");
		if (elms[0]) elms[0].checked = true;
	}

	this.ModifyFormAction = function () {
		var frm = document.forms.generic;
		if (frm.action.indexOf("medie") == -1) frm.action += "&medie=" + _medie;
		if (frm.action.indexOf("filter") == -1) frm.action += "&filter=" + _filter;

		frm.action += "&layout=5";
	}

	this.ModifySubmitButton = function () {
		var btn = Tangora.DOM.GetFirstCollectionMemberByClassName("maincell", "a", "btn_blue_right");
		if (btn) {
			btn.href = "#";
			btn.href = "javascript: ForlagsService.SignUp.SubmitButtonClickHandler();";
		}
	}

	this.SubmitButtonClickHandler = function () {
		var elm = document.getElementById("idbetalingsmetoderid3");
		var cSessionId = Tangora.Cookies.GetCookieValue("mitabonnement", "sessionid");

		if (!ForlagsService.SignUp.IsPageValid()) {
			window.scrollTo(0, 0);
		} else {

			var ccPay = (elm && elm.checked);

			var giro = document.getElementById("idbetalingsmetoderid1");
			var pbs = document.getElementById("idbetalingsmetoderid2");
			var cc = document.getElementById("idbetalingsmetoderid3");

			if (cc && cc.checked) {
				cc.click();
			}
			else if (pbs && pbs.checked) {
				pbs.click();
			}
			else {
				giro.click();
			}

			if (!ccPay || cSessionId == _sessionid) {
				ForlagsService.SignUp.SubmitForm();
			}
			else {
				DataObject.Prepare();
				ForlagsService.OpenPaymentWindow(_medie, _sessionid);

				var pId = ForlagsService.GetShoppingListPageIdByMedia(_medie, 1);
				var w = window.open("/page" + pId + ".aspx", "paymentwindow", "width=550,height=550,toolbars=no,resizeable=no");

			}
		}
	}

	this.SubmitForm = function () {
		document.forms.generic.submit();
	}

	this.HelpTexter = function () {
		var txt = document.getElementById("ean_standardtext").innerHTML;
		txt = txt.split(">");

		if (txt.length > 3) return;

		var ean = document.getElementById("idean");
		if (ean.value == "") ean.value = txt[2];
		if (ean && ("" == "" || "" == txt[2])) ForlagsService.SignUp.SetHelpTexter(ean);

		var pay_ean = document.getElementById("idfaktureringsean");
		if (pay_ean.value == "") pay_ean.value = txt[2];
		if (pay_ean && "" == txt[2] || "" == "") ForlagsService.SignUp.SetHelpTexter(pay_ean);
	}

	this.SetHelpTexter = function (elm) {
		Tangora.Events.AddHandler(elm, "onclick", ForlagsService.SignUp.HelpTexterClickHandler);
		Tangora.Events.AddHandler(elm, "onblur", ForlagsService.SignUp.HelpTexterBlurHandler);
		elm.helpText = elm.value.replace("[[", "").replace("]]", "");
		elm.value = elm.helpText;
	}

	this.HelpTexterClickHandler = function () {
		var elm = (this == window) ? event.srcElement : this;

		if (elm.value == elm.helpText) elm.value = "";
	}

	this.HelpTexterBlurHandler = function () {
		var elm = (this == window) ? event.srcElement : this;

		if (elm.value == "") elm.value = elm.helpText;
	}

	this.OpenRulesWindow = function (href) {
		window.open(href, 'Regler', 'width=500,height=800,scrollbars=yes');
	}

	this.ReplaceAcceptText = function () {
		var txt = ch.GetValue("725", "accepttext");

		txt = txt.replace("[link]", "<a href=\"javascript:void(0)\" onclick=\"ForlagsService.SignUp.OpenRulesWindow('http://fpm.susema.dk/fpm/subscriptionterms.aspx?media=" + _medie + "&filter=" + _filter + "');\">");
		txt = txt.replace("[/link]", "</a>");

		document.getElementById("accepttext").innerHTML = txt;

		txt = ch.GetValue("100725", "marketing");
		document.getElementById("acceptmarked").innerHTML = txt;
	}

	this.CheckElementID = function (elm, strId) {
		var found = false;

		if (elm.id == strId) found = true;

		return found;
	}

	this.IsPageValid = function () {
		var success = true;
		var aSuccess = true;
		var bSuccess = true;
		var cSuccess = true;
		var lSuccess = true;

		if (document.getElementById("idbetalingsmetode").value == "2") {
			bSuccess = ForlagsService.Validator.ValidatePaymentInfo();
		}
		else {
			var elms = document.getElementById("account_info_wrapper").getElementsByTagName("input");
			for (var i = 0; i < elms.length; i++) {
				elms[i].value = "0";
			}
		}
		aSuccess = ForlagsService.Validator.ValidateAddress();

		if (document.getElementById("idleveringsmetode").value == "2") {
			lSuccess = ForlagsService.Validator.ValidatePaymentAddress();
		}

		cSuccess = ForlagsService.Validator.ValidateCustomFields();

		success = (aSuccess && bSuccess && lSuccess && cSuccess);

		return (success);
	}

	this.UpdateCountryLists = function () {
		var cElm = document.getElementById("idland");
		var pcElm = document.getElementById("idfaktureringsland");

		var cElmRow = cElm.options[cElm.selectedIndex].value;
		var pcElmRow = pcElm.options[pcElm.selectedIndex].value;

		var cCountries = ForlagsService.CountryHandler.GetCountryList(_medie, cElmRow);
		var pcCountries = ForlagsService.CountryHandler.GetCountryList(_medie, pcElmRow);
		var tmpCountries = cCountries;

		if (navigator.userAgent.match(/Android/ig)) {
			cElm.innerHTML = cCountries;
			pcElm.innerHTML = pcCountries;
		} else {
			cCountries = '<root>' + cCountries + '</root>';
			pcCountries = '<root>' + pcCountries + '</root>';

			var cXML = new XML();

			cXML.LoadXML(cCountries);

			var nodelist = cXML.selectNodes('//option');
			var node = nodelist.Next();
			while (node) {
				var opt = document.createElement('option');
				opt.text = node.text;
				opt.value = node.getAttribute('value');
				var selected = node.getAttribute('selected');
				opt.selected = (selected ? true : false);

				try {
					cElm.add(opt, null);
				} catch (ex) {
					cElm.add(opt);
				}

				node = nodelist.Next();
			}

			var pcXML = new XML();

			pcXML.LoadXML(pcCountries);

			nodelist = pcXML.selectNodes('//option');
			node = nodelist.Next();
			while (node) {
				opt = document.createElement('option');
				opt.text = node.text;
				opt.value = node.getAttribute('value');
				selected = node.getAttribute('selected');
				opt.selected = (selected ? true : false);

				try {
					pcElm.add(opt, null);
				} catch (ex) {
					pcElm.add(opt);
				}

				node = nodelist.Next();
			}
		}
		var tmp = tmpCountries.split('selected=\"selected\" value=\"')[1];
		var sId = tmp.substring(0, tmp.indexOf('"'));
		cElm.standardOption = sId;

		Tangora.Events.AddHandler(cElm, "onchange", function () { ForlagsService.SignUp.PriceOnChangeHandler(cElm); });

		var radios = document.getElementsByName("tilmeldingskampagne");
		for (var i = 0; i < radios.length; i++) {
			(function (index) {
				Tangora.Events.AddHandler(radios[index], "onclick", function () { ForlagsService.SignUp.PriceOnChangeHandler(radios[index]); });
			})(i);
		}
	}

	this.PriceOnChangeHandler = function (elm) {
		elm = (Tangora.Browser.IE) ? elm : this;

		var cElm = document.getElementById("idland");
		var country = encodeURIComponent(cElm.options[cElm.selectedIndex].value);
		var campaign = ForlagsService.SignUp.GetSelectedCampaign();

		var pw = document.getElementById("price-wrapper");
		var price = ForlagsService.PriceHandler.GetPrice(_medie, campaign, country);
		if (price.indexOf(",") == -1) price = price.toString() + ",-";
		pw.innerHTML = price;

		if (elm != null && elm.tagName && elm.tagName.toLowerCase() == "select") {
			window.alert(ch.GetValue("725", "confirmtext"));
			//window.alert("OBS. Prisen er nu blevet ændret til: " + price);
		}

		document.getElementById("price-row-wrapper").style.display = (cElm.options[cElm.selectedIndex].value != cElm.standardOption) ? "block" : "none";
	}

	this.GetSelectedCampaign = function () {
		var camps = document.getElementsByName("tilmeldingskampagne");
		var campaignId = "";
		var campaignName = "";

		for (var i = 0; i < camps.length; i++) {
			if (camps[i].checked) {
				campaignId = camps[i].value;

				var pNode = camps[i].parentNode;
				var lbl = pNode.getElementsByTagName("label")[0];
				campaignName = lbl.innerHTML;

				break;
			}
		}

		return campaignId;
	}

	this.ToggleRecruitNumber = function (abn) {
		if (abn == '') {
			document.getElementById('recruiter-container').style.display = 'none';
		}

		var url = document.location.href;

		if (abn != '' && url.indexOf('action=post') == -1) {
			/* Løb igennem alle input felter og lav dem tomme */
			var inputs1 = document.getElementById('address_wrapper')
				.getElementsByTagName('input');

			var max = inputs1.length;

			for (var i = 0; i < max; i++) {
				if (inputs1[i].type == 'text') {
					inputs1[i].value = '';
				}
			}

			var inputs2 = document.getElementById('payment_address_wrapper')
				.getElementsByTagName('input');

			max = inputs2.length;

			for (i = 0; i < max; i++) {
				if (inputs2[i].type == 'text') {
					inputs2[i].value = '';
				}
			}
		}
	}

	this.InitPaymentMethods = function () {
		var chs = document.getElementsByName("betalingsmetoder");

		for (var i = 0; i < chs.length; i++) {
			(function (index) {
				var pNode = chs[index].parentNode;
				var lbl = pNode.getElementsByTagName("label")[0];
				if (lbl && lbl.tagName.toLowerCase() == "label") {
					if (lbl.innerHTML == 'ccrep') {
						lbl.innerHTML = ch.GetValue('100725', 'ccrep');
					}
					else {
						lbl.innerHTML = ch.GetValue("725", lbl.innerHTML);
					}
				}
			})(i);
		}
	}

	this.InitSignUp = function (medie, sessionid, filter, userid, hidelogo) {
		_medie = medie;
		_sessionid = sessionid;
		_filter = filter;

		ForlagsService.SignUp.HideLogo(hidelogo);
		ForlagsService.SignUp.ToggleRecruitNumber(userid);
		ForlagsService.SignUp.InitClickHandlers();
		ForlagsService.SignUp.InitPaymentMethods();

		if ($('#idbetalingsmetoderid4').is('checked')) {
			ForlagsService.SignUp.CreateAbnOrder();
			ForlagsService.SignUp.ChangeSignUpSubmit();
		}

		jQuery('#idbetalingsmetoderid4').click(function () {
			ForlagsService.SignUp.CreateAbnOrder();
			ForlagsService.SignUp.ChangeSignUpSubmit();
		});

		var tilmeld = $elms('input[name="tilmeldingskampagne"]');

		for (var i = 0; i < tilmeld.length; i++) {
			(function (index) {
				tilmeld[index].onclick = function () { ForlagsService.SignUp.SignUpCampaignHandler(tilmeld[index]); };
			})(i);
		}

		//NEEDS A FIX!
		setTimeout(function () { ForlagsService.SignUp.InitCampaignSelection(); }, 300);
	}

	this.SignUpCampaignHandler = function (that) {
		var value = that.value;

		ForlagsService.SignUp.PresentSubscription(value);
		ForlagsService.SignUp.FixedPaymentMethod(value);
		ForlagsService.SignUp.GiftCertificate(value);
	}

	this.InitCampaignSelection = function () {
		if ($('input[name=tilmeldingskampagne]').is(':checked')) {
			var value = $('input[name=tilmeldingskampagne]:checked').val();

			ForlagsService.SignUp.PresentSubscription(value);
			ForlagsService.SignUp.GiftCertificate(value);
			ForlagsService.SignUp.FixedPaymentMethod(value);
		}
	}

	this.ChangeSignUpSubmit = function () {

		var buttonTitle = ch.GetValue("725", "send");

		var strHTML = '<a href="javascript:ForlagsService.SignUp.AbnHandler()" class="btn_blue_right">' + buttonTitle + '</a>';

		$('.btn_blue_left').html(strHTML);
	}

	this.AbnHandler = function () {
		if (!ForlagsService.SignUp.IsPageValid()) { window.scrollTo(0, 0); return; }

		var host = window.location.hostname;

		var buttonTitle = ch.GetValue("725", "send");

		$('.btn_blue_left').html('<span class="btn_blue_right">' + buttonTitle + '</span>');

		var FormData = $("form[name=generic]").serializeArray();

		var country = '';
		var campaignid = '';
		var media = '';
		var rndkey = '';
		var price = 0;
		var merchant;

		$.ajax({
			async: false,
			type: "POST",
			url: "/page4161.aspx?action=post&layoutid=1&docid=0&listid=-300092&recid=" + _abnid,
			data: FormData,
			success: function (data) {
				country = $('#idland :selected').text();
				campaignid = $('input[name=tilmeldingskampagne]:checked').val();
				rndkey = Math.random();
			},
			dataType: "text"
		});

		$.ajax({
			async: false,
			type: 'GET',
			url: 'http://' + host + '/services/proxy.ashx',
			data: 'endpoint=87.54.30.67/Forlagsservice/ajax.ashx&action=campaignprice&media=' + _medie + '&campaign=' + campaignid + '&country=' + country + '&rndkey=' + rndkey + '&nocache=true',
			dataType: 'text',
			success: function (data) {
				data = data.replace(',', '.');
				price = (data * 100);
			}
		});

		$.ajax({
			async: false,
			type: 'GET',
			url: 'http://' + host + '/services/proxy.ashx',
			data: 'endpoint=87.54.30.67/Forlagsservice/ajax.ashx&action=mediadibsmerchant&media=' + _medie,
			dataType: 'text',
			success: function (data) {
				merchant = data;
			}
		});

		var name = $('#idnavn').val();
		var address = $('#idgade').val();

		var strHTML = '<html>'
		+ '<head>'
		+ '<title>Example of a payment form</title>'
		+ '<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />'
		+ '<meta http-equiv="Content-Script-Type" content="text/javascript" />'
		+ '<meta http-equiv="Content-Style-Type" content="text/css" />'
		+ '<script type="text/javascript">'
		+ 'var price = 0;'
		+ 'window.onload = function (evt) { document.payform.submit(); }'
		+ '</script>'
		+ '</head>'
		+ '<body>'
		//+ '<form name="payform" method="post" action="https://payment.architrade.com/payment/start.pml">'
		+ '<form name="payform" method="post" action="https://payment.architrade.com/paymentweb/start.action">'
		  + '<input type="hidden" name="merchant" value="' + merchant + '" />'
		  + '<input type="hidden" name="orderid" value="' + _abnid + '" />'
		  + '<input type="hidden" name="lang" value="da" />'
		  + '<input type="hidden" name="amount" value="' + price + '" />'
		  + '<input type="hidden" name="currency" value="208" />'
		//+'<input type="hidden" name="capturenow" value="true">'
		//+'<input type="hidden" name="uniqueoid" value="true">'
		  + '<input type="hidden" name="accepturl" value="http://' + host + '/page4163.aspx?beloeb=' + price + '" />'
		//	  + '<input type="hidden" name="callbackurl" value="http://' + host + '/page4163.aspx?beloeb=' + price + '" />'
		  + '<input type="hidden" name="cancelurl" value="http://' + host + '/page4164.aspx" />'
		//+'<input type="hidden" name="calcfee" value="false" />'
		  + '<input type="hidden" name="maketicket" value="true">'
		  + '<input type="hidden" name="delivery1.Navn" value="' + name + '" />'
		  + '<input type="hidden" name="delivery2.Adresse" value="' + address + '" />'
		+ '</form>'
		+ '</body>'
		+ '</html>';

		_win = window.open('', 'DIBS', "height=650,width=550");
		_win.document.open("text/html", "replace");
		_win.document.write(strHTML);
		_win.document.close();
	}

	this.CreateAbnOrder = function () {
		var FormData = $("form[name=generic]").serializeArray();

		for (var i = 0; i < FormData.length; i++) {

			if (FormData[i].name == "r_leveringsmetode") {
				FormData[i].name = "leveringsmetode";
				FormData[i].value = "0";
			}
		}

		$.ajax({
			type: "POST",
			url: "/page4161.aspx?action=post&layoutid=1&docid=0&listid=-300092&recid=",
			data: FormData,
			success: function (data) {
				var result = data.match(/\[\[.*?\]\]/);

				var tempid = result[0];

				var length = tempid.length - 2;

				var id = tempid.substring(2, length);

				_abnid = id;
			},
			dataType: "text"
		});
	}

	this.PostFinal = function (strTicket, strTransnr, strAuthKey, strBeloeb) {

		$('#idregnr').val('1');
		$('#idkontonr').val('1');
		$('#idfoedselsdato').val('1');
		$('#idcpr').val('1');

		$('#iddibsticket').val(strTicket);
		$('#iddibstransnr').val(strTransnr);
		$('#idauthkey').val(strAuthKey);

		strBeloeb = (strBeloeb / 100) + '';
		strBeloeb = strBeloeb.replace('.', ',');

		$('#iddibsbeloeb').val(strBeloeb);

		var FormData = $("form[name=generic]").serializeArray();

		$.ajax({
			async: false,
			type: "POST",
			url: "/page4161.aspx?action=post&layoutid=1&docid=0&listid=-300092&recid=" + _abnid,
			data: FormData,
			dataType: "text"
		});

		//win.close();
		ForlagsService.SignUp.SubmitForm();
	}

	this.PresentSubscription = function (medieid) {
		var chosen = 0;
		$('#idpresentsubscription option').each(function () {

			var value = parseInt($(this).val());
			var id = parseInt($(this).html());

			if (value == medieid) {
				chosen = id;
			}

		});

		if (chosen > 0) {
			$('#idleveringsmetode').val('2');
			$('#address_options').hide();
			$('#payment_address_wrapper').show();
		} else {
			$('#idleveringsmetode').val('1');
			$('#address_options').show();
			$('#payment_address_wrapper').hide();
		}
	}

	this.GiftCertificate = function (medieid) {
		var chosen = 0;
		$('#idgiftcertificate option').each(function () {

			var value = parseInt($(this).val());
			var id = parseInt($(this).html());

			if (value == medieid) {
				chosen = id;
			}

		});
		var host = window.location.hostname;
		var chosen2 = $ts.ajax({
			url: 'http://' + host + '/services/proxy.ashx?endpoint=87.54.30.67/Forlagsservice/ajax.ashx&action=mediagiftcertificate&media=' + _medie,
			type: 'GET',
			async: false
		});

		chosen2 = parseInt(chosen2);

		if (chosen === 1 || chosen2 === 1) {
			$elm('idgiftcertificatesend').value = 1;
			$elm('giftceritificateurl').innerHTML = '<a href="/media/forlagsservice/' + _medie + '_gavekort.pdf" target="_blank">' + ch.GetValue("100725", "giftcertificateurl"); +'</a>';
			$elm('giftcertificatecontainer').style.display = 'block';
		} else {
			if ($ts.exists($elm('idgiftcertificatesend'))) {
				$elm('idgiftcertificatesend').value = 0;
				$elm('giftcertificatecontainer').style.display = 'none';
				$elm('giftceritificateurl').innerHTML = '';
			}
		}
	}

	this.FixedPaymentMethod = function (medieid) {
		var chosen = 0;
		$('#idfixedpaymentmethod option').each(function () {

			var value = parseInt($(this).val());
			var id = parseInt($(this).html());
			if (isNaN(value)) {
				chosen = -1;
			} else if (value == medieid) {
				chosen = id;
			}

		});

		if (chosen === -1) {
			$elm('maincell').innerHTML = ch.GetValue('100725', 'nocampaign');
			$elm('footer-wrapper').style.display = 'none';
		} else if (chosen === 5) {
			var counter = 0;
			$('input[name=betalingsmetoder]').each(function () {
				if (counter === 0) {
					$(this).attr('checked', true);
				}
				counter++;
			});

			var payment = $('input[name=betalingsmetoder]:checked');
			payment.val(1);
			payment.attr('id', 'idbetalingsmetoderid1');

			$('#account_info_wrapper').hide();
			$('#address_options').hide();
			$('#idbetalingsmetode').val(1);
			$elm('idbetalingsmetodenavn').value = '';

			$('input[name=betalingsmetoder]').parent().parent().parent().parent().parent().hide();

		} else {

			if (chosen > 0) {

				$('#idbetalingsmetode').val(chosen);
				if (chosen == 2) {
					$('#account_info_wrapper').show();
				} else if (chosen == 4) {
					ForlagsService.SignUp.CreateAbnOrder();
					ForlagsService.SignUp.ChangeSignUpSubmit();
				} else {
					$('#account_info_wrapper').hide();
				}

				var strChosen = 'idbetalingsmetoderid' + chosen;

				$('#' + strChosen).attr('checked', true);
				$('#' + strChosen).parent().parent().show();

				$('input[name=betalingsmetoder]').each(function () {
					var id = $(this).attr('id');
					if (id != strChosen) {
						$(this).parent().parent().hide();
						//$(this).hide();
						//$('label[for='+id+']').hide();
					}

				});
			} else {
				counter = 0;
				$('input[name=betalingsmetoder]').each(function () {
					if (counter === 0) {
						$(this).attr('checked', true);
					}
					counter++;
				});

				$('input[name=betalingsmetoder]').parent().parent().show();

				payment = $('input[name=betalingsmetoder]:checked').attr('id');

				payid = payment.replace('idbetalingsmetoderid', '');
				payid = parseInt(payid);

				if (payment.indexOf('2') >= 0) {
					$('#idbetalingsmetode').val(payid);
					$('#account_info_wrapper').show();
				} else if (payment.indexOf('4') >= 0) {
					ForlagsService.SignUp.CreateAbnOrder();
					ForlagsService.SignUp.ChangeSignUpSubmit();
					$('#idbetalingsmetode').val(payid);
					$('#account_info_wrapper').hide();
				} else {
					$('#account_info_wrapper').hide();
					$('#idbetalingsmetode').val(payid);
				}
			}
		}
	}

	this.HideLogo = function (hidelogo) {
		if (hidelogo === '1') {
			$elm('footer-wrapper').style.display = 'none';
			$elm('header-wrapper').style.display = 'none';
			document.body.style.background = '#F2F2F2';
			document.body.style.backgroundImage = 'none';
		}
	}

	this.LoadCustomFields = function (width) {
		var _width = 27;
		if ($ts.exists(width)) {
			_width = width;
		}

		var _width2 = 100 - _width;

		var root = $elm('customfieldscontainer');

		var fields = [];
		fields["txt1"] = 'text_1';
		fields["txt2"] = 'text_2';
		fields["txt3"] = 'text_3';
		fields["real1"] = 'real_1';
		fields["real2"] = 'real_2';
		fields["real3"] = 'real_3';
		fields["date1"] = 'date_1';
		fields["date2"] = 'date_2';
		fields["date3"] = 'date_3';
		for (var idx in fields) {
			(function (index) {
				var c = fh.Get(fields[index]);
				if (c.indexOf('<ajax') == -1) {
					if (c.length > 0) {
						var tr = $ts.createElement('tr');
						var captionParts = c.split('|');
						var caption = captionParts[0];
						var fldOwner = $elm(index);

						var td1 = $ts.createElement('td', null, { 'width': _width +'%', 'padding': '2px 0px' });
						td1.appendChild(document.createTextNode(caption));
						var td2 = {};
						var input = $elm('id' + index);

						if (captionParts[2] == 'DROPDOWN') {
							var dp = new xDatePicker(fldOwner.firstChild, 'id' + index);

							td2 = $ts.createElement('td', null, { 'width': _width2 + '%', 'padding': '2px 0px' });
							td2 = dp.display2(td2, 'id' + index)
						} else {

							td2 = $ts.createElement('td', null, { 'width': _width2 + '%', 'padding': '2px 0px' });
							td2.appendChild(input);

							fldOwner.parentNode.removeChild(fldOwner);
						}

						if (captionParts[1] == 'MANDATORY') {
							if (input) {
								input.className = 'mandatory';
							}

							var errorElm = $ts.createElement('span', null, { 'color': '#ff0000' });
							errorElm.appendChild(document.createTextNode('*'));
							td2.appendChild(errorElm);
						}

						tr.appendChild(td1);
						tr.appendChild(td2);

						root.appendChild(tr);
					}
				}
			})(idx);
		}
	}
}

function xCheckPausing() {
	var fra = true;
	var til = true;
	$('#idfra_blad > option').each(function (index, value) {
		if ($(this).text() == '( vent venligst )' || $(this).text() == '' || $(this).text() == 'udefined') {
			fra = false;
		}
	});

	$('#idtil_blad > option').each(function (index, value) {
		if ($(this).text() == '( vent venligst )' || $(this).text() == '' || $(this).text() == 'udefined') {
			til = false;
		}
	});

	if (!fra || !til) {
		$('#send_buttons .btn_blue_right').attr('href', 'javascript: return false;');
		$('#send_buttons .btn_blue_right').addClass('btn_disabled');
	} else {
		$('#send_buttons .btn_blue_right').attr('href', 'javascript: document.forms.generic.submit();');
		$('#send_buttons .btn_blue_right').removeClass('btn_disabled');
	}

	setTimeout(function () { ForlagsService.CheckPausing(); }, 10);
}

function xDataObject() {
	var val = "";


	this.Prepare = function () {
		val = "";

		var mainCell = document.getElementById("maincell");
		var fields = mainCell.getElementsByTagName("input");

		for (var i = 0; i < fields.length; i++) {
			var fieldType = fields[i].type.toLowerCase();

			switch (fieldType) {
				case "radio":
					if (fields[0].checked) {
						var pNode = fields[i].parentNode;
						var lbl = pNode.getElementsByTagName("label")[0];
						if (lbl) val += lbl.innerHTML + ";";
					}
					break;
				case "checkbox":
					break;
				default:
					if ((fields[i].value != "") && (fields[i].value != "(Gælder kun offentlige virksomheder)")) val += fields[i].value + ";";
					break;
			}
		}
	}

	this.Get = function () {
		return val;
	}
}

var DataObject = new xDataObject();

ForlagsService.PasswordCopy = xPasswordCopy;
ForlagsService.MediaGraphic = new xMediaGraphic();
ForlagsService.NavigationList = xNavigationList;
ForlagsService.ActionFixer = xActionFixer;
ForlagsService.FormKeyHandler = xFormKeyHandler;
ForlagsService.AccessControl = xAccessControl;
ForlagsService.NeutralElementsHider = xNeutralElementsHider;
ForlagsService.AttachPageGraphicLink = xAttachPageGraphicLink;
ForlagsService.LanguageHandler = new xLanguageHandler();
ForlagsService.CaptionHandler = xCaptionHandler;
ForlagsService.CustomFieldHandler = xFieldCaptionHandler;
ForlagsService.OpenPaymentWindow = xOpenPaymentWindow;
ForlagsService.AddPaymentToBasket = xAddPaymentToBasket;
ForlagsService.AddPaymentToBasketCallBack = xAddPaymentToBasketCallBack;
ForlagsService.AddToBasket = xAddToBasket;
ForlagsService.AddToBasketDone = xAddToBasketDone;
ForlagsService.CountryHandler = new xCountryHandler();
ForlagsService.PriceHandler = new xPriceHandler();
ForlagsService.GetShoppingListUrlByMedia = xGetShoppingListUrlByMedia;
ForlagsService.GetShoppingListIdByMedia = xGetShoppingListIdByMedia;
ForlagsService.GetMediaExceptionValueByMedia = xGetMediaExceptionValueByMedia;
ForlagsService.GetShoppingListPageIdByMedia = xGetShoppingListPageIdByMedia;
ForlagsService.HideDeliveryAddress = xHideDeliveryAddress;
ForlagsService.HideNewsletter = xHideNewsletter;
ForlagsService.DatePicker = new xDatePicker();
ForlagsService.LookUpCaption = xLookUpCaption;
ForlagsService.LocaliseLogin = xLocaliseLogin;
ForlagsService.CreateSignMeUp = xCreateSignMeUp;
ForlagsService.Validator = new xValidator();
ForlagsService.Vacation = new xVacation();
ForlagsService.PauseHandler = new xPauseHandler();
ForlagsService.SignUpCCRep = new xSignUpCCRep();
ForlagsService.ReloadUser = xReloadUser;
ForlagsService.UserAccountWarning = xUserAccountWarning;
ForlagsService.MediaChangeStyler = xMediaChangeStyler;
ForlagsService.HideSelect = xHideSelect;
ForlagsService.SignUp = new xSignUp();
ForlagsService.CheckPausing = xCheckPausing;
ForlagsService.GetShoppingListUrlByMediaForConfigurator = xGetShoppingListUrlByMediaForConfigurator;
