// JScript File

Cookies={};
Cookies.getValue=function(cookieName, name){
  cookieName=cookieName.toLowerCase();
  if(!Cookies.data) {
    Cookies.data={};
    var aCookies = document.cookie.split(";");
    for(var i=0;i<aCookies.length;i++) {
      var regex = /^\s*([^\s=]*)=(.*)$/i;
      var match = regex.exec(aCookies[i]);
      if(match) {
        Cookies.data[match[1].toLowerCase()] = match[2];
      }
    }
  }
  if(typeof(Cookies.data[cookieName])!="undefined") {
    if(typeof(name)=="undefined") {
      return Cookies.data[cookieName];
    } else {
      var value = '';
      var regex = new RegExp("&"+name+"=([^&]*)","i");
      var match = regex.exec("&"+Cookies.data[cookieName]);
      if(match) {
        var regex2 = /%([\dabcdef]{2})/i;
        var value2 = match[1];
        while(value2.length>0) {
          var match2 = regex2.exec(value2);
          if(match2) {
            value+=(value2.substring(0,match2.index)+String.fromCharCode(parseInt(match2[1],16)));
            value2=value2.substring(match2.index+match2[0].length);
          } else {
            value+=value2;
            value2='';
          }
        }
      }
      return value;
    }
  }
  return '';
};

/*** MemoLine Start ***/

function TWindowLoadListItem( number, text) {
  this.number = number;
  this.text = text; 
}

function TWindowLoadListItem_sortfunction(a,b) {
  if (a.number < b.number) return -1;
  if (a.number > b.number) return 1;
  return 0;
}

var onWindowLoadList = new deflist();

onWindowLoadList.show = function (){
  onWindowLoadList.sort(TWindowLoadListItem_sortfunction);
  for (var i = 0; i < onWindowLoadList.length; i++) {
    eval(onWindowLoadList[i].text);
  }
}

onWindowLoadList.add = function(text) {
  this[this.length] = new TWindowLoadListItem(this.length, text);
}

onWindowLoadList.addAt = function(number, text) {
  this[this.length] = new TWindowLoadListItem(number, text);
}

window.onload = onWindowLoadList.show;

function MemoLine() {}

MemoLine.prototype.getElementID = function() {
  return this.EmneGruppeID + "_" + 
         this.FraDato + "_" + 
         this.AntalDage + "_" + 
         this.AntalVoksne + "_" +
         this.AntalBoern + "_" +
         this.AntalSmaaBoern + "_" +
         this.PersonFordeling;
}

MemoLine.prototype.countUpdated = function(count) {
  MemoLineListe.countUpdated(count);
}

MemoLine.prototype.click = function() {
  var oML = this;
  if(oML.MemoLineID) {
    LoadXMLAsync(MemoLineListe.url + "?action=remove&MemoLineID=" + oML.MemoLineID + "&GruppeID=" + oML.GruppeID,
                 function(o, status) {
                   if(status==200) {
                     document.getElementById("EmneGruppe"+oML.getElementID()).innerHTML = LanguageTexts.textMemoLineAdd;
                     document.getElementById("EmneGruppe"+oML.getElementID()).title = LanguageTexts.tooltipMemoLineAdd;
                     document.getElementById("EmneGruppe"+oML.getElementID()).className = "memolinelink memo memoadd";
                     oML.MemoLineID = null;
                     var ML = o.selectSingleNode("MemoLine")
                     if(ML) {
                       oML.countUpdated(ML.getAttribute("Antal"));
                     }
                   }
                 });
  } else {
    LoadXMLAsync(MemoLineListe.url + "?action=add&EmneGruppeID=" + oML.EmneGruppeID + "&GruppeID=" + oML.GruppeID + "&FraDato=" + oML.FraDato + "&AntalDage=" + oML.AntalDage + "&AntalVoksne=" + oML.AntalVoksne + "&AntalBoern=" + oML.AntalBoern + "&AntalSmaaBoern=" + oML.AntalSmaaBoern + "&PersonFordeling=" + oML.PersonFordeling,
                 function(xml, status) {
                   if(status==200) {
                     var ML = xml.selectSingleNode("MemoLine")
                     if(ML) {
                       oML.MemoLineID = ML.getAttribute("ID");
                       document.getElementById("EmneGruppe"+oML.getElementID()).innerHTML = LanguageTexts.textMemoLineRemove;
                       document.getElementById("EmneGruppe"+oML.getElementID()).title = LanguageTexts.tooltipMemoLineRemove;
                       document.getElementById("EmneGruppe"+oML.getElementID()).className = "memolinelink memo memoremove";
                       oML.countUpdated(ML.getAttribute("Antal"));
                     }
                   }
                 });
  }
}

MemoLine.prototype.toString = function() {
  if(this.MemoLineID) {
    return "<a rel=\"nofollow\" class=\"memolinelink memo memoremove\" id=\"EmneGruppe" + this.getElementID() + "\" href=\"javascript:MemoLineListe['" + this.getElementID() + "'].click();\" onmouseover=\"MemoLineListe['" + this.getElementID() + "'].mouseover();return true;\" onmouseout=\"MemoLineListe['" + this.getElementID() + "'].mouseout();\" title=\"" + LanguageTexts.tooltipMemoLineRemove + "\">" + LanguageTexts.textMemoLineRemove + "</a>";
  } else {
    return "<a rel=\"nofollow\" class=\"memolinelink memo memoadd\" id=\"EmneGruppe" + this.getElementID() + "\" href=\"javascript:MemoLineListe['" + this.getElementID() + "'].click();\" onmouseover=\"MemoLineListe['" + this.getElementID() + "'].mouseover();return true;\" onmouseout=\"MemoLineListe['" + this.getElementID() + "'].mouseout();\" title=\"" + LanguageTexts.tooltipMemoLineAdd + "\">" + LanguageTexts.textMemoLineAdd + "</a>";
  }
}

MemoLine.prototype.mouseover = function() {
  if(this.MemoLineID) {
    window.status = LanguageTexts.statusMemoLineRemove;
  } else {
    window.status = LanguageTexts.statusMemoLineAdd;
  }
}

MemoLine.prototype.mouseout = function() {
  window.status = '';
  return true;
}

MemoLineListe = {};
MemoLineListe.counterEnabled = false;

MemoLineListe.onload = function() {
  if(MemoLineListe.notempty || MemoLineListe.counterEnabled) {
    LoadXMLAsync(MemoLineListe.url + "?action=list", function(xml, status){
      if(status==200) {
        var xelMemoLines = xml.selectNodes("/MemoLines/MemoLine");
        for(var i=0;i<xelMemoLines.length;i++) {
          var xeMemoLine = xelMemoLines[i];
          var elementID = xeMemoLine.getAttribute("EmneGruppeID") + "_" +
                          xeMemoLine.getAttribute("FraDato") + "_" +
                          xeMemoLine.getAttribute("AntalDage") + "_" +
                          xeMemoLine.getAttribute("AntalVoksne") + "_" +
                          xeMemoLine.getAttribute("AntalBoern") + "_" +
                          xeMemoLine.getAttribute("AntalSmaaBoern") + "_" +
                          xeMemoLine.getAttribute("PersonFordeling")
          var ML = MemoLineListe[elementID];
          if(ML) {
            ML.MemoLineID = xeMemoLine.getAttribute("MemoLineID");
            document.getElementById("EmneGruppe"+ML.getElementID()).innerHTML = LanguageTexts.textMemoLineRemove;
            document.getElementById("EmneGruppe"+ML.getElementID()).title = LanguageTexts.tooltipMemoLineRemove;
            document.getElementById("EmneGruppe"+ML.getElementID()).className = "memolinelink memo memoremove";   
          }
        }
        MemoLineListe.countUpdated(xelMemoLines.length);
      }
    });
  }
}
MemoLineListe.url = '/sommerhus/callbackmemo.asp';
MemoLineListe.add = function(EmneGruppeID, GruppeID, FraDato, AntalDage, AntalVoksne, AntalBoern, AntalSmaaBoern, PersonFordeling) {
  var ML;
  ML = new MemoLine();
  ML.EmneGruppeID = EmneGruppeID;
  ML.FraDato = FraDato;
  ML.AntalDage = AntalDage;
  ML.AntalVoksne = AntalVoksne;
  ML.AntalBoern = AntalBoern;
  ML.AntalSmaaBoern = AntalSmaaBoern;
  ML.GruppeID = GruppeID;
  ML.PersonFordeling = PersonFordeling
  MemoLineListe[ML.getElementID()] = ML;
  MemoLineListe.notempty = true;
  return ML;
}

MemoLineListe.countUpdated = function(count) {
  var ele = getElement('memoInfoCount');
  if (ele) {
    ele.style.display = count == 0 ? 'none' : 'block';
    var ele = getElement('memoInfoCountCounter');
    if (ele) {
      ele.innerHTML = count;
    }
  }
}

onWindowLoadList.add('MemoLineListe.onload()');



/*** MemoLine End ***/

/*** QuickInfo Start ***/
if(typeof(Sima)=="undefined") Sima={};

Sima.QuickInfo=function(id, url){
  this.id=id;
  this.url=url;
  this.quickInfoItemListe={};
};

Sima.QuickInfo.prototype.add=function(qii){
  var id=qii.id;
  this.quickInfoItemListe[id]=qii;
  var qi=this;
  document.write("<a class=\"quickinfo\" rel=\"nofollow\" id=\"qiil" + id + "\" href=\"#\" title=\"" + LanguageTexts.tooltipQuickInfo + "\">" + LanguageTexts.textQuickInfo + "</a>");
  var qiil=getElement("qiil"+id);
  qiil.onclick=function(e){return qi.open(id,e);};
  qiil.onmouseover=function(e){return qi.mouseover(id,e);};
  qiil.onmouseout=function(e){return qi.mouseout(id,e);};
  qii.qiil=qiil;
};

Sima.QuickInfo.prototype.open=function(id){
  this.close();
  var qii = this.quickInfoItemListe[id];
  if(qii) {
    var qiib = qii.qiib;
    var qic = document.body;
    if(!qiib){
      if(qic){
        var qiib=document.createElement("div");
        qiib.style.position="absolute";
        qiib.style.visibility="hidden";
        qiib.className="quickinfo";
        qiib.id=id;
        qii.qiib=qiib;
        qic.appendChild(qiib);
      }
    }
    if(qiib&&qic){
      if(qiib.innerHTML=="") {
        LoadXMLAsync(qii.url+'?EmneGruppeID=' + id, 
                     function(txt, status) {
                       if(status==200) {
                         qiib.innerHTML = txt;
                         qiib.style.visibility='visible';
                       }
                     });
      } else {
        qiib.style.visibility='visible';
      }
	    var targ=qii.qiil;
      var pos = getPosition(targ);
      qiib.style.left = (pos.x+5) + 'px';
      qiib.style.top = (pos.y+5) + 'px';
    }
  }
  return false;
};

Sima.QuickInfo.prototype.mouseover=function(){return false;};
Sima.QuickInfo.prototype.mouseout=function(){return false;};


Sima.QuickInfo.prototype.close=function(){
  if(!getElement) return;
  for(var qi in this.quickInfoItemListe) {
    var qii = this.quickInfoItemListe[qi];
    if(qii.qiib){
      qii.qiib.style.visibility='hidden';
    }
  }
};

Sima.QuickInfoItem=function(id,url){
  this.id=id;
  this.url=url;
};
QuickInfoListe=new Sima.QuickInfo("quickinfocontainer");

/*** QuickInfo End ***/


/*** LanguageText Start ***/
LanguageTexts = {};
/*** LanguageText End ***/

/*** ExtraSelect start ***/
function ExtraSelectInfo( fieldName, elementCount, selectedValues, values, defaultValue ) {
  this.fieldName = fieldName;
  if (selectedValues != '') {
    this.selectedValues = selectedValues.split(',')
  } else {
    this.selectedValues = new Array();
  }

  this.selectedValues.length = elementCount;
  
  this.values = values.split(',');
  this.defaultValue = defaultValue;
  this.elementCount = elementCount;
} 

ExtraSelectInfo.prototype.setCookieInfo = function(cv) {
  if (this.elementCount != 0) {
    var list = cv.split(',');
    var j = 0;
    var valuedata = ',' + this.values.join(',') + ',';
    for(var i = 0; i < list.length; i++) {
      if (valuedata.indexOf(','+list[i]+',') != -1) {
        this.selectedValues[j] = list[i];
        j++;
      }
    }
    for(var i = 0; i < this.selectedValues.length; i++) {
      if (isundefined(this.selectedValues[i])) {
        this.selectedValues[i] = '';  //MBL 20070702 this.values[0];
      }
    }
  }
}

ExtraSelectInfo.prototype.show = function(ele) {
  var res = '';
  if (ele.type.toLowerCase() == 'select') {
    var eleValue = asint(ele.options[ele.selectedIndex].value)
  } else {
    var eleValue = ele.value;
  }
  for (var i = 0; i < eleValue; i++) {
    res += '<select class="extraselect" id="' + ele.name + '_' + i + '" onChange="handleExtraSelectChange(this, \'' + ele.name + '\','+ i +')">';
    res += '<option value=""></option>';
    for (var j = 0; j < this.values.length; j++) {
      res += '<option '+ ifthen(this.values[j] == this.selectedValues[i], ' selected=1 ','') + 'value=\'' + this.values[j] + '\'>' + this.values[j] + '</option>';
    }
    res += '</select>';
  }
  return res;
}

ExtraSelectInfo.prototype.validateInput = function(form) {
  var ele = form[this.fieldName];
  if (!isUndefined(ele)) {
    if (ele.type.toLowerCase() == "select")
      var len = asint(ele.options[ele.selectedIndex].value)
    else
      var len = asint(ele.value);
    for(var i = 0; i < len; i++) {
      if (this.elementCount > 0) {
        if (this.selectedValues[i] == '') return false;
      }
    }
  }
  return true;
}

ExtraSelectInfo.prototype.addSelected = function(form, data) {
  var ele = form[this.fieldName];
  if (!isUndefined(ele)) {
    if (ele.type.toLowerCase() == "select")
      var len = asint(ele.options[ele.selectedIndex].value)
    else
      var len = asint(ele.value);
    for(var i = 0; i < len; i++) {
      if (this.elementCount == 0) {
        data.add(this.defaultValue)
      } else {
        data.add(isundefined(this.selectedValues[i]) ? "" : this.selectedValues[i] );
      }
    }
  }
}

var onAfterHandleExtraSelectChange = '';

function handleExtraSelectChange(ele, fieldName, counter) {
  extraDropDowns[fieldName].selectedValues[counter] = ele.options[ele.selectedIndex].value;
  if (onAfterHandleExtraSelectChange != '') eval(onAfterHandleExtraSelectChange);
}

function joinExtraSelectInfo(fieldName) {
  this.fieldName = fieldName; 
  this.items = new list();
}

joinExtraSelectInfo.prototype.setFormValue = function(form) {
  var res = '';
  var data = new list();
  for (var i = 0; i < this.items.length; i++) {
    this.items[i].addSelected(form, data);
  }
  for (var i = 0; i < data.length; i++) {
    res += ',' + data[i];
  }
  form[this.fieldName].value = res.substring(1);
}

joinExtraSelectInfo.prototype.getErrorText = function(form) {
  for (var i = 0; i < this.items.length; i++) {
    if (!this.items[i].validateInput(form)) {
      return errortextlist[('Error.ValidateInput.' + this.items[i].fieldName).toLowerCase()];
    }
  }
  return '';
}

joinExtraSelectInfo.prototype.validateInput = function(form,displayError) {
  for (var i = 0; i < this.items.length; i++) {
    if (!this.items[i].validateInput(form)) {
      if (displayError) alert(this.getErrorText(form));
      return false;
    } 
  }
  return true;
}

joinExtraSelectInfo.prototype.add = function(esi) {
  var cv = Cookies.getValue('search', this.fieldName);
  esi.setCookieInfo(cv);
  this.items.add(esi);
}

function validateInput(form) {
  return JoinedDropDowns[i].validateInput(form);
}

function joinExtraSelect(form) {
  for (var i = 0; i < JoinedDropDowns.length; i++) {
    JoinedDropDowns[i].setFormValue(form);
  }
  return true;
}

var onAfterHandleExtraSelect = '';
function handleExtraSelect(ele) {
  if (ele != null) {
    var element = getElement(ele.name + '_ExtraSelect');
    if (element != null) {
      if (ele.selectedIndex > 0 || ele.value != '') {
        element.style.display = 'block';
        var element = getElement(ele.name + '_ExtraSelectDropDowns');
        element.innerHTML = extraDropDowns[ele.name].show(ele);
      } else {
        element.style.display = 'none';
      }
    }
  }
  if (onAfterHandleExtraSelect != '') eval(onAfterHandleExtraSelect);
}


/*** ExtraSelect slut ***/

function ArrivalCalendar(fieldName, htmlElement, formName, searchCookieName) {
  this.fieldName = fieldName;
  this.htmlElement = getElement(htmlElement);
  this.url = null;
  this.data = null;
  this.value = '';
  this.startDate = '';
  this.jsName = 'ac' + fieldName;
  this.retryFlag = 0;
  this.formName = formName;
  this.searchCookieName = searchCookieName;
}

ArrivalCalendar.prototype.refresh = function(response, setFocus, loadCookie) {
  if (response == null) {
    this.retryFlag++;
    alert(errortextlist['ArrivalCalendarRetry']);
    this.initialize(setFocus, loadCookie);
  } else {
    this.data = response;
    this.show(setFocus, loadCookie);
    this.retryFlag = 0;
  }
}

ArrivalCalendar.prototype.initialize = function(setFocus, loadCookie) {
  var o = this;
  if (loadCookie) {
    var cv = Cookies.getValue(this.searchCookieName, this.fieldName);
    if (cv != '') {
      var d = str2date(expand_date(cv),true);
      d.setFullYear(d.getFullYear(),d.getMonth(),1)
      this.startDate = asdate(d,'DMY');
    }
  }
  Sima.Remote.enqueue("ArrivalCalendar", this.url + '?startDate='+this.startDate + '&retryFlag='+ this.retryFlag, function(e){ o.refresh(e, setFocus, loadCookie)},10000,'iso-8859-1');
}

ArrivalCalendar.prototype.show = function(setFocus, loadCookie) {
  try {
  if (loadCookie){
    var cv = Cookies.getValue('search', this.fieldName);
    if (cv != '') {
      this.value = cv.replace(/-/gi, "");
    }
  }
  document.forms[this.formName][this.fieldName].value = this.value;
//  alert('show.' + this.value + '.' + this.startDate);
  var res = '';
  //var res = '<input type="hidden" name="' + this.fieldName + '" value="'+ this.value+'">';
  if (this.data != null) {
    res += '<table><tr>';
    res += '<td colspan="7" class="month">';
    res += this.data.months.show(this.jsName, this.startDate);
    res += '</td>';
    res += '</tr><tr>';
    for (var i = 0; i < this.data.weekdays.length; i++) {
      res += '<td class="dateheader">'+ this.data.weekdays[i].substring(0,1) +'</td>';
    }
    res += '</tr><tr>';
    for (var i = 0; i < this.data.arrivalDates.length; i++) {
      if (i % 7 == 0 && i > 0) res += '</tr><tr>'
      res += this.data.arrivalDates[i].show(this.jsName, this.value);
    }
    if (this.data.legendinfo.length > 0) {
      res += '<tr><td colspan="7">'
      res += this.data.legendinfo.show();
      res += '</td></tr>';
    }
    res += '</table>';
  }
  this.htmlElement.innerHTML = res;
  if (setFocus) {
    this.data.months.setFocus(this.fieldName);
  }
  } catch(e) {
    try{document.cookie='debug2=calendarfail ' + e.message.toString().replace(';','.') + ';path=/';}catch(o){}
  }
}

ArrivalCalendar.prototype.selectDate = function(arrivalDate) {
  this.value = arrivalDate;
  this.show();
}

ArrivalCalendar.prototype.changeMonth = function(ele) {
  this.startDate = ele.options[ele.selectedIndex].value;
  this.initialize(true);
}

function ArrivalCalendarData() {
  this.weekdays = new list();
  this.months = new list();
  this.months.show = ArrivalCalendarDataMonthsShow;
  this.months.setFocus = ArrivalCalendarDataMonthsSetFocus;
  this.arrivalDates = new list();
  this.legendinfo = new list();
  this.legendinfo.show = ArrivalCalendarDataLegendInfoShow;
}

function ArrivalCalendarDataMonthsSetFocus(fieldName) {
    var ele = getElement(fieldName + '_month');
    if (ele) {
      ele.focus();
    }
}

function ArrivalCalendarDataMonthsShow(fieldName, startDate) {
  var res = '<select id="'+ fieldName +'_month" onChange="'+ fieldName + '.changeMonth(this)">';
  for (var i = 0; i < this.length; i++) {
    res += '<option '+ ((startDate == this[i].arrivalDate) ? ' selected="on" ' : '') +'value="'+ this[i].arrivalDate +'">'+ this[i].getText() + '</option>';
  }
  res += '</select>';
  return res;
}

function ArrivalCalendarDataLegendInfoShow() {
  if (this.length == 0) return '';
  var res = '<table id="legendinfo">';
  for (var i = 0; i < this.length; i++) {
    res += '<tr><td class="legend '+ this[i].className +'">&nbsp;</td><td class="legendtext">' + this[i].text +'</td></tr>';
  }
  res += '</table>'
  return res;
}

ArrivalCalendarData.prototype.addDate = function(acdd) {
  this.arrivalDates.add(acdd);
}

function ArrivalCalendarDataDate(arrivalDate, clickable, style, legend) {
  this.arrivalDate = arrivalDate;
  this.clickable = clickable == '1';
  this.style = style;
  this.legend = unescape(legend.replace(/\+/gi, " "));
}

ArrivalCalendarDataDate.prototype.show = function(fieldName, value) {
  var clicktext = '';
  if (this.clickable) clicktext = 'onClick="' + fieldName +'.selectDate(\''+ this.arrivalDate+'\');return false" ';
  var res = '<td '+ clicktext +'class="'+((this.arrivalDate == value) ? ' dateChosen ': '') + this.style+ (this.clickable ? '': ' notClickable') + '">';
  if (this.clickable) {
    res += '<a title="'+ this.legend +'" href="#" '+ clicktext +'>' + this.arrivalDate.substring(0,2) + '</a>';
  } else {
    res += this.arrivalDate.substring(0,2);
  }
  res += '</td>';
  return res;
}

function ArrivalCalendarDataMonth(text, arrivalDate) {
  this.text = text;
  this.arrivalDate = arrivalDate;
}

ArrivalCalendarDataMonth.prototype.getText = function() {
  var d = str2date(expand_date(this.arrivalDate),true);
  var res = this.text + ((d.getFullYear() != (new Date).getFullYear()) ? ' ' + d.getFullYear() : '') 
  res = res.charAt(0).toUpperCase() + res.substring(1);
  return res;
}

function ArrivalCalendarLegendInfo(className, text ) {
  this.className = className;
  this.text = unescape(text.replace(/\+/gi, " "));;
}

/*--------------------------------------------------------------------------*/

function EmnePrisInfoType(formName) {
  this.formName = formName;
  this.emnegruppeID = '';
  this.emnePris = '';
  
  this.fraDato = '';
  this.antalDage = '';
  this.antalVoksne = '';
  this.antalBoern = '';
  this.personFordeling = '';
  
  this.url = '';
  this.urlParameters = new Array();
  this.data = null;
  this.dataPrevious = null;
  this.onLoadEventListeners = new Sima.EventListenerList();
  this.showEventListeners = new Sima.EventListenerList();
  this.retryFlag = 0;
  
  this.lastInitializeOnSubmit = null;
}

EmnePrisInfoType.prototype.initialize = function(onSubmit) {
  this.lastInitializeOnSubmit = onSubmit;
  var o = this;
  var form = document.forms[this.formName];
  eval(onSubmit);
  this.fraDato = form.fradato.value;
  this.antalDage = form.antaldage.value;
  this.antalVoksne = form.antalvoksne.value;
  this.antalBoern = isUndefined(form.antalboern) ? '' : form.antalboern.value;
  this.personFordeling = form.personfordeling.value;

  this.onLoadEventListeners.fire(Array(this));

  var urlComplete = this.url + '?emnegruppeID=' + this.emnegruppeID +
                               '&fradato=' + this.fraDato +
                               '&antalDage=' + this.antalDage +
                               '&antalVoksne=' + this.antalVoksne +
                               '&antalBoern=' + this.antalBoern +
                               '&personFordeling=' + this.personFordeling +
                               '&retryFlag=' + this.retryFlag;
  for (var i in this.urlParameters) {
    urlComplete += '&' + i + '=' + this.urlParameters[i];
  }
  Sima.Remote.enqueue("EmnePrisInfoType", urlComplete, function(e) { o.refresh(e) }, 10000, 'iso-8859-1');

}

EmnePrisInfoType.prototype.debuginfo = function() {

  alert ( 'fraDato = '+  this.fraDato + '\n' +
          'antalDage = '+  this.antalDage + '\n' +
          'antalVoksne = '+  this.antalVoksne + '\n' +
          'antalBoern = '+  this.antalBoern + '\n' +
          'personFordeling = '+  this.personFordeling);
}

EmnePrisInfoType.prototype.refresh = function(response) {
  this.dataPrevious = this.data;
  this.data = response;
  this.show();
}

EmnePrisInfoType.prototype.show = function() {
  this.showEventListeners.fire(Array(this));
}

EmnePrisInfoType.prototype.setData = function(antalVoksne, antalBoern, personFordeling) {
  this.antalVoksne = antalVoksne; 
  this.antalBoern = antalBoern;
  this.personFordeling = personFordeling;
  this.initialize(false);
}


function EmnePrisInfoTypeData() {
  this.statusKode = ''; 
  this.statusTekst = '';
  this.nuPris = '';
  this.vejlPris = '';
  this.harRabat = false;
  this.rabat = '';
  this.onlineBookingRaadighedStatus = 0;
  this.onlineBookingPrisforskel = 0;
  this.onlineBookingStatusTekst = '';
  this.orgEmnePris = 0;
}

EmnePrisInfoTypeData.prototype.debuginfo = function() {
  alert ( 'statusKode  = ' + this.statusKode + '\r' + 
          'statusTekst = ' + this.statusTekst + '\r' + 
          'nuPris      = ' + this.nuPris + '\r' + 
          'vejlPris    = ' + this.vejlPris + '\r' + 
          'harRabat    = ' + this.harRabat + '\r' + 
          'rabat       = ' + this.rabat + '\r' + 
          'onlineBookingRaadighedStatus = ' +   this.onlineBookingRaadighedStatus + '\r' + 
          'onlineBookingPrisforskel = ' + this.onlineBookingPrisforskel + '\r' + 
          'onlineBookingStatusTekst = ' + this.onlineBookingStatusTekst + '\r' +
          'orgEmnePris = ' + this.orgEmnePris );
}          

EmnePrisInfoTypeData.prototype.toString = function() {
  return  'statusKode  = ' + this.statusKode + '<br>' + 
          'statusTekst = ' + this.statusTekst + '<br>';
}          

function toggleDescription(name, mode, size) {
   if (mode == 'vis') {
     getElement(name).style.height='auto';
     getElement(name).style.borderBottom = '0px';
     showElement('hide' + name);
     showElement('hide' + name + '2');
     hideElement('show' + name);
     hideElement('show' + name + '2');
   } else {
     getElement(name).style.height=size;
     getElement(name).style.overflow = 'hidden';
     getElement(name).style.borderBottom = '1px dotted black';
     showElement('show' + name);
     showElement('show' + name + '2');
     hideElement('hide' + name);
     hideElement('hide' + name + '2');
   }
   return false;     
}

function adjustDescription(checkField, height, hideField1, hideField2){
  var ele = getElement(checkField);
  if (ele) ele.style.display = 'block';
  
  if (ele && ele.offsetHeight) {
    if (ele.offsetHeight > height) {
      ele.style.height = height + 'px';
      ele.style.overflow = 'hidden';
      ele.style.borderBottom = '1px dotted  black';
      showElement(hideField1);
      showElement(hideField1+'2');
      hideElement(hideField2);
      hideElement(hideField2+'2');
    } else {
      hideElement(hideField1);
      hideElement(hideField2);
    }
  }
}

function handterEmneTekstSprog(ele) {
  var value = ele[ele.selectedIndex].value;
  if (value != '') eval(value);
}

function visSprogTekstSprog(baseFolder, id, EmnegruppeID, SprogNummerTil, FraDato) {
  var xmldom = LoadXML('/' + baseFolder +'/callbackEmneGruppeTekst.asp' +
                                         '?EmnegruppeID=' + EmnegruppeID +
                                         '&SprogNummer='+ SprogNummerTil + 
                                         '&FraDato=' + FraDato);
 
  var ele = getElement(id);
  var value = getXMLNodeText(xmldom.responseXML.selectSingleNode('/emnetekst/beskrivelse'));
  value = value.replace(/(<13><10>)|(<13>)|(<10>)/gi," ");
  value = value.replace(/m2/gi,"m&sup2;")
  ele.innerHTML = value;
  getElement('handterEmneTekstSprogKnap').style.display = 'none';
}

function handterEmneTekstSprogKnapaction(ele) {
  handterEmneTekstSprog(ele);
  ele.selectedIndex = 0;
}

function GoogleTranslate(baseFolder, EmnegruppeID, SprogNummerFra, SprogNummerTil, Id, FraDato) {
  //var baseUrl = window.location.href.substring(0,window.location.href.lastIndexOf('/'));
  var baseUrl = window.location.protocol + '//' + window.location.host + '/' + baseFolder;
  //baseUrl = 'http://www.sommerhussiden.dk/sommerhus/';
  var url = baseUrl + '/emneGruppeTekst.asp?EmnegruppeID=' + EmnegruppeID + '&SprogNummer=' + SprogNummerFra + '&FraDato=' + FraDato;
  var googleLangPair, felineLangPair
  felineLangPair = SprogNummerFra.toLowerCase() + '|' + SprogNummerTil.toLowerCase();
  //alert(felineLangPair);
  switch (felineLangPair) {
    case 'nl|gb' : googleLangPair = 'nl|en'; break;
    case 'gb|nl' : googleLangPair = 'en|nl'; break;
    case 'gb|fr' : googleLangPair = 'en|fr'; break;
    case 'gb|d'  : googleLangPair = 'en|de'; break;
    case 'gb|dk' : googleLangPair = 'en|da'; break;
    case 'gb|it' : googleLangPair = 'en|it'; break;
    case 'fr|gb' : googleLangPair = 'fr|en'; break;
    case 'fr|d'  : googleLangPair = 'fr|de'; break;
    case 'fr|dk' : googleLangPair = 'fr|da'; break;
    case 'd|gb'  : googleLangPair = 'de|en'; break;
    case 'd|fr'  : googleLangPair = 'de|fr'; break;
    case 'd|dk'  : googleLangPair = 'de|da'; break;
    case 'it|gb' : googleLangPair = 'it|en'; break;
  }

  var googleUrl = 'http://translate.google.com/translate?u=' + escape(url) + '&langpair=' + googleLangPair + '&hl=en&ie=UTF8';
  newwin(googleUrl,10,10,800,350);
  getElement('handterEmneTekstSprogKnap').style.display = 'inline';
}


function handterLokationTekstSprog(ele) {
  var value = ele[ele.selectedIndex].value;
  if (value != '') eval(value);
}

function visLokationSprogTekstSprog(baseFolder, id, LokationID, SprogNummerTil, FraDato) {
  var xmldom = LoadXML('/' + baseFolder +'/callbackLokationTekst.asp' +
                                         '?LokationID=' + LokationID +
                                         '&SprogNummer='+ SprogNummerTil + 
                                         '&FraDato=' + FraDato);
 
  var ele = getElement(id);
  var value = getXMLNodeText(xmldom.responseXML.selectSingleNode('/lokationtekst/beskrivelse'));
  value = value.replace(/(<13><10>)|(<13>)|(<10>)/gi," ");
  value = value.replace(/m2/gi,"m&sup2;")
  ele.innerHTML = value;
  getElement('handterLokationTekstSprogKnap').style.display = 'none';
}

function handterLokationTekstSprogKnapaction(ele) {
  handterLokationTekstSprog(ele);
  ele.selectedIndex = 0;
}

function GoogleTranslateLokation(baseFolder, LokationID, SprogNummerFra, SprogNummerTil, Id, FraDato) {
  //var baseUrl = window.location.href.substring(0,window.location.href.lastIndexOf('/'));
  var baseUrl = window.location.protocol + '//' + window.location.host + '/' + baseFolder;
  //baseUrl = 'http://www.sommerhussiden.dk/sommerhus/';
  var url = baseUrl + '/LokationTekst.asp?LokationID=' + LokationID + '&SprogNummer=' + SprogNummerFra + '&FraDato=' + FraDato;
  var googleLangPair, felineLangPair
  felineLangPair = SprogNummerFra.toLowerCase() + '|' + SprogNummerTil.toLowerCase();
  //alert(felineLangPair);
  switch (felineLangPair) {
    case 'nl|gb' : googleLangPair = 'nl|en'; break;
    case 'gb|nl' : googleLangPair = 'en|nl'; break;
    case 'gb|fr' : googleLangPair = 'en|fr'; break;
    case 'gb|d'  : googleLangPair = 'en|de'; break;
    case 'gb|dk' : googleLangPair = 'en|da'; break;
    case 'gb|it' : googleLangPair = 'en|it'; break;
    case 'fr|gb' : googleLangPair = 'fr|en'; break;
    case 'fr|d'  : googleLangPair = 'fr|de'; break;
    case 'fr|dk' : googleLangPair = 'fr|da'; break;
    case 'd|gb'  : googleLangPair = 'de|en'; break;
    case 'd|fr'  : googleLangPair = 'de|fr'; break;
    case 'd|dk'  : googleLangPair = 'de|da'; break;
    case 'it|gb' : googleLangPair = 'it|en'; break;
  }

  var googleUrl = 'http://translate.google.com/translate?u=' + escape(url) + '&langpair=' + googleLangPair + '&hl=en&ie=UTF8';
  newwin(googleUrl,10,10,800,350);
  getElement('handterLokationTekstSprogKnap').style.display = 'inline';
}


function initializeInitialVisibility() {
  var list
  list = stdform_hideonsubmit.split(',');
  for (var i in list) {
    if (list[i] != '') {
      var ele = getElement(list[i]);
      if (ele != null) ele.style.display = 'block';
    }
  }

  list = stdform_showonsubmit.split(',');
  for (var i in list) {
    if (list[i] != '') {
      var ele = getElement(list[i]);
      if (ele != null) ele.style.display = 'none';
    }
  }
}

window.onpageshow = function (evt) {
  if (evt.persisted) {
    initializeInitialVisibility();
    window.onload();
  }
}

function PopupInfo_CreateWindow(ElementId) {
  ele = getElement(ElementId);
  var bodyWidth = ele.offsetWidth;

  var PopupElement = document.createElement("DIV");
  PopupElement.id = 'PopupInfo';
  PopupElement.style.height = ele.offsetHeight+'px';
  PopupElement.style.zIndex = 10;
  ele.parentNode.insertBefore(PopupElement, ele);
  
  var PopupElement = document.createElement("DIV");
  PopupElement.id = 'PopupInfoText';
  PopupElement.style.zIndex = 999;
  PopupElement.innerHTML = this.tekst;
  ele.parentNode.insertBefore(PopupElement, ele);
  PopupElement.innerHTML = this.tekst;
  
  var width = PopupElement.offsetWidth;
  
  PopupElement.style.left = ((bodyWidth - width) / 2).toString() + 'px';
  
  PopupInfo_SetFieldVisibility(false);
  
}

function PopupInfo_SetFieldVisibility(display) {
  for (var i = 0; i < document.forms.length; i++) {
    for (var j = 0; j < document.forms[i].length; j++) { 
      var ele = document.forms[i][j];
      if (!display) {
        if (ele.type.toLowerCase() != 'hidden') {
          ele.simaOldState = ele.style.display;
          ele.style.display = 'none';
        }
      } else {
        if (ele.style.display == 'none' && ele.simaOldState != undefined) {
          ele.style.display = ele.simaOldState;
        }
      }
    }
  }
}

FlashDetect_CreateWindow = PopupInfo_CreateWindow;

function PopupInfo_ClickOk() {
  window.open(this.actionUrl + "?action=accept&PopupInfoId=" + this.id ,'sima_PopupInfo');
  var ele = getElement('PopupInfoText');
  ele.parentNode.removeChild(ele);
  var ele = getElement('PopupInfo');
  ele.parentNode.removeChild(ele);
  PopupInfo_SetFieldVisibility(true);
}

function PopupInfo_ClickCancel() {
  var ele = getElement('PopupInfoText');
  ele.parentNode.removeChild(ele);
  var ele = getElement('PopupInfo');
  ele.parentNode.removeChild(ele);
  
  LoadXMLAsync(this.actionUrl + "?action=cancel&PopupInfoId=" + this.id, 
               function(o, status) {}
              );
  
  PopupInfo_SetFieldVisibility(true);
}

function FlashDetect_ClickOk() {
  window.open(this.actionUrl + "?action=accept",'sima_PopupInfo');
  var ele = getElement('PopupInfoText');
  ele.parentNode.removeChild(ele);
  var ele = getElement('PopupInfo');
  ele.parentNode.removeChild(ele);
  PopupInfo_SetFieldVisibility(true);
}

function FlashDetect_ClickCancel() {
  var ele = getElement('PopupInfoText');
  ele.parentNode.removeChild(ele);
  var ele = getElement('PopupInfo');
  ele.parentNode.removeChild(ele);
  
  LoadXMLAsync(this.actionUrl + "?action=cancel", 
               function(o, status) {}
              );
  
  PopupInfo_SetFieldVisibility(true);
}

function resizeImg() {
}

function OnlineBookingValidateCallback(forespoergselID) {
  var urlComplete = paramtext('callbackBookingValidate.asp?forespoergselid=%1%', new Array(forespoergselID));
  Sima.Remote.enqueue("OnlineBookingValidateCallback", urlComplete, OnlineBookingValidateCallbackFunc,10000,'iso-8859-1');
}

function OnlineBookingValidateCallbackFunc(response) {
}

function ValidateFullTextSearchForm(form) {
  return (form.query.value != '');
}

function fullTextSearchFocus(ele){
  ele.className = 'fullTextSearchFocused';
}

function fullTextSearchBlur(ele) {
  if (ele.value == '')
    ele.className = '';
}

function showChildGeoNodes(showElementID, hideElementID) {
  hideElement(hideElementID);
  showElement(showElementID);
}

function validerAntalDage(form) {
  if (form && form.antaldage) {
    var value = form.antaldage.options[form.antaldage.selectedIndex].value;
    if(value == '98' || value == '99') {
      return error( errortextlist.getError('dataerror', formfields.find('antaldage').displayname));
    }
  }
  return true;
}

function FelineClubGavekort() {
  window.open('https://gavekort.felineclub.dk/gavekort.aspx','gavekort','toolbar=no,resizable=yes,width=820,scrollbars=1');
}