	var searchcookie="searchcookie";
	var favoritescookie ="HLCOOKIE";
	var expires = 300; 
	var path="/";

	var mapMainDivSoegHusWidthHalf = 117;//const. map width
	var mapMainDivSoegHus = null;	
	var styleMapMainDivSoegHus = null;
	var buttonShowMap=null;
	
	function InitCheckBoxHouseFavorites()
	{
		var objCOOKIE  = getDaySearchCookie(favoritescookie);
		if(objCOOKIE && objCOOKIE.length>0) 
		{
			var elements = objCOOKIE.split('#');     
			for(var i=0;i<elements.length;i++) 
			{
				var element = elements[i].split('*'); var objHouse = GetObjByName('favHouseCB' + element[0]);
				if(objHouse && objHouse.type=='checkbox' ) { objHouse.checked = true;}
			}
		}
	} 
	function getDaySearchCookie(Name) 
	{
		var search = Name + "=";var CookieString = document.cookie;var result = null;                               
		if (CookieString.length > 0) {                
			offset = CookieString.indexOf(search);       
			if (offset != -1) { offset += search.length;end = CookieString.indexOf(";", offset);   
				if (end == -1){end = CookieString.length;}result = unescape(CookieString.substring(offset, end));         
			} 
		}
		return result;                                
	}

	function addHouseToFavorites(obj,houseid,season) 
	{
		(obj.checked == true) ? addHouseElement(houseid,season,favoritescookie,365) : removeHouseElement(houseid,favoritescookie,365);
	}
	function addHouseElement(houseid,season,cookiename,duration) {
		var objCOOKIE = getDaySearchCookie(cookiename);
		if(objCOOKIE && objCOOKIE.length>0) {
			var elements = objCOOKIE.split('#');  var elementexists = false;     
			for(var i=0;i<elements.length;i++) {
				var element = elements[i].split('*');          
				if(element[0] == houseid && element[1] == season){ elementexists = true; break;}          
			}
			if(!elementexists) 
			{
        		if(duration){ setDaySearchCookie (cookiename,objCOOKIE +'#'+ houseid +'*'+ season,duration);} else {setDaySearchCookie(cookiename,objCOOKIE +'#'+ houseid +'*'+ season);}
    		}     
		} else {if(duration) {setDaySearchCookie (cookiename,houseid +'*'+ season,duration);} else { setDaySearchCookie(cookiename,houseid +'*'+ season);}   
		}            
	}
	function removeHouseElement(houseid,cookiename,duration) {
		if(!cookiename) cookiename = favoritescookie; var objCOOKIE = getDaySearchCookie(cookiename);	setDaySearchCookie(cookiename,'',-1);
		var elements = objCOOKIE.split('#');
		for(var i=0;i<elements.length;i++) {
			var element = elements[i].split('*'); 
			if(element[0] != houseid) {
				if(duration) addHouseElement(element[0],element[1],cookiename,duration);
        		else {
	        		if(element[2]&&element[3]&&element[4]) {addHouseElement(element[0],element[1]+'*'+element[2]+'*'+element[3]+'*'+element[4],cookiename);} 	        		
	        		else	{addHouseElement(element[0],element[1],cookiename);} 
        		}         
			}
		}
	}
	
	//open new window 
	function OpenNewPopupWindow(url,w,h,t,l) {var HelpWin = null;HelpWin=window.open(url,"HelpWin","width="+w+",height="+h+",top="+t+",left="+l+",toolbar=no,status=yes,directories=no,scrollbars=yes,resizable=yes,menubar=no");}
	//pga. calendar start
	function resizeBlankDiv() {if ((navigator.appVersion.indexOf('MSIE 5') != -1) 		&& (navigator.platform.indexOf('Mac') != -1)		&& getStyleObject('blankDiv')) {		getStyleObject('blankDiv').width = document.body.clientWidth - 20;		getStyleObject('blankDiv').height = document.body.clientHeight - 20;		}	}
	function explorerMacResizeFix () {	location.reload(false);	}
	function getStyleObject(objectId) {	if(document.getElementById && document.getElementById(objectId)) {return document.getElementById(objectId).style;		} else if (document.all && document.all(objectId)) { return document.all(objectId).style;	} else if (document.layers && document.layers[objectId]) { 	return document.layers[objectId];} else {return false;	}	}
	function getDomainName()
	{
		var domain =null;var  _dn=document.domain;		if(_dn.indexOf(".sonneundstrand.de")!=-1){domain="sonneundstrand.de";}	else if(_dn.indexOf(".sologstrand.dk")!=-1){domain="sologstrand.dk";}	else if(_dn.indexOf(".sologstrand.se")!=-1){domain="sologstrand.se";}	else if(_dn.indexOf(".sologstrand.no")!=-1){domain="sologstrand.no";}	else if(_dn.indexOf(".sologstrand.com")!=-1){domain="sologstrand.com";}	else if(_dn.indexOf(".sologstrand.nl")!=-1)	{domain="sologstrand.nl";}	return domain;
	}
	function setDaySearchCookie (name, value, lifespan, access_path, domain) {
		var cookietext = name + "=" + escape(value)  ;
		if (lifespan != null) {  
		var today=new Date();     
		var expiredate = new Date();      
		expiredate.setTime(today.getTime() + 1000*60*60*24*lifespan)
		cookietext += "; expires=" + expiredate.toGMTString();
		}
		//delete (remove later)
		if(value!="Deleted")
		{
			var _dom=getDomainName();
			if (_dom != null) { 
			cookietext += "; DOMAIN="+_dom; 
			}
		}
		if (access_path != null) { 
		cookietext += "; PATH="+access_path ;
		}
		document.cookie = cookietext; 
		return null ; 
	}
	function initializeHacks() {		
		mapMainDivSoegHus = GetObjByName("mapMainDivSoegHus");	
		styleMapMainDivSoegHus = getStyleObject(mapMainDivSoegHus.id);
		buttonShowMap= GetObjByName('showMapInput');
		window.onresize =resizeMe; resizeBlankDiv();	if (!window.event) window.event = false;
	}
	function sortAreaById(a, b) { var x = a.Id;var y = b.Id; return ((x < y) ? -1 : ((x > y) ? 1 : 0));}
	function showInfoPopup(parentid, eventObj, objId)
	{
		hideCalc(); hideMap(); hideInfoPopup();
		
		//var divCategory = document.getElementById("floatingCategoryDiv");
		var divPopup = document.getElementById(objId);
		if(eventObj && divPopup)
		{
			eventObj.cancelBubble = true;// stop event bubbling
			var parentPosition = myPosition (parentid);
			var divPopupWidth=parseInt(divPopup.style.width); //skal findes i style=""
			var newXCoordinate = parentPosition.Left - (divPopupWidth / 2);
			
			divPopup.style.left = newXCoordinate +"px"; divPopup.style.top = parentPosition.Top +"px";
			divPopup.style.position = "absolute"; divPopup.style.display = "block";
			
			ShowDivShim(objId);
		}
		else
		{
			return false;
		}
	}
	function showMap (parentid, eventObj) {		
		hideCalc(); hideInfoPopup();
		if(eventObj && styleMapMainDivSoegHus) 
		{	
			var parentPosition = myPosition (parentid);
			eventObj.cancelBubble = true;// stop event bubbling
			var newXCoordinate = parentPosition.Left - mapMainDivSoegHusWidthHalf ;
			var mapMainDivSoegHusWidth = mapMainDivSoegHusWidthHalf * 2; 
			
			var newYCoordinate = parentPosition.Top;
			styleMapMainDivSoegHus.left = newXCoordinate +"px"; styleMapMainDivSoegHus.top = newYCoordinate +"px";
			styleMapMainDivSoegHus.position = 'absolute'; styleMapMainDivSoegHus.display = 'block';		
			
			ShowDivShim('mapMainDivSoegHus');
			
			InitMapData();
		} 
		else 
		{	
			return false;
		}
	}
	function ShowDivShim (objid)
	{
		if(IsIE)
		{
			var divShim2 = getStyleObject('divShim2');
			divShim2.width = YAHOO.util.Dom.getStyle(objid, 'width') ;
			divShim2.height = YAHOO.util.Dom.getStyle(objid, 'height');
			divShim2.position = 'absolute';
			divShim2.zIndex = '190'; // mapMainDivSoegHus 200
			divShim2.display = 'block';		
			YAHOO.util.Dom.setXY('divShim2', YAHOO.util.Dom.getXY(objid));		
		}
	}
	
	function hideCalc()
	{
		if(styleTargetObject) {styleTargetObject.display='none'; if(IsIE) styleDivShim.display = styleTargetObject.display;}
	}
	function hideMap()
	{
		(styleMapMainDivSoegHus && styleMapMainDivSoegHus.display != 'none') ? styleMapMainDivSoegHus.display = 'none' : 0 ;
	}
	function hideInfoPopup()
	{
		var divCategory = GetObjByName("floatingCategoryDiv");	(divCategory && divCategory.style.display != 'none') ? divCategory.style.display = 'none' : 0;
		var divCategory2 = GetObjByName("floatingCategoryDiv2");	(divCategory2 && divCategory2.style.display != 'none') ? divCategory2.style.display = 'none' : 0;
		var divBadeland= GetObjByName("floatingBadelandDiv");	(divBadeland && divBadeland.style.display != 'none') ? divBadeland.style.display = 'none' : 0;
		var divWheelchair = GetObjByName("floatingWheelchairDiv");	(divWheelchair && divWheelchair.style.display != 'none') ? divWheelchair.style.display = 'none' : 0;
		var divBusinessclass = GetObjByName("floatingBusinessclassDiv");	(divBusinessclass && divBusinessclass.style.display != 'none') ? divBusinessclass.style.display = 'none' : 0;
		var divFishing = GetObjByName("floatingFishingDiv");	(divFishing && divFishing.style.display != 'none') ? divFishing.style.display = 'none' : 0;
		var divShim2 = GetObjByName('divShim2'); 
		(mapMainDivSoegHus && mapMainDivSoegHus.style.display == 'none' && divShim2 && divShim2.style.display != 'none' ) ? divShim2.style.display = 'none' : 0;
		
	}
	function udskrivDataSearch(onLoad)
	{
		
		if(onLoad){
			initializeHacks();
			// setup an event handler to hide popups for generic clicks on the document
			document.onclick = hidePopup;
			setTotal();
			var resInput=document.getElementById("SearchTotalInput");
			resInput.value= getTotal(); UdfyldReSearch();
			//UdfyldDays();
		}
		var count=getTotal();
		var research=document.getElementById("reSearchShowHousesButton");
		var research2=document.getElementById("reSearchShowHousesButton2");
		var res=document.getElementById("search_result");
		
		res.innerHTML=count;
		if(count>0)
		{
			research.disabled=false; research2.disabled=false;
		}
		else 
		{
			research.disabled=true;	research2.disabled=true;
			if(count < 0) {res.innerHTML="ERROR";}
			
		}
		initRules();
		
		if(search_startdate!=document.getElementById('startdate').value)
			altParamsChange(document.getElementById('startdate'));
	}
	function initRules()
	{
		//check rules
		var objStatusTextDiv= GetObjByName("statustxt") ;
		if (objStatusTextDiv && GetObjByName("region"))
		{
			var startdate = GetObjByName("startdate").value;
			var days=  parseInt(GetValueFromDropDown(GetObjByName("days"))) ;
			var subregions = getSubRegionChosenValue();	var total = getTotal();
			var discount = GetObjByName("discount").checked;					
			checkRule(startdate, days, subregions, language, total, objStatusTextDiv, discount);
		}
	}
	function ChangeImageSrc (objImage, newImage)
	{
		objImage.src = eval(newImage + ".src");
	}
	/*tkn henter value for selected dropdown*/
	function GetValueFromDropDown(obj){	var i= GetSelectedIndexFromDropDown(obj);return obj.options[i].value;}
	function GetSelectedIndexFromDropDown(obj){return parseInt(obj.selectedIndex);}
	function GetDayDifference(earlierdate, laterdate) {var difference =laterdate.getTime()- earlierdate.getTime(); var daysDifference = Math.floor(difference/1000/60/60/24);return daysDifference;}
	function AddDaysToDate(_date,x){var _newDate= new Date(_date.getTime() +  (x* (1000*60*60*24)));return _newDate;	}
	//tkn dk format date
	function CreateDateFromString( sDate ){var aDate = ( sDate.indexOf( "-" ) != -1 ) ? sDate.split( '-' ) : sDate.split( ',' );return  (new Date(aDate[ 2 ], aDate[ 1 ]-1,  aDate[ 0 ] , "12","0","0"));	}
	function takeYear(theDate) {x = theDate.getYear();var y = x % 100;y += (y < 38) ? 2000 : 1900;return y;	}

	function getTotal()
	{
		return parseInt(document.getElementById("SearchTotalInput").value);
	}
	function setTotal()
	{
		document.getElementById("SearchTotalInput").value=reSearchTotal;
	}
	function research()
	{
		// opdater cookie
		if(getTotal()>0){
			var sData="startdate="+ search_startdate+"#enddate="+ search_enddate+"#";
			(apt && apt.length > 0)? sData+= apt.replace(/;/g,'#'): 0; sData+="#days="+ GetValueFromDropDown(GetObjByName("days")); setDaySearchCookie(searchcookie ,sData,expires,path);
		}
		
		var params= '&amp;search_altp='+apt;	
		params+= '&amp;search_startdate=' + search_startdate;		
		params+= '&amp;search_enddate='+ search_enddate;
		params+= '&amp;search_lang='+ language.toLowerCase();
				
		if(sortbyvalue)	params+="&amp;sortbyvalue=" + sortbyvalue;
		
		params= params.replace(/&amp;/g, "&");
		makeRequest('fullsearch', params);//makeRequest('search', params);
	}
	function Sorter(objSorterByValue)
	{
		if(objSorterByValue)
		{
			sortbyvalue =getSelectedValue(objSorterByValue);
		}
		researchRedirect();
	}
	function researchRedirect()
	{
		var resUrl=reSearchUrl+'&amp;apt='+apt; 
		
		if(sortbyvalue != null)
		{
			resUrl+="&amp;sortbyvalue=" + sortbyvalue;
		}
		resUrl+="&amp;startdate="+ GetObjByName("startdate").value;resUrl+="&amp;enddate="+ search_enddate;
		resUrl=resUrl.replace(/&amp;/g, "&");
		
		if(getTotal()>0){
			var sData="startdate="+ search_startdate+"#enddate="+ search_enddate+"#";
			(apt && apt.length > 0)? sData+= apt.replace(/;/g,'#'): 0; sData+="#days="+ GetValueFromDropDown(GetObjByName("days")); setDaySearchCookie(searchcookie ,sData,expires,path);
			window.location.href= resUrl;
			}
	}

	function altParamsChange(obj)
	{
		id=obj.id; var addNewAltParam = false;
		if(id!="startdate" && id!="days")
		{
			switch (obj.type)
			{
				case "checkbox": 
					if(obj.checked){
						if(isAltParamExisting(id))	{replaceAltParamValue(id,"yes");}
						else 
						{
								addAltParamToList(id, "yes");
						}
						addNewAltParam=true;
					}
					else 
					{
						removeAltParamFromList(id);
					}
					break;
				case "select-one": 
					val= getSelectedValue( obj);
					if(id=="region" || id =="subregion") 
					{
						switch (id)
						{
							case "region":
								removeAltParamFromList("subregion");
								removeAltParamFromList("destination");
								break;
							case "subregion":
								removeAltParamFromList("destination");
								break;
						}
					}
					
					if(val=="0" || val=="") 
					{
						removeAltParamFromList(id);
					}
					else if (isAltParamExisting(id)){replaceAltParamValue(id,val);}
					else {addAltParamToList(id,val);}
					
					//if(id=="destination"){DestinationOnChange(obj, val);}
					break;
			}
		}
		else
		{	
			changePeriod();
		}
		
		if((getTotal() > 0 && addNewAltParam) ||  !addNewAltParam)
		{
			research();
		}
	}
	function changePeriod()
	{
		var daysSelect= GetObjByName("days") ;var startdate= GetObjByName("startdate") ;
		var _ad= GetValueFromDropDown(daysSelect);
		var _ed=AddDaysToDate(CreateDateFromString(startdate.value),_ad);
		var _edd=(_ed.getDate() <10) ? ('0'+ _ed.getDate()):_ed.getDate(); 
		var _edm=((_ed.getMonth() + 1) <10) ? ('0'+ (_ed.getMonth() + 1)):(_ed.getMonth() + 1); 
		var _enddate=_edd+"-" + _edm+"-"+ takeYear(_ed);
		
		replaceAltParamValue("days", _ad);
		
		search_startdate=startdate.value;
		search_enddate=_enddate;
	}
	function GetObjByName(navn) {return document.getElementById(navn);}
	function isAltParamExisting(id)
	{
		var res=false;	var _params=apt.split(';');
		for(var i=0;i < _params.length;i++) {var param= _params[i].split('=');if(param[0]==id){return true;}}
		return res;
	}
	function addAltParamToList(id, value)
	{
		apt+=id+"="+value+";";
	}
	function replaceAltParamValue(id, value)
	{
		var _params=apt.split(';');
		for(var i=0;i < _params.length;i++) {
			var param = _params[i].split('=');
			if(param[0]==id)
			{
				apt=apt.replace(_params[i],id+"="+value);
				return;
			}
		}
	}
	function removeAltParamFromList(id)
	{
		var _params=apt.split(';');
		for(var i=0;i < _params.length;i++) {
			var param = _params[i].split('=');
			if(param[0]==id)
			{
				apt=apt.replace(_params[i]+";","");
				return;
			}
		}
	}
	//selVal [cookie value]
	function UdfyldSubRegion(rid, selVal)
	{
		var sr=GetObjByName("subregion");
		if(sr!=null)
		{
			var n=1;	clearAllSelectItems(sr);
			
			sr.options[0] = new Option(ChooseSubRegion,"0");
			if(rid!=0 && rid != null)//subregion i een region
			{
				//error hvis bureau og foruddefineret???
				var dataArr=eval('arrSR_'+rid).split('*');
				for (var i=0;i<dataArr.length;i+=2)
				{sr.options[n] = new Option(unescape(dataArr[i+1]) ,dataArr[i]);n++;}
				//valgt flere areas!!!
				if (isManySubRegionChosen(sr, selVal))
				{
					sr.options[n] = new Option(ManySubRegionChosen , selVal);	
				}
				chooseSelectOneValue(sr,selVal);
				
			}
			//udfyld  subregionchosen
			setSubRegionChosenValue(selVal);
		}
	}

	//destination sort
	function destinationObj(id,title)
	{
		this.id=id;	this.title=title;
	}
	function SortDestinationObjArray(obj1,obj2)
	{
		if(obj1.title > obj2.title) return 1;	if(obj1.title < obj2.title) return -1; 	return 0;
	}
	function UdfyldDestination(chosenSubRegions, selVal)
	{
		var dt=GetObjByName("destination" );
		if(dt!=null)
		{
			var lng=dt.length;var n=1;
			clearAllSelectItems(dt);
			dt.options[0] = new Option(ChooseDestination,"0");
			if (!chosenSubRegions || chosenSubRegions=="0") // region
			{
				var regionID = getSelectedValue(GetObjByName("region"));	
				if(regionID > 0) //hent alle
				{
					var areas=GetAreaChildren(regionID);
					if(areas.length>0)
					{
						chosenSubRegions=""; for(var i=0;i< 	areas.length;i++) 	{var areaChild= areas[i];	chosenSubRegions +=  areaChild.Id + ":"; }
					}
				}
			}
			
			if (chosenSubRegions!= null && chosenSubRegions!="0")
			{
				var arrDestObj = new Array(); var arrChosenSubRegions= chosenSubRegions.split (':');var indexArrDestObj =0;
				for(var k=0;k < arrChosenSubRegions.length;k++)
				{
					if(arrChosenSubRegions[k].length > 0)
					{
						var dataArr=eval('arrD_'+ arrChosenSubRegions[k]).split('*');
						for (var i=0;i<dataArr.length;i+=2)
						{
							var dest = new destinationObj(dataArr[i], dataArr[i+1]);//ny desti
							arrDestObj[indexArrDestObj]=dest;indexArrDestObj++;//add desti 
						}
					}
				}
			
				arrDestObj.sort(SortDestinationObjArray);//sort destiArray
				for(var  y=0;y < arrDestObj.length;y++) {dt.options[y+1] = new Option(arrDestObj[y].title, arrDestObj[y].id);}
				chooseSelectOneValue(dt,selVal);
			}
		}
	}
	function getSelectedValue(obj)
	{
		var idx=obj.options.selectedIndex;return obj.options[idx].value;
	}
	function removeManySubRegionChosenItem( selVal)
	{
		var arrItems = new Array(); var obj = document.getElementById("subregion");
		var tmpLen=0; var selIndex=0;
		if(obj != null)
		{
			//gem alle andre values!
			var l=obj.length;
			for(var i=0;i < l;i++)
			{
				var v=obj.options[i].text;
				if(v!=ManySubRegionChosen)	
				{
					var opt =	new Option(v ,obj.options[i].value); arrItems[i]=opt;
					if(selVal != null && opt.value==selVal)
					{
						selIndex=tmpLen;
					}
					tmpLen++;
				}
			}
			clearAllSelectItems(obj);
			//add items
			for(var i=0; i < tmpLen; i++)
			{
				obj.options[i] =  arrItems[i];
				if(obj.options[i].value == selVal)
				{
					obj.options.selectedIndex=i;	
				}
			}
		}
	}
	function clearAllSelectItems(obj)
	{
		var lng=obj.length;for(i=0;i<lng;i++){obj.options[0] = null;} 
	}
	function DestinationOnChange (obj, val)
	{
		//alert(obj.id + " " + val);
	}
	function SubRegionOnChange(obj)
	{
		var srId=getSelectedValue(obj);	
		RemoveAllChosenSubRegion();
		removeManySubRegionChosenItem(srId);
		
		if(	srId > 0 )
		{
			setSubRegionChosenValue(srId); 
			if(styleMapMainDivSoegHus && styleMapMainDivSoegHus.display!="none"){ShowAllChosenSubRegion();} 
		}
			
		else {
			setSubRegionChosenValue("");
		}
		UdfyldDestination(srId,0);
		altParamsChange(obj);
	}
	function RegionOnChange(obj)
	{
		var rId=getSelectedValue(obj);
		RemoveAllChosenSubRegion();
		setSubRegionChosenValue("");
		if(styleMapMainDivSoegHus && styleMapMainDivSoegHus.display!="none")
		{
			InitMap(GetArea(rId)); //error - mapOver hvis areaObj isnull
		}
		
		UdfyldSubRegion(rId,null);
		UdfyldDestination(0,0);
		//search
		altParamsChange(obj);
	}
	function deleteSubRegionChosenValue()
	{
		var subregionChosen=GetObjByName("subregionchosen"); subregionChosen.value="";
	}
	function setSubRegionChosenValue(value)
	{
		var subregionChosen=GetObjByName("subregionchosen"); subregionChosen.value= value;
	}
	function getSubRegionChosenValue()
	{
		var subregionChosen; subregionChosen= GetObjByName("subregionchosen");  return subregionChosen.value;
	}

	function chooseSelectOneValue(obj,value)
	{
		var l=obj.length;	for(var i=0;i < l;i++)	{		var v=obj.options[i].value;	if(v==value)	{obj.options.selectedIndex=i;break;	}	}
	}
	//undersøger om flere valgt og de findes i subregion control
	function isManySubRegionChosen(selectObject,  selectedValue)
	{
		var res  =false; 	var SelectedValues = new Array();	var tmpCount=0;
		if (selectedValue!= null )
		{
			SelectedValues= selectedValue.split (':');
			
			for(var i=0; i <SelectedValues.length; i++)
			{
				if(SelectedValues[i] != null && SelectedValues[i].length >0)
				{
					for(var y=0;y < selectObject.length;y++)
					{
						var v=selectObject.options[y].value; if(v==SelectedValues[i]){tmpCount++;break;}
					}
				}
			}
			(tmpCount  >1) ? res =true :res = false; 
		}	
		return res;
	}
	function UdfyldReSearch()
	{
		var altParams=apt.split(';');
		for(var i=0;i < altParams.length;i++) 
		{
			var altParam = altParams[i].split('=');	
			var ctr=document.getElementById(altParam[0]);
			if(ctr!=null)
			{
				if(ctr.type=="checkbox")
				{
					if(altParam[1]=="yes"){ctr.checked=true;} else {ctr.checked=false;}
				}
				else if(ctr.type==	"select-one")
				{
					var l=ctr.length;
					for(var y=0;y < l;y++)
					{
						var v=ctr.options[y].value;if(v==altParam[1]){ctr.options.selectedIndex=y;break;}
					}
				}
			}
		}
		UdfyldSubRegion(getValueFromAltParams('region'), getValueFromAltParams('subregion'));
		UdfyldDestination(getValueFromAltParams('subregion'), getValueFromAltParams('destination'));
		UdfyldSortByValue();
	}
	function UdfyldDays()
	{
		var daysSelect= GetObjByName("days") ;
		if(daysSelect)
		{
			var sDate =	CreateDateFromString(search_startdate);
			var eDate = CreateDateFromString(search_enddate);
			var one_day=1000*60*60*24;
			chooseSelectOneValue(daysSelect, Math.ceil((eDate.getTime()- sDate.getTime())/(one_day)));
		}
	}
	function getValueFromAltParams(id)
	{
		var res=null;
		var altParams=apt.split(';');
		for(var i=0;i < altParams.length;i++) 
		{
			var altParam = altParams[i].split('=');	if(altParam[0]==id ){res=altParam[1];break;}
		}
		return res;
	}
	function UdfyldSortByValue()
	{
		UdfyldCtrlSortByValue("sortbyvalue");
		UdfyldCtrlSortByValue("sortbyvalue_bottom");		
	}
	function UdfyldCtrlSortByValue(ctrl) {
		if(ctrl) {
			var ctr=document.getElementById(ctrl);
			if(ctr && sortbyvalue) {
				for(var y=0;y < parseInt(ctr.length);y++)
					if(ctr.options[y].value==sortbyvalue){ctr.options.selectedIndex=y;break;}
			}
		}
	}	
function resizeMe(e)
{
	if ((navigator.appVersion.indexOf('MSIE 5') != -1) && (navigator.platform.indexOf('Mac') != -1)	&& getStyleObject('blankDiv')) 
	{	
		explorerMacResizeFix();		
	}
	hideCalc(); hideMap();hideInfoPopup();
}
function hidePopup(e) {	
			
	e = e || window.event; 	var t = null;
	if(e)
	{ 
		t = e.target || e.srcElement; 
	}	
	if(t)	{
		
		var isImageArea = t.nodeName == "IMG" || t.nodeName == "AREA" || t.nodeName == "SPAN";	
		if(styleMapMainDivSoegHus && !isImageArea && t.id !="divShowCountry") 
		{
			styleMapMainDivSoegHus.display='none';
		}	
	}		
	
	hideCalc();
	hideInfoPopup();
}

//kort
function addSubRegionChosenValue(areaid)
{
	var oldValue= getSubRegionChosenValue();
	if(oldValue && oldValue != 'null' && oldValue.length > 0 )
	{
		setSubRegionChosenValue( oldValue+":"+areaid);	
	} 
	else
	{
		setSubRegionChosenValue(areaid);	
	}
	
}
function removeSubRegionChosenValue(areaid)
{
	var oldValue= getSubRegionChosenValue(); var rest = oldValue.split(':'); var newValue="";	var arrNewValue= new Array();
	for(var k=0;k< rest.length;k++)
	{
		(rest[k]!=null && rest[k].length > 0  && rest[k] != areaid ) ?  arrNewValue[arrNewValue.length]= rest[k] : 0;
	}
	if(arrNewValue.length > 0 )
	{
		newValue=arrNewValue.join(":");
	}
	setSubRegionChosenValue(newValue);
}
function removeChildNodesFromElement(obj)
{
	if (navigator.userAgent.toLowerCase().indexOf("safari") != -1){
		while (obj.childNodes.length > 0)
		{
			var child = obj.childNodes[0]; 
			var parentNode = child.parentNode;
			parentNode.removeChild(child);	   
		}
	}	
}	

//subregion kald med area 
function imageMapClickSub(area)
{
	imageMapOut(area);
	var areaObj=GetArea(area.id);
	subMapDivHandler(areaObj);
}

function subMapDivHandler(areaObj) {

	var newMapDiv = GetObjByName('div' +areaObj.Id);
	
	if(!newMapDiv)
	{
		newMapDiv = document.createElement('div');
		newMapDiv.id = 'div' + areaObj.Id;
		newMapDiv.innerHTML = '<img alt="'+ areaObj.Name + '" title="'+ areaObj.Name  +'" border="0" src="' + areaObj.ImgSrc  +'"  />';
		newMapDiv.style.visibility="hidden";
		newMapDiv.style.position = "absolute"; 
		
		mapMainDivSoegHus.appendChild(newMapDiv);
		  
		addSubRegionChosenValue(areaObj.Id);
		newMapDiv.style.visibility="visible";
	}
	else
	{		
			if(newMapDiv.style.visibility=="visible")
			{
				  newMapDiv.style.visibility="hidden"; 
				  removeSubRegionChosenValue(areaObj.Id);
			}
			else
			{
				addSubRegionChosenValue(areaObj.Id);
				newMapDiv.style.visibility="visible";
			}
	}
	SelectSubRegionFromHandler();
}
function myPosition (elementId)
{
	var y=YAHOO.util.Dom.getY(elementId); var x= this.Left=YAHOO.util.Dom.getX(elementId); 
	var elementPos = new elementPosition (x, y);
	return elementPos;
	
}
function elementPosition(x,y)
{
	this.Left=x; this.Top =y;
}
var Areas = new Array();

function Area (id, parentid,  name, imgsrc, type, coords, shape)
{
	this.Id=id;
	this.ParentId=parentid;
	this.Name= name;
	this.ImgSrc=imgsrc;
	this.Type=type;
	this.Coords=coords;
	this.Shape=shape;
}

function GetArea(id)
{
	var low = 0;    var high = Areas.length-1;       
	while (low <= high) 
	{       
		var mid = parseInt( (low + high) / 2);           
		if (Areas[mid].Id > id)  {high = mid - 1;}
        else if (Areas[mid].Id < id)  {low = mid + 1;}           
		else  {return Areas[mid]; }       
	}
	return null; // not found   
}
function ShowAllChosenSubRegion()
{
	var subregionChosenValue = getSubRegionChosenValue();
	if(subregionChosenValue  && subregionChosenValue.length > 0  && subregionChosenValue != 'null')
	{
		SelectedValues= subregionChosenValue.split (':');
		
		for(var i=0; i <SelectedValues.length; i++)
		{
			if(SelectedValues[i] != null && SelectedValues[i].length >0)
			{
				var areaObj=GetArea(SelectedValues[i]);
				if(areaObj && areaObj.Type==2)
				{
					var mapDiv = GetObjByName('div' +SelectedValues[i]);
					
					if(mapDiv) 
					{ 
						mapDiv.style.visibility=="hidden" ? mapDiv.style.visibility="visible" : 0 ;
					}
					else //create new [ved load]
					{
						var newMapDiv = document.createElement('div');
						
						newMapDiv.id = 'div' + areaObj.Id;
						newMapDiv.innerHTML = '<img alt="'+ areaObj.Name + '" title="'+ areaObj.Name  +'" border="0" src="' + areaObj.ImgSrc  +'"  />';
						newMapDiv.style.visibility="hidden";
						newMapDiv.style.position = "absolute"; 
						
						mapMainDivSoegHus.appendChild(newMapDiv);
						newMapDiv.style.visibility="visible";
						
					}
				}
			}
		}
	}
	
}
function RemoveAllChosenSubRegion()
{
	var subregionChosenValue = getSubRegionChosenValue();
	if(subregionChosenValue != null && subregionChosenValue.length > 0 )
	{
		SelectedValues= subregionChosenValue.split (':');
		for(var i=0; i <SelectedValues.length; i++)
		{
			if(SelectedValues[i].length >0)
			{
				var mapDiv = GetObjByName('div' +SelectedValues[i]);
				mapDiv ? mapDiv.style.visibility="hidden" : 0 ;
			}
		}
	}
}
function GetAreaChildren(id)
{
	var areas = new Array();
	if(Areas.length >0)
	{
	 	for(var i=0;i < Areas.length; i++)
	 	{
	 		if(Areas[i].ParentId==id)
	 		{
	 			areas[areas.length]=Areas[i];
	 		}
	 	}
	} 
	return areas;
}

   
function CreateNewUseMap(areaObj)
{
	var mainUseMap = document.getElementById("mainUseMap"); 
	if(mainUseMap)
	{
		removeChildNodesFromElement(mainUseMap);
		//reuse
		var oldCount = mainUseMap.childNodes.length;	var reCount = 0;
		
		var areas=GetAreaChildren(areaObj.Id)
		if(areas.length>0)
		{
			for(var i=0;i< 	areas.length;i++)
			{	
				var attach=true;	var node=null; var areaChild= areas[i];
				
				if(i < oldCount)
				{
					node= mainUseMap.childNodes[reCount];
					node.setAttribute("title", areaChild.Name);
					node.setAttribute("alt", areaChild.Name);
					reCount++;
					attach=false;
				}
				else
				{
					node = document.createElement("area"); 	
					node.setAttribute("href", "#");    		
					node.setAttribute("title", areaChild.Name);
					node.setAttribute("alt", areaChild.Name);
				}
				areaChild.Shape=="rect" ? node.setAttribute("shape", "rect") : node.setAttribute("shape", "poly"); ; 
				node.setAttribute("id", "" + areaChild.Id);    	
				node.setAttribute("coords", areaChild.Coords);     
				
				node.onmouseover = function(){
					imageMapOver(this); 
				}; 
				node.onmouseout = function(){
  					imageMapOut(this); 
				};    
	  
				//region
				if(areaChild.Type==1)	
					node.onclick = function(){
  						imageMapClick(this); 
				}; 
				//subregion
				if(areaChild.Type>1)	
					node.onclick = function(){
  						imageMapClickSub(this); 
				}; 
				
				if(attach)
				{
					node.onfocus = function(){
					if (document.all){
						if (this.blur)
						this.blur();
						}
					};
					mainUseMap.appendChild(node);
				}
			}
		}
		while (reCount < oldCount)
		{
			mainUseMap.childNodes[reCount].shape == "rect" ? mainUseMap.childNodes[reCount].setAttribute("coords", "0,0,0,0"): mainUseMap.childNodes[reCount].setAttribute("coords", "0,0,0,0,0,0");
			reCount++;
		}	
	}
	
}

function InitMapData()
{
	var areaId=0;
	var regionID = getSelectedValue(GetObjByName("region"));	areaId = regionID;
	var areaObj = GetArea (areaId);
	InitMap(areaObj);
}

function ShowDivShowCountry(id)
{
	var   divShowCountry = GetObjByName('divShowCountry');
	if(divShowCountry )
	{
		if(id > 0 && divShowCountry.style.display == "none") {divShowCountry.style.display = "block";}
		else if(id==0 && divShowCountry.style.display == "block" ){ divShowCountry.style.display = "none";}
	}
}

function chooseCountry()
{
	var objRegion=GetObjByName("region");
	if(objRegion)
	{
		chooseSelectOneValue(objRegion , 0);
		RegionOnChange(objRegion);
	}
}

//pre [Type = [0 - 1]]
function InitMap(areaObj)
{
	if(areaObj)
	{
		CreateNewUseMap(areaObj);
		setTheMapBgrImageSrc(areaObj);
		if(areaObj.Type==1)
		{
			ShowAllChosenSubRegion();
		}
		else
		{
			setSubRegionChosenValue("");
		}
		ShowDivShowCountry(areaObj.Id); //hele landet div
	}
}
//region
function imageMapClick(area)
{
	imageMapOut(area);
	var objRegion=GetObjByName("region");
	chooseSelectOneValue(objRegion , area.id);
	RegionOnChange(objRegion);
	
}
function setTheMapBgrImageSrc(areaObj)
{
	var imgTheMap = document.getElementById("theMap"); 
	if(imgTheMap)	
	{
		imgTheMap.src= areaObj.ImgSrc;		
	}
}

function imageMapOver(area)
{
	var areaObj=GetArea(area.id);
	if(areaObj)
	{
		var mapOver = document.getElementById("mapOver"); 
		if(mapOver )
		{
			if(areaObj.Type ==1)//region
			{
				mapOver.src= areaObj.ImgSrc.replace(/\.gif/g, "_up.gif");		
			}
			else if (areaObj.Type==2) //subRegion
			{
				mapOver.src= areaObj.ImgSrc ;
			}
		}
	}
}
function imageMapOut(areaObj)
{
	var mapOver = document.getElementById("mapOver"); 	if(mapOver)	{mapOver.src= "/images/nlajax/dot.gif"	}
}
function SelectSubRegionFromHandler()
{
	var rid;var selectObject= GetObjByName("subregion") 
	GetObjByName("region") ? rid=  getSelectedValue(GetObjByName("region")) : 0 ;
	if(rid!=null)
	{
		var  subRegionChosen =  getSubRegionChosenValue();
		if(subRegionChosen == null|| subRegionChosen.length ==0)
		{
			chooseSelectOneValue(selectObject, 0);			
		}
		else
		{
			removeManySubRegionChosenItem(subRegionChosen);
			//valgt flere areas!!!
			if (isManySubRegionChosen(selectObject, subRegionChosen))
			{
				selectObject.options[selectObject.length] = new Option(ManySubRegionChosen , subRegionChosen);	
				chooseSelectOneValue(selectObject, subRegionChosen);
			}
		}
		UdfyldDestination(subRegionChosen,0);
	}
	altParamsChange(selectObject);
}
//kort end