k = "DD-MM-yyyy"; 
gm = "#ffff90"; 
gm = "#dddddd"; 
lb = "#ffff94"; 
jl = "#ffff94"; 
me = "#fffeef"; 
kv = "#fffeef"; 
of = "#0000EF"; 
la = "black"; 
ku = "blue"; 
ht = "green"; 
jc = "red"; 
nh = "darkred"; 
eh = "bold 8pt verdana, arial, helvetica, sans-serif"; 
cr = "bold 8pt Verdana, arial, helvetica, sans-serif"; 
kz = "8pt Verdana, arial, helvetica, sans-serif"; 
mq = 0; 
var hm, gn, gr, u, hq, bq, ah, h, cd, bu, dp, kw, mk, x, da, ca, as, dk, ej, ei, eg, dz, jb, gk, ka = new Array(6), kk = new Array('FFFFAA', 'C0C0C0'), hl = new Array('dayFree', 'dayBooked'), dw, dj, cq; 
calendarini('sys_language'); 
function calendarini(bi) {
   if(document.getElementById(bi)) {
      x = document.getElementById(bi).value; 
      }
   else if(document.all[bi]) {
      x = document.getElementById(bi).value; 
      }
   else {
      alert("calendar.js: sys_language unknown"); 
      x = "da"; 
      }; 
   if(x == "fr") {
      da = new Array('Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi', 'Dimanche'); 
      ca = new Array('Lu', 'Ma', 'Me', 'Je', 'Ve', 'Sa', 'Di'); 
      }
   else if(x == "de") {
      da = new Array('Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag', 'Sonntag'); 
      ca = new Array('Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa', 'So'); 
      }
   else if(x == "es") {
      da = new Array('Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado', 'Domingo'); 
      ca = new Array('Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sa', 'Do'); 
      }
   else if(x == "da") {
      da = new Array('Mandag', 'Tirsdag', 'Onsdag', 'Torsdag', 'Fredag', 'Lørdag', 'Søndag'); 
      ca = new Array('Ma', 'Ti', 'On', 'To', 'Fr', 'Lø', 'Sø'); 
      }
   else {
      da = new Array('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'); 
      ca = new Array('Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'); 
      }; 
   switch(x) {
      case"fr" : as = new Array('Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Aout', 'Septembre', 'Octobre', 'Novembre', 'Décembre'); 
      break; 
      case"de" : as = new Array('Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'); 
      break; 
      case"es" : as = new Array('Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'); 
      break; 
      case"da" : as = new Array('Januar', 'Februar', 'Marts', 'April', 'Maj', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'December'); 
      break; 
      default : as = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'); 
      }; 
   switch(x) {
      case"fr" : dk = new Array('arrivé', 'Depart'); 
      break; 
      case"de" : dk = new Array('Ankumpt', 'Abgang'); 
      break; 
      case"es" : dk = new Array('A', 'D'); 
      break; 
      case"da" : dk = new Array('ankomstdato', 'afrejsedato'); 
      break; 
      default : dk = new Array('Date of arrival', 'Date of departure'); 
      }; 
   switch(x) {
      case"fr" : ej = "Husk, FRANSK at skiftedag og ugestart - normalt er lørdag!"; 
      break; 
      case"de" : ej = "Husk, TYSK at skiftedag og ugestart - normalt er lørdag!"; 
      break; 
      case"es" : ej = "Husk, SPANSK at skiftedag og ugestart - normalt er lørdag!"; 
      break; 
      case"da" : ej = "Husk, at skiftedag og ugestart - normalt er lørdag!"; 
      break; 
      default : ej = "Note - the start of the week is Saturday!"; 
      }; 
   switch(x) {
      case"fr" : ei = "JavaScript Calendrier &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"; 
      break; 
      case"de" : ei = "JavaScript Kalender &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"; 
      break; 
      case"es" : ei = "JavaScript Calendario &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"; 
      break; 
      case"da" : ei = "JavaScript Kalender &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"; 
      break; 
      default : ei = "JavaScript Calendar &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp"; 
      }; 
   switch(x) {
      case"fr" : eg = "aujourd''hui"; 
      break; 
      case"de" : eg = "Heute"; 
      break; 
      case"es" : eg = "Hoy"; 
      break; 
      case"da" : eg = "Dags dato"; 
      break; 
      default : eg = "Today"; 
      }; 
   }; 
function setDateField(ar, dn, dm) {
   cd = dn; 
   setInitialDate(ar.value); 
   gr = buildTopCalFrame(); 
   gn = buildBottomCalFrame(0, 0, 0, 0); 
   }; 
function setDateField3M(ar, dn, iq, initialCall) {
   bu = ar; 
   dp = dn; 
   cd = bu; 
   kw = iq; 
   bq = ToDateUTC(ar.value); 
   if(!isDateJS(bq)) {
      bq = new Date(u.valueOf()); 
      }; 
   mk = 3; 
   if(!isDateJS(ToDateUTC(ar.value))) {
      h = new Date(u.getFullYear(), u.getMonth(), 1); 
      ah = new Date(h.valueOf()); 
      }
   else if(isDateJS(ToDateUTC(ar.value)) &&!isDateJS(ToDateUTC(dn.value))) {
      var nt = iq.options[iq.selectedIndex].text, ji = parseInt(nt) * 7 * 24 * 60 * 60 * 1000, nd = ToDateUTC(ar.value).valueOf() + ji, fy = ToDateUTC(ar.value), gp = new Date(); 
      gp.setTime(nd); 
      dn.value = DMYs(gp); 
      mk = 2; 
      if(!isDateJS(h))h = new Date(u.getFullYear(), u.getMonth(), 1); 
      var gj = h.getFullYear() * 12 + h.getMonth(), jw = fy.getFullYear() * 12 + fy.getMonth(), ly = gp.getFullYear() * 12 + gp.getMonth(); 
      if(ly - gj > 2) {
         h = new Date(gp.getFullYear(), gp.getMonth() - 2, 1)}; 
      if(ly - gj < 0) {
         h = new Date(gp.getFullYear(), gp.getMonth(), 1)}; 
      var gj = h.getFullYear() * 12 + h.getMonth(); 
      if(jw - gj > 2) {
         h = new Date(fy.getFullYear(), fy.getMonth() - 2, 1)}; 
      if(jw - gj < 0) {
         h = new Date(fy.getFullYear(), fy.getMonth(), 1)}; 
      ah = new Date(h.valueOf()); 
      }
   else {
      var dd = ToDateUTC(ar.value); 
      h = new Date(dd.getFullYear(), dd.getMonth(), 1); 
      ah = new Date(h.valueOf()); 
      ar.value = SetTextFieldTo_DDMMYYYY()}; 
   if(initialCall)gr = buildTopCalFrame2(1); 
   if(!initialCall) {
      var qp = document.getElementById('fmonth'), nj; 
      for(var c = 0, nj = qp.options.length; c < nj; c++) {
         qp.options[c].selected = false; 
         }; 
      var mm = h.getMonth(); 
      qp.options[mm].selected = true; 
      var qp = document.getElementById('fyear'), nj; 
      for(var c = 0, nj = qp.options.length; c < nj; c++) {
         qp.options[c].selected = false; 
         }; 
      var ld = h.getFullYear(); 
      for(var c = 0, nj = qp.options.length; c < nj; c++) {
         if(qp.options[c].text == ld)qp.options[c].selected = true; 
         }; 
      }; 
   }; 
function setInitialDate(fd) {
   bq = new Date(fd.substring(3, 5) + '/' + fd.substring(0, 2) + '/' + fd.substring(6, 10)); 
   if(!isDateJS(bq)) {
      bq = new Date(u.valueOf()); 
      }; 
   ah = new Date(bq.getFullYear(), bq.getMonth(), 1)}; 
function buildCalParts(ae) {
   kt = "<TD class='blankday' align='center'> </TD>\n"; 
   dz = ""; 
   var kx = "<STYLE type='text/css'>\n" + "<!--\n" + "TD.WeekNo { color: white; background-color: #00428C; font: bold 8pt Verdana, arial, helvetica, sans-serif; border: 0px solid #00428C; }\n" + "TD.blankday { font: " + eh + "; }\n" + "TD.headingOLD { color: " + la + "; text-decoration: none; font: " + cr + "; }\n" + "TD.heading { color: white; background-color: #00428C; font: bold 8pt Verdana, arial, helvetica, sans-serif; border: 0px solid #00428C; }\n" + "TD.httext { font: " + kz + "; }\n" + "A.focusDay:link { color: " + ht + "; text-decoration: none; font: " + cr + "; }\n" + "A.focusDay:hover{ color: " + ht + "; text-decoration: none; font: " + cr + "; }\n" + "A.focusDay:visited { color: " + ht + "; text-decoration: none; font: " + cr + "; }\n" + "A.changeDay:link { color: " + jc + "; text-decoration: none; font: " + eh + "; }\n" + "A.changeDay:visited { color: " + jc + "; text-decoration: none; font: " + eh + "; }\n" + "A.weekDay:link { color: " + ku + "; text-decoration: none; font: " + eh + "; }\n" + "A.weekDay:visited { color: " + ku + "; text-decoration: none; font: " + eh + "; }\n" + "A.weekDay:hover { color: " + nh + "; font: " + eh + "; }\n" + "-->\n" + "</STYLE>\n"; 
   if(ae == 0) {
      var nr = '<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">'; 
      dz += "<HTML>\n" + "<HEAD>\n" + nr + kx + "</HEAD>\n" + "<BODY BGCOLOR='" + jl + "' TOPMARGIN=10>" + "<CENTER>\n"; 
      }; 
   dz += "\n<TABLE CELLPADDING=0 CELLSPACING=0 width=200 border=0 bordercolor=green BORDERx=" + mq + " ALIGNx='CENTER' BGCOLOR='" + me + "'>\n<tbody>" + createWeekdayList() + "\n<TR>\n"; 
   if(ae == 0) {
      jb = "<TR><TD colspan=7 class='httext' >" + "<CENTER>" + ej + "</CENTER></TD></TR>" + "</tbody></TABLE>" + "</CENTER>" + "</BODY>" + "</HTML>"; 
      }
   else {
      gk = "</tbody></TABLE>"}; 
   }; 
function showCalendar(ar, dn, dm) {
   var by = dm.value; 
   u = new Date(by.substring(3, 5) + '/' + by.substring(0, 2) + '/' + by.substring(6, 10)); 
   hq = u.getFullYear(); 
   buildCalParts(0); 
   hq = parseInt(dm.value.substring(6, 10)); 
   setDateField(ar, dn, dm); 
   hm = "<HTML><HEAD>\n" + "<META http-equiv='Content-Type' content='text/html; charset=ISO-8859-1'>" + "<TITLE>" + ei + "</TITLE>\n" + "</HEAD>\n" + "<FRAMESET ROWS='55,*' FRAMEBORDER='0'>\n" + " <FRAME NAME='topCalFrame' SRC='javascript:parent.opener.GetcalDocTop()' SCROLLING='no'>\n" + " <FRAME NAME='bottomCalFrame' SRC='javascript:parent.opener.GetcalDocBottom()' SCROLLING='no'>\n" + "</FRAMESET>\n"; 
   if(document.all) {
      top.newWin = window.open('about:blank', 'cal', 'dependent=yes,width=240,height=205,top=275,left=280,titlebar=no,status=no'); 
      top.newWin.close(); 
      }; 
   top.newWin = window.open('javascript:parent.opener.GetcalDocFrameset()', 'cal', 'dependent=yes,width=240,height=205,top=275,left=280,titlebar=no,status=no'); 
   top.newWin.focus(); 
   }; 
function GetcalDocFrameset() {
   return hm}; 
function GetcalDocBottom() {
   return gn}; 
function GetcalDocTop() {
   return gr}; 
function showCalendar3M(ar, dn, iq, dm, mj, b, eu, et) {
   var by = dm.value; 
   u = new Date(by.substring(3, 5) + '/' + by.substring(0, 2) + '/' + by.substring(6, 10)); 
   hq = u.getFullYear(); 
   var c; 
   buildCalParts(1); 
   dw = b; 
   dj = eu; 
   if(typeof dw == 'object') {
      var bx, fh = et.value.replace(/\(\*\)/g,"").split(";");
      for(c = 0; c < 6; c++) {
         bx = fh[c].split("#"); 
         ka[c] = bx[5]; 
         }; 
      }; 
   setDateField3M(ar, dn, iq, true); 
   var ra = "<tr><td colspan=3 align=center><table CELLSPACING=15 CELLPADDING=1>\n" + "<tr>" + "<td nowrap align=center ></td>" + "<td nowrap align=center width=100 class=dayBooked> Optaget </td>" + "<td nowrap align=center width=100 class=dayFree> Ledig </td>" + "<td nowrap align=center width=100 class=dayOwnBooking> Bookingperiode </td>" + "<td nowrap align=center ></td>" + "</tr>" + "</table></td></tr>\n"; 
   ke = "\n<table BORDER=0 bgcolor='" + gm + "' >\n" + " <tr><td colspan=3 align=center>" + gr + "</td></tr> \n" + " <tr><td colspan=3 align=center>\n" + "<DIV name='M3LowerPart' id='M3LowerPart'>\n" + "</DIV>\n" + "</td>\n" + "</tr>\n" + ra + "</table>\n"; 
   document.getElementById(mj).innerHTML = ke; 
   writeCalendar(1)}; 
function buildTopCalFrame() {
   var bf = "<HTML>\n<HEAD>\n" + "<LINK REL=\"STYLESHEET\" HREF=\"../css/hometrotters.css\">\n" + " <style>\n" + " .formx { font: normal 8pt Verdana, arial, helvetica, sans-serif; WIDTH: auto; }\n" + " .formy { font: normal 8pt Verdana, arial, helvetica, sans-serif; HEIGHT: auto; }\n" + " </style>\n" + "</HEAD>\n" + "<BODY BGCOLOR='" + lb + "' TOPMARGIN=5 BOTTOMMARGIN=5 LEFTMARGIN=0 RIGHTMARGIN=0 >" + "<FORM NAME='calControl' onSubmit='return false;'>" + "<CENTER>" + buildTopCalFrame2(0) + "</CENTER>" + "</FORM>" + "</BODY>\n" + "</HTML>\n"; 
   return bf; 
   }; 
function buildTopCalFrame2(ae) {
   if(ae == 0) {
      var bf = " <TABLE border=0 heightx=55 width=230 class=\"formy\" CELLSPACING=0 CELLPADDING=1 >\n" + " <TR><TD class=\"formy\" ALIGN=\"CENTER\">\n" + " <CENTER>\n" + getMonthSelect(0) + getYearSelect(0) + " </CENTER>\n" + " </TD>\n" + " </TR>\n" + " <TR>\n" + " <TD ALIGN=\"CENTER\" width=230 classx=\"formy\" nowrap >\n" + "<INPUT class=\"formx\" TYPE=BUTTON NAME='previousYear' VALUE='&lt;&lt;' onClick='javascript:parent.opener.setAddMonth(0,-3)' >" + "<INPUT class=\"formx\" TYPE=BUTTON NAME='previousMonth' VALUE=' &lt; ' onClick='javascript:parent.opener.setAddMonth(0,-1)'>" + "<INPUT class=\"formx\" TYPE=BUTTON NAME='today' VALUE=\"" + eg + "\" onClick='javascript:parent.opener.setToday(0)'>" + "<INPUT class=\"formx\" TYPE=BUTTON NAME='nextMonth' VALUE=' &gt; ' onClick='javascript:parent.opener.setAddMonth(0,1)'>" + "<INPUT class=\"formx\" TYPE=BUTTON NAME='nextYear' VALUE='&gt;&gt;' onClick='javascript:parent.opener.setAddMonth(0,3)'>\n" + " </TD>" + " </TR>\n" + " </TABLE>\n"}
   else {
      var bf = "\n\n <TABLE border=0 CELLSPACING=5 CELLPADDING=2 class=\"formxs\" >\n" + " <TR>\n" + " <TD ALIGN=\"CENTER\" class=\"formx\" nowrap >\n" + "<INPUT class=\"formx\" TYPE=BUTTON NAME='previousYear' VALUE='&lt;&lt;' onClick='javascript:setAddMonth(1,-3)' >" + "<INPUT class=\"formx\" TYPE=BUTTON NAME='previousMonth' VALUE=' &lt; ' onClick='javascript:setAddMonth(1,-1)' >" + " </TD>" + " <TD class=\"formx\" ALIGN=\"CENTER\" nowrap>\n" + getMonthSelect(1) + getYearSelect(1) + " </TD>\n" + " <TD ALIGN=\"CENTER\" class=\"formx\" nowrap >\n" + "<INPUT class=\"formx\" TYPE=BUTTON NAME='nextMonth' VALUE=' &gt; ' onClick='javascript:setAddMonth(1,1)' >" + "<INPUT class=\"formx\" TYPE=BUTTON NAME='nextYear' VALUE='&gt;&gt;' onClick='javascript:setAddMonth(1,3)' >\n" + " </TD>" + " </TR>\n" + " </TABLE>\n"}; 
   return bf; 
   }; 
var ad = ""; 
function buildBottomCalFrame(mi, ae, mh, kc) {
   var cf, cl; 
   if(ae == 0) {
      var go = new Date(ah.getFullYear(), ah.getMonth() + mi, 1)}
   else {
      var go = new Date(h.getFullYear(), h.getMonth() + mi, 1)}; 
   if(typeof mh == 'object') {
      var kf = mh.value; 
      cf = new Date(kf.substring(3, 5) + '/' + kf.substring(0, 2) + '/' + kf.substring(6, 10)); 
      if(isDateJS(cf)) {
         var ew = new Date(), hy = new Date(); 
         ew.setTime(cf.valueOf() - getDaySat(cf) * 24 * 60 * 60 * 1000); 
         hy.setTime(cf.valueOf() + (6 - getDaySat(cf)) * 24 * 60 * 60 * 1000)}; 
      }; 
   if(typeof kc == 'object') {
      var ie = kc.value; 
      cl = new Date(ie.substring(3, 5) + '/' + ie.substring(0, 2) + '/' + ie.substring(6, 10)); 
      if(isDateJS(cl)) {
         var ev = new Date(), hx = new Date(); 
         ev.setTime(cl.valueOf() - getDaySun(cl) * 24 * 60 * 60 * 1000); 
         hx.setTime(cl.valueOf() + (6 - getDaySun(cl)) * 24 * 60 * 60 * 1000)}; 
      }; 
   var bf = dz, g = go.getMonth(), w = go.getFullYear(), ln, c = 0, dq = getDaysInMonth(go), ll = new Date(w, g, 1), du = getDayM(ll); 
   dq += du; 
   var cw = 0, s = new Date(w, g, 1); 
   if(typeof dw == 'object') {
      fe = GetPricetypeColorByDate(s); 
      az = GetBookingClassByDate(s)}; 
   bf += "\n<td class='WeekNo' bgcolorx='" + fe + "'>" + WByDate(s.valueOf() + 43200000) + "</td>\n"; 
   for(c = 0; c < du; c++) {
      bf += kt; 
      cw++; 
      }; 
   var cm = 0, az; 
   if(ae == 1 && ad.length < 1) {
      var fl = new Date(w, g, 1); 
      fl = getPrevDayDate(fl, 1); 
      ad = GetBookingClassByDate(fl)}; 
   for(c = du; c < dq; c++) {
      var gs = "&nbsp;"; 
      if(c - du + 1 < 10) {
         iw = "&nbsp;&nbsp;"; 
         }
      else {
         iw = "&nbsp;"; 
         }; 
      iw = "&nbsp;"; 
      iw = ""; 
      gs = ""; 
      cm = c - du + 1; 
      var s = new Date(w, g, cm); 
      if(s.valueOf() == bq.valueOf()) {
         az = "focusDay"; 
         }
      else {
         az = "weekDay"; 
         }; 
      if((cw + 2) % 7 == 0) {
         az = "changeDay"; 
         var jm = true}
      else {
         jm = false}; 
      var fe = '#FFFFFF', bg = ""; 
      if(ae == 1) {
         az = ""; 
         if(typeof dw == 'object') {
            fe = GetPricetypeColorByDate(s); 
            az = GetBookingClassByDate(s)}; 
         if(mk == 2) {
            if(typeof ew == 'object') {
               if(s >= ew && s <= hy)bg = "dayOwnBookingExtra"; 
               }; 
            if(typeof ev == 'object') {
               if(s >= ev && s <= hx)bg = "dayOwnBookingExtra"; 
               }; 
            if(s == cf)bg = "dayOwnBooking"; 
            var qk = s.toString(); 
            if(s.getTime() > cf.getTime() && s.getTime() < cl.getTime())bg = "dayOwnBooking"; 
            if(bg == "dayOwnBookingExtra")bg = "dayOwnBooking"}; 
         if(s.valueOf() < u.valueOf())az = "dayBeforeToday"; 
         if(az == 'dayBooked' && bg.length > 0) {
            cq = false}; 
         if(bg.length > 0 && cq)az = bg; 
         }; 
      if(ae == 0) {
         bf += "<TD align='CENTER' bgcolor='" + kv + "'>" + "<a class='" + az + "' href='javascript:parent.opener.returnDate(\"" + w + "-" + (g + 1) + "-" + cm + "\",0)'>" + iw + cm + gs + "</a></TD>\n"; 
         }
      else {
         var gb = "noDeco"; 
         if(jm && az != "dayBeforeToday") {
            var ko = getNextDayDate(s, 1), am = GetBookingClassByDate(ko); 
            if(am == "dayFree") {
               var mr = ko.getTime(); 
               if(mr > cf.getTime() && mr < cl.getTime())am = "dayOwnBooking"; 
               }; 
            if(ad != am) {
               if(ad == "dayFree" && am == "dayOwnBooking" && cq) {
                  gb = "noDeco"; 
                  bf += "<TD align='CENTER' class='changeDay_Free_Own' >"; 
                  }
               else if(ad == "dayBooked" && am == "dayOwnBooking" && cq) {
                  gb = "noDeco"; 
                  bf += "<TD align='CENTER' class='changeDay_Booked_Own' >"; 
                  }
               else if(ad == "dayFree" && am == "dayBooked") {
                  gb = "noDecow"; 
                  bf += "<TD align='CENTER' class='changeDay_Free_Booked' >"; 
                  }
               else if(ad == "dayBooked" && am == "dayFree") {
                  gb = "noDeco"; 
                  bf += "<TD align='CENTER' class='changeDay_Booked_Free' >"; 
                  }
               else if(ad == "dayOwnBooking" && am == "dayFree") {
                  gb = "noDeco"; 
                  bf += "<TD align='CENTER' class='changeDay_Own_Free' >"; 
                  }
               else if(ad == "dayOwnBooking" && am == "dayBooked") {
                  gb = "noDecow"; 
                  bf += "<TD align='CENTER' class='changeDay_Own_Booked' >"; 
                  }
               else {
                  bf += "<TD align='CENTER' class='" + az + "'>"; 
                  }; 
               }
            else {
               bf += "<TD align='CENTER' class='" + az + "'>"}; 
            }
         else {
            bf += "<TD align='CENTER' class='" + az + "'>"}; 
         if((az == "dayFree" || az == "dayOwnBooking") && true) {
            bf += "<a class='" + gb + "' href='javascript:returnDate(\"" + w + "-" + (g + 1) + "-" + cm + "\",1)'>" + iw + cm + gs + "</a></TD>\n"; 
            }
         else {
            bf += iw + cm + gs + "</TD>\n"; 
            }; 
         }; 
      cw++; 
      if(cw % 7 == 0) {
         if(c < (dq - 1))bf += "</TR>\n<TR>\n<td class='WeekNo' bgcolorx='" + fe + "'>" + WByDate(s.valueOf() + 86400000 + 43200000) + "</td>\n"; 
         else bf += "</TR>\n<TR ><td ></td>\n"; 
         }; 
      ad = az; 
      }; 
   for(c = dq; c < 42; c++) {
      bf += kt; 
      cw++; 
      if(cw % 7 == 0) {
         bf += "</TR>"; 
         if(c < 41) {
            bf += "<TR>"; 
            }; 
         }; 
      }; 
   if(ae == 0) {
      bf += jb; 
      }
   else {
      bf += gk; 
      }; 
   return(bf); 
   }; 
function GetBookingClassByDate(dd) {
   var oi, br = dj.value.split(";"); 
   var ag, c; 
   for(c in br) {
      ag = br[c].split("#"); 
      var lk = new Date(ag[4], ag[3] - 1, ag[2]), lj = new Date(ag[7], ag[6] - 1, ag[5]); 
      if(lk < dd && dd < lj) {
         return hl[ag[1] - 1]}; 
      }; 
   return hl[0]; 
   }; 
function GetBookingColorByDate(dd) {
   var oi, br = dj.value.split(";"); 
   var ag, c, lk = new Date(), lj = new Date(); 
   for(c in br) {
      ag = br[c].split("#"); 
      lk = myDateUTC(ag[4], ag[3] - 1, ag[2], 12); 
      lj = myDateUTC(ag[7], ag[6] - 1, ag[5], 12); 
      if(lk <= dd && dd <= lj) {
         return kk[ag[1] - 1]}; 
      }; 
   return'FFFFFF'}; 
function GetPricetypeColorByDate(dd) {
   var oi, br = dw.value.split(";"); 
   var ag, c, lk = new Date(), lj = new Date(); 
   for(c in br) {
      ag = br[c].split("#"); 
      lk = myDateUTC(ag[4], ag[3] - 1, ag[2], 12); 
      lj = myDateUTC(ag[7], ag[6] - 1, ag[5], 12); 
      if(lk <= dd && dd <= lj) {
         return ka[ag[1] - 1]}; 
      }; 
   return'FFFFFF'}; 
function writeCalendar(ae) {
   if(ae == 0) {
      gn = buildBottomCalFrame(0, 0, 0, 0); 
      var li = top.newWin.frames['bottomCalFrame']; 
      li.location.href = 'javascript:parent.opener.GetcalDocBottom()'; 
      }
   else {
      cq = true; 
      var qa = new Date(h.getFullYear(), h.getMonth() + 1, 1), pz = new Date(h.getFullYear(), h.getMonth() + 2, 1), ke; 
      ke = "<table BORDER=0 bgcolor='" + gm + "' cellspacing=0 cellpadding=0 >\n" + " <tr>\n" + " <td align=center class=heading1>\n" + as[h.getMonth()] + " - " + h.getFullYear() + "\n</td><td width=4></td>\n" + " <td align=center class=heading1>\n" + as[qa.getMonth()] + " - " + qa.getFullYear() + "\n</td><td width=4></td>\n" + " <td align=center class=heading1>\n" + as[pz.getMonth()] + " - " + pz.getFullYear() + "\n</td>\n" + " </tr>\n" + " <tr>\n" + " <td align=center class=monthFrame valign=top>\n" + buildBottomCalFrame(0, ae, bu, dp) + "\n</td><td></td>\n" + " <td align=center class=monthFrame valign=top>\n" + buildBottomCalFrame(1, ae, bu, dp) + "\n</td><td></td>\n" + " <td align=center class=monthFrame valign=top>\n" + buildBottomCalFrame(2, ae, bu, dp) + "\n</td>\n" + " </tr>\n" + "</table>\n"; 
      document.getElementById('M3LowerPart').innerHTML = ke; 
      }; 
   }; 
function returnDate(lc, ae) {
   var kd = lc.split("-"), hb = parseInt(kd[2]), g = parseInt(kd[1]), w = parseInt(kd[0]), dd = new Date(w, g - 1, hb, 12); 
   if(ae) {
      if(!isNaN(dd)) {
         var cc = u; 
         while(!(cc.getDay() == 6))cc = getNextDayDate(cc, 1); 
         cc = new Date(cc.getFullYear(), cc.getMonth(), cc.getDate(), 12); 
         if(dd < cc) {
            chkDatesAnnounceEarlyDate(); 
            return}
         while(!(dd.getDay() == 6))dd = getPrevDayDate(dd, 1); 
         if(dd < u)dd = u; 
         bu.value = DMYs(dd); 
         ah = dd; 
         dp.value = ""}; 
      if(!chkDates(0))return; 
      setDateField3M(bu, dp, kw, false); 
      writeCalendar(1); 
      chkDates(1)}
   else {
      ah = dd; 
      cd.value = getOutDate(hb, g, w); 
      cd.focus(); 
      if (UpdateCounter)
            UpdateCounter();
      top.newWin.close()}; 
   }; 
function setToday(ae) {
   if(ae == 0) {
      var ci = top.newWin.frames['topCalFrame'].document.calControl.fyear, ct = top.newWin.frames['topCalFrame'].document.calControl.fmonth; 
      }
   else {
      var ci = document.getElementById('fyear'), ct = document.getElementById('fmonth'); 
      }; 
   ah = new Date(u); 
   h = new Date(u); 
   ct.selectedIndex = ah.getMonth(); 
   ci.value = ah.getFullYear(); 
   writeCalendar(ae); 
   }; 
function setYear(ae) {
   if(ae == 0) {
      var ci = top.newWin.frames['topCalFrame'].document.calControl.fyear, ct = top.newWin.frames['topCalFrame'].document.calControl.fmonth; 
      }
   else {
      var ci = document.getElementById('fyear'), ct = document.getElementById('fmonth'); 
      }; 
   var w = ci.value; 
   if(isFourDigitYear(w)) {
      if(ae == 0)ah.setFullYear(w); 
      else h.setFullYear(w); 
      writeCalendar(ae); 
      }
   else {
      top.newWin.frames['topCalFrame'].document.calControl.fyear.focus(); 
      top.newWin.frames['topCalFrame'].document.calControl.fyear.select(); 
      }; 
   }; 
function setCurrentMonth(ae) {
   if(ae == 0) {
      var ci = top.newWin.frames['topCalFrame'].document.calControl.fyear, ct = top.newWin.frames['topCalFrame'].document.calControl.fmonth; 
      }
   else {
      var ci = document.getElementById('fyear'), ct = document.getElementById('fmonth'); 
      }; 
   var jo = parseInt(ci.value), ga = parseInt(ci[0].value), dt = parseInt(ci[2].value), cs = ct.selectedIndex, g, w, g = ct.selectedIndex; 
   if(ae == 1 && jo == dt && g > 9)g = 9; 
   if(ae == 0)ah.setMonth(g); 
   else h.setMonth(g); 
   writeCalendar(ae); 
   }; 
function setAddMonth(ae, nw) {
   if(ae == 0) {
      var ci = top.newWin.frames['topCalFrame'].document.calControl.fyear, ct = top.newWin.frames['topCalFrame'].document.calControl.fmonth; 
      }
   else {
      var ci = document.getElementById('fyear'), ct = document.getElementById('fmonth'); 
      }; 
   var jo = parseInt(ci.value), ga = parseInt(ci[0].value), dt = parseInt(ci[2].value), cs = ct.selectedIndex, g, w; 
   if(isFourDigitYear(jo)) {
      if((cs + nw) < 0) {
         if(jo > 1000 && jo > ga) {
            g = cs + nw + 12; 
            w = jo - 1; 
            }
         else {
            g = 0; 
            w = ga; 
            }; 
         }
      else if(cs + nw > 11) {
         if(jo > 1000 && jo < dt) {
            g = cs + nw - 12; 
            w = jo + 1; 
            }
         else {
            g = 11; 
            w = dt; 
            }; 
         }
      else {
         g = cs + nw; 
         w = jo; 
         }; 
      if(ae == 1 && w == dt && g > 9)g = 9; 
      var oh = new Date(), lh = oh.getUTCFullYear(), kn = oh.getUTCMonth(); 
      if(w <= lh && g < kn) {
         w = lh; 
         g = kn}; 
      if(ae == 0)ah.setFullYear(w, g, 1); 
      else h.setFullYear(w, g, 1); 
      ci.value = w; 
      ct.selectedIndex = g; 
      writeCalendar(ae); 
      }; 
   }; 
function getWeekNo(dd) {
   setFullYear; 
   lu.getDay(); 
   var dq, g = dd.getMonth() + 1, w = dd.getFullYear(); 
   if(g == 1 || g == 3 || g == 5 || g == 7 || g == 8 || g == 10 || g == 12) {
      dq = 31; 
      }
   else if(g == 4 || g == 6 || g == 9 || g == 11) {
      dq = 30; 
      }
   else if(g == 2) {
      if(isLeapYear(w)) {
         dq = 29; 
         }
      else {
         dq = 28; 
         }; 
      }; 
   return(dq); 
   }; 
function getDaysInMonth(dd) {
   var dq, g = dd.getMonth() + 1, w = dd.getFullYear(); 
   if(g == 1 || g == 3 || g == 5 || g == 7 || g == 8 || g == 10 || g == 12) {
      dq = 31; 
      }
   else if(g == 4 || g == 6 || g == 9 || g == 11) {
      dq = 30; 
      }
   else if(g == 2) {
      if(isLeapYear(w)) {
         dq = 29; 
         }
      else {
         dq = 28; 
         }; 
      }; 
   return(dq); 
   }; 
function isLeapYear(jo) {
   if(((jo % 4) == 0) && ((jo % 100) != 0) || ((jo % 400) == 0)) {
      return(true); 
      }
   else {
      return(false); 
      }; 
   }; 
function isFourDigitYear(w) {
   return true; 
   if(w.length != 4) {
      top.newWin.frames['topCalFrame'].document.calControl.fyear.value = ah.getFullYear(); 
      top.newWin.frames['topCalFrame'].document.calControl.fyear.select(); 
      top.newWin.frames['topCalFrame'].document.calControl.fyear.focus(); 
      }
   else {
      return true; 
      }; 
   }; 
function getMonthSelect(ae) {
   var c; 
   if(ae == 0) {
      dx = "<SELECT NAME='fmonth' id=fmonth onChange='parent.opener.setCurrentMonth(0)' class=\"formy\">\n"; 
      var mm = ah.getMonth(); 
      }
   else {
      dx = "<SELECT NAME='fmonth' id=fmonth onChange='setCurrentMonth(1)' class=\"formy\">\n"; 
      var mm = h.getMonth(); 
      }; 
   for(c in as) {
      if(c == mm) {
         dx += "<OPTION SELECTED>" + as[c] + "\n"; 
         }
      else {
         dx += "<OPTION>" + as[c] + "\n"; 
         }; 
      }; 
   dx += "</SELECT>\n"; 
   return dx; 
   }; 
function getYearSelect(ae) {
   if(ae == 0) {
      var db = "<SELECT name='fyear' id='fyear' onChange='parent.opener.setYear(0)' class=\"formy\">\n", ld = ah.getFullYear(); 
      }
   else {
      var db = "<SELECT name='fyear' id='fyear' onChange='setYear(1)' class=\"formy\">\n", ld = h.getFullYear(); 
      }; 
   var iy, c; 
   for(c = 0; c <= 2; c++) {
      iy = c + hq; 
      db += "<OPTION"; 
      if(iy == ld)db += " SELECTED"; 
      db += " VALUE=" + iy + " >" + iy + "</OPTION>"; 
      }; 
   db += "</SELECT>\n"; 
   return db; 
   }; 
function createWeekdayList() {
   var ha = "<TR>\n<TD width=23 class='heading' align='center' >&nbsp</TD>\n", c; 
   for(c in ca) {
      ha += "<TD width=23 class='heading' align='center' >" + ca[c] + "</TD>\n"; 
      }; 
   ha += "</TR>\n"; 
   return ha; 
   }; 
function jsReplace(hu, oo, og) {
   if(!hu) {
      return""; 
      }; 
   if(hu.indexOf(oo) !=- 1) {
      oe = hu.split(oo); 
      return(oe.join(og)); 
      }
   else {
      return hu; 
      }; 
   }; 
function doNothing() {
   }; 
function makeTwoDigit(km) {
   var ml = parseInt(km, 10); 
   if(ml < 10) {
      return("0" + ml); 
      }
   else {
      return ml; 
      }; 
   }; 
function getOutDate(hb, g, w) {
   var pr = new Date(w, g - 1, hb), ff = as[g - 1], gz = ff.substring(0, 3), ix = da[pr.getDay()], fq = ix.substring(0, 3), j = k; 
   if(k.indexOf("DD") !=- 1) {
      hb = makeTwoDigit(hb); 
      j = jsReplace(j, "DD", hb); 
      }
   else if(k.indexOf("dd") !=- 1) {
      j = jsReplace(j, "dd", hb); 
      }; 
   if(k.indexOf("MM") !=- 1) {
      g = makeTwoDigit(g); 
      j = jsReplace(j, "MM", g); 
      }
   else if(k.indexOf("mm") !=- 1) {
      j = jsReplace(j, "mm", g); 
      }; 
   if(k.indexOf("yyyy") !=- 1) {
      j = jsReplace(j, "yyyy", w); 
      }
   else if(k.indexOf("yy") !=- 1) {
      var hv = "" + w, hv = hv.substring(2, 4); 
      j = jsReplace(j, "yy", hv); 
      }
   else if(k.indexOf("YY") !=- 1) {
      j = jsReplace(j, "YY", w); 
      }; 
   if(k.indexOf("Month") !=- 1) {
      j = jsReplace(j, "Month", ff); 
      }
   else if(k.indexOf("month") !=- 1) {
      j = jsReplace(j, "month", ff.toLowerCase()); 
      }
   else if(k.indexOf("MONTH") !=- 1) {
      j = jsReplace(j, "MONTH", ff.toUpperCase()); 
      }; 
   if(k.indexOf("Mon") !=- 1) {
      j = jsReplace(j, "Mon", gz); 
      }
   else if(k.indexOf("mon") !=- 1) {
      j = jsReplace(j, "mon", gz.toLowerCase()); 
      }
   else if(k.indexOf("MON") !=- 1) {
      j = jsReplace(j, "MON", gz.toUpperCase()); 
      }; 
   if(k.indexOf("Weekday") !=- 1) {
      j = jsReplace(j, "Weekday", ix); 
      }
   else if(k.indexOf("weekday") !=- 1) {
      j = jsReplace(j, "weekday", ix.toLowerCase()); 
      }
   else if(k.indexOf("WEEKDAY") !=- 1) {
      j = jsReplace(j, "WEEKDAY", ix.toUpperCase()); 
      }; 
   if(k.indexOf("Wkdy") !=- 1) {
      j = jsReplace(j, "Wkdy", fq); 
      }
   else if(k.indexOf("wkdy") !=- 1) {
      j = jsReplace(j, "wkdy", fq.toLowerCase()); 
      }
   else if(k.indexOf("WKDY") !=- 1) {
      j = jsReplace(j, "WKDY", fq.toUpperCase()); 
      }; 
   return j; 
   }; 
function getDayM(mg) {
   return((mg.getDay() + 6) % 7); 
   }; 
function getDaySat(mg) {
   return((mg.getDay() + 1) % 7); 
   }; 
function getDaySun(mg) {
   return(mg.getDay()); 
   }; 
function isDateJS(value) {
   if(!isNaN(value)) {
      if(value.getUTCFullYear() >= 0)return true; 
      }; 
   return false; 
   }; 
function myDateUTC(jo, cs, kb, ip) {
   var lu = new Date(); 
   lu.setTime(0); 
   lu.setUTCFullYear(jo); 
   lu.setUTCMonth(cs); 
   lu.setUTCDate(kb); 
   lu.setUTCHours(ip); 
   return lu; 
   }; 
function WByDate(mf) {
   var cv = new Date(mf); 
   if(isNaN(cv)) {
      return false; 
      }; 
   var lu = cv.getUTCDay(); 
   if(lu == 0) {
      lu = 7; 
      }; 
   cv.setDate(cv.getUTCDate() + (4 - lu)); 
   var pc = cv.getUTCFullYear(), ir = Math.floor((cv.getTime() - new Date(pc, 0, 1, - 6)) / 86400000), pq = 1 + Math.floor(ir / 7); 
   return pq; 
   }; 
function FetchFlagBookingOK() {
   return cq}; 


