

function inet_open_win() {
	if (ua["dom"]) {
		var url = "";
		var target = "";

		var attributes = "";


		if (arguments.length > 0) {
			url = arguments[0];
		}

		//Target attribute:
		if (arguments.length > 1) {
			target = arguments[1];
		}
			
		//Optional attributes:
		if (arguments.length > 2) {
			width = 0;
			height = 0;
			center = false;

			tmp = arguments[2];
			tmp_a = tmp.split(",");
			tmp = ""
			for (i = 0; i < tmp_a.length; i++) {
				val_a = tmp_a[i].split("=");
				if (val_a.length == 2) {
					if (i > 0) tmp += ",";

					if (val_a[0] == "width") width = val_a[1]
					else if (val_a[0] == "height") height = val_a[1]

					tmp += val_a[0]+"="+val_a[1];
				
				}
				else if (val_a.length > 0) {
					switch(val_a[0]) {
						case "center" :
							center = true;
							break;
					}
				}
			}
			if (center) {
				x_pos = (screen.width - width) / 2;
				y_pos = (screen.height - height) / 2;

				if (tmp.length > 0) tmp += ",";
				tmp += "left="+x_pos+",top="+y_pos
			}
			attributes = tmp;
		}
	
		win = window.open(url, target, attributes);
		win.focus();
		return false;
	}
}

	
function inet_pop_win(pageToLoad, winName, width, height, center, ramme) {
	xposition=0; yposition=0;
	if ((parseInt(navigator.appVersion) >= 4 ) && (center)){
		xposition = (screen.width - width) / 2;
		yposition = (screen.height - height) / 2;
		}
	width = width + ramme * 2
	args = "width=" + width + "," 
	+ "height=" + height + "," 
	+ "location=0," 
	+ "menubar=0,"
	+ "resizable=0,"
	+ "scrollbars=0,"
	+ "status=0," 
	+ "titlebar=0,"
	+ "toolbar=0,"
	+ "hotkeys=0,"
	+ "left=" + xposition + ","
	+ "top=" + yposition;

	window.open(pageToLoad+"&ramme="+ramme,winName,args );
}


/*****************/
/**** OPTIONS ****/


function inet_print() {
	if (!ua["iemac"]){// && !ua["safari"]) {
		window.print();
	}
	return false;
}


function inet_search() {
	document.forms["options_search"].submit();
	return false;
}

/**** OPTIONS ****/
/*****************/


/* Does the element <elm> have the className <cname>? */
function hasClassName(elm, cname) {
	if (ua["dom"]) {
		if (elm != null) {
			if (elm.className != null) {
				aCname = elm.className.split(" ");
				for (j=0; j<aCname.length; j++) {
					if (aCname[j] == cname) return true;
				}
			}
		}
	}
	return false;
}


/* Add the className <cname> to element <obj> */
function addClassName(obj, cname) {
	if (obj) {
		if (!hasClassName(obj, cname)) {
			obj.className += (obj.className.length > 0 ? " "+cname : cname);
		}
	}
}

/* Remove the className <cname> from element <obj> */
function removeClassName(obj, cname) {
	if (obj) {
		var res = "";
		var aCname = obj.className.split(" ");

		for (var i = 0; i < aCname.length; i++) {
			res += (aCname[i] == cname ? "" : " "+aCname[i]);
		}
		res = res.trim();
		obj.className = res;
	}					
}


/* Extends String objects with a trim function */
String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g, "");
}

/* Returns a string formatted as a float / decimal value with separators */
String.prototype.formatFloat = function() {
	var res = this;
	var kSep = "."; //Default kilo separator
	var dSep = ","; //Default decimal separator

	//Other separators may be supplied as arguments:
	if (arguments.length > 0) {
		kSep = (arguments.length >= 1 ? arguments[0] : kSep);
		dSep = (arguments.length >= 2 ? arguments[1] : dSep);
	}

	var rx = /^(-?)(\d+)(?:\D(\d+))?$/;

	if (res.match(rx)) {
		var s = res.replace(rx, "$1") + "";
		var i = res.replace(rx, "$2") + "";
		var d = res.replace(rx, "$3") + "";

		var tmp = "";


		var c = 1;
		for (var j = i.length - 1; j >= 0; j--) {

			tmp = i.substr(j, 1) + tmp;

			if (c % 3 == 0) {
				if (j > 0) {
					tmp = kSep + tmp;
				}
			}

			c++;
		}

		i = tmp;

		res = s + i + (d != "" ? dSep + d : "");
	}
	else {
		res = "";
	}

	return res;	
}



function isEmail(s) {
	var rx = /^[a-z0-9\-_\.]*[a-z0-9\-_]@([a-z0-9\-\.])+\.[a-z]{2,4}$/i;
	return s.match(rx);
}


function toggleObject(obj, b) {
	if (obj) {
		obj.style.display = (b ? "block" : "none");
	}
}

function setMultiSearch(obj, id) {
	if (ua["dom"]) {
		if (obj) {
			var oTr = obj.parentNode;
			if (oTr) {

				var aTd = oTr.getElementsByTagName("TD");

				var oHouseSearch = document.getElementById("houseSearch");
				var oMiniSearch = document.getElementById("miniSearch");
				var oCultureSearch = document.getElementById("cultureSearch");

				for (var i = 0; i < aTd.length; i++) {
					if (aTd[i] == obj) {
						addClassName(aTd[i], "current");
					}
					else {
						removeClassName(aTd[i], "current");
					}
				}

				toggleObject(oHouseSearch, (id == "houseSearch"));
				toggleObject(oMiniSearch, (id == "miniSearch"));
				toggleObject(oCultureSearch, (id == "cultureSearch"));
			
			}
		}
	}
	return false;
}

	

/**************/
/**** INIT ****/

function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != "function") {
		window.onload = func;
	}
	else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}

/**** INIT ****/
/**************/



/*********************/
/**** MULTISEARCH ****/

function openCalendar(mode) {
	if (ua["dom"]) {
		var dtStr = "";
		var url = "/site/custom/calendar/?language_id=1";

		switch(mode) {
			case "msHouse" :
				var oD = document.getElementById("hdt_day");
				var oM = document.getElementById("hdt_month");
				var oY = document.getElementById("hdt_year");
			
				dtStr = oY[oY.selectedIndex].value +"-"+ oM[oM.selectedIndex].value +"-"+ oD[oD.selectedIndex].value;
				break;
			
			case "msMiniB" :
				var oD = document.getElementById("mdt_bd");
				var oM = document.getElementById("mdt_bm");
				var oY = document.getElementById("mdt_by");
			
				dtStr = oY[oY.selectedIndex].value +"-"+ oM[oM.selectedIndex].value +"-"+ oD[oD.selectedIndex].value;
				break;

			case "msMiniE" :
				var oD = document.getElementById("mdt_ed");
				var oM = document.getElementById("mdt_em");
				var oY = document.getElementById("mdt_ey");
			
				dtStr = oY[oY.selectedIndex].value +"-"+ oM[oM.selectedIndex].value +"-"+ oD[oD.selectedIndex].value;
				break;

			case "msKultunaut" :
				var oD = document.getElementById("cdt_day");
				var oM = document.getElementById("cdt_month");
				var oY = document.getElementById("cdt_year");

				dtStr = oY[oY.selectedIndex].value +"-"+ oM[oM.selectedIndex].value +"-"+ oD[oD.selectedIndex].value;
				break;

			case "kultunaut" :
				var oD = document.getElementById("dt_day");
				var oMY = document.getElementById("dt_monthyear");
				var sMY = oMY[oMY.selectedIndex].value;

				var rx = /^(\d{1,2})-(\d{4})$/;
				dtStr = sMY.replace(rx, "$2") +"-"+ sMY.replace(rx, "$1") +"-"+ oD[oD.selectedIndex].value;
				break;

			case "house" :
				var oD = document.getElementById("FRd");
				var oM = document.getElementById("FRm");
				var oY = document.getElementById("FRy");
			
				dtStr = oY[oY.selectedIndex].value +"-"+ oM[oM.selectedIndex].value +"-"+ oD[oD.selectedIndex].value;
				break;
			
			case "houseFilter" :
				var oD = document.getElementById("FRd");
				var oMY = document.getElementById("FRmy");
				var sMY = oMY[oMY.selectedIndex].value;

				var rx = /^(\d{1,2})-(\d{4})$/;
				dtStr = sMY.replace(rx, "$2") +"-"+ sMY.replace(rx, "$1") +"-"+ oD[oD.selectedIndex].value;
				break;

			case "miniB" :
				var oD = document.getElementById("fd");
				var oMY = document.getElementById("fmy");
				var sMY = oMY[oMY.selectedIndex].value;

				var rx = /^(\d{1,2})-(\d{4})$/;
				dtStr = sMY.replace(rx, "$2") +"-"+ sMY.replace(rx, "$1") +"-"+ oD[oD.selectedIndex].value;
				break;

			case "miniE" :
				var oD = document.getElementById("td");
				var oMY = document.getElementById("tmy");
				var sMY = oMY[oMY.selectedIndex].value;

				var rx = /^(\d{1,2})-(\d{4})$/;
				dtStr = sMY.replace(rx, "$2") +"-"+ sMY.replace(rx, "$1") +"-"+ oD[oD.selectedIndex].value;
				break;

			case "qMiniB" :
				var oD = document.getElementById("qfd");
				var oMY = document.getElementById("qfmy");
				var sMY = oMY[oMY.selectedIndex].value;

				var rx = /^(\d{1,2})-(\d{4})$/;
				dtStr = sMY.replace(rx, "$2") +"-"+ sMY.replace(rx, "$1") +"-"+ oD[oD.selectedIndex].value;
				break;
			
			case "qMiniE" :
				var oD = document.getElementById("qtd");
				var oMY = document.getElementById("qtmy");
				var sMY = oMY[oMY.selectedIndex].value;

				var rx = /^(\d{1,2})-(\d{4})$/;
				dtStr = sMY.replace(rx, "$2") +"-"+ sMY.replace(rx, "$1") +"-"+ oD[oD.selectedIndex].value;
				break;


		}
	
		url += "&date="+ dtStr +"&mode="+ mode;

		inet_open_win(url, "calendar_win", "width=200,height=230,center");

	}
	return false;
}


function validateMSHouseSearch(frm) {
	if (ua["dom"]) {
		frm.startdate.value = frm.y.value +"-" + frm.m.value + "-" + frm.d.value;
		frm.submit();
	}
	return false;
}

/**** MULTISEARCH ****/
/*********************/



/**************************/
/**** COOKIE FUNCTIONS ****/

var cookie_domain = window.location.hostname;

function createCookie(name, value, days) {
	if (days) {
			var date = new Date();
			date.setTime(date.getTime()+(days*24*60*60*1000));
			var expires = "; expires=" + date.toGMTString();
	}
	else var expires = "";

	value = escape(value);

	document.cookie = name + "=" + value + expires + ";domain=" + cookie_domain + ";path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(";");
	for (var i=0; i<ca.length; i++) {
		var c = ca[i];
		while (c.charAt(0)==" ") c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

/**** COOKIE FUNCTIONS ****/
/**************************/


/**********************************/
/**** DYNAMIC STYLE SHEET LOAD ****/

var fontsizeCookieId = "fontsize";

function loadFontSizeCSS(obj) {
	if (ua["dom"]) {
		var loc = window.location;
		var cssTitle = "fontsize";
		var cssOn = "/site/css/inet_fontsize_on.css";
		var cssOff = "/site/css/inet_fontsize_off.css";
		var cssHref = "";
		var mode = 0;

		if (!ua["iemac"] && !ua["safari"]) {

			var aStyleSheets = document.styleSheets;
			var oStyleSheet = null;
			for (var i = 0; i < aStyleSheets.length; i++) {
				if (aStyleSheets[i].title == cssTitle) {
					oStyleSheet = aStyleSheets[i];
					i = aStyleSheets.length;
				}
			}
			
			if (oStyleSheet != null) {
				var rootUrl = loc.protocol +"//"+ loc.host;
				cssHref = oStyleSheet.href.replace(rootUrl, "");
				if (cssHref == cssOff) {
					cssHref = cssOn;
					mode = 1;
				}
				else {
					cssHref = cssOff;
					mode = 0;
				}
				
				if (ua["iewin"]) { //IE/Win only:
					oStyleSheet.href = cssHref;
				}
				else {
					var aLink = document.getElementsByTagName("link");
					var oLink = null;
					for (var i = 0; i < aLink.length; i++) {
						if (aLink[i].type == "text/css") {
							if (aLink[i].title == cssTitle) {
								oLink = aLink[i];
								i = aLink.length;
							}
						}
					}
					if (oLink != null) {
						oLink.parentNode.removeChild(oLink);
					}
	
				}

			}
			
			
			if (!ua["iewin"]) {
				var oLink = document.createElement("link");
				oLink.setAttribute("type", "text/css");
				oLink.setAttribute("rel", "stylesheet");
				oLink.setAttribute("media", "screen, projection");
				oLink.setAttribute("title", cssTitle);
				oLink.setAttribute("href", cssHref);

				var oHead = document.getElementsByTagName("head")[0];
				oHead.appendChild(oLink);				
			}

			//Change link text:
			obj.innerHTML = (mode == 1 ? "Mindre tekst" : "Større tekst");
			obj.blur();


			var cv = readCookie(fontsizeCookieId);
			if (cv) {
				eraseCookie(fontsizeCookieId);
			}
			createCookie(fontsizeCookieId, mode, 365);

			return false;
		}



		else { //IE MAC
			var mode = 0;
			var cv = readCookie(fontsizeCookieId);
			mode = ((cv == "0" || cv == null) ? 1 : 0);
			eraseCookie(fontsizeCookieId);
			createCookie(fontsizeCookieId, mode, 365);
			

			var params = loc.search;
			var paramsArr = null;
			if (params.length > 0) {
				params = params.substr(1, params.length - 1);
			}
			if (params.length > 0) {
				paramsArr = params.split("&");
			}

			var paramsStr = "";
			var txtStr = "fontsize=1";
			if (paramsArr != null) {
				for (var i = 0; i < paramsArr.length; i++) {
					if (paramsArr[i] != txtStr) {
						paramsStr += (paramsStr.length > 0 ? "&" : "") + paramsArr[i];
					}
				}				
			}

			var url = loc.protocol +"//"+ loc.host + loc.pathname + (paramsStr == "" ? "" : "?" + paramsStr);
			obj.href = url;

			return true;
		}
	}
}

/**** DYNAMIC STYLE SHEET LOAD ****/
/**********************************/



/*****************/
/**** SUBMENU ****/

function toggleMenuLink(obj) {
	if (ua["dom"]) {
		var oParent = obj.parentNode;

		if (hasClassName(oParent, "closed")) {
			addClassName(oParent, "open");
			removeClassName(oParent, "closed");
		}
		else if (hasClassName(oParent, "open")) {
			addClassName(oParent, "closed");
			removeClassName(oParent, "open");
		}
	}
	return false;
}

/**** SUBMENU ****/
/*****************/






/*****************/
/*** AREA MAP ****/

function toggleAreaMap(id) {
	if (ua["dom"]) {
		var oImg = document.getElementById("areaMap");
		oImg.src = arrMaps[id].src;
	}
}

function toggleAreaItem(id) {
	if (ua["dom"]) {
		var oDiv = document.getElementById("areaFilter");
		var aLI = oDiv.getElementsByTagName("li");
		for (var i = 0; i < aLI.length; i++) {
			if (aLI[i].id == "area"+ id) {
				addClassName(aLI[i], "hl");
			}
			else {
				removeClassName(aLI[i], "hl");
			}
		}
	}
}

function resetAreaItem() {
	if (ua["dom"]) {
		var oDiv = document.getElementById("areaFilter");
		var aLI = oDiv.getElementsByTagName("li");
		for (var i = 0; i < aLI.length; i++) {
			removeClassName(aLI[i], "hl");
		}
	}
}


function resetAreaMap() {
	if (ua["dom"]) {
		if (defMap != null) {
			var oImg = document.getElementById("areaMap");
			oImg.src = defMap.src;
		}
	}
}


function overArea(id) {
	toggleAreaMap(id);
	if (!customerMap) {
		toggleAreaItem(id);
	}
}

function outArea() {
	resetAreaMap();
	if (!customerMap) {
		resetAreaItem();
	}
}



function overAreaItem(id) {
	toggleAreaItem(id);
	if (!customerMap) {
		toggleAreaMap(id);
	}
}

function outAreaItem(id) {
	resetAreaItem();
	if (!customerMap) {
		toggleAreaItem();
	}
}


function overAreaDot(obj) {
	obj.style.backgroundImage = "url(/site/images/mapfilter/dot1.png)";
}

function outAreaDot(obj) {
	obj.style.backgroundImage = "url(/site/images/mapfilter/dot0.png)";
}




/*** AREA MAP ****/
/*****************/



/**********************/
/**** MINI HOLIDAY ****/

function toggleImgThumb(i) {
	if (ua["dom"]) {
		var oDiv = document.getElementById("imgRoot");
		var aC = oDiv.getElementsByTagName("img");
		if (aC.length > 0) {
			var oImg = aC[0];
			if (oImg) {
				var oA = oImg.parentNode;
				if (oA) {
					var self = oA;
					oA.href = "/site/skabeloner/i_templ_imgpop.asp?ass_id="+ imgThumbs[i].id;
					oA.onclick = function() {
						return inet_open_win(self.href, "Img", "width="+ imgThumbs[i].mw +",height="+ imgThumbs[i].mh +",center");
					}
				}

				oImg.src = imgThumbs[i].src;
				oImg.width = imgThumbs[i].w;
				oImg.height = imgThumbs[i].h;
			}
		}

	}
	return false;
}

function imgThumb(src, id, w, h, mw, mh) {
	this.src = null;
	this.id = 0;
	this.w = 0;
	this.h = 0;
	this.mw = 0;
	this.mh = 0;

	if (ua["dom"]) {
		var img = new Image();
		img.src = src;

		this.src = src;
		this.id = id;
		this.w = w;
		this.h = h;
		this.mw = mw;
		this.mh = mh;
	}
}

function trimInput(obj) {
	if (ua["dom"]) {
		obj.value = obj.value.trim();
	}
}

function trimIntInput(obj) {
	if (ua["dom"]) {
		obj.value = str2int(obj.value);
	}
}

function trimEmailInput(obj) {
	if (ua["dom"]) {
		trimInput(obj);
		obj.value = (isEmail(obj.value) ? obj.value : "");
	}
}

function str2int(str) {
	if (ua["dom"]) {
		str = parseInt(str.replace(/\D/gi, ""), 10);
		if (isNaN(str)) {
			str = 0;
		}
	}
	return str;
}


function dt2str(dt) {
	var str;
	str = DatePart("d", dt) +"/"+ DatePart("m", dt) +"-"+ DatePart("yyyy", dt);
	return str;
}

function validatePackageQuery(frm) {
	if (ua["dom"]) {
		var res = true;
		var msg = "";

		var oPersons = frm.persons;
		var oDoubleRooms = frm.doublerooms;
		var oSingleRooms = frm.singlerooms;
		var ofd = frm.fd;
		var ofmy = frm.fmy;
		var otd = frm.td;
		var otmy = frm.tmy;
		var oContactPerson = frm.contactperson;
		var oFirstName = frm.firstname;
		var oLastName = frm.lastname;
		var oAddress = frm.address;
		var oZipcode = frm.zipcode;
		var oCity = frm.city;
		var oPhone = frm.phone;
		var oEmail = frm.email;
		var oComments = frm.comments;

		trimIntInput(oPersons);
		trimIntInput(oDoubleRooms);
		trimIntInput(oSingleRooms);
		trimInput(oContactPerson);
		trimInput(oFirstName);
		trimInput(oLastName);
		trimInput(oAddress);
		trimInput(oZipcode);
		trimInput(oCity);
		trimInput(oPhone);
		trimEmailInput(oEmail);
		trimInput(oComments);

		if (parseInt(oPersons.value, 10) <= 0) {
			res = false;
			msg += "- Angiv mindst 1 person\n";
		}

		if ((parseInt(oDoubleRooms.value, 10) <= 0) && (parseInt(oSingleRooms.value, 10) <= 0)) {
			res = false;
			msg += "- Vælg mindst 1 dobbeltværelse eller enkeltværelse\n";
		}

		if (oFirstName.value == "") {
			res = false;
			msg += "- Indtast fornavn\n";
		}

		if (oLastName.value == "") {
			res = false;
			msg += "- Indtast efternavn\n";
		}

		if (oAddress.value == "") {
			res = false;
			msg += "- Indtast adresse\n";
		}
		
		if (oZipcode.value == "") {
			res = false;
			msg += "- Indtast postnr.\n";
		}

		if (oCity.value == "") {
			res = false;
			msg += "- Indtast by\n";
		}

		if (oPhone.value == "") {
			res = false;
			msg += "- Indtast tlf.\n";
		}

		if (oEmail.value == "") {
			res = false;
			msg += "- Indtast email\n";
		}

	


		var myRx = /^(\d{1,2})-(\d{4})$/i;
		var fd = ofd.value;
		var fmy = ofmy.value;
		var fm = fmy.replace(myRx, "$1");
		var fy = fmy.replace(myRx, "$2");

		var td = otd.value;
		var tmy = otmy.value;
		var tm = tmy.replace(myRx, "$1");
		var ty = tmy.replace(myRx, "$2");
	
		var DTBegin = new Date();
		DTBegin.setFullYear(fy, fm - 1, fd);
		var DTEnd = new Date();
		DTEnd.setFullYear(ty, tm - 1, td);

		if (DTBegin > DTEnd) {
			res = false;
			msg += "- Vælg venligst gyldigt interval\n";
		}

		if (!res) {
			alert(msg);
		}

		return res;
	}
	else {
		return false;
	}
}

function selectVal(val) {
	var frm_option = document.getElementById("miniSearch_option_"+ val);
	if (frm_option) {
		frm_option.selected = true;
	}
}


/**** MINI HOLIDAY ****/
/**********************/



function initPartnerTabs() {
	var arrA = $("a.partner_tab");
	var arrDiv = $("div.partner_content");
	
	$("a.partner_tab:first").addClass("current");
	 $("div.partner_content:first").show();

	arrA.bind("click", function() {
		var objA = $(this);
		var tId = objA.attr("href").substring(1);

		arrA.removeClass("current");
		objA.addClass("current");

		arrDiv.each(function() {
			$(this).css("display", ($(this).attr("id") == tId ? "block" : "none"));
		});

		return false;
	});

	returnFalseForSafari(arrA);
}

function returnFalseForSafari(obj) {
	if ($.browser.safari && ($.browser.version.substr(0, 1) == "3")) {
		$.each(obj, function() {
			this.onclick = function() { return false; }
		});
	}
}

