function getCookie(cookiename){
	var allcookies = document.cookie;
	var pos = allcookies.indexOf(cookiename + "=");

	if (pos != -1 ){
		var start = pos + cookiename.length + 1;
		var end = allcookies.indexOf(";", start);
		if (end == -1) end = allcookies.length;
		var values = allcookies.substring(start, end);
		return values;
	}
	return false;
}

function showCompetition(url,width,height) {
	var cookiename = "competiton";

	if (!getCookie(cookiename) ) {
	  document.cookie = cookiename + "=" + "true";
	 popupWindow('/ferie/page?id=162', 440, 700, 'true');
	}
}

function getDate(element, daysinc){
	var today = new Date();

	var date;
	var sec;

	if ( daysinc ){
		sec = today.getTime() + ( daysinc * 24 * 60 * 60 * 1000 );
	}

	if ( sec ){
		date = new Date(sec);
	}else{
		date = new Date();
	}

	var day	= date.getDate()
	var month = date.getMonth() + 1;
	var year = date.getFullYear();

	if ( day < 10 ){
		day = "0" + day;
	}

	if ( month < 10 ){
		month = "0" + month;
	}

	document.getElementById(element).value = day + "." + month + "." + year;
	return true;


}

function quickFlightSearchValidate(form){

	var errorColor	= "#FFCCCC";
	var bgColor	= "#FFFFFF";

	if(document.getElementById('todayDate')){
		today= new Date(document.getElementById('todayDate').value);
	}else{
		today= new Date();
	}

	var date1 = new Date(document.getElementById('date1').value.substr(6,4), (document.getElementById('date1').value.substr(3,2) - 1), document.getElementById('date1').value.substr(0,2), today.getHours(), today.getMinutes() + 1 , today.getSeconds());
	var date2 = new Date(document.getElementById('date2').value.substr(6,4), (document.getElementById('date2').value.substr(3,2) - 1), document.getElementById('date2').value.substr(0,2), today.getHours(), today.getMinutes() + 1, today.getSeconds());

	var today;
	var error = "";

	if(document.getElementById('todayDate')){
		today= new Date(document.getElementById('todayDate').value);
	}else{
		today= new Date();
	}


	if ( document.getElementById('dest').value == '' ){
		error += 'Du må skrive inn en destinasjon' + "\n";
		document.getElementById('dest').style.backgroundColor = errorColor;
	}else{
		document.getElementById('dest').style.backgroundColor = bgColor;
	}

	if ( date1 < today || date2 < today ){
		error += "Du må velge datoer som er frem i tid" + "\n";
	}else if ( date1 > date2 ){
		error += "Dato1 er større enn dato2!" + "\n";
	}



	if ( document.getElementById('date1').value && document.getElementById('date2').value ){
		document.getElementById('oday').value = document.getElementById('date1').value.substr(0,2);
		document.getElementById('omonth').value = document.getElementById('date1').value.substr(3,2) + '-' + document.getElementById('date1').value.substr(6,4);
		document.getElementById('iday').value = document.getElementById('date2').value.substr(0,2);
		document.getElementById('imonth').value = document.getElementById('date2').value.substr(3,2) + '-' + document.getElementById('date2').value.substr(6,4);
	}else{
		error += 'Error in date';
	}

	if ( document.getElementById('NumChildren').value > 0){
		var ages = document.getElementById('ChildrenAges').value.split(",");

		var agesOk = true;



		for ( i in ages){
			if ( Number(ages[i]) != ages[i]){
				agesOk = false;
			}
		}

		if ( document.getElementById('NumChildren').value != ages.length |! agesOk) {
			error += 'Barnas alder må skrives inn slik: 1,4,5' + "\n";

			document.getElementById('ChildrenAges').style.backgroundColor = errorColor;
		}else{
			document.getElementById('ChildrenAges').style.backgroundColor = bgColor;
		}
	}

	if ( error ){
		alert( error );
		return false;
	}else{
		return true;
	}
}

function searchFormValidate(){

	if ( document.getElementById('pool_tmp') && document.getElementById('childpool_tmp') && document.getElementById('inclfp_tmp') ){
		document.getElementById('pool').value =  ( document.getElementById('pool_tmp').checked ) ? 'true':'false';
		document.getElementById('childpool').value =  ( document.getElementById('childpool_tmp').checked ) ? 'true':'false';
		document.getElementById('inclfp').value =  ( document.getElementById('inclfp_tmp').checked ) ? 'true':'false';
	}

	var date1 = new Date(document.getElementById('date1').value.substr(6,4), (document.getElementById('date1').value.substr(3,2) - 1), document.getElementById('date1').value.substr(0,2));
	var date2 = new Date(document.getElementById('date2').value.substr(6,4), (document.getElementById('date2').value.substr(3,2) - 1), document.getElementById('date2').value.substr(0,2));

	var today;

	if(document.getElementById('todayDate')){
		var noDate = document.getElementById('todayDate').value;
		var tempDate = noDate.split('.');
		var enDate = tempDate[1] + "/" + tempDate[0] + "/" + tempDate[2];
		today = new Date(enDate);
	}else{
		today= new Date();
		today.setHours(0);
		today.setMinutes(0);
		today.setSeconds(0);
		today.setMilliseconds(0);
	}


	if ( date1 < today || date2 < today ){
		alert( "Du må velge datoer som er frem i tid");

		return false;
	}else if ( date1 > date2 ){
		alert( "Dato1 er større enn dato2!");
		return false;
	}

	/*if (document.getElementById('age') && document.getElementById('age').value != "(F.eks. 2,6,11)") {
		document.getElementById('ChildrenAges').value = document.getElementById('age').value;
	} else {
		document.getElementById('ChildrenAges').value = "";
	}*/

	if ( document.getElementById('date1').value && document.getElementById('date2').value ){
		if (document.getElementById('oday') && document.getElementById('omonth') && document.getElementById('iday') && document.getElementById('imonth')) {
			document.getElementById('oday').value = document.getElementById('date1').value.substr(0,2);
			document.getElementById('omonth').value = document.getElementById('date1').value.substr(6,4) + '-' + document.getElementById('date1').value.substr(3,2);
			document.getElementById('iday').value = document.getElementById('date2').value.substr(0,2);
			document.getElementById('imonth').value = document.getElementById('date2').value.substr(6,4) + '-' + document.getElementById('date2').value.substr(3,2);
		} else {
			document.getElementById('d1').value = document.getElementById('date1').value.substr(0,2);
			document.getElementById('m1').value = document.getElementById('date1').value.substr(6,4) + '-' + document.getElementById('date1').value.substr(3,2);
			document.getElementById('d2').value = document.getElementById('date2').value.substr(0,2);
			document.getElementById('m2').value = document.getElementById('date2').value.substr(6,4) + '-' + document.getElementById('date2').value.substr(3,2);
		}
		return true;
	}else{
		alert( 'Error in date');
		return false;
	}

}

function externalLinks() {
	if (! document.getElementsByTagName) return;
	var anchors = document.getElementsByTagName("a");
	for (var i = 0; i < anchors.length; i++) {
		var anchor = anchors[i];
		if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external") {
			anchor.target = "_blank";
		}
	}
}

function loginUser(username,password){
	var su  = escape(username);
	var sp  = escape(password);
	//var bodyURL =  window.parent.location.href;
	window.open("https://dinereiser.berg-hansen.no/gotourl2.htm?page=bw-login?BrukerId=" +su + "&Passord=" + sp ,"dr","toolbar,status,scrollbars,resizable","width=*","height=*");
	//window.parent.location.href = bodyURL;
	if( document.custLogin ){
		document.custLogin.reset();
	}
	return false;
}

function order(url){
	var popWidth = 440;
	var popHeight = 600;
	var leftpos = (screen.width - popWidth) / 2;
	var toppos = (screen.height - popHeight) / 2;
	var param = "toolbar=no,directories=no, menubar=no, scrollbars=yes, resizable=no";
	param = param +",width="  + popWidth;
	param = param +",height=" + popHeight;
	param = param + ",left=" +leftpos;
	param = param + ",top=" +toppos;

	var popupWindow = window.open(url,"order", param);
	popupWindow.focus();
}

function validateDate(field){

	var errorColor	= "#FFCCCC";
	var bgColor	= "#FFFFFF";

	var test = field.value.match(/(\d{1,2})(\.|-)(\d{1,2})(\.|-)(\d{4})/);


	var day	= 	RegExp.$1.length == 1 ? "0" + RegExp.$1:RegExp.$1;
	var month =	RegExp.$3.length == 1 ? "0" + RegExp.$3:RegExp.$3;
	var year = 	RegExp.$5;

	var date = new Date(year, month - 1, day);

	var today;


	if(document.getElementById('todayDate')){
		today = new Date(document.getElementById('todayDate').value.substr(6,4), (document.getElementById('todayDate').value.substr(3,2) - 1), document.getElementById('todayDate').value.substr(0,2));;
	}else{
		today = new Date();
	}
	;

	var d;
	var m;

	if ( field.id == "date1" ){
		d = "d1";
		m = "m1";
	}else if ( field.id == "date2"){
		d = "d2";
		m = "m2";
	}

	if ( date < today ){
		field.style.backgroundColor = errorColor;
		alert( "Du må velge en dato frem i tid");
	}else if ( Number(day) == date.getDate() && (Number(month) == date.getMonth() + 1) && Number(year) == date.getFullYear() && date != "NaN"){
		if ( document.getElementById(d) && document.getElementById(m)){
			document.getElementById(d).value = day;
			document.getElementById(m).value = year + '-' + month;
			field.value = day + "." + month + "." + year;
		}
		field.style.backgroundColor = bgColor;
	}else{
		field.style.backgroundColor = errorColor;
		alert( 'Feil i dato: dd.mm.yyyy');
		//alert( Number(day) + "\n" + date.getDate() + "\n" +  Number(month) + "\n" + (date.getMonth() + 1) +"\n" +  Number(year) + "\n" + date.getFullYear() + "\n" + date );
	}

}

function validateDates(id,property){
	var date1 = new Date(document.getElementById('date1').value.substr(6,4), (document.getElementById('date1').value.substr(3,2) - 1), document.getElementById('date1').value.substr(0,2));
	var date2 = new Date(document.getElementById('date2').value.substr(6,4), (document.getElementById('date2').value.substr(3,2) - 1), document.getElementById('date2').value.substr(0,2));


	if( date1 == "NaN"){
		alert('date1');
		document.getElementById('date1').focus();
	}else if (date2 == "NaN"){
		alert('date2');
		document.getElementById('date2').focus();
	}
}


function openQuestion(key){
	if ( document.getElementById('faq_a' + key) && document.getElementById('faq_img' + key) ){
		var question = document.getElementById('faq_a' + key);
		var image = document.getElementById('faq_img' + key)
		if(question.style.display == 'none'){
			question.style.display = 'block';
			image.src = "design/fileicons/minus.png";
			return true;
		}else{
			question.style.display = 'none';
			image.src = "design/fileicons/plus.png";
			return true;
		}
	}
}

function switchPNG(image) {
	var rslt = navigator.appVersion.match(/MSIE (\d+\.\d+)/, '');
	var MSIE = (rslt != null && Number(rslt[1]) >= 5.5 &! (navigator.userAgent.indexOf("Opera") != -1));

	var shim = "design/shim.gif";
	var pattern = /shim\.gif/;
		if (MSIE &! pattern.test(image.src)) {
			var src = image.src;
			image.src = shim;
			image.style.width = image.width + "px";
			image.style.height = image.height + "px";
			image.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizingMethod='scale')";
			image.style.visibility = "visible";
		}
}

function popupWindow(url, width, height, resize){
		var popWidth = width ? width:401;
		var popHeight = height ? height:401;
		var resizable = resize ? 'yes':'no';
		var leftpos = (screen.width - popWidth) / 2;
		var toppos = (screen.height - popHeight) / 2;
		var param = "toolbar=no,directories=no, menubar=no, scrollbars=yes, resizable="+resizable;
		param = param +",width="  + popWidth;
		param = param +",height=" + popHeight;
		param = param + ",left=" +leftpos;
		param = param + ",top=" +toppos;

		var popupWindow = window.open(url,"popup", param);
		popupWindow.focus();
	}


//remowes whitespace in input field
function removeWhiteSpace(object){
	object.value = object.value.replace(/\s/g, "");
}



function deScrambleEmail(email){
	window.location = "mailto:" + email.replace(/\$/g, "@");
}


//builds answer in "ask for price"
function buildAnswer(form){
	var priceon = "";

	var error = true;


	if ( form.tours){
		if ( form.tours.length){
			for ( i=0; i< form.tours.length; i++){
				if ( form.tours[i].checked ) {
					priceon += form.tours[i].value + "\n";
					error = false;
				}
			}
		}else{
			if ( form.tours.checked ){
				priceon += form.tours.value;
				error = false;
			}
		}

		if ( error ){
			alert( 'Du må velge tilbud.' );
			return false;
		}
	}else{

		priceon += form.destination.value;
		if ( form.rating && form.rating.selectedIndex != -1 ){
			priceon += " - Rating: " + form.rating.options[form.rating.selectedIndex].value + " ";

			if ( form.rating.options[form.rating.selectedIndex].value == 10 && form.hotel.value != '' ){
				priceon += "Hotell: " + form.hotel.value + "\n";
			}
		}

	}


	form.priceon.value = priceon;
	//alert(form.priceon.value);
	return validateRequestForm(form);
}


//validates form

function validateRequestForm(form){
	var errorColor	= "#FFCCCC";
	var bgColor	= "#FFFFFF";
	var validateInput = new Array;
	var error = "";

	if ( form.id == 'askforprice'){
		validateInput['firstname'] = new Object();
		validateInput['firstname'].pattern = /^.{2,50}$/;
		validateInput['firstname'].error = "Feil i fornavn";
		validateInput['surname'] = new Object();
		validateInput['surname'].pattern = /^.{2,50}$/;
		validateInput['surname'].error = "Feil i etternavn";
		validateInput['address'] = new Object();
		validateInput['address'].pattern = /^$|^.{2,100}$/;
		validateInput['address'].error = "Feil i adresse";
		validateInput['zip'] = new Object();
		validateInput['zip'].pattern = /^\d{4}$/;
		validateInput['zip'].error = "Feil i postnummer";
		validateInput['location'] = new Object();
		validateInput['location'].pattern = /^$|^.{2,50}$/;
		validateInput['location'].error = "Feil i poststed";
		validateInput['phone'] = new Object();
		validateInput['phone'].pattern = /^\d{8}$/;
		validateInput['phone'].error = "Feil i telefonnummer";
		validateInput['email'] = new Object();
		validateInput['email'].pattern = /^$|^.+@.+\.\w{2,4}$/;
		validateInput['email'].error = "Feil i epost";
		validateInput['depdate'] = new Object();
		validateInput['depdate'].pattern = /^\d{1,2}.\d{1,2}.\d{4}$/;
		validateInput['depdate'].error = "Feil i dato";
		//validateInput['destination'] = new Object();
		//validateInput['destination'].pattern = /^.{0,1500}$/;
		//validateInput['destination'].error = "Tekst for lang";
	}else if ( form.id == 'registerCustomer'){
		validateInput['firstname'] = new Object();
		validateInput['firstname'].pattern = /^.{2,50}$/;
		validateInput['firstname'].error = "Feil i fornavn";
		validateInput['surname'] = new Object();
		validateInput['surname'].pattern = /^.{2,50}$/;
		validateInput['surname'].error = "Feil i etternavn";
		//validateInput['address'] = new Object();
		//validateInput['address'].pattern = /^$|^.{2,100}$/;
		//validateInput['address'].error = "Feil i adresse";
		validateInput['zip'] = new Object();
		validateInput['zip'].pattern = /^\d{4}$/;
		validateInput['zip'].error = "Feil i postnummer";
		//validateInput['location'] = new Object();
		//validateInput['location'].pattern = /^.{2,100}$/;
		//validateInput['location'].error = "Feil i poststed";
		validateInput['email'] = new Object();
		validateInput['email'].pattern = /^.+@.+\.\w{2,4}$/;
		validateInput['email'].error = "Feil i epost";
	}else if ( form.id == 'vacancyApplication'){
		validateInput['position'] = new Object();
		validateInput['position'].pattern = /^.{2,50}$/;
		validateInput['position'].error = "Feil i stilling";
		validateInput['firstname'] = new Object();
		validateInput['firstname'].pattern = /^.{2,50}$/;
		validateInput['firstname'].error = "Feil i fornavn";
		validateInput['surname'] = new Object();
		validateInput['surname'].pattern = /^.{2,50}$/;
		validateInput['surname'].error = "Feil i etternavn";
		validateInput['address'] = new Object();
		validateInput['address'].pattern = /^$|^.{2,100}$/;
		validateInput['address'].error = "Feil i adresse";
		validateInput['zip'] = new Object();
		validateInput['zip'].pattern = /^\d{4}$/;
		validateInput['zip'].error = "Feil i postnummer";
		validateInput['location'] = new Object();
		validateInput['location'].pattern = /^.{2,30}$/;
		validateInput['location'].error = "Feil i poststed";
		//validateInput['telephone'] = new Object();
		//validateInput['telephone'].pattern = /^$|^\d{8}$/;
		//validateInput['telephone'].error = "Feil i telefonnummer";
		//validateInput['mobile'] = new Object();
		//validateInput['mobile'].pattern = /^$|^\d{8}$/;
		//validateInput['mobile'].error = "Feil i mobilnummer";
		validateInput['email'] = new Object();
		validateInput['email'].pattern = /^.+@.+\.\w{2,4}$/;
		validateInput['email'].error = "Feil i epost";
		validateInput['birthyear'] = new Object();
		validateInput['birthyear'].pattern = /^\d{4}$/;
		validateInput['birthyear'].error = "Feil i dato";
	}


	for( var i=0; i < form.length; i++ ){
		if ( validateInput[form.elements[i].id] ){
			if ( !validateInput[form.elements[i].id].pattern.test(form.elements[i].value) ){
				//error += document.getElementById(form.elements[i].id + "_txt").innerHTML + " -> "
				error += validateInput[form.elements[i].id].error + "\n";
				document.getElementById(form.elements[i].id).style.backgroundColor = errorColor;
			}else{
				document.getElementById(form.elements[i].id).style.backgroundColor = bgColor;
			}
		}
	}





	if ( error != ''){
		alert( error );
		return false;
	}else{
		document.getElementById( 'from_email' ).value = document.getElementById( 'email' ).value;
		document.getElementById( 'from_name' ).value = document.getElementById( 'firstname' ).value + ' ' + document.getElementById( 'surname' ).value;

		return true;
	}
}

function verifyRating(rating){
	if ( rating == 10 ){
		document.getElementById('hotel_txt').style.visibility = 'visible';
		document.getElementById('hotel_input').style.visibility = 'visible';
	}else{
		document.getElementById('hotel_txt').style.visibility = 'hidden';
		document.getElementById('hotel_input').style.visibility = 'hidden';
	}
}






// Title: Timestamp picker
// Description: See the demo at url
// URL: http://us.geocities.com/tspicker/
// Script featured on: http://javascriptkit.com/script/script2/timestamp.shtml
// Version: 1.0
// Date: 12-05-2001 (mm-dd-yyyy)
// Author: Denis Gritcyuk <denis@softcomplex.com>; <tspicker@yahoo.com>
// Notes: Permission given to use this script in any kind of applications if
//    header lines are left unchanged. Feel free to contact the author
//    for feature requests and/or donations

function show_calendar(str_target, str_datetime, bool_show) {
	var arr_months = ["Januar", "Februar", "Mars", "April",
		"Mai", "Juni", "Juli", "August", "September",
		"Oktober", "November", "Desember"];
	var week_days = ["S", "M", "Ti", "O", "T", "F", "L"];
	var n_weekstart = 1; // day week starts from (normally 0 or 1)

	var dt_datetime = (str_datetime == null || str_datetime =="" ?  new Date() : str2dt(str_datetime));
	var dt_prev_month = new Date(dt_datetime);
	dt_prev_month.setMonth(dt_datetime.getMonth()-1);
	var dt_next_month = new Date(dt_datetime);
	dt_next_month.setMonth(dt_datetime.getMonth()+1);
	var dt_firstday = new Date(dt_datetime);
	dt_firstday.setDate(1);
	dt_firstday.setDate(1-(7+dt_firstday.getDay()-n_weekstart)%7);
	var dt_lastday = new Date(dt_next_month);
	dt_lastday.setDate(0);

	// html generation (feel free to tune it for your particular application)
	// print calendar header

		var str_buffer = new String (
		"<html>\n"+
		"<head>\n"+
		"	<title>Velg dato</title>\n"+
		"<link type=\"text/css\" rel=\"stylesheet\" href=\"https://www.berg-hansen.no/css?id=78\">"+
		"</head>\n"+
		"<body class=\"cal_body\">\n"+
		"<table class=\"cal_table\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" width=\"100%\">\n"+
		"<tr><td class=\"cal_background\">\n"+
		"<table cellspacing=\"1\" cellpadding=\"3\" border=\"0\" width=\"100%\">\n"+
		"<tr>\n	<td class=\"cal_month\"><a href=\"javascript:window.opener.show_calendar('"+
		str_target+"', '"+ dt2dtstr(dt_prev_month)+"', false);\">"+
		"<img src=\"https://www.berg-hansen.no/ferie/design/cal_arrow_left.gif\" width=\"15\" height=\"15\" border=\"0\""+
		" alt=\"previous month\"></a></td>\n"+
		"	<td class=\"cal_month\" align=\"center\" colspan=\"5\">"+
		arr_months[dt_datetime.getMonth()]+" "+dt_datetime.getFullYear()+"</td>\n"+
		"	<td class=\"cal_month\" align=\"right\"><a href=\"javascript:window.opener.show_calendar('"
		+str_target+"', '"+dt2dtstr(dt_next_month)+"', false);\">"+
		"<img src=\"https://www.berg-hansen.no/ferie/design/cal_arrow_right.gif\" width=\"15\" height=\"15\" border=\"0\""+
		" alt=\"next month\"></a></td>\n</tr>\n"
	);

	// class=\"cal_weekday\"

	var dt_current_day = new Date(dt_firstday);
	// print weekdays titles
	str_buffer += "<tr>\n";
	for (var n=0; n<7; n++)
		str_buffer += "	<td class=\"cal_dayofweek\">"+
		week_days[(n_weekstart+n)%7]+"</td>\n";
	// print calendar table
	str_buffer += "</tr>\n";
	while (dt_current_day.getMonth() == dt_datetime.getMonth() ||
		dt_current_day.getMonth() == dt_firstday.getMonth()) {
		// print row header
		str_buffer += "<tr>\n";
		for (var n_current_wday=0; n_current_wday<7; n_current_wday++) {
				if (dt_current_day.getDate() == dt_datetime.getDate() &&
					dt_current_day.getMonth() == dt_datetime.getMonth() &&
					bool_show == true)
					// print current date
					str_buffer += "<td onmouseover=\"javascript:this.className='cal_current'\" onmouseout=\"javascript: this.className='cal_selected'\" class=\"cal_selected\" align=\"right\""+
					"onclick=\"javaScript:window.opener.document.getElementById('"+str_target+"').value='"+dt2dtstr(dt_current_day)+"'; window.close();\">\n"+
					"<a class=\"cal_link\" href=\"javascript:window.opener.document.getElementById('"+str_target+"').value='"+dt2dtstr(dt_current_day)+"'; window.close();\">";
				else if (dt_current_day.getDay() == 0 || dt_current_day.getDay() == 6)
					// weekend days
					if (dt_current_day.getMonth() == dt_datetime.getMonth())
						str_buffer += "<td onmouseover=\"javascript:this.className='cal_current'\" onmouseout=\"javascript: this.className='cal_weekend'\" class=\"cal_weekend\" align=\"right\""+
						"onclick=\"javaScript:window.opener.document.getElementById('"+str_target+"').value='"+dt2dtstr(dt_current_day)+"'; window.close();\">\n"+
						"<a class=\"cal_link\" href=\"javascript:window.opener.document.getElementById('"+str_target+"').value='"+dt2dtstr(dt_current_day)+"'; window.close();\">";
					else
						str_buffer += "<td onmouseover=\"javascript:this.className='cal_current'\" onmouseout=\"javascript: this.className='cal_prevnextweekend'\" class=\"cal_prevnextweekend\" align=\"right\""+
						"onclick=\"javaScript:window.opener.document.getElementById('"+str_target+"').value='"+dt2dtstr(dt_current_day)+"'; window.close();\">\n"+
						"<a class=\"cal_link_prevnext\" href=\"javascript:window.opener.document.getElementById('"+str_target+"').value='"+dt2dtstr(dt_current_day)+"'; window.close();\">";
				else
					// print working days of current month
					if (dt_current_day.getMonth() == dt_datetime.getMonth())
						str_buffer += "<td onmouseover=\"javascript:this.className='cal_current'\" onmouseout=\"javascript: this.className='cal_weekday'\" class=\"cal_weekday\" align=\"right\""+
						"onclick=\"javaScript:window.opener.document.getElementById('"+str_target+"').value='"+dt2dtstr(dt_current_day)+"'; window.close();\">\n"+
						"<a class=\"cal_link\" href=\"javascript:window.opener.document.getElementById('"+str_target+"').value='"+dt2dtstr(dt_current_day)+"'; window.close();\">";
					else
						str_buffer += "<td onmouseover=\"javascript:this.className='cal_current'\" onmouseout=\"javascript: this.className='cal_prevnext'\" class=\"cal_prevnext\" align=\"right\""+
						"onclick=\"javaScript:window.opener.document.getElementById('"+str_target+"').value='"+dt2dtstr(dt_current_day)+"'; window.close();\">\n"+
						"<a class=\"cal_link_prevnext\" href=\"javascript:window.opener.document.getElementById('"+str_target+"').value='"+dt2dtstr(dt_current_day)+"'; window.close();\">";
				str_buffer += dt_current_day.getDate()+"</a></td>\n";
				dt_current_day.setDate(dt_current_day.getDate()+1);

				/*
				// print days of other months
					str_buffer += "<a href=\"javascript:window.opener."+getElementById(str_target)+
					".value='"+dt2dtstr(dt_current_day)+"'; window.close();\">"+
					"<font color=\"gray\" face=\"tahoma, verdana\" size=\"2\">";
			 */

		}
		// print row footer
		str_buffer += "</tr>\n";
	}
	// print calendar footer
	str_buffer += "</table>\n" +
		"</tr>\n</td>\n</table>\n" +
		"</body>\n" +
		"</html>\n";

	var vWinCal = window.open("", "Calendar",
		"width=200,height=190,status=no,resizable=yes,top=410,left=680");
	vWinCal.focus();
	vWinCal.opener = self;
	var calc_doc = vWinCal.document;
	calc_doc.write (str_buffer);
	calc_doc.close();
}
// datetime parsing and formatting routimes. modify them if you wish other datetime format
function str2dt (str_datetime) {
	var re_date = /^(\d+)\.(\d+)\.(\d+)$/;
	if (!re_date.exec(str_datetime))
		return alert("Ugyldig dato:"+ str_datetime);
	return (new Date (RegExp.$3, RegExp.$2-1, RegExp.$1, RegExp.$4, RegExp.$5, RegExp.$6));
}

function dt2dtstr (dt_datetime) {
	var month = (dt_datetime.getMonth()+1);
	if (month < 10) month = "0"+month;
	var day = dt_datetime.getDate();
	if (day < 10) day = "0"+day;
	return (new String (day+"."+month+"."+dt_datetime.getFullYear()));
}