var form;
var searchcookie="searchcookie";
var attractioncookie="attractioncookie";
var expires = 300; 
var path="/";

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 getSingleValueFromCookie(cookiename, id)
{
	var res=null;	var data=getEuCookie(cookiename);if(data!=null)	{res=getEuCookieValue(data,id);}	return res;
}
function ChangeLRDImage(region)
 {
   if (document.images)
	{
	 var lrdImage	=GetObjByName("LRDImage");
	 if(lrdImage!=null)
	 {
		var rValgt =parseInt(region);
		if (rValgt!=0)
		{
			imgTemp=eval('imgRegion' + rValgt );
		}
		else
		{
			imgTemp=eval('imgLand');
		}
		if(lrdImage.src!=imgTemp.src)
		{
			lrdImage.src= imgTemp;
		}
      }
    }
 }
function GetObjByName(navn)
{return document.getElementById(navn);}

function setEuCookie (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 getEuCookie(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 deleteCookie(Name, Path) {
  setEuCookie(Name,"Deleted", -1, Path)
}
function udfyldSearchForm()
{
	var c=getEuCookie(searchcookie);
	if(c!=null)
	{
		var l=form.elements.length;
		for(var i=0;i <l;i++)
		{
			var obj =form.elements[i];
			if(obj.id!="country" && obj.id != "region" && obj.id!="destination" )
			{ 
				var data=getEuCookieValue(c,obj.id);
				if(data != null)
				{
					switch (obj.type)
					{
						case "checkbox": 
							if(data=='yes'){obj.checked=true;}
							else	{obj.checked=false;}
							break;
						case "select-one": 
							chooseSelectOneValue(obj,data);
							break;
					}
				}
			}
		}
	}
	SelectCountry(); SelectRegion();SelectDestination();
}

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;	}
	}
}
function getSelectedValue(obj)
{
	var idx=obj.options.selectedIndex;
	return obj.options[idx].value;
}

function gemSearchData()
{
	var sData="";
	var l=form.elements.length;
	for(var i=0;i <l;i++)
	{
		var obj =form.elements[i];
		if(obj.id!="country" && obj.id != "region" && obj.id!="destination")
		{ 
			//geofelter + theme [mma]
			if((obj.id=="latitude" ||obj.id=="longitude" ||obj.id=="radius" || obj.id=="theme") && (obj.type=="input" || obj.type=="hidden"))
			{
				sData+="#"+obj.id+"="+obj.value;
			}
			switch (obj.type)
			{
				case "checkbox": 
					if(obj.checked)//
					{
						sData+="#"+form.elements[i].id+"=yes";
					}
					break;
				case "select-one": 
					sData+="#"+form.elements[i].id+"="+getSelectedValue(obj);
					break;
				case "text": 
					if(obj.id=="startdate")
					{
						sData+="#startdate="+form.startdate.value;
						//enddate
						var _ad= GetChoosenDays();
						var _ed=AddDaysToDate(CreateDateFromString(obj.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); 
						sData+="#enddate=" + _edd+"-" + _edm+"-"+ takeYear(_ed);
					}
					break;
			}
		}
	}
	sData+="#region="+GetRegionData(); sData+="#destination="+GetDestinationData();
	//delete old cookie! Remove later
	setEuCookie(searchcookie,"Deleted", -1, path)
	setEuCookie(searchcookie,sData,expires,path);
}
/*tkn henter valgt antal dage*/
function GetChoosenDays(){ box = form.days;return GetValueFromDropDown(box);}
function submitDefaultForm()
{
	var res=true; var startDate, endDate, seasonSwitchDate; var addDays= GetChoosenDays();
	startDate= CreateDateFromString(form.startdate.value);
	seasonSwitchDate=CreateDateFromString(_seasonSwitchDate);
	endDate=AddDaysToDate(startDate,addDays);
	//seasoncheck
	if(startDate < seasonSwitchDate && endDate > seasonSwitchDate )
	{
		alert(wsMsg);res=false;
	}
	else if(GetDayDifference(CreateDateFromString(_eDate),endDate) >0)
	{
		alert(wpMsg);res=false;
	}
	else
	{
		gemSearchData();
	}
	
	return res;
}
function onLoad()
{	
	form=GetObjByName("DefaultForm");
	udfyldSearchForm();
}

/*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 getEuCookieValue(data,name) {
	var tmpData = data; 
	if(tmpData == null) {return null; }
	var arrData = tmpData.split("#"); var num=0;
	while (num < arrData.length)
	{
		var tmp=arrData[num];
		if(tmp.length > 0)
		{
			if(tmp.indexOf(name+"=")!=-1)
			{
				var tmp2=  tmp.split("=");
				return (tmp2[1].length > 0) ? tmp2[1] : null; 
			}
		}
		num+=1;
	}
 	return null; //ingen value
}

function UdfyldDestination(rid, did)
{
	var dt=GetObjByName("destination");
	var n=0;
	if(dt!=null)
	{
		var lng=dt.length;
		if(lng >0)//ikke udfyldt i forvejen
		{
			for(i=0;i<lng;i++)//clear alle options
			{dt.options[0] = null;}
		}
		if(_destinationChoosen!='True')
		{
			dt.options[0] = new Option(ChooseDestination,"0");
			n=1;
		}
		if(rid!=0)//alle regions
		{
			var dataArr=eval('arrD_'+rid).split('*');
			for (var i=0;i<dataArr.length;i+=2)
			{dt.options[n] = new Option(unescape(dataArr[i+1]) ,dataArr[i]);n++;}
			chooseSelectOneValue(dt,did);
		}
	}
}

function GetRegionData()
{
	var data;var rg=GetObjByName("region");
	if(rg!=null) {data=getSelectedValue(rg);}
	else{data=region;}
	return data;
}
function GetDestinationData()
{
	var data;var dt=GetObjByName("destination");
	if(dt!=null) {data=getSelectedValue(dt);}
	else{data=destination;}
	return data;
}
function ChangeRegion(rId)
{
	var rg=GetObjByName("region");
	if(rg!=null)
	{
		chooseSelectOneValue(rg,rId);
		RegionOnChange(rg);
	}
}
function SelectCountry()
{
	var co=GetObjByName("country");
	if(co!=null)
	{
		chooseSelectOneValue(co,countrychoosen);
	}
}
function SelectRegion()
{
	var rg=GetObjByName("region");
	if(rg!=null)
	{
		var rId=null;var c=getEuCookie(searchcookie);
		if(c!=null)	{	rId=getEuCookieValue(c,"region");}	
		if(rId==null){rId=region;}	
		chooseSelectOneValue(rg,rId);
		RegionOnChange(rg);
	}
	else
	{
		var rId=region;
		UdfyldDestination(rId,0);
		SelectDestination();
	}
}
function SelectDestination()
{
	var dt=GetObjByName("destination");
	if(dt!=null)
	{
		var dId=null;var c=getEuCookie(searchcookie);
		if(c!=null)	{	dId=getEuCookieValue(c,"destination");}	
		if(dId==null){dId=destination;}	
		chooseSelectOneValue(dt,dId);
	}
}
function RegionOnChange(obj)
{
	var rId=getSelectedValue(obj);
	ChangeLRDImage(rId);
	UdfyldDestination(rId,0);
	
}
