//
// Function 'Test Javascript Connection'
//
function test()
{
   document.write("Dit is een Javascript connectie test.");
}

//
// Function 'Fills journal table frist time'
//
function fillfirst()
{
   var guests = window.guests;
   var guestcnt = window.guestcnt;
   var endpos = 0;
   window.firstid = 1;
   window.begpos = 0;
   var lastid = 20;
   if (guestcnt < 20) lastid = guestcnt;
   var rowcnt = lastid + 2;
   window.lastid = lastid;
   window.lastrow = rowcnt;

   for (i=2; i<rowcnt; i++)
   {
      for (n=0; n<9; n++)
      {
         endpos = guests.indexOf("#%",begpos);
         len = endpos - begpos;
         field = guests.substr(begpos,len);
         var x = document.getElementById("journal").rows[i].cells;
         x[n].innerHTML = field;
         begpos = endpos + 2;
         window.endpos = endpos + 2;
      }
   }
}

//
// Function 'Fills journal table from last file entries forwards'
//
function fileforw()
{
   var guests = window.guests;
   var guestcnt = window.guestcnt;
   var lastid = window.lastid;
   var lastrow = window.lastrow;
//   var begpos = window.begpos;
   var endpos = window.endpos;

   if (lastid < guestcnt)
   {
      var begpos = endpos;
      window.begpos = begpos;
      var firstid = lastid + 1;
      window.firstid = firstid;
      var lastid = lastid + 20;
      if (guestcnt <= lastid) lastid = guestcnt;
      var rowcnt = lastid - firstid + 3;
      window.lastid = lastid;
//      window.lastrow = rowcnt;

      for (i=2; i<rowcnt; i++)
      {
         for (n=0; n<9; n++)
         {
            endpos = guests.indexOf("#%",begpos);
            len = endpos - begpos;
            field = guests.substr(begpos,len);
            var x = document.getElementById("journal").rows[i].cells;
            x[n].innerHTML = field;
            begpos = endpos + 2;
            window.endpos = endpos + 2;
         }
      }
      while (i < 22)
      {
         for (n=0; n<9; n++)
         {
            var x = document.getElementById("journal").rows[i].cells;
            x[n].innerHTML = " ";
         }
         i++;
      }
   }
}

//
// Function 'Fills journal table from last file entries backwards'
//
function filebackw()
{
   var guests = window.guests;
   var guestcnt = window.guestcnt;
   var firstid = window.firstid;
   if (firstid > 1)
   {
      var firstid = firstid - 20;
      if (firstid < 1) firstid = 1;
      window.firstid = firstid;
      var lastid = firstid + 19;
      if (guestcnt <= lastid) lastid = guestcnt;
      var rowcnt = lastid - firstid + 3;
      window.lastid = lastid;    
      var found = 0;
      var begpos = 0;
      while (found == 0)
      {
         endpos = guests.indexOf("#%",begpos);
         len = endpos - begpos;
         if (guests.substr(begpos,len) == firstid) found = 1;
         if (guests.substr(begpos,len) != firstid)
         {
            begpos = endpos +2;
            for (n=0; n<8; n++)
            {
               endpos = guests.indexOf("#%",begpos);
               begpos = endpos + 2;
            } 
         }
      }
      window.begpos = begpos;

      for (i=2; i<rowcnt; i++)
      {
         for (n=0; n<9; n++)
         {
            endpos = guests.indexOf("#%",begpos);
            len = endpos - begpos;
            field = guests.substr(begpos,len);
            var x = document.getElementById("journal").rows[i].cells;
            x[n].innerHTML = field;
            begpos = endpos + 2;
            window.endpos = endpos + 2;
         }
      }
      while (i < 22)
      {
         for (n=0; n<9; n++)
         {
            var x = document.getElementById("journal").rows[i].cells;
            x[n].innerHTML = " ";
         }
         i++;
      }
   }
}

//
// Function 'Fills journal table from end of file backwards'
//
function filend()
{
   var guests = window.guests;
   var guestcnt = window.guestcnt;
//   var firstid = window.firstid;
   if (guestcnt > 20)
   {
      var lastid = guestcnt;
      window.lastid = lastid;
      var firstid = lastid - 19;
      if (firstid < 1) firstid = 1;
      window.firstid = firstid;
      var rowcnt = lastid - firstid + 3; 
      var found = 0;
      var begpos = 0;
      while (found == 0)
      {
         endpos = guests.indexOf("#%",begpos);
         len = endpos - begpos;
         if (guests.substr(begpos,len) == firstid) found = 1;
         if (guests.substr(begpos,len) != firstid)
         {
            begpos = endpos +2;
            for (n=0; n<8; n++)
            {
               endpos = guests.indexOf("#%",begpos);
               begpos = endpos + 2;
            } 
         }
      }
      window.begpos = begpos;
      for (i=2; i<rowcnt; i++)
      {
         for (n=0; n<9; n++)
         {
            endpos = guests.indexOf("#%",begpos);
            len = endpos - begpos;
            field = guests.substr(begpos,len);
            var x = document.getElementById("journal").rows[i].cells;
            x[n].innerHTML = field;
            begpos = endpos + 2;
            window.endpos = endpos + 2;
         }
      }
      while (i < 22)
      {
         for (n=0; n<9; n++)
         {
            var x = document.getElementById("journal").rows[i].cells;
            x[n].innerHTML = " ";
         }
         i++;
      }
   }
}

//
//
//
function setvar(x,y,z)
{
   if (x == "sd")
   {
      if (y == 1) window.sd1 = z;
      if (y == 2) window.sd2 = z;
      if (y == 3) window.sd3 = z;
      if (y == 4) window.sd4 = z;
      if (y == 5) window.sd5 = z;
      if (y == 6) window.sd6 = z;
      if (y == 7) window.sd7 = z;
      if (y == 8) window.sd8 = z;
   }
   if (x == "sm")
   {
      if (y == 1) window.sm1 = z;
      if (y == 2) window.sm2 = z;
      if (y == 3) window.sm3 = z;
      if (y == 4) window.sm4 = z;
      if (y == 5) window.sm5 = z;
      if (y == 6) window.sm6 = z;
      if (y == 7) window.sm7 = z;
      if (y == 8) window.sm8 = z;
   }
   if (x == "sy")
   {
      if (y == 1) window.sy1 = z;
      if (y == 2) window.sy2 = z;
      if (y == 3) window.sy3 = z;
      if (y == 4) window.sy4 = z;
      if (y == 5) window.sy5 = z;
      if (y == 6) window.sy6 = z;
      if (y == 7) window.sy7 = z;
      if (y == 8) window.sy8 = z;
   }
   if (x == "ed")
   {
      if (y == 1) window.ed1 = z;
      if (y == 2) window.ed2 = z;
      if (y == 3) window.ed3 = z;
      if (y == 4) window.ed4 = z;
      if (y == 5) window.ed5 = z;
      if (y == 6) window.ed6 = z;
      if (y == 7) window.ed7 = z;
      if (y == 8) window.ed8 = z;
   }
   if (x == "em")
   {
      if (y == 1) window.em1 = z;
      if (y == 2) window.em2 = z;
      if (y == 3) window.em3 = z;
      if (y == 4) window.em4 = z;
      if (y == 5) window.em5 = z;
      if (y == 6) window.em6 = z;
      if (y == 7) window.em7 = z;
      if (y == 8) window.em8 = z;
   }
   if (x == "ey")
   {
      if (y == 1) window.ey1 = z;
      if (y == 2) window.ey2 = z;
      if (y == 3) window.ey3 = z;
      if (y == 4) window.ey4 = z;
      if (y == 5) window.ey5 = z;
      if (y == 6) window.ey6 = z;
      if (y == 7) window.ey7 = z;
      if (y == 8) window.ey8 = z;
   }
   if (x == "t")
   {
      if (y == 1) window.typ1 = z;
      if (y == 2) window.typ2 = z;
      if (y == 3) window.typ3 = z;
      if (y == 4) window.typ4 = z;
      if (y == 5) window.typ5 = z;
      if (y == 6) window.typ6 = z;
      if (y == 7) window.typ7 = z;
      if (y == 8) window.typ8 = z;
   }
   if (x == "b")
   {
      if (y == 1) window.birthyear1 = z;
      if (y == 2) window.birthyear2 = z;
      if (y == 3) window.birthyear3 = z;
      if (y == 4) window.birthyear4 = z;
      if (y == 5) window.birthyear5 = z;
      if (y == 6) window.birthyear6 = z;
      if (y == 7) window.birthyear7 = z;
      if (y == 8) window.birthyear8 = z;
   }
}

//
//
//
function getvar(x,y)
{
   var val = 0;
   if (x == "sd")
   {
      if (y == 1) val = window.sd1;
      if (y == 2) val = window.sd2;
      if (y == 3) val = window.sd3;
      if (y == 4) val = window.sd4;
      if (y == 5) val = window.sd5;
      if (y == 6) val = window.sd6;
      if (y == 7) val = window.sd7;
      if (y == 8) val = window.sd8;
   }
   if (x == "sm")
   {
      if (y == 1) val = window.sm1;
      if (y == 2) val = window.sm2;
      if (y == 3) val = window.sm3;
      if (y == 4) val = window.sm4;
      if (y == 5) val = window.sm5;
      if (y == 6) val = window.sm6;
      if (y == 7) val = window.sm7;
      if (y == 8) val = window.sm8;
   }
   if (x == "sy")
   {
      if (y == 1) val = window.sy1;
      if (y == 2) val = window.sy2;
      if (y == 3) val = window.sy3;
      if (y == 4) val = window.sy4;
      if (y == 5) val = window.sy5;
      if (y == 6) val = window.sy6;
      if (y == 7) val = window.sy7;
      if (y == 8) val = window.sy8;
   }
   if (x == "ed")
   {
      if ( y == 1) val = window.ed1;
      if ( y == 2) val = window.ed2;
      if ( y == 3) val = window.ed3;
      if ( y == 4) val = window.ed4;
      if ( y == 5) val = window.ed5;
      if ( y == 6) val = window.ed6;
      if ( y == 7) val = window.ed7;
      if ( y == 8) val = window.ed8;
   }
   if (x == "em")
   {
      if (y == 1) val = window.em1;
      if (y == 2) val = window.em2;
      if (y == 3) val = window.em3;
      if (y == 4) val = window.em4;
      if (y == 5) val = window.em5;
      if (y == 6) val = window.em6;
      if (y == 7) val = window.em7;
      if (y == 8) val = window.em8;
   }
   if (x == "ey")
   {
      if (y == 1) val = window.ey1;
      if (y == 2) val = window.ey2;
      if (y == 3) val = window.ey3;
      if (y == 4) val = window.ey4;
      if (y == 5) val = window.ey5;
      if (y == 6) val = window.ey6;
      if (y == 7) val = window.ey7;
      if (y == 8) val = window.ey8;
   }
   if (x == "t")
   {
      var val = "-";
      if ( y == 1) val = window.typ1;
      if ( y == 2) val = window.typ2;
      if ( y == 3) val = window.typ3;
      if ( y == 4) val = window.typ4;
      if ( y == 5) val = window.typ5;
      if ( y == 6) val = window.typ6;
      if ( y == 7) val = window.typ7;
      if ( y == 8) val = window.typ8;
   }
   if (x == "b")
   {
      if ( y == 1) val = window.birthyear1;
      if ( y == 2) val = window.birthyear2;
      if ( y == 3) val = window.birthyear3;
      if ( y == 4) val = window.birthyear4;
      if ( y == 5) val = window.birthyear5;
      if ( y == 6) val = window.birthyear6;
      if ( y == 7) val = window.birthyear7;
      if ( y == 8) val = window.birthyear8;
   }
   return val;
}

//
//
//
function init()
{
   window.copydate = 0;
   window.copyrow = 0;
   window.expfdate = 0;
   window.expfrow = 0;
   window.expfday = 0;
   window.expfmon = 0;
   window.expfyear = 0;
   window.fday = "";
   window.fmon = "";
   window.fyear = "";
   window.lday = "";
   window.lmon = "";
   window.lyear = "";
   window.intfday = 0;
   window.intfmon = 0;
   window.intfyear = 0;
   window.intlday = 0;
   window.intlmon = 0;
   window.intlyear = 0;
   window.duration = 0;
   for(i=1; i<=8; i++)
   {
      setvar("sd",i,0);
   }
   for(i=1; i<=8; i++)
   {
      setvar("sm",i,0);
   }
   for(i=1; i<=8; i++)
   {
      setvar("sy",i,0);
   }
   for(i=1; i<=8; i++)
   {
      setvar("ed",i,0);
   }
   for(i=1; i<=8; i++)
   {
      setvar("em",i,0);
   }
   for(i=1; i<=8; i++)
   {
      setvar("ey",i,0);
   }
   for(i=1; i<=8; i++)
   {
      setvar("t",i,"-");
   }
   for(i=1; i<=8; i++)
   {
      setvar("b",i,0);
   }
}

//
// Function 'Checks if a date exist'
//
function existdate(d,m,y)
{
   var val = true;
   var maxday = new Array();
   for (i=1; i<=12; i++)
   {
      maxday[i] = 31;
      if (i == 4 || i == 6 || i == 9 || i == 11) maxday[i] = 30;
      if (i==2) maxday[i] = 29;
   }
   if (d > maxday[m]) val = false;
   var leap = 0;
   if (y%4 == 0) leap = 1;
   if (m == 2 && leap == 0 && d > 28) val = false;
   return val;
}

//
// Function 'Calculates and sets an expiration date'
//
function setexpdate(d,m,y,typ,row)
{
   var notice = "";
   var expfdate = window.expfdate;
   var expfrow = window.expfrow;
   var fday = d.toString();
   if (d < 10) fday = "0"+d;
   var fmon = m.toString();
   if (m < 10) fmon = "0"+m;
   var fyear = y.toString();
   if (expfdate == 0 || expfrow == row)
   {
      if (expfrow == 0) window.expfrow = row;
      window.expfdate = 1;
      window.expfday = d;
      window.expfmon = m;
      window.expfyear = y;
   }
   setvar("sd",row,d);
   setvar("sm",row,m);
   setvar("sy",row,y);
   var expd = 0;
   var expm = m;
   var expy = y;
   var maxday = new Array();
   for (i=1; i<=12; i++)
   {
      maxday[i] = 31;
      if (i == 4 || i == 6 || i == 9 || i == 11) maxday[i] = 30;
   }
   maxday[2] = 28;
   if (y%4 == 0) maxday[2] = 29;
   if (typ == "M3") expd = d + 2;
   if (typ == "M5") expd = d + 4;
   if (typ == "M7") expd = d + 6;
   if (typ == "M10") expd = d + 9;
   if (typ == "M14") expd = d + 13;
   if (typ == "5") expd = d + 7;
   if (typ == "8") expd = d + 11;
   if (typ == "10") expd = d + 13;
   if (typ == "7S5" || typ == "7W5") expd = d + 6;
   if (typ == "4W3") expd = d + 3;
   if (typ == "S3" || typ == "S4" || typ == "S5" || typ == "S6" || typ == "S7") expd = d + 13;
   if (typ == "SM3") expd = d + 2;
   if (typ == "SM4") expd = d + 3;
   duration = expd - d + 1;
   if (expd > maxday[m])
   {
      expd = expd - maxday[m];
      expm = m + 1;
      if (expm > 12)
      {
         expm = 1;
         expy = y + 1;
      }
   }
   if (typ != "-")
   {
      setvar("ed",row,expd);
      setvar("em",row,expm);
      setvar("ey",row,expy);
   }
   expday = expd.toString();
   if (expd < 10) expday = "0"+expd;
   expmon = expm.toString();
   if (expm < 10) expmon = "0"+expm;
   expyear = expy.toString();
   if (typ == "-")
   {
      expday = "";
      expmon = "";
      expyear = "";
   }
   if (row == 1)
   {
      document.getElementById("sdd1").value = fday;
      document.getElementById("smm1").value = fmon;
      document.getElementById("syy1").value = fyear;
      document.getElementById("edd1").value = expday;
      document.getElementById("emm1").value = expmon;
      document.getElementById("eyy1").value = expyear;
      if (typ != "-") document.getElementById("gfname2").focus();
      if (typ == "-") document.getElementById("edd1").focus();
   }
   if (row == 2)
   {
      document.getElementById("sdd2").value = fday;
      document.getElementById("smm2").value = fmon;
      document.getElementById("syy2").value = fyear;
      document.getElementById("edd2").value = expday;
      document.getElementById("emm2").value = expmon;
      document.getElementById("eyy2").value = expyear;
      if (typ != "-") document.getElementById("gfname3").focus();
      if (typ == "-") document.getElementById("edd2").focus();
   }
   if (row == 3)
   {
      document.getElementById("sdd3").value = fday;
      document.getElementById("smm3").value = fmon;
      document.getElementById("syy3").value = fyear;
      document.getElementById("edd3").value = expday;
      document.getElementById("emm3").value = expmon;
      document.getElementById("eyy3").value = expyear;
      if (typ != "-") document.getElementById("gfname4").focus();
      if (typ == "-") document.getElementById("edd3").focus();
   }
   if (row == 4)
   {
      document.getElementById("sdd4").value = fday;
      document.getElementById("smm4").value = fmon;
      document.getElementById("syy4").value = fyear;
      document.getElementById("edd4").value = expday;
      document.getElementById("emm4").value = expmon;
      document.getElementById("eyy4").value = expyear;
      if (typ != "-") document.getElementById("gfname5").focus();
      if (typ == "-") document.getElementById("edd4").focus();
   }
   if (row == 5)
   {
      document.getElementById("sdd5").value = fday;
      document.getElementById("smm5").value = fmon;
      document.getElementById("syy5").value = fyear;
      document.getElementById("edd5").value = expday;
      document.getElementById("emm5").value = expmon;
      document.getElementById("eyy5").value = expyear;
      if (typ != "-") document.getElementById("gfname6").focus();
      if (typ == "-") document.getElementById("edd5").focus();
   }
   if (row == 6)
   {
      document.getElementById("sdd6").value = fday;
      document.getElementById("smm6").value = fmon;
      document.getElementById("syy6").value = fyear;
      document.getElementById("edd6").value = expday;
      document.getElementById("emm6").value = expmon;
      document.getElementById("eyy6").value = expyear;
      if (typ != "-") document.getElementById("gfname7").focus();
      if (typ == "-") document.getElementById("edd6").focus();
   }
   if (row == 7)
   {
      document.getElementById("sdd7").value = fday;
      document.getElementById("smm7").value = fmon;
      document.getElementById("syy7").value = fyear;
      document.getElementById("edd7").value = expday;
      document.getElementById("emm7").value = expmon;
      document.getElementById("eyy7").value = expyear;
      if (typ != "-") document.getElementById("gfname8").focus();
      if (typ == "-") document.getElementById("edd7").focus();
   }
   if (row == 8)
   {
      document.getElementById("sdd8").value = fday;
      document.getElementById("smm8").value = fmon;
      document.getElementById("syy8").value = fyear;
      document.getElementById("edd8").value = expday;
      document.getElementById("emm8").value = expmon;
      document.getElementById("eyy8").value = expyear;
      if (typ == "-") document.getElementById("edd8").focus();
   }
   if (typ != "-")
   {
      lang = window.lang;
      if (lang == "de") notice = "fixen Dauer: "+duration+" Tage";
      if (lang == "en") notice = "fixed duration: "+duration+" days";
      if (lang == "nl") notice = "vaste duur: "+duration+" dagen";
   }
   return notice;
}

//
//
//
function sday(x,y)
{
   var type = getvar("t",y);
   var mon = getvar("sm",y);
   var year = getvar("sy",y);
   var copydate = window.copydate;
   var copyrow = window.copyrow;
   var expfrow = window.expfrow;
   var lang = window.lang;
   var sdate_fw = window.sdate_fw;
   var stext_fw = window.stext_fw;
   var edate_fw = window.edate_fw;
   var etext_fw = window.etext_fw;
   var sdate_fs = window.sdate_fs;
   var stext_fs = window.stext_fs;
   var edate_fs = window.edate_fs;
   var etext_fs = window.etext_fs;
   var sdate_7w5 = window.sdate_7w5;
   var stext_7w5 = window.stext_7w5;
   var edate_7w5 = window.edate_7w5;
   var etext_7w5 = window.etext_7w5;
   var sdate_7s5 = window.sdate_7s5;
   var stext_7s5 = window.stext_7s5;
   var edate_7s5 = window.edate_7s5;
   var etext_7s5 = window.etext_7s5;
   var sdate_4w3 = window.sdate_4w3;
   var stext_4w3 = window.stext_4w3;
   var edate_4w3 = window.edate_4w3;
   var etext_4w3 = window.etext_4w3;
   var sdate_ssm = window.sdate_ssm;
   var stext_ssm = window.stext_ssm;
   var edate_ssm = window.edate_ssm;
   var etext_ssm = window.etext_ssm;
   var summerbegin = window.summerbegin;
   var summerend = window.summerend;
   var winterbegin = window.winterbegin;
   var winterend = window.winterend;
   var error = "";
   var notice = "";
   var help = document.getElementById(x).value;
   var len = help.length;
   if (len == 0)
   {
      var day = 0;
      if (type != "-")
      {
         if (lang == "de") error = "<span style='color: #FF0000;'><strong>bitte, 'Tag' ausf&#252;llen!</strong></span>";
         if (lang == "en") error = "<span style='color: #FF0000;'><strong>please, enter 'day'!</strong></span>";
         if (lang == "nl") error = "<span style='color: #FF0000;'><strong>s.v.p. 'dag' invullen!</strong></span>";
      }
   }
   if (len > 0 && error == "")
   {
      if (len == 2 && help.substring(0,1) == "0")
      {
         help = help.substring(1);
         len = 1;
      }
      var day = parseInt(help,10);
      if (len == 1) help = "0"+help;
      if (day < 1 || day > 31 || parseInt(help,10) != help-0)
      {
         if (lang == "de") error = "<span style='color: #FF0000;'><strong>ung&#252;ltiger Tag!</strong></span>";
         if (lang == "en") error = "<span style='color: #FF0000;'><strong>invalid day!</strong></span>";
         if (lang == "nl") error = "<span style='color: #FF0000;'><strong>ongeldige dag!</strong></span>";
      }
   }
   if (len > 0 && error == "" && mon > 0 && year > 0)
   {
      var exist = existdate(day,mon,year);
      if (exist == false)
      {
         if (lang == "de") error = "<span style='color: #FF0000;'><strong>ung&#252;ltiger Datum!</strong></span>";
         if (lang == "en") error = "<span style='color: #FF0000;'><strong>invalid date!</strong></span>";
         if (lang == "nl") error = "<span style='color: #FF0000;'><strong>ongeldige datum!</strong></span>";
      }
   }
   if (len > 0 && error == "" && mon > 0 && year > 0)
   {
      var startdate = Date.UTC(year,mon-1,day);
      var xdate = new Date();
      var xyear = xdate.getFullYear();
      var xmon = xdate.getMonth();
      var xday = xdate.getDate();
      var today = Date.UTC(xyear,xmon,xday);
      if (startdate < today)
      {
         if (lang == "de") error = "<span style='color: #FF0000;'><strong>vergangener Datum!</strong></span>";
         if (lang == "en") error = "<span style='color: #FF0000;'><strong>past date!</strong></span>";
         if (lang == "nl") error = "<span style='color: #FF0000;'><strong>datum vervallen!</strong></span>";
      }
   }
   if (len > 0 && error == "" && mon > 0 && year > 0)
   {
      if (type != "N" && type != "FS" && type != "FW" && type != "-")
      {
         notice = setexpdate(day,mon,year,type,y);
         if (y == expfrow) window.expfday = day;
      }
      e_day = getvar("ed",y);
      e_mon = getvar("em",y);
      e_year = getvar("ey",y);
      if (type != "-" && e_day > 0 && e_mon > 0 && e_year > 0)
      {
         var enddate = Date.UTC(e_year,e_mon-1,e_day);
         if (type != "SM3" && type != "SM4") hlptyp = type.substr(0,1);
         if (type == "N" || type == "5" || type == "8" || type == "10" || hlptyp == "S")
         {
            var firstdate = winterbegin;
            var lastdate = winterend;
            if (lang == "de") error = "<span style='color: #FF0000;'><strong>Anfang/Ende ausserhalb Wintersaison!</strong></span>";
            if (lang == "en") error = "<span style='color: #FF0000;'><strong>Start/End out of winter season!</strong></span>";
            if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Begin/Einde buiten winter seizoen!</strong></span>";
         }
         if (hlptyp == "M")
         {
            var firstdate = summerbegin;
            var lastdate = summerend;
            if (lang == "de") error = "<span style='color: #FF0000;'><strong>Anfang/Ende ausserhalb Sommersaison!</strong></span>";
            if (lang == "en") error = "<span style='color: #FF0000;'><strong>Start/End out of summer season!</strong></span>";
            if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Begin/Einde buiten zomer seizoen!</strong></span>";
         }
         if (type == "7W5")
         {
            var firstdate = sdate_7w5;
            var lastdate = edate_7w5;
            if (lang == "de") hlperror = 'Aktion "7 f&#252;r 5" nur von ' + stext_7w5 + ' bis ' + etext_7w5 + '!';
            if (lang == "en") hlperror = 'Action "7 for 5" only from ' + stext_7w5 + ' till ' + etext_7w5 + '!';
            if (lang == "nl") hlperror = 'Actie "7 voor 5" alleen van ' + stext_7w5 + ' tot ' + etext_7w5 + '!';
            error = "<span style='color: #FF0000;'><strong>" + hlperror + "</strong></span>";
         }
         if (type == "7S5")
         {
            var firstdate = sdate_7s5;
            var lastdate = edate_7s5;
            if (lang == "de") hlperror = 'Aktion "7 f&#252;r 5" nur von ' + stext_7s5 + ' bis ' + etext_7s5 + '!';
            if (lang == "en") hlperror = 'Action "7 for 5" only from ' + stext_7s5 + ' till ' + etext_7s5 + '!';
            if (lang == "nl") hlperror = 'Actie "7 voor 5" alleen van ' + stext_7s5 + ' tot ' + etext_7s5 + '!';
            error = "<span style='color: #FF0000;'><strong>" + hlperror + "</strong></span>";
         }
         if (type == "4W3")
         {
            var firstdate = sdate_4w3;
            var lastdate = edate_4w3;
            if (lang == "de") hlperror = 'Aktion "4 f&#252;r 3" nur von ' + stext_4w3 + ' bis ' + etext_4w3 + '!';
            if (lang == "en") hlperror = 'Action "4 for 3" only from ' + stext_4w3 + ' till ' + etext_4w3 + '!';
            if (lang == "nl") hlperror = 'Actie "4 voor 3" alleen van ' + stext_4w3 + ' tot ' + etext_4w3 + '!';
            error = "<span style='color: #FF0000;'><strong>" + hlperror + "</strong></span>";
         }
         if (type == "FW")
         {
            var firstdate = sdate_fw;
            var lastdate = edate_fw;
            if (lang == "de") error = "<span style='color: #FF0000;'><strong>Familienfreundlich nur von " + stext_fw + " bis " + etext_fw + "!</strong></span>";
            if (lang == "en") error = "<span style='color: #FF0000;'><strong>Familie friendly only from " + stext_fw + " till " + etext_fw + "!</strong></span>";
            if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Familievriendelijk alleen van " + stext_fw + " tot " + etext_fw + "!</strong></span>";
         }
         if (type == "FS")
         {
            var firstdate = sdate_fs;
            var lastdate = edate_fs;
            if (lang == "de") error = "<span style='color: #FF0000;'><strong>Familienfreundlich nur von " + stext_fs + " bis " + etext_fs + "!</strong></span>";
            if (lang == "en") error = "<span style='color: #FF0000;'><strong>Familie friendly only from " + stext_fs + " till " + etext_fs + "!</strong></span>";
            if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Familievriendelijk alleen van " + stext_fs + " tot " + etext_fs + "!</strong></span>";
         }
         if (type == "SM3" || type == "SM4")
         {
            var firstdate = sdate_ssm;
            var lastdate = edate_ssm;
            if (lang == "de") error = "<span style='color: #FF0000;'><strong>Schnee.Sonne.Montafon nur von " + stext_ssm + " bis " + etext_ssm + "!</strong></span>";
            if (lang == "en") error = "<span style='color: #FF0000;'><strong>Snow.Sun.Montafon only from " + stext_ssm + " till " + etext_ssm + "!</strong></span>";
            if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Schnee.Sonne.Montafon alleen van " + stext_ssm + " tot " + etext_ssm + "!</strong></span>";
         }
         if (startdate >= firstdate && startdate <= lastdate && enddate >= firstdate && enddate <= lastdate) error = "";
         if (enddate < startdate && error == "")
         {
            if (lang == "de") error = "<span style='color: #FF0000;'><strong>Anfang - Ende inkorrekt!</strong></span>";
            if (lang == "en") error = "<span style='color: #FF0000;'><strong>Start - End incorrect!</strong></span>";
            if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Begin - Einde incorrect!</strong></span>";
         }
         if (hlptyp == "F" && error == "")
         {
            var duration = (e_year-year)*10000;
            duration = duration+(e_mon-mon)*100;
            duration = duration+e_day-day+1;
            if (duration < 5)
            {
               if (lang == "de") error = "<span style='color: #FF0000;'><strong>Familienfreundlich erst ab 5 Tage!</strong></span>";
               if (lang == "en") error = "<span style='color: #FF0000;'><strong>Family friendly only from 5 days!</strong></span>";
               if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Familievriendelijk geldt vanaf 5 dagen!</strong></span>";
            }
         }
         if (hlptyp == "F" && error == "")
         {
            var birthyear = getvar("b",y);
            var xdate = new Date();
            var levy = xdate.getFullYear();
            levy = levy - 12;
            if (birthyear < levy)
            {
               if (lang == "de") error = "<span style='color: #FF0000;'><strong>Familienfreundlich nur ab Jahrgang " + levy + " und j&#252;ger!</strong></span>";
               if (lang == "en") error = "<span style='color: #FF0000;'><strong>Family Friendly only for levy " + levy + " and younger!</strong></span>";
               if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Familie vriendelijk alleen voor jaargang " + levy + " en jonger!</strong></span>";
            }
         }
         if (error == "") error = notice;
         if (copydate == 0)
         {
            copydate = 1;
            window.copydate = 1;
            window.copyrow = y;
            window.fday = help;
            window.intfday = day;
            window.fmon = mon.toString();
            if (mon < 10) window.fmon = "0"+mon;
            window.intfmon = mon;
            window.fyear = year.toString();
            window.intfyear = year;
            window.lday = e_day.toString();
            if (e_day < 10) window.lday = "0"+e_day;
            window.intlday = e_day;
            window.lmon = e_mon.toString();
            if (e_mon < 10) window.lmon = "0"+e_mon;
            window.intlmon = e_mon;
            window.lyear = e_year.toString();
            window.intlyear = e_year;
         }
      }
   }
   if (copydate == 1 && copyrow == y)
   {
      window.fday = help;
      window.intfday = day;
   }
   document.getElementById(x).value = help;
   var msg = document.getElementById("persons").rows[y+1].cells;
   msg[8].innerHTML = error;
   setvar("sd",y,day);
   if (error == "" && day > 0 && type == "-")
   {
      if (lang == "de") error = "<span style='color: #FF0000;'><strong>bitte, 'Typ' anpassen!</strong></span>";
      if (lang == "en") error = "<span style='color: #FF0000;'><strong>please adjust 'type'!</strong></span>";
      if (lang == "nl") error = "<span style='color: #FF0000;'><strong>s.v.p. 'type' aanpassen!</strong></span>";
      var msg = document.getElementById("persons").rows[y+1].cells;
      msg[8].innerHTML = error;
   }
}

//
//
//
function smon(x,y)
{
   var type = getvar("t",y);
   var day = getvar("sd",y);
   var year = getvar("sy",y);
   var copydate = window.copydate;
   var copyrow = window.copyrow;
   var expfrow = window.expfrow;
   var lang = window.lang;
   var sdate_fw = window.sdate_fw;
   var stext_fw = window.stext_fw;
   var edate_fw = window.edate_fw;
   var etext_fw = window.etext_fw;
   var sdate_fs = window.sdate_fs;
   var stext_fs = window.stext_fs;
   var edate_fs = window.edate_fs;
   var etext_fs = window.etext_fs;
   var sdate_7w5 = window.sdate_7w5;
   var stext_7w5 = window.stext_7w5;
   var edate_7w5 = window.edate_7w5;
   var etext_7w5 = window.etext_7w5;
   var sdate_7s5 = window.sdate_7s5;
   var stext_7s5 = window.stext_7s5;
   var edate_7s5 = window.edate_7s5;
   var etext_7s5 = window.etext_7s5;
   var sdate_4w3 = window.sdate_4w3;
   var stext_4w3 = window.stext_4w3;
   var edate_4w3 = window.edate_4w3;
   var etext_4w3 = window.etext_4w3;
   var sdate_ssm = window.sdate_ssm;
   var stext_ssm = window.stext_ssm;
   var edate_ssm = window.edate_ssm;
   var etext_ssm = window.etext_ssm;
   var summerbegin = window.summerbegin;
   var summerend = window.summerend;
   var winterbegin = window.winterbegin;
   var winterend = window.winterend;
   var error = "";
   var notice = "";
   var help = document.getElementById(x).value;
   var len = help.length;
   if (len == 0)
   {
      var mon = 0;
      if (type != "-")
      {
         if (lang == "de") error = "<span style='color: #FF0000;'><strong>bitte, 'Monat' ausf&#252llen!</strong></span>";
         if (lang == "en") error = "<span style='color: #FF0000;'><strong>please, enter 'month'!</strong></span>";
         if (lang == "nl") error = "<span style='color: #FF0000;'><strong>s.v.p. 'maand' invullen!</strong></span>";
      }
   }
   if (len > 0 && error == "")
   {
      if (len == 2 && help.substring(0,1) == "0")
      {
         help = help.substring(1);
         len = 1;
      }
      var mon = parseInt(help,10);
      if (len == 1) help = "0"+help;
      if (mon < 1 || mon > 12 || parseInt(help,10) != help-0)
      {
         if (lang == "de") error = "<span style='color: #FF0000;'><strong>ung&#252ltiger Monat!</strong></span>";
         if (lang == "en") error = "<span style='color: #FF0000;'><strong>invalid month!</strong></span>";
         if (lang == "nl") error = "<span style='color: #FF0000;'><strong>ongeldige maand!</strong></span>";
      }
   }
   if (len > 0 && error == "" && day > 0 && year > 0)
   {
      var exist = existdate(day,mon,year);
      if (exist == false)
      {
         if (lang == "de") error = "<span style='color: #FF0000;'><strong>ung&#252ltiger Datum!</strong></span>";
         if (lang == "en") error = "<span style='color: #FF0000;'><strong>invalid date!</strong></span>";
         if (lang == "nl") error = "<span style='color: #FF0000;'><strong>ongeldige datum!</strong></span>";
      }
   }
   if (len > 0 && error == "" && day > 0 && year > 0)
   {
      var startdate = Date.UTC(year,mon-1,day);
      var xdate = new Date();
      var xyear = xdate.getFullYear();
      var xmon = xdate.getMonth();
      var xday = xdate.getDate();
      var today = Date.UTC(xyear,xmon,xday);
      if (startdate < today)
      {
         if (lang == "de") error = "<span style='color: #FF0000;'><strong>vergangener Datum!</strong></span>";
         if (lang == "en") error = "<span style='color: #FF0000;'><strong>past date!</strong></span>";
         if (lang == "nl") error = "<span style='color: #FF0000;'><strong>datum vervallen!</strong></span>";
      }
   }
   if (len > 0 && error == "" && day > 0 && year > 0)
   {
      if (type != "N" && type != "FS" && type != "FW" && type != "-")
      {
         notice = setexpdate(day,mon,year,type,y);
         if (y == expfrow) window.expfmon = mon;
      }
      e_day = getvar("ed",y);
      e_mon = getvar("em",y);
      e_year = getvar("ey",y);
      if (type != "-" && e_day > 0 && e_mon > 0 && e_year > 0)
      {
         var enddate = Date.UTC(e_year,e_mon-1,e_day);
         if (type != "SM3" && type != "SM4") hlptyp = type.substr(0,1);
         if (type == "N" || type == "5" || type == "8" || type == "10" || hlptyp == "S")
         {
            var firstdate = winterbegin;
            var lastdate = winterend;
            if (lang == "de") error = "<span style='color: #FF0000;'><strong>Anfang/Ende ausserhalb Wintersaison!</strong></span>";
            if (lang == "en") error = "<span style='color: #FF0000;'><strong>Start/End out of winter season!</strong></span>";
            if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Begin/Einde buiten winter seizoen!</strong></span>";
         }
         if (hlptyp == "M")
         {
            var firstdate = summerbegin;
            var lastdate = summerend;
            if (lang == "de") error = "<span style='color: #FF0000;'><strong>Anfang/Ende ausserhalb Sommersaison!</strong></span>";
            if (lang == "en") error = "<span style='color: #FF0000;'><strong>Start/End out of summer season!</strong></span>";
            if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Begin/Einde buiten zomer seizoen!</strong></span>";
         }
         if (type == "7W5")
         {
            var firstdate = sdate_7w5;
            var lastdate = edate_7w5;
            if (lang == "de") hlperror = 'Aktion "7 f&#252;r 5" nur von ' + stext_7w5 + ' bis ' + etext_7w5 + '!';
            if (lang == "en") hlperror = 'Action "7 for 5" only from ' + stext_7w5 + ' till ' + etext_7w5 + '!';
            if (lang == "nl") hlperror = 'Actie "7 voor 5" alleen van ' + stext_7w5 + ' tot ' + etext_7w5 + '!';
            error = "<span style='color: #FF0000;'><strong>" + hlperror + "</strong></span>";
         }
         if (type == "7S5")
         {
            var firstdate = sdate_7s5;
            var lastdate = edate_7s5;
            if (lang == "de") hlperror = 'Aktion "7 f&#252;r 5" nur von ' + stext_7s5 + ' bis ' + etext_7s5 + '!';
            if (lang == "en") hlperror = 'Action "7 for 5" only from ' + stext_7s5 + ' till ' + etext_7s5 + '!';
            if (lang == "nl") hlperror = 'Actie "7 voor 5" alleen van ' + stext_7s5 + ' tot ' + etext_7s5 + '!';
            error = "<span style='color: #FF0000;'><strong>" + hlperror + "</strong></span>";
         }
         if (type == "4W3")
         {
            var firstdate = sdate_4w3;
            var lastdate = edate_4w3;
            if (lang == "de") hlperror = 'Aktion "4 f&#252;r 3" nur von ' + stext_4w3 + ' bis ' + etext_4w3 + '!';
            if (lang == "en") hlperror = 'Action "4 for 3" only from ' + stext_4w3 + ' till ' + etext_4w3 + '!';
            if (lang == "nl") hlperror = 'Actie "4 voor 3" alleen van ' + stext_4w3 + ' tot ' + etext_4w3 + '!';
            error = "<span style='color: #FF0000;'><strong>" + hlperror + "</strong></span>";
         }
         if (type == "FW")
         {
            var firstdate = sdate_fw;
            var lastdate = edate_fw;
            if (lang == "de") error = "<span style='color: #FF0000;'><strong>Familienfreundlich nur von " + stext_fw + " bis " + etext_fw + "!</strong></span>";
            if (lang == "en") error = "<span style='color: #FF0000;'><strong>Familie friendly only from " + stext_fw + " till " + etext_fw + "!</strong></span>";
            if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Familievriendelijk alleen van " + stext_fw + " tot " + etext_fw + "!</strong></span>";
         }
         if (type == "FS")
         {
            var firstdate = sdate_fs;
            var lastdate = edate_fs;
            if (lang == "de") error = "<span style='color: #FF0000;'><strong>Familienfreundlich nur von " + stext_fs + " bis " + etext_fs + "!</strong></span>";
            if (lang == "en") error = "<span style='color: #FF0000;'><strong>Familie friendly only from " + stext_fs + " till " + etext_fs + "!</strong></span>";
            if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Familievriendelijk alleen van " + stext_fs + " tot " + etext_fs + "!</strong></span>";
         }
         if (type == "SM3" || type == "SM4")
         {
            var firstdate = sdate_ssm;
            var lastdate = edate_ssm;
            if (lang == "de") error = "<span style='color: #FF0000;'><strong>Schnee.Sonne.Montafon nur von " + stext_ssm + " bis " + etext_ssm + "!</strong></span>";
            if (lang == "en") error = "<span style='color: #FF0000;'><strong>Snow.Sun.Montafon only from " + stext_ssm + " till " + etext_ssm + "!</strong></span>";
            if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Schnee.Sonne.Montafon alleen van " + stext_ssm + " tot " + etext_ssm + "!</strong></span>";
         }
         if (startdate >= firstdate && startdate <= lastdate && enddate >= firstdate && enddate <= lastdate) error = "";
         if (enddate < startdate && error == "")
         {
            if (lang == "de") error = "<span style='color: #FF0000;'><strong>Anfang - Ende inkorrekt!</strong></span>";
            if (lang == "en") error = "<span style='color: #FF0000;'><strong>Start - End incorrect!</strong></span>";
            if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Begin - Einde incorrect!</strong></span>";
         }
         if (hlptyp == "F" && error == "")
         {
            var duration = (e_year-year)*10000;
            duration = duration+(e_mon-mon)*100;
            duration = duration+e_day-day+1;
            if (duration < 5)
            {
               if (lang == "de") error = "<span style='color: #FF0000;'><strong>Familienfreundlich erst ab 5 Tage!</strong></span>";
               if (lang == "en") error = "<span style='color: #FF0000;'><strong>Family friendly only from 5 days!</strong></span>";
               if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Familievriendelijk geldt vanaf 5 dagen!</strong></span>";
            }
         }
         if (hlptyp == "F" && error == "")
         {
            var birthyear = getvar("b",y);
            var xdate = new Date();
            var levy = xdate.getFullYear();
            levy = levy - 12;
            if (birthyear < levy)
            {
               if (lang == "de") error = "<span style='color: #FF0000;'><strong>Familienfreundlich nur ab Jahrgang " + levy + " und j&#252;ger!</strong></span>";
               if (lang == "en") error = "<span style='color: #FF0000;'><strong>Family Friendly only for levy " + levy + " and younger!</strong></span>";
               if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Familie vriendelijk alleen voor jaargang " + levy + " en jonger!</strong></span>";
            }
         }
         if (error == "") error = notice;
         if (copydate == 0)
         {
            copydate = 1;
            window.copydate = 1;
            window.copyrow = y;
            window.fday = day.toString();
            if (day < 10) window.fday = "0"+day;
            window.intfday = day;
            window.fmon = help;
            window.intfmon = mon;
            window.fyear = year.toString();
            window.intfyear = year;
            window.lday = e_day.toString();
            if (e_day < 10) window.lday = "0"+e_day;
            window.intlday = e_day;
            window.lmon = e_mon.toString();
            if (mon < 10) window.lmon = "0"+e_mon;
            window.intlmon = e_mon;
            window.lyear = e_year.toString();
            window.intlyear = e_year;
         }
      }
   }
   if (copydate == 1 && copyrow == y)
   {
      window.fmon = help;
      window.intfmon = mon;
   }
   document.getElementById(x).value = help;
   var msg = document.getElementById("persons").rows[y+1].cells;
   msg[8].innerHTML = error;
   setvar("sm",y,mon);
   if (error == "" && mon > 0 && type == "-")
   {
      if (lang == "de") error = "<span style='color: #FF0000;'><strong>bitte, 'Typ' anpassen!</strong></span>";
      if (lang == "en") error = "<span style='color: #FF0000;'><strong>please adjust 'type'!</strong></span>";
      if (lang == "nl") error = "<span style='color: #FF0000;'><strong>s.v.p. 'type' aanpassen!</strong></span>";
      var msg = document.getElementById("persons").rows[y+1].cells;
      msg[8].innerHTML = error;
   }
}

//
//
//
function syr(x,y)
{
   var type = getvar("t",y);
   var day = getvar("sd",y);
   var mon = getvar("sm",y);
   var copydate = window.copydate;
   var copyrow = window.copyrow;
   var expfrow = window.expfrow;
   var lang = window.lang;
   var sdate_fw = window.sdate_fw;
   var stext_fw = window.stext_fw;
   var edate_fw = window.edate_fw;
   var etext_fw = window.etext_fw;
   var sdate_fs = window.sdate_fs;
   var stext_fs = window.stext_fs;
   var edate_fs = window.edate_fs;
   var etext_fs = window.etext_fs;
   var sdate_7w5 = window.sdate_7w5;
   var stext_7w5 = window.stext_7w5;
   var edate_7w5 = window.edate_7w5;
   var etext_7w5 = window.etext_7w5;
   var sdate_7s5 = window.sdate_7s5;
   var stext_7s5 = window.stext_7s5;
   var edate_7s5 = window.edate_7s5;
   var etext_7s5 = window.etext_7s5;
   var sdate_4w3 = window.sdate_4w3;
   var stext_4w3 = window.stext_4w3;
   var edate_4w3 = window.edate_4w3;
   var etext_4w3 = window.etext_4w3;
   var sdate_ssm = window.sdate_ssm;
   var stext_ssm = window.stext_ssm;
   var edate_ssm = window.edate_ssm;
   var etext_ssm = window.etext_ssm;
   var summerbegin = window.summerbegin;
   var summerend = window.summerend;
   var winterbegin = window.winterbegin;
   var winterend = window.winterend;
   var error = "";
   var notice = "";
   var help = document.getElementById(x).value;
   var len = help.length;
   if (len == 0)
   {
      var year = 0;
      if (type != "-")
      {
         if (lang == "de") error = "<span style='color: #FF0000;'><strong>bitte, 'Jahr' ausf&#252;llen!</strong></span>";
         if (lang == "en") error = "<span style='color: #FF0000;'><strong>please, enter 'year'!</strong></span>";
         if (lang == "nl") error = "<span style='color: #FF0000;'><strong>s.v.p. 'jaar' invullen!</strong></span>";
      }
   }
   if (len > 0 && error == "")
   {
      if (len == 1) help = "200"+help;
      if (len == 2) help = "20"+help;
      if (len == 3) help = "2"+help;
      var year = parseInt(help,10);
      var checkdate = new Date();
      var checkyear = checkdate.getFullYear();
      var checkyear1 = checkyear+1;
      if (year < checkyear || year > checkyear1 || parseInt(help,10) != help-0)
      {
         if (lang == "de") error = "<span style='color: #FF0000;'><strong>'Jahr' soll "+checkyear+" oder "+checkyear1+" sein</strong></span>";
         if (lang == "en") error = "<span style='color: #FF0000;'><strong>'year' should be "+checkyear+" or "+checkyear1+"</strong></span>";
         if (lang == "nl") error = "<span style='color: #FF0000;'><strong>'jaar' moet "+checkyear+" of "+checkyear1+" zijn</strong></span>";
      }
   }
   if (len > 0 && error == "" && day > 0 && mon > 0)
   {
      var exist = existdate(day,mon,year);
      if (exist == false)
      {
         if (lang == "de") error = "<span style='color: #FF0000;'><strong>ung&#252;ltiger Datum!</strong></span>";
         if (lang == "en") error = "<span style='color: #FF0000;'><strong>invalid date!</strong></span>";
         if (lang == "nl") error = "<span style='color: #FF0000;'><strong>ongeldige datum!</strong></span>";
      }
   }
   if (len > 0 && error == "" && day > 0 && mon > 0)
   {
      var startdate = Date.UTC(year,mon-1,day);
      var xdate = new Date();
      var xyear = xdate.getFullYear();
      var xmon = xdate.getMonth();
      var xday = xdate.getDate();
      var today = Date.UTC(xyear,xmon,xday);
      if (startdate < today)
      {
         if (lang == "de") error = "<span style='color: #FF0000;'><strong>vergangener Datum!</strong></span>";
         if (lang == "en") error = "<span style='color: #FF0000;'><strong>past date!</strong></span>";
         if (lang == "nl") error = "<span style='color: #FF0000;'><strong>datum vervallen!</strong></span>";
      }
   }
   if (len > 0 && error == "" && day > 0 && mon > 0)
   {
      if (type != "N" && type != "FS" && type != "FW" && type != "-")
      {
         notice = setexpdate(day,mon,year,type,y);
         if (y == expfrow) window.expfyear = year;
      }
      e_day = getvar("ed",y);
      e_mon = getvar("em",y);
      e_year = getvar("ey",y);
      if (type != "-" && e_day > 0 && e_mon > 0 && e_year > 0)
      {
         var enddate = Date.UTC(e_year,e_mon-1,e_day);
         if (type != "SM3" && type != "SM4") hlptyp = type.substr(0,1);
         if (type == "N" || type == "5" || type == "8" || type == "10" || hlptyp == "S")
         {
            var firstdate = winterbegin;
            var lastdate = winterend;
            if (lang == "de") error = "<span style='color: #FF0000;'><strong>Anfang/Ende ausserhalb Wintersaison!</strong></span>";
            if (lang == "en") error = "<span style='color: #FF0000;'><strong>Start/End out of winter season!</strong></span>";
            if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Begin/Einde buiten winter seizoen!</strong></span>";
         }
         if (hlptyp == "M")
         {
            var firstdate = summerbegin;
            var lastdate = summerend;
            if (lang == "de") error = "<span style='color: #FF0000;'><strong>Anfang/Ende ausserhalb Sommersaison!</strong></span>";
            if (lang == "en") error = "<span style='color: #FF0000;'><strong>Start/End out of summer season!</strong></span>";
            if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Begin/Einde buiten zomer seizoen!</strong></span>";
         }
         if (type == "7W5")
         {
            var firstdate = sdate_7w5;
            var lastdate = edate_7w5;
            if (lang == "de") hlperror = 'Aktion "7 f&#252;r 5" nur von ' + stext_7w5 + ' bis ' + etext_7w5 + '!';
            if (lang == "en") hlperror = 'Action "7 for 5" only from ' + stext_7w5 + ' till ' + etext_7w5 + '!';
            if (lang == "nl") hlperror = 'Actie "7 voor 5" alleen van ' + stext_7w5 + ' tot ' + etext_7w5 + '!';
            error = "<span style='color: #FF0000;'><strong>" + hlperror + "</strong></span>";
         }
         if (type == "7S5")
         {
            var firstdate = sdate_7s5;
            var lastdate = edate_7s5;
            if (lang == "de") hlperror = 'Aktion "7 f&#252;r 5" nur von ' + stext_7s5 + ' bis ' + etext_7s5 + '!';
            if (lang == "en") hlperror = 'Action "7 for 5" only from ' + stext_7s5 + ' till ' + etext_7s5 + '!';
            if (lang == "nl") hlperror = 'Actie "7 voor 5" alleen van ' + stext_7s5 + ' tot ' + etext_7s5 + '!';
            error = "<span style='color: #FF0000;'><strong>" + hlperror + "</strong></span>";
         }
         if (type == "4W3")
         {
            var firstdate = sdate_4w3;
            var lastdate = edate_4w3;
            if (lang == "de") hlperror = 'Aktion "4 f&#252;r 3" nur von ' + stext_4w3 + ' bis ' + etext_4w3 + '!';
            if (lang == "en") hlperror = 'Action "4 for 3" only from ' + stext_4w3 + ' till ' + etext_4w3 + '!';
            if (lang == "nl") hlperror = 'Actie "4 voor 3" alleen van ' + stext_4w3 + ' tot ' + etext_4w3 + '!';
            error = "<span style='color: #FF0000;'><strong>" + hlperror + "</strong></span>";
         }
         if (type == "FW")
         {
            var firstdate = sdate_fw;
            var lastdate = edate_fw;
            if (lang == "de") error = "<span style='color: #FF0000;'><strong>Familienfreundlich nur von " + stext_fw + " bis " + etext_fw + "!</strong></span>";
            if (lang == "en") error = "<span style='color: #FF0000;'><strong>Familie friendly only from " + stext_fw + " till " + etext_fw + "!</strong></span>";
            if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Familievriendelijk alleen van " + stext_fw + " tot " + etext_fw + "!</strong></span>";
         }
         if (type == "FS")
         {
            var firstdate = sdate_fs;
            var lastdate = edate_fs;
            if (lang == "de") error = "<span style='color: #FF0000;'><strong>Familienfreundlich nur von " + stext_fs + " bis " + etext_fs + "!</strong></span>";
            if (lang == "en") error = "<span style='color: #FF0000;'><strong>Familie friendly only from " + stext_fs + " till " + etext_fs + "!</strong></span>";
            if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Familievriendelijk alleen van " + stext_fs + " tot " + etext_fs + "!</strong></span>";
         }
         if (type == "SM3" || type == "SM4")
         {
            var firstdate = sdate_ssm;
            var lastdate = edate_ssm;
            if (lang == "de") error = "<span style='color: #FF0000;'><strong>Schnee.Sonne.Montafon nur von " + stext_ssm + " bis " + etext_ssm + "!</strong></span>";
            if (lang == "en") error = "<span style='color: #FF0000;'><strong>Snow.Sun.Montafon only from " + stext_ssm + " till " + etext_ssm + "!</strong></span>";
            if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Schnee.Sonne.Montafon alleen van " + stext_ssm + " tot " + etext_ssm + "!</strong></span>";
         }
         if (startdate >= firstdate && startdate <= lastdate && enddate >= firstdate && enddate <= lastdate) error = "";
         if (enddate < startdate && error == "")
         {
            if (lang == "de") error = "<span style='color: #FF0000;'><strong>Anfang - Ende inkorrekt!</strong></span>";
            if (lang == "en") error = "<span style='color: #FF0000;'><strong>Start - End incorrect!</strong></span>";
            if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Begin - Einde incorrect!</strong></span>";
         }
         if (hlptyp == "F" && error == "")
         {
            var duration = (e_year-year)*10000;
            duration = duration+(e_mon-mon)*100;
            duration = duration+e_day-day+1;
            if (duration < 5)
            {
               if (lang == "de") error = "<span style='color: #FF0000;'><strong>Familienfreundlich erst ab 5 Tage!</strong></span>";
               if (lang == "en") error = "<span style='color: #FF0000;'><strong>Family friendly only from 5 days!</strong></span>";
               if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Familie vriendelijk geldt vanaf 5 dagen!</strong></span>";
            }
         }
         if (hlptyp == "F" && error == "")
         {
            var birthyear = getvar("b",y);
            var xdate = new Date();
            var levy = xdate.getFullYear();
            levy = levy - 12;
            if (birthyear < levy)
            {
               if (lang == "de") error = "<span style='color: #FF0000;'><strong>Familienfreundlich nur ab Jahrgang " + levy + " und j&#252;ger!</strong></span>";
               if (lang == "en") error = "<span style='color: #FF0000;'><strong>Family Friendly only for levy " + levy + " and younger!</strong></span>";
               if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Familie vriendelijk alleen voor jaargang " + levy + " en jonger!</strong></span>";
            }
         }
         if (error == "") error = notice;
         if (copydate == 0)
         {
            copydate = 1;
            window.copydate = 1;
            window.copyrow = y;
            window.fday = day.toString();
            if (day < 10) window.fday = "0"+day;
            window.intfday = day;
            window.fmon = mon.toString();
            if (mon < 10) window.fmon = "0"+mon;
            window.intfmon = mon;
            window.fyear = help;
            window.intfyear = year;
            window.lday = e_day.toString();
            if (e_day < 10) window.lday = "0"+e_day;
            window.intlday = e_day;
            window.lmon = e_mon.toString();
            if (e_mon < 10) window.lmon = "0"+e_mon;
            window.intlmon = e_mon;
            window.lyear = e_year.toString();
            window.intlyear = e_year;
         }
      }
   }
   if (copydate == 1 && copyrow == y)
   {
      window.fyear = help;
      window.intfyear = year;
   }
   document.getElementById(x).value = help;
   var msg = document.getElementById("persons").rows[y+1].cells;
   msg[8].innerHTML = error;
   setvar("sy",y,year);
   if (error == "" && year > 0 && type == "-")
   {
      if (lang == "de") error = "<span style='color: #FF0000;'><strong>bitte, 'Typ' anpassen!</strong></span>";
      if (lang == "en") error = "<span style='color: #FF0000;'><strong>please adjust 'type'!</strong></span>";
      if (lang == "nl") error = "<span style='color: #FF0000;'><strong>s.v.p. 'type' aanpassen!</strong></span>";
      var msg = document.getElementById("persons").rows[y+1].cells;
      msg[8].innerHTML = error;
   }
}

//
//
//
function eday(x,y)
{
   var type = getvar("t",y);
   var mon = getvar("em",y);
   var year = getvar("ey",y);
   var s_day = getvar("sd",y)
   var s_mon = getvar("sm",y);
   var s_year = getvar("sy",y);
   var copydate = window.copydate;
   var copyrow = window.copyrow;
   var lang = window.lang;
   var sdate_fw = window.sdate_fw;
   var stext_fw = window.stext_fw;
   var edate_fw = window.edate_fw;
   var etext_fw = window.etext_fw;
   var sdate_fs = window.sdate_fs;
   var stext_fs = window.stext_fs;
   var edate_fs = window.edate_fs;
   var etext_fs = window.etext_fs;
   var sdate_7w5 = window.sdate_7w5;
   var stext_7w5 = window.stext_7w5;
   var edate_7w5 = window.edate_7w5;
   var etext_7w5 = window.etext_7w5;
   var sdate_7s5 = window.sdate_7s5;
   var stext_7s5 = window.stext_7s5;
   var edate_7s5 = window.edate_7s5;
   var etext_7s5 = window.etext_7s5;
   var sdate_4w3 = window.sdate_4w3;
   var stext_4w3 = window.stext_4w3;
   var edate_4w3 = window.edate_4w3;
   var etext_4w3 = window.etext_4w3;
   var sdate_ssm = window.sdate_ssm;
   var stext_ssm = window.stext_ssm;
   var edate_ssm = window.edate_ssm;
   var etext_ssm = window.etext_ssm;
   var summerbegin = window.summerbegin;
   var summerend = window.summerend;
   var winterbegin = window.winterbegin;
   var winterend = window.winterend;
   var error = "";
   if (type != "N" && type != "FW" && type != "FS" && type != "-")
   {
      if (s_day == 0 || s_mon == 0 || s_year == 0)
      {
         if (lang == "de") alert(unescape("Die G%FCltigkeitsdauer dieser Kartentyp ist fixiert."+'\n'+"Bitte, erst das Anfangsdatum vollst%E4ndig/korrekt ausf%FCllen."+'\n'+"Das Enddatum wird dann automatisch kalkuliert."));
         if (lang == "en") alert("The duration of this type of card is fixed."+'\n'+"Please, enter the startdate completely/correctly."+'\n'+"Then the enddate is determined automaticly.");
         if (lang == "nl") alert("Dit kaarttype heeft een vaste geldigheidsduur."+'\n'+"Vul s.v.p. eerst de startdatum volledig/correct in."+'\n'+"Dan wordt de einddatum automatisch berekend.");
      }
      else
      {
         if (lang == "de") alert(unescape("Die G%FCltigkeitsdauer dieser Kartentyp ist fixiert."+'\n'+"Das Enddatum ist nicht ver%E4nderbar."));
         if (lang == "en") alert("The duration of this type of card is fixed."+'\n'+"The enddate can't be changed.");
         if (lang == "nl") alert("Dit kaarttype heeft een vaste geldigheidsduur."+'\n'+"De einddatum is niet veranderbaar.");
      }
      day = getvar("ed",y);
      var content = day.toString();
      if (day < 10) content = "0"+day;
      if (day == 0) content = "";
      if (y == 1) document.getElementById("edd1").value = content;
      if (y == 2) document.getElementById("edd2").value = content;
      if (y == 3) document.getElementById("edd3").value = content;
      if (y == 4) document.getElementById("edd4").value = content;
      if (y == 5) document.getElementById("edd5").value = content;
      if (y == 6) document.getElementById("edd6").value = content;
      if (y == 7) document.getElementById("edd7").value = content;
      if (y == 8) document.getElementById("edd8").value = content;
      return;
   }
   var help = document.getElementById(x).value;
   var len = help.length;
   if (len == 0)
   {
      day = 0;
      if (type != "-")
      {
         if (lang == "de") error = "<span style='color: #FF0000;'><strong>bitte, 'Tag' ausf&#252;llen!</strong></span>";
         if (lang == "en") error = "<span style='color: #FF0000;'><strong>please, enter 'day'!</strong></span>";
         if (lang == "nl") error = "<span style='color: #FF0000;'><strong>s.v.p. 'dag' invullen!</strong></span>";
      }
   }
   if (len > 0 && error == "")
   {
      if (len == 2 && help.substring(0,1) == "0")
      {
         help = help.substring(1);
         len = 1;
      }
      var day = parseInt(help,10);
      if (len == 1) help = "0"+help;
      if (day < 1 || day > 31 || parseInt(help,10) != help-0)
      {
         if (lang == "de") error = "<span style='color: #FF0000;'><strong>ung&#252;ltiger Tag!</strong></span>";
         if (lang == "en") error = "<span style='color: #FF0000;'><strong>invalid day!</strong></span>";
         if (lang == "nl") error = "<span style='color: #FF0000;'><strong>ongeldige dag!</strong></span>";
      }
   }
   if (len > 0 && error == "" && mon > 0 && year > 0)
   {
      var exist = existdate(day,mon,year);
      if (exist == false)
      {
         if (lang == "de") error = "<span style='color: #FF0000;'><strong>ung&#252;ltiger Datum!</strong></span>";
         if (lang == "en") error = "<span style='color: #FF0000;'><strong>invalid date!</strong></span>";
         if (lang == "nl") error = "<span style='color: #FF0000;'><strong>ongeldige datum!</strong></span>";
      }
   }
   if (len > 0 && error == "" && mon > 0 && year > 0)
   {
      var enddate = Date.UTC(year,mon-1,day);
      var xdate = new Date();
      var xyear = xdate.getFullYear();
      var xmon = xdate.getMonth();
      var xday = xdate.getDate();
      var today = Date.UTC(xyear,xmon,xday);
      if (enddate < today)
      {
         if (lang == "de") error = "<span style='color: #FF0000;'><strong>vergangener Datum!</strong></span>";
         if (lang == "en") error = "<span style='color: #FF0000;'><strong>past date!</strong></span>";
         if (lang == "nl") error = "<span style='color: #FF0000;'><strong>datum vervallen!</strong></span>";
      }
   }
   if (len > 0 && error == "" && mon > 0 && year > 0)
   {
      if (s_day > 0 && s_mon > 0 && s_year > 0)
      {
         var startdate = Date.UTC(s_year,s_mon-1,s_day);
         if (type != "SM3" && type != "SM4") hlptyp = type.substr(0,1);
         if (type == "N" || type == "5" || type == "8" || type == "10" || hlptyp == "S")
         {
            var firstdate = winterbegin;
            var lastdate = winterend;
            if (lang == "de") error = "<span style='color: #FF0000;'><strong>Anfang/Ende ausserhalb Wintersaison!</strong></span>";
            if (lang == "en") error = "<span style='color: #FF0000;'><strong>Start/End out of winter season!</strong></span>";
            if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Begin/Einde buiten winter seizoen!</strong></span>";
         }
         if (hlptyp == "M")
         {
            var firstdate = summerbegin;
            var lastdate = summerend;
            if (lang == "de") error = "<span style='color: #FF0000;'><strong>Anfang/Ende ausserhalb Sommersaison!</strong></span>";
            if (lang == "en") error = "<span style='color: #FF0000;'><strong>Start/End out of summer season!</strong></span>";
            if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Begin/Einde buiten zomer seizoen!</strong></span>";
         }
         if (type == "7W5")
         {
            var firstdate = sdate_7w5;
            var lastdate = edate_7w5;
            if (lang == "de") hlperror = 'Aktion "7 f&#252;r 5" nur von ' + stext_7w5 + ' bis ' + etext_7w5 + '!';
            if (lang == "en") hlperror = 'Action "7 for 5" only from ' + stext_7w5 + ' till ' + etext_7w5 + '!';
            if (lang == "nl") hlperror = 'Actie "7 voor 5" alleen van ' + stext_7w5 + ' tot ' + etext_7w5 + '!';
            error = "<span style='color: #FF0000;'><strong>" + hlperror + "</strong></span>";
         }
         if (type == "7S5")
         {
            var firstdate = sdate_7s5;
            var lastdate = edate_7s5;
            if (lang == "de") hlperror = 'Aktion "7 f&#252;r 5" nur von ' + stext_7s5 + ' bis ' + etext_7s5 + '!';
            if (lang == "en") hlperror = 'Action "7 for 5" only from ' + stext_7s5 + ' till ' + etext_7s5 + '!';
            if (lang == "nl") hlperror = 'Actie "7 voor 5" alleen van ' + stext_7s5 + ' tot ' + etext_7s5 + '!';
            error = "<span style='color: #FF0000;'><strong>" + hlperror + "</strong></span>";
         }
         if (type == "4W3")
         {
            var firstdate = sdate_4w3;
            var lastdate = edate_4w3;
            if (lang == "de") hlperror = 'Aktion "4 f&#252;r 3" nur von ' + stext_4w3 + ' bis ' + etext_4w3 + '!';
            if (lang == "en") hlperror = 'Action "4 for 3" only from ' + stext_4w3 + ' till ' + etext_4w3 + '!';
            if (lang == "nl") hlperror = 'Actie "4 voor 3" alleen van ' + stext_4w3 + ' tot ' + etext_4w3 + '!';
            error = "<span style='color: #FF0000;'><strong>" + hlperror + "</strong></span>";
         }
         if (type == "FW")
         {
            var firstdate = sdate_fw;
            var lastdate = edate_fw;
            if (lang == "de") error = "<span style='color: #FF0000;'><strong>Familienfreundlich nur von " + stext_fw + " bis " + etext_fw + "!</strong></span>";
            if (lang == "en") error = "<span style='color: #FF0000;'><strong>Familie friendly only from " + stext_fw + " till " + etext_fw + "!</strong></span>";
            if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Familievriendelijk alleen van " + stext_fw + " tot " + etext_fw + "!</strong></span>";
         }
         if (type == "FS")
         {
            var firstdate = sdate_fs;
            var lastdate = edate_fs;
            if (lang == "de") error = "<span style='color: #FF0000;'><strong>Familienfreundlich nur von " + stext_fs + " bis " + etext_fs + "!</strong></span>";
            if (lang == "en") error = "<span style='color: #FF0000;'><strong>Familie friendly only from " + stext_fs + " till " + etext_fs + "!</strong></span>";
            if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Familievriendelijk alleen van " + stext_fs + " tot " + etext_fs + "!</strong></span>";
         }
         if (type == "SM3" || type == "SM4")
         {
            var firstdate = sdate_ssm;
            var lastdate = edate_ssm;
            if (lang == "de") error = "<span style='color: #FF0000;'><strong>Schnee.Sonne.Montafon nur von " + stext_ssm + " bis " + etext_ssm + "!</strong></span>";
            if (lang == "en") error = "<span style='color: #FF0000;'><strong>Snow.Sun.Montafon only from " + stext_ssm + " till " + etext_ssm + "!</strong></span>";
            if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Schnee.Sonne.Montafon alleen van " + stext_ssm + " tot " + etext_ssm + "!</strong></span>";
         }
         if (startdate >= firstdate && startdate <= lastdate && enddate >= firstdate && enddate <= lastdate) error = "";
         if (enddate < startdate && error == "")
         {
            if (lang == "de") error = "<span style='color: #FF0000;'><strong>Anfang - Ende inkorrekt!</strong></span>";
            if (lang == "en") error = "<span style='color: #FF0000;'><strong>Start - End incorrect!</strong></span>";
            if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Begin - Einde incorrect!</strong></span>";
         }
         if (hlptyp == "F" && error == "")
         {
            var duration = (year-s_year)*10000;
            duration = duration+(mon-s_mon)*100;
            duration = duration+day-s_day+1;
            if (duration < 5)
            {
               if (lang == "de") error = "<span style='color: #FF0000;'><strong>Familienfreundlich erst ab 5 Tage!</strong></span>";
               if (lang == "en") error = "<span style='color: #FF0000;'><strong>Family friendly only from 5 days!</strong></span>";
               if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Familievriendelijk geldt vanaf 5 dagen!</strong></span>";
            }
         }
         if (hlptyp == "F" && error == "")
         {
            var birthyear = getvar("b",y);
            var xdate = new Date();
            var levy = xdate.getFullYear();
            levy = levy - 12;
            if (birthyear < levy)
            {
               if (lang == "de") error = "<span style='color: #FF0000;'><strong>Familienfreundlich nur ab Jahrgang " + levy + " und j&#252;ger!</strong></span>";
               if (lang == "en") error = "<span style='color: #FF0000;'><strong>Family Friendly only for levy " + levy + " and younger!</strong></span>";
               if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Familie vriendelijk alleen voor jaargang " + levy + " en jonger!</strong></span>";
            }
         }
         if (copydate == 0)
         {
            copydate = 1;
            window.copydate = 1;
            window.copyrow = y;
            window.fday = s_day.toString();
            if (s_day < 10) window.fday = "0"+s_day;
            window.intfday = s_day;
            window.fmon = s_mon.toString();
            if (s_mon < 10) window.fmon = "0"+s_mon;
            window.intfmon = s_mon;
            window.fyear = s_year.toString();
            window.intfyear = s_year;
            window.lday = help;
            window.intlday = day;
            window.lmon = mon.toString();
            if (mon < 10) window.lmon = "0"+mon;
            window.intlmon = mon;
            window.lyear = year.toString();
            window.intlyear = year;
         }
      }
   }
   if (copydate == 1 && copyrow == y)
   {
      window.lday = help;
      window.intlday = day;
   }
   document.getElementById(x).value = help;
   var msg = document.getElementById("persons").rows[y+1].cells;
   msg[8].innerHTML = error;
   setvar("ed",y,day);
   if (error == "" && day > 0 && type == "-")
   {
      if (lang == "de") error = "<span style='color: #FF0000;'><strong>bitte, 'Typ' anpassen!</strong></span>";
      if (lang == "en") error = "<span style='color: #FF0000;'><strong>please adjust 'type'!</strong></span>";
      if (lang == "nl") error = "<span style='color: #FF0000;'><strong>s.v.p. 'type' aanpassen!</strong></span>";
      var msg = document.getElementById("persons").rows[y+1].cells;
      msg[8].innerHTML = error;
   }
}

//
//
//
function emon(x,y)
{
   var type = getvar("t",y);
   var day = getvar("ed",y);
   var year = getvar("ey",y);
   var s_day = getvar("sd",y)
   var s_mon = getvar("sm",y);
   var s_year = getvar("sy",y);
   var copydate = window.copydate;
   var copyrow = window.copyrow;
   var lang = window.lang;
   var sdate_fw = window.sdate_fw;
   var stext_fw = window.stext_fw;
   var edate_fw = window.edate_fw;
   var etext_fw = window.etext_fw;
   var sdate_fs = window.sdate_fs;
   var stext_fs = window.stext_fs;
   var edate_fs = window.edate_fs;
   var etext_fs = window.etext_fs;
   var sdate_7w5 = window.sdate_7w5;
   var stext_7w5 = window.stext_7w5;
   var edate_7w5 = window.edate_7w5;
   var etext_7w5 = window.etext_7w5;
   var sdate_7s5 = window.sdate_7s5;
   var stext_7s5 = window.stext_7s5;
   var edate_7s5 = window.edate_7s5;
   var etext_7s5 = window.etext_7s5;
   var sdate_4w3 = window.sdate_4w3;
   var stext_4w3 = window.stext_4w3;
   var edate_4w3 = window.edate_4w3;
   var etext_4w3 = window.etext_4w3;
   var sdate_ssm = window.sdate_ssm;
   var stext_ssm = window.stext_ssm;
   var edate_ssm = window.edate_ssm;
   var etext_ssm = window.etext_ssm;
   var summerbegin = window.summerbegin;
   var summerend = window.summerend;
   var winterbegin = window.winterbegin;
   var winterend = window.winterend;
   var error = "";
   if (type != "N" && type != "FW" && type != "FS" && type != "-")
   {
      if (s_day == 0 || s_mon == 0 || s_year == 0)
      {
         if (lang == "de") alert(unescape("Die G%FCltigkeitsdauer dieser Kartentyp ist fixiert."+'\n'+"Bitte, erst das Anfangsdatum vollst%E4ndig/korrekt ausf%FCllen."+'\n'+"Das Enddatum wird dann automatisch kalkuliert."));
         if (lang == "en") alert("The duration of this type of card is fixed."+'\n'+"Please, enter the startdate completely/correctly."+'\n'+"Then the enddate is determined automaticly.");
         if (lang == "nl") alert("Dit kaarttype heeft een vaste geldigheidsduur."+'\n'+"Vul s.v.p. eerst de startdatum volledig/correct in."+'\n'+"Dan wordt de einddatum automatisch berekend.");
      }
      else
      {
         if (lang == "de") alert(unescape("Die G%FCltigkeitsdauer dieser Kartentyp ist fixiert."+'\n'+"Das Enddatum ist nicht ver%E4nderbar."));
         if (lang == "en") alert("The duration of this type of card is fixed."+'\n'+"The enddate can't be changed.");
         if (lang == "nl") alert("Dit kaarttype heeft een vaste geldigheidsduur."+'\n'+"De einddatum is niet veranderbaar.");
      }
      day = getvar("ed",y);
      var content = day.toString();
      if (day < 10) content = "0"+day;
      if (day == 0) content = "";
      if (y == 1) document.getElementById("edd1").value = content;
      if (y == 2) document.getElementById("edd2").value = content;
      if (y == 3) document.getElementById("edd3").value = content;
      if (y == 4) document.getElementById("edd4").value = content;
      if (y == 5) document.getElementById("edd5").value = content;
      if (y == 6) document.getElementById("edd6").value = content;
      if (y == 7) document.getElementById("edd7").value = content;
      if (y == 8) document.getElementById("edd8").value = content;
      return;
   }
   var help = document.getElementById(x).value;
   var len = help.length;
   if (len == 0)
   {
      var mon = 0;
      if (type != "-")
      {
         if (lang == "de") error = "<span style='color: #FF0000;'><strong>bitte, 'Monat' ausf&#252;llen!</strong></span>";
         if (lang == "en") error = "<span style='color: #FF0000;'><strong>please, enter 'month'!</strong></span>";
         if (lang == "nl") error = "<span style='color: #FF0000;'><strong>s.v.p. 'maand' invullen!</strong></span>";
      }
   }
   if (len > 0 && error == "")
   {
      if (len == 2 && help.substring(0,1) == "0")
      {
         help = help.substring(1);
         len = 1;
      }
      var mon = parseInt(help,10);
      if (len == 1) help = "0"+help;
      if (mon < 1 || mon > 12 || parseInt(help,10) != help-0)
      {
         if (lang == "de") error = "<span style='color: #FF0000;'><strong>ung&#252;ltiger Monat!</strong></span>";
         if (lang == "en") error = "<span style='color: #FF0000;'><strong>invalid month!</strong></span>";
         if (lang == "nl") error = "<span style='color: #FF0000;'><strong>ongeldige maand!</strong></span>";
      }
   }
   if (len > 0 && error == "" && day > 0 && year > 0)
   {
      var exist = existdate(day,mon,year);
      if (exist == false)
      {
         if (lang == "de") error = "<span style='color: #FF0000;'><strong>ung&#252;ltiger Datum!</strong></span>";
         if (lang == "en") error = "<span style='color: #FF0000;'><strong>invalid date!</strong></span>";
         if (lang == "nl") error = "<span style='color: #FF0000;'><strong>ongeldige datum!</strong></span>";
      }
   }
   if (len > 0 && error == "" && day > 0 && year > 0)
   {
      var enddate = Date.UTC(year,mon-1,day);
      var xdate = new Date();
      var xyear = xdate.getFullYear();
      var xmon = xdate.getMonth();
      var xday = xdate.getDate();
      var today = Date.UTC(xyear,xmon,xday);
      if (enddate < today)
      {
         if (lang == "de") error = "<span style='color: #FF0000;'><strong>vergangener Datum!</strong></span>";
         if (lang == "en") error = "<span style='color: #FF0000;'><strong>past date!</strong></span>";
         if (lang == "nl") error = "<span style='color: #FF0000;'><strong>datum vervallen!</strong></span>";
      }
   }
   if (len > 0 && error == "" && day > 0 && year > 0)
   {
      if (s_day > 0 && s_mon > 0 && s_year > 0)
      {
         var startdate = Date.UTC(s_year,s_mon-1,s_day);
         if (type != "SM3" && type != "SM4") hlptyp = type.substr(0,1);
         if (type == "N" || type == "5" || type == "8" || type == "10" || hlptyp == "S")
         {
            var firstdate = winterbegin;
            var lastdate = winterend;
            if (lang == "de") error = "<span style='color: #FF0000;'><strong>Anfang/Ende ausserhalb Wintersaison!</strong></span>";
            if (lang == "en") error = "<span style='color: #FF0000;'><strong>Start/End out of winter season!</strong></span>";
            if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Begin/Einde buiten winter seizoen!</strong></span>";
         }
         if (hlptyp == "M")
         {
            var firstdate = summerbegin;
            var lastdate = summerend;
            if (lang == "de") error = "<span style='color: #FF0000;'><strong>Anfang/Ende ausserhalb Sommersaison!</strong></span>";
            if (lang == "en") error = "<span style='color: #FF0000;'><strong>Start/End out of summer season!</strong></span>";
            if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Begin/Einde buiten zomer seizoen!</strong></span>";
         }
         if (type == "7W5")
         {
            var firstdate = sdate_7w5;
            var lastdate = edate_7w5;
            if (lang == "de") hlperror = 'Aktion "7 f&#252;r 5" nur von ' + stext_7w5 + ' bis ' + etext_7w5 + '!';
            if (lang == "en") hlperror = 'Action "7 for 5" only from ' + stext_7w5 + ' till ' + etext_7w5 + '!';
            if (lang == "nl") hlperror = 'Actie "7 voor 5" alleen van ' + stext_7w5 + ' tot ' + etext_7w5 + '!';
            error = "<span style='color: #FF0000;'><strong>" + hlperror + "</strong></span>";
         }
         if (type == "7S5")
         {
            var firstdate = sdate_7s5;
            var lastdate = edate_7s5;
            if (lang == "de") hlperror = 'Aktion "7 f&#252;r 5" nur von ' + stext_7s5 + ' bis ' + etext_7s5 + '!';
            if (lang == "en") hlperror = 'Action "7 for 5" only from ' + stext_7s5 + ' till ' + etext_7s5 + '!';
            if (lang == "nl") hlperror = 'Actie "7 voor 5" alleen van ' + stext_7s5 + ' tot ' + etext_7s5 + '!';
            error = "<span style='color: #FF0000;'><strong>" + hlperror + "</strong></span>";
         }
         if (type == "4W3")
         {
            var firstdate = sdate_4w3;
            var lastdate = edate_4w3;
            if (lang == "de") hlperror = 'Aktion "4 f&#252;r 3" nur von ' + stext_4w3 + ' bis ' + etext_4w3 + '!';
            if (lang == "en") hlperror = 'Action "4 for 3" only from ' + stext_4w3 + ' till ' + etext_4w3 + '!';
            if (lang == "nl") hlperror = 'Actie "4 voor 3" alleen van ' + stext_4w3 + ' tot ' + etext_4w3 + '!';
            error = "<span style='color: #FF0000;'><strong>" + hlperror + "</strong></span>";
         }
         if (type == "FW")
         {
            var firstdate = sdate_fw;
            var lastdate = edate_fw;
            if (lang == "de") error = "<span style='color: #FF0000;'><strong>Familienfreundlich nur von " + stext_fw + " bis " + etext_fw + "!</strong></span>";
            if (lang == "en") error = "<span style='color: #FF0000;'><strong>Familie friendly only from " + stext_fw + " till " + etext_fw + "!</strong></span>";
            if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Familievriendelijk alleen van " + stext_fw + " tot " + etext_fw + "!</strong></span>";
         }
         if (type == "FS")
         {
            var firstdate = sdate_fs;
            var lastdate = edate_fs;
            if (lang == "de") error = "<span style='color: #FF0000;'><strong>Familienfreundlich nur von " + stext_fs + " bis " + etext_fs + "!</strong></span>";
            if (lang == "en") error = "<span style='color: #FF0000;'><strong>Familie friendly only from " + stext_fs + " till " + etext_fs + "!</strong></span>";
            if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Familievriendelijk alleen van " + stext_fs + " tot " + etext_fs + "!</strong></span>";
         }
         if (type == "SM3" || type == "SM4")
         {
            var firstdate = sdate_ssm;
            var lastdate = edate_ssm;
            if (lang == "de") error = "<span style='color: #FF0000;'><strong>Schnee.Sonne.Montafon nur von " + stext_ssm + " bis " + etext_ssm + "!</strong></span>";
            if (lang == "en") error = "<span style='color: #FF0000;'><strong>Snow.Sun.Montafon only from " + stext_ssm + " till " + etext_ssm + "!</strong></span>";
            if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Schnee.Sonne.Montafon alleen van " + stext_ssm + " tot " + etext_ssm + "!</strong></span>";
         }
         if (startdate >= firstdate && startdate <= lastdate && enddate >= firstdate && enddate <= lastdate) error = "";
         if (enddate < startdate && error == "")
         {
            if (lang == "de") error = "<span style='color: #FF0000;'><strong>Anfang - Ende inkorrekt!</strong></span>";
            if (lang == "en") error = "<span style='color: #FF0000;'><strong>Start - End incorrect!</strong></span>";
            if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Begin - Einde incorrect!</strong></span>";
         }
         if (hlptyp == "F" && error == "")
         {
            var duration = (year-s_year)*10000;
            duration = duration+(mon-s_mon)*100;
            duration = duration+day-s_day+1;
            if (duration < 5)
            {
               if (lang == "de") error = "<span style='color: #FF0000;'><strong>Familienfreundlich erst ab 5 Tage!</strong></span>";
               if (lang == "en") error = "<span style='color: #FF0000;'><strong>Family friendly only from 5 days!</strong></span>";
               if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Familievriendelijk geldt vanaf 5 dagen!</strong></span>";
            }
         }
         if (hlptyp == "F" && error == "")
         {
            var birthyear = getvar("b",y);
            var xdate = new Date();
            var levy = xdate.getFullYear();
            levy = levy - 12;
            if (birthyear < levy)
            {
               if (lang == "de") error = "<span style='color: #FF0000;'><strong>Familienfreundlich nur ab Jahrgang " + levy + " und j&#252;ger!</strong></span>";
               if (lang == "en") error = "<span style='color: #FF0000;'><strong>Family Friendly only for levy " + levy + " and younger!</strong></span>";
               if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Familie vriendelijk alleen voor jaargang " + levy + " en jonger!</strong></span>";
            }
         }
         if (copydate == 0 && error == "")
         {
            copydate = 1;
            window.copydate = 1;
            window.copyrow = y;
            window.fday = s_day.toString();
            if (s_day < 10) window.fday = "0"+s_day;
            window.intfday = s_day;
            window.fmon = s_mon.toString();
            if (s_mon < 10) window.fmon = "0"+s_mon;
            window.intfmon = s_mon;
            window.fyear = s_year.toString();
            window.intfyear = s_year;
            window.lday = day.toString();
            if (day < 10) window.lday = "0"+day;
            window.intlday = day;
            window.lmon = help;
            window.intlmon = mon;
            window.lyear = year.toString();
            window.intlyear = year;
         }
      }
   }
   if (copydate == 1 && copyrow == y)
   {
      window.lmon = help;
      window.intlmon = mon;
   }
   document.getElementById(x).value = help;
   var msg = document.getElementById("persons").rows[y+1].cells;
   msg[8].innerHTML = error;
   setvar("em",y,mon);
   if (error == "" && mon > 0 && type == "-")
   {
      if (lang == "de") error = "<span style='color: #FF0000;'><strong>bitte, 'Typ' anpassen!</strong></span>";
      if (lang == "en") error = "<span style='color: #FF0000;'><strong>please adjust 'type'!</strong></span>";
      if (lang == "nl") error = "<span style='color: #FF0000;'><strong>s.v.p. 'type' aanpassen!</strong></span>";
      var msg = document.getElementById("persons").rows[y+1].cells;
      msg[8].innerHTML = error;
   }
}

//
//
//
function eyr(x,y)
{
   var type = getvar("t",y);
   var day = getvar("ed",y);
   var mon = getvar("em",y);
   var s_day = getvar("sd",y)
   var s_mon = getvar("sm",y);
   var s_year = getvar("sy",y);
   var copydate = window.copydate;
   var copyrow = window.copyrow;
   var lang = window.lang;
   var sdate_fw = window.sdate_fw;
   var stext_fw = window.stext_fw;
   var edate_fw = window.edate_fw;
   var etext_fw = window.etext_fw;
   var sdate_fs = window.sdate_fs;
   var stext_fs = window.stext_fs;
   var edate_fs = window.edate_fs;
   var etext_fs = window.etext_fs;
   var sdate_7w5 = window.sdate_7w5;
   var stext_7w5 = window.stext_7w5;
   var edate_7w5 = window.edate_7w5;
   var etext_7w5 = window.etext_7w5;
   var sdate_7s5 = window.sdate_7s5;
   var stext_7s5 = window.stext_7s5;
   var edate_7s5 = window.edate_7s5;
   var etext_7s5 = window.etext_7s5;
   var sdate_4w3 = window.sdate_4w3;
   var stext_4w3 = window.stext_4w3;
   var edate_4w3 = window.edate_4w3;
   var etext_4w3 = window.etext_4w3;
   var sdate_ssm = window.sdate_ssm;
   var stext_ssm = window.stext_ssm;
   var edate_ssm = window.edate_ssm;
   var etext_ssm = window.etext_ssm;
   var summerbegin = window.summerbegin;
   var summerend = window.summerend;
   var winterbegin = window.winterbegin;
   var winterend = window.winterend;
   var error = "";
   if (type != "N" && type != "FW" && type != "FS" && type != "-")
   {
      if (s_day == 0 || s_mon == 0 || s_year == 0)
      {
         if (lang == "de") alert(unescape("Die G%FCltigkeitsdauer dieser Kartentyp ist fixiert."+'\n'+"Bitte, erst das Anfangsdatum vollst%E4ndig/korrekt ausf%FCllen."+'\n'+"Das Enddatum wird dann automatisch kalkuliert."));
         if (lang == "en") alert("The duration of this type of card is fixed."+'\n'+"Please, enter the startdate completely/correctly."+'\n'+"Then the enddate is determined automaticly.");
         if (lang == "nl") alert("Dit kaarttype heeft een vaste geldigheidsduur."+'\n'+"Vul s.v.p. eerst de startdatum volledig/correct in."+'\n'+"Dan wordt de einddatum automatisch berekend.");
      }
      else
      {
         if (lang == "de") alert(unescape("Die G%FCltigkeitsdauer dieser Kartentyp ist fixiert."+'\n'+"Das Enddatum ist nicht ver%E4nderbar."));
         if (lang == "en") alert("The duration of this type of card is fixed."+'\n'+"The enddate can't be changed.");
         if (lang == "nl") alert("Dit kaarttype heeft een vaste geldigheidsduur."+'\n'+"De einddatum is niet veranderbaar.");
      }
      day = getvar("ed",y);
      var content = day.toString();
      if (day < 10) content = "0"+day;
      if (day == 0) content = "";
      if (y == 1) document.getElementById("edd1").value = content;
      if (y == 2) document.getElementById("edd2").value = content;
      if (y == 3) document.getElementById("edd3").value = content;
      if (y == 4) document.getElementById("edd4").value = content;
      if (y == 5) document.getElementById("edd5").value = content;
      if (y == 6) document.getElementById("edd6").value = content;
      if (y == 7) document.getElementById("edd7").value = content;
      if (y == 8) document.getElementById("edd8").value = content;
      return;
   }
   var help = document.getElementById(x).value;
   var len = help.length;
   if (len == 0)
   {
      var year = 0;
      if (type != "-")
      {
         if (lang == "de") error = "<span style='color: #FF0000;'><strong>bitte, 'Jahr' ausf&#252;llen!</strong></span>";
         if (lang == "en") error = "<span style='color: #FF0000;'><strong>please, enter 'year'!</strong></span>";
         if (lang == "nl") error = "<span style='color: #FF0000;'><strong>s.v.p. 'jaar' invullen!</strong></span>";
      }
   }
   if (len > 0 && error == "")
   {
      if (len == 1) help = "200"+help;
      if (len == 2) help = "20"+help;
      if (len == 3) help = "2"+help;
      var year = parseInt(help,10);
      var checkdate = new Date();
      var checkyear = checkdate.getFullYear();
      var checkyear1 = checkyear+1;
      if (year < checkyear || year > checkyear1 || parseInt(help,10) != help-0)
      {
         if (lang == "de") error = "<span style='color: #FF0000;'><strong>'Jahr' soll "+checkyear+" oder "+checkyear1+" sein</strong></span>";
         if (lang == "en") error = "<span style='color: #FF0000;'><strong>'year' should be "+checkyear+" or "+checkyear1+"</strong></span>";
         if (lang == "nl") error = "<span style='color: #FF0000;'><strong>'jaar' moet "+checkyear+" of "+checkyear1+" zijn</strong></span>";
      }
   }
   if (len > 0 && error == "" && day > 0 && mon > 0)
   {
      var exist = existdate(day,mon,year);
      if (exist == false)
      {
         if (lang == "de") error = "<span style='color: #FF0000;'><strong>ung&#252;ltiger Datum!</strong></span>";
         if (lang == "en") error = "<span style='color: #FF0000;'><strong>invalid date!</strong></span>";
         if (lang == "nl") error = "<span style='color: #FF0000;'><strong>ongeldige datum!</strong></span>";
      }
   }
   if (len > 0 && error == "" && day > 0 && mon > 0)
   {
      var enddate = Date.UTC(year,mon-1,day);
      var xdate = new Date();
      var xyear = xdate.getFullYear();
      var xmon = xdate.getMonth();
      var xday = xdate.getDate();
      var today = Date.UTC(xyear,xmon,xday);
      if (enddate < today)
      {
         if (lang == "de") error = "<span style='color: #FF0000;'><strong>vergangener Datum!</strong></span>";
         if (lang == "en") error = "<span style='color: #FF0000;'><strong>past date!</strong></span>";
         if (lang == "nl") error = "<span style='color: #FF0000;'><strong>datum vervallen!</strong></span>";
      }
   }
   if (len > 0 && error == "" && day > 0 && mon > 0)
   {
      if (s_day > 0 && s_mon > 0 && s_year > 0)
      {
         var startdate = Date.UTC(s_year,s_mon-1,s_day);
         if (type != "SM3" && type != "SM4") hlptyp = type.substr(0,1);
         if (type == "N" || type == "5" || type == "8" || type == "10" || hlptyp == "S")
         {
            var firstdate = winterbegin;
            var lastdate = winterend;
            if (lang == "de") error = "<span style='color: #FF0000;'><strong>Anfang/Ende ausserhalb Wintersaison!</strong></span>";
            if (lang == "en") error = "<span style='color: #FF0000;'><strong>Start/End out of winter season!</strong></span>";
            if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Begin/Einde buiten winter seizoen!</strong></span>";
         }
         if (hlptyp == "M")
         {
            var firstdate = summerbegin;
            var lastdate = summerend;
            if (lang == "de") error = "<span style='color: #FF0000;'><strong>Anfang/Ende ausserhalb Sommersaison!</strong></span>";
            if (lang == "en") error = "<span style='color: #FF0000;'><strong>Start/End out of summer season!</strong></span>";
            if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Begin/Einde buiten zomer seizoen!</strong></span>";
         }
         if (type == "7W5")
         {
            var firstdate = sdate_7w5;
            var lastdate = edate_7w5;
            if (lang == "de") hlperror = 'Aktion "7 f&#252;r 5" nur von ' + stext_7w5 + ' bis ' + etext_7w5 + '!';
            if (lang == "en") hlperror = 'Action "7 for 5" only from ' + stext_7w5 + ' till ' + etext_7w5 + '!';
            if (lang == "nl") hlperror = 'Actie "7 voor 5" alleen van ' + stext_7w5 + ' tot ' + etext_7w5 + '!';
            error = "<span style='color: #FF0000;'><strong>" + hlperror + "</strong></span>";
         }
         if (type == "7S5")
         {
            var firstdate = sdate_7s5;
            var lastdate = edate_7s5;
            if (lang == "de") hlperror = 'Aktion "7 f&#252;r 5" nur von ' + stext_7s5 + ' bis ' + etext_7s5 + '!';
            if (lang == "en") hlperror = 'Action "7 for 5" only from ' + stext_7s5 + ' till ' + etext_7s5 + '!';
            if (lang == "nl") hlperror = 'Actie "7 voor 5" alleen van ' + stext_7s5 + ' tot ' + etext_7s5 + '!';
            error = "<span style='color: #FF0000;'><strong>" + hlperror + "</strong></span>";
         }
         if (type == "4W3")
         {
            var firstdate = sdate_4w3;
            var lastdate = edate_4w3;
            if (lang == "de") hlperror = 'Aktion "4 f&#252;r 3" nur von ' + stext_4w3 + ' bis ' + etext_4w3 + '!';
            if (lang == "en") hlperror = 'Action "4 for 3" only from ' + stext_4w3 + ' till ' + etext_4w3 + '!';
            if (lang == "nl") hlperror = 'Actie "4 voor 3" alleen van ' + stext_4w3 + ' tot ' + etext_4w3 + '!';
            error = "<span style='color: #FF0000;'><strong>" + hlperror + "</strong></span>";
         }
         if (type == "FW")
         {
            var firstdate = sdate_fw;
            var lastdate = edate_fw;
            if (lang == "de") error = "<span style='color: #FF0000;'><strong>Familienfreundlich nur von " + stext_fw + " bis " + etext_fw + "!</strong></span>";
            if (lang == "en") error = "<span style='color: #FF0000;'><strong>Familie friendly only from " + stext_fw + " till " + etext_fw + "!</strong></span>";
            if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Familievriendelijk alleen van " + stext_fw + " tot " + etext_fw + "!</strong></span>";
         }
         if (type == "FS")
         {
            var firstdate = sdate_fs;
            var lastdate = edate_fs;
            if (lang == "de") error = "<span style='color: #FF0000;'><strong>Familienfreundlich nur von " + stext_fs + " bis " + etext_fs + "!</strong></span>";
            if (lang == "en") error = "<span style='color: #FF0000;'><strong>Familie friendly only from " + stext_fs + " till " + etext_fs + "!</strong></span>";
            if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Familievriendelijk alleen van " + stext_fs + " tot " + etext_fs + "!</strong></span>";
         }
         if (type == "SM3" || type == "SM4")
         {
            var firstdate = sdate_ssm;
            var lastdate = edate_ssm;
            if (lang == "de") error = "<span style='color: #FF0000;'><strong>Schnee.Sonne.Montafon nur von " + stext_ssm + " bis " + etext_ssm + "!</strong></span>";
            if (lang == "en") error = "<span style='color: #FF0000;'><strong>Snow.Sun.Montafon only from " + stext_ssm + " till " + etext_ssm + "!</strong></span>";
            if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Schnee.Sonne.Montafon alleen van " + stext_ssm + " tot " + etext_ssm + "!</strong></span>";
         }
         if (startdate >= firstdate && startdate <= lastdate && enddate >= firstdate && enddate <= lastdate) error = "";
         if (enddate < startdate && error == "")
         {
            if (lang == "de") error = "<span style='color: #FF0000;'><strong>Anfang - Ende inkorrekt!</strong></span>";
            if (lang == "en") error = "<span style='color: #FF0000;'><strong>Start - End incorrect!</strong></span>";
            if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Begin - Einde incorrect!</strong></span>";
         }
         if (hlptyp == "F" && error == "")
         {
            var duration = (year-s_year)*10000;
            duration = duration+(mon-s_mon)*100;
            duration = duration+day-s_day+1;
            if (duration < 5)
            {
               if (lang == "de") error = "<span style='color: #FF0000;'><strong>Familienfreundlich erst ab 5 Tage!</strong></span>";
               if (lang == "en") error = "<span style='color: #FF0000;'><strong>Family friendly only from 5 days!</strong></span>";
               if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Familievriendelijk geldt vanaf 5 dagen!</strong></span>";
            }
         }
         if (hlptyp == "F" && error == "")
         {
            var birthyear = getvar("b",y);
            var xdate = new Date();
            var levy = xdate.getFullYear();
            levy = levy - 12;
            if (birthyear < levy)
            {
               if (lang == "de") error = "<span style='color: #FF0000;'><strong>Familienfreundlich nur ab Jahrgang " + levy + " und j&#252;ger!</strong></span>";
               if (lang == "en") error = "<span style='color: #FF0000;'><strong>Family Friendly only for levy " + levy + " and younger!</strong></span>";
               if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Familie vriendelijk alleen voor jaargang " + levy + " en jonger!</strong></span>";
            }
         }
         if (copydate == 0 && error == "")
         {
            copydate = 1;
            window.copydate = 1;
            window.copyrow = y;
            window.fday = s_day.toString();
            if (s_day < 10) window.fday = "0"+s_day;
            window.intfday = s_day;
            window.fmon = s_mon.toString();
            if (s_mon < 10) window.fmon = "0"+s_mon;
            window.intfmon = s_mon;
            window.fyear = s_year.toString();
            window.intfyear = s_year;
            window.lday = day.toString();
            if (day < 10) window.lday = "0"+day;
            window.intlday = day;
            window.lmon = mon.toString();
            if (mon < 10) window.lmon = "0"+mon;
            window.intlmon = mon;
            window.lyear = help;
            window.intlyear = year;
         }
      }
   }
   if (copydate == 1 && copyrow == y && error == "")
   {
      window.lyear = help;
      window.intlyear = year;
   }
   document.getElementById(x).value = help;
   var msg = document.getElementById("persons").rows[y+1].cells;
   msg[8].innerHTML = error;
   setvar("ey",y,year);
   if (error == "" && year > 0 && type == "-")
   {
      if (lang == "de") error = "<span style='color: #FF0000;'><strong>bitte, 'Typ' anpassen!</strong></span>";
      if (lang == "en") error = "<span style='color: #FF0000;'><strong>please adjust 'type'!</strong></span>";
      if (lang == "nl") error = "<span style='color: #FF0000;'><strong>s.v.p. 'type' aanpassen!</strong></span>";
      var msg = document.getElementById("persons").rows[y+1].cells;
      msg[8].innerHTML = error;
   }
}

//
//
//
function pass(x,y)
{
   var lang = window.lang;
   var copydate = window.copydate;  // indicator for first filled in start and end date
   var fday = window.fday;  // string components first filled in start date
   var fmon = window.fmon;
   var fyear = window.fyear;
   var intfday = window.intfday;  // numeric components first filled in start date
   var intfmon = window.intfmon;
   var intfyear = window.intfyear;
   var firstfilldate = 0;
   if (intfday > 0 && intfmon > 0 && intfyear > 0) firstfilldate = Date.UTC(intfyear,intfmon-1,intfday);
   var lday = window.lday;  // string components first filled in end date
   var lmon = window.lmon;
   var lyear = window.lyear;
   var intlday = window.intlday;  // numeric components first filled in end date
   var intlmon = window.intlmon;
   var intlyear = window.intlyear;
   var lastfilldate = 0;
   if (intlday > 0 && intlmon > 0 && intlyear > 0) lastfilldate = Date.UTC(intlyear,intlmon-1,intlday);
   var expfdate = window.expfdate;
   var expfday = window.expfday; // numeric components start date of expiration sequence
   var expfmon = window.expfmon;
   var expfyear = window.expfyear;
   var s_day = getvar("sd",y);  // numeric components of startdate as filled out in webform
   var s_mon = getvar("sm",y);
   var s_year = getvar("sy",y);
   var startdate = 0;
   if (s_day > 0 && s_mon > 0 && s_year > 0) startdate = Date.UTC(s_year,s_mon-1,s_day);
   var e_day = getvar("ed",y);  // numeric components of enddate as filled out in webform
   var e_mon = getvar("em",y);
   var e_year = getvar("ey",y);
   var enddate = 0;
   if (e_day > 0 && e_mon > 0 && e_year > 0) enddate = Date.UTC(e_year,e_mon-1,e_day);
   var expfyear = window.expfyear;
   var sdate_fw = window.sdate_fw;
   var stext_fw = window.stext_fw;
   var edate_fw = window.edate_fw;
   var etext_fw = window.etext_fw;
   var sdate_fs = window.sdate_fs;
   var stext_fs = window.stext_fs;
   var edate_fs = window.edate_fs;
   var etext_fs = window.etext_fs;
   var sdate_7w5 = window.sdate_7w5;
   var stext_7w5 = window.stext_7w5;
   var edate_7w5 = window.edate_7w5;
   var etext_7w5 = window.etext_7w5;
   var sdate_7s5 = window.sdate_7s5;
   var stext_7s5 = window.stext_7s5;
   var edate_7s5 = window.edate_7s5;
   var etext_7s5 = window.etext_7s5;
   var sdate_4w3 = window.sdate_4w3;
   var stext_4w3 = window.stext_4w3;
   var edate_4w3 = window.edate_4w3;
   var etext_4w3 = window.etext_4w3;
   var sdate_ssm = window.sdate_ssm;
   var stext_ssm = window.stext_ssm;
   var edate_ssm = window.edate_ssm;
   var etext_ssm = window.etext_ssm;
   var summerbegin = window.summerbegin;
   var summerend = window.summerend;
   var winterbegin = window.winterbegin;
   var winterend = window.winterend;
   var error = "";
   var notice = "";
   var fill = 0;
   var msg = document.getElementById("persons").rows[y+1].cells;
   msg[8].innerHTML = "";
   var type = document.getElementById(x).value;
   setvar("t",y,type);
   if (type == "-")
   {
      s_day = "";
      s_mon = "";
      s_year = "";
      e_day = "";
      e_mon = "";
      e_year = "";
      setvar("sd",y,0);
      setvar("sm",y,0);
      setvar("sy",y,0);
      setvar("ed",y,0);
      setvar("em",y,0);
      setvar("ey",y,0);
      fill = 1;
   }
   if (fill == 0)
   {
      if (type == "N")
      {
         if (startdate > 0 || enddate > 0)
         {
            if (startdate < winterbegin || startdate > winterend || enddate < winterbegin || enddate > winterend)
            {
               if (lang == "de") error = "<span style='color: #FF0000;'><strong>Anfang/Ende ausserhalb Wintersaison!</strong></span>";
               if (lang == "en") error = "<span style='color: #FF0000;'><strong>Start/End out of winter season!</strong></span>";
               if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Begin/Einde buiten winter seizoen!</strong></span>";
               var msg = document.getElementById("persons").rows[y+1].cells;
               msg[8].innerHTML = error;
            }
         }
         else
         {
            if (copydate == 1)
            {
               s_day = fday;
               s_mon = fmon;
               s_year = fyear;
               e_day = lday;
               e_mon = lmon;
               e_year = lyear;
               setvar("sd",y,intfday);
               setvar("sm",y,intfmon);
               setvar("sy",y,intfyear);
               setvar("ed",y,intlday);
               setvar("em",y,intlmon);
               setvar("ey",y,intlyear);
               fill = 1;
            }
         }
      }
      hlptyp = "";
      if (type != "SM3" && type != "SM4") hlptyp = type.substr(0,1);
      if (type != "-" && type != "N" && hlptyp != "F")
      {
         if (startdate > 0) notice = setexpdate(s_day,s_mon,s_year,type,y);
         if (startdate == 0 && expfdate == 1) notice = setexpdate(expfday,expfmon,expfyear,type,y);
         if (startdate == 0 && expfdate == 0 && copydate == 1) notice = setexpdate(intfday,intfmon,intfyear,type,y);
         s_day = getvar("sd",y);
         s_mon = getvar("sm",y);
         s_year = getvar("sy",y);
         startdate = Date.UTC(s_year,s_mon-1,s_day);
         e_day = getvar("ed",y);
         e_mon = getvar("em",y);
         e_year = getvar("ey",y);
         enddate = Date.UTC(e_year,e_mon-1,e_day);
         if (type == "5" || type == "8" || type == "10" || hlptyp == "S")
         {
            var firstdate = winterbegin;
            var lastdate = winterend;
         }
         if (hlptyp == "M")
         {
            var firstdate = summerbegin;
            var lastdate = summerend;
         }
         if (type == "7W5")
         {
            var firstdate = sdate_7w5;
            var lastdate = edate_7w5;
         }
         if (type == "7S5")
         {
            var firstdate = sdate_7s5;
            var lastdate = edate_7s5;
         }
         if (type == "4W3")
         {
            var firstdate = sdate_4w3;
            var lastdate = edate_4w3;
         }
         if (type == "SM3" || type == "SM4")
         {
            var firstdate = sdate_ssm;
            var lastdate = edate_ssm;
         }
         if (startdate < firstdate || startdate > lastdate || enddate < firstdate || enddate > lastdate)
         {
            s_day = "";
            s_mon = "";
            s_year = "";
            e_day = "";
            e_mon = "";
            e_year = "";
            setvar("sd",y,0);
            setvar("sm",y,0);
            setvar("sy",y,0);
            setvar("ed",y,0);
            setvar("em",y,0);
            setvar("ey",y,0);
            fill = 1;
         }
         else
         {
            var msg = document.getElementById("persons").rows[y+1].cells;
            msg[8].innerHTML = notice;
         }
      }
      if (hlptyp == "F")
      {
         if (type == "FW")
         {
            var firstdate = sdate_fw;
            var lastdate = edate_fw;
            if (lang == "de") error = "<span style='color: #FF0000;'><strong>Familienfreundlich nur von " + stext_fw + " bis " + etext_fw + "!</strong></span>";
            if (lang == "en") error = "<span style='color: #FF0000;'><strong>Familie friendly only from " + stext_fw + " till " + etext_fw + "!</strong></span>";
            if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Familievriendelijk alleen van " + stext_fw + " tot " + etext_fw + "!</strong></span>";
         }
         if (type == "FS")
         {
            var firstdate = sdate_fs;
            var lastdate = edate_fs;
            if (lang == "de") error = "<span style='color: #FF0000;'><strong>Familienfreundlich nur von " + stext_fs + " bis " + etext_fs + "!</strong></span>";
            if (lang == "en") error = "<span style='color: #FF0000;'><strong>Familie friendly only from " + stext_fs + " till " + etext_fs + "!</strong></span>";
            if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Familievriendelijk alleen van " + stext_fs + " tot " + etext_fs + "!</strong></span>";
         }
         if (startdate > 0 || enddate > 0)
         {
            if (startdate >= firstdate && startdate <= lastdate && enddate >= firstdate && enddate <= lastdate) error = "";
         }
         if (startdate == 0 && enddate == 0 && copydate == 1)
         {
            if (firstfilldate >= firstdate && firstfilldate <= lastdate && lastfilldate >= firstdate && lastfilldate <= lastdate)
            {
               error = "";
               s_day = fday;
               s_mon = fmon;
               s_year = fyear;
               e_day = lday;
               e_mon = lmon;
               e_year = lyear;
               setvar("sd",y,intfday);
               setvar("sm",y,intfmon);
               setvar("sy",y,intfyear);
               setvar("ed",y,intlday);
               setvar("em",y,intlmon);
               setvar("ey",y,intlyear);
               fill = 1;
            }
         }
         if (error = "")
         {
            var duration = (e_year-year)*10000;
            duration = duration+(e_mon-mon)*100;
            duration = duration+e_day-day+1;
            if (duration < 5)
            {
               if (lang == "de") error = "<span style='color: #FF0000;'><strong>Familienfreundlich erst ab 5 Tage!</strong></span>";
               if (lang == "en") error = "<span style='color: #FF0000;'><strong>Family friendly only from 5 days!</strong></span>";
               if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Familievriendelijk geldt vanaf 5 dagen!</strong></span>";
            }
         }
         if (error = "")
         {
            var birthyear = getvar("b",y);
            var xdate = new Date();
            var levy = xdate.getFullYear();
            levy = levy - 12;
            if (birthyear < levy)
            {
               if (lang == "de") error = "<span style='color: #FF0000;'><strong>Familienfreundlich nur ab Jahrgang " + levy + " und j&#252;ger!</strong></span>";
               if (lang == "en") error = "<span style='color: #FF0000;'><strong>Family Friendly only for levy " + levy + " and younger!</strong></span>";
               if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Familie vriendelijk alleen voor jaargang " + levy + " en jonger!</strong></span>";
            }
         }
         var msg = document.getElementById("persons").rows[y+1].cells;
         msg[8].innerHTML = error;
         if (s_day < 10) s_day = "0"+s_day;
         if (s_mon < 10) s_mon = "0"+s_mon;
         if (e_day < 10) e_day = "0"+e_day;
         if (e_mon < 10) e_mon = "0"+e_mon;
      }
   }
   if (fill == 1)
   {
      if (y == 1)
      {
         document.getElementById("sdd1").value = s_day;
         document.getElementById("smm1").value = s_mon;
         document.getElementById("syy1").value = s_year;
         document.getElementById("edd1").value = e_day;
         document.getElementById("emm1").value = e_mon;
         document.getElementById("eyy1").value = e_year;
         document.getElementById("gfname2").focus();
      }
      if (y == 2)
      {
         document.getElementById("sdd2").value = s_day;
         document.getElementById("smm2").value = s_mon;
         document.getElementById("syy2").value = s_year;
         document.getElementById("edd2").value = e_day;
         document.getElementById("emm2").value = e_mon;
         document.getElementById("eyy2").value = e_year;
         document.getElementById("gfname3").focus();
      }
      if (y == 3)
      {
         document.getElementById("sdd3").value = s_day;
         document.getElementById("smm3").value = s_mon;
         document.getElementById("syy3").value = s_year;
         document.getElementById("edd3").value = e_day;
         document.getElementById("emm3").value = e_mon;
         document.getElementById("eyy3").value = e_year;
         document.getElementById("gfname4").focus();
      }
      if (y == 4)
      {
         document.getElementById("sdd4").value = s_day;
         document.getElementById("smm4").value = s_mon;
         document.getElementById("syy4").value = s_year;
         document.getElementById("edd4").value = e_day;
         document.getElementById("emm4").value = e_mon;
         document.getElementById("eyy4").value = e_year;
         document.getElementById("gfname5").focus();
      }
      if (y == 5)
      {
         document.getElementById("sdd5").value = s_day;
         document.getElementById("smm5").value = s_mon;
         document.getElementById("syy5").value = s_year;
         document.getElementById("edd5").value = e_day;
         document.getElementById("emm5").value = e_mon;
         document.getElementById("eyy5").value = e_year;
         document.getElementById("gfname6").focus();
      }
      if (y == 6)
      {
         document.getElementById("sdd6").value = s_day;
         document.getElementById("smm6").value = s_mon;
         document.getElementById("syy6").value = s_year;
         document.getElementById("edd6").value = e_day;
         document.getElementById("emm6").value = e_mon;
         document.getElementById("eyy6").value = e_year;
         document.getElementById("gfname7").focus();
      }
      if (y == 7)
      {
         document.getElementById("sdd7").value = s_day;
         document.getElementById("smm7").value = s_mon;
         document.getElementById("syy7").value = s_year;
         document.getElementById("edd7").value = e_day;
         document.getElementById("emm7").value = e_mon;
         document.getElementById("eyy7").value = e_year;
         document.getElementById("gfname8").focus();
      }
      if (y == 8)
      {
         document.getElementById("sdd8").value = s_day;
         document.getElementById("smm8").value = s_mon;
         document.getElementById("syy8").value = s_year;
         document.getElementById("edd8").value = e_day;
         document.getElementById("emm8").value = e_mon;
         document.getElementById("eyy8").value = e_year;
         document.getElementById("remark").focus();
      }
   }
}

//
//
//
function setbirthyear(x,y)
{
   var error = "";
   var birthyear = 0;
   var familyedate = window.familyedate;
   var familyetext = window.familyetext;
   var familyedate = window.familyedate;
   var familyetext = window.familyetext;
   var msg = document.getElementById("persons").rows[y+1].cells;
   msg[8].innerHTML = "";
   var help = document.getElementById(x).value;
   var len = help.length;
   if (len != 4)
   {
      if (lang == "de") error = "<span style='color: #FF0000;'><strong>bitte, Geburtsjahr mit 4 Ziffern ausf&#252;llen!</strong></span>";
      if (lang == "en") error = "<span style='color: #FF0000;'><strong>please, enter year of birth with 4 digits!</strong></span>";
      if (lang == "nl") error = "<span style='color: #FF0000;'><strong>s.v.p. geboortejaar met 4 cijfers invullen!</strong></span>";
   }
   if (len == 4) birthyear = parseInt(help);
   setvar("b",y,birthyear);
   if (len == 4)
   {
      var typ = getvar("t",y);
      var xdate = new Date();
      var levy = xdate.getFullYear();
      levy = levy - 12;
      if (typ == "F" && birthyear < levy)
      {
         if (lang == "de") error = "<span style='color: #FF0000;'><strong>Familienfreundlich nur ab Jahrgang " + levy + " und j&#252;ger!</strong></span>";
         if (lang == "en") error = "<span style='color: #FF0000;'><strong>Family Friendly only for levy " + levy + " and younger!</strong></span>";
         if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Familie vriendelijk alleen voor jaargang " + levy + " en jonger!</strong></span>";
      }
      if (typ == "F" && birthyear >= levy && error == "")
      {
         var s_day = getvar("sd",y);
         var s_mon = getvar("sm",y);
         var s_year = getvar("sy",y);
         var startdate = 0;
         var flag = 0;
         if (s_day > 0 && s_mon > 0 && s_year > 0)
         {
            startdate = Date.UTC(s_year,s_mon-1,s_day);
            if (startdate < familysdate || startdate > familyedate) flag = 1;
         }
         var e_day = getvar("ed",y);
         var e_mon = getvar("em",y);
         var e_year = getvar("ey",y);
         var enddate = 0;
         if (e_day > 0 && e_mon > 0 && e_year > 0)
         {
            enddate = Date.UTC(e_year,e_mon-1,e_day);
            if (enddate > familyedate || enddate < familysdate || flag == 1)
            {
               if (lang == "de") error = "<span style='color: #FF0000;'><strong>Familienfreundlich nur von " + familystext + " bis " + familyetext + "!</strong></span>";
               if (lang == "en") error = "<span style='color: #FF0000;'><strong>Familie friendly only from " + familystext + " till " + familestext + "!</strong></span>";
               if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Familievriendelijk alleen van " + familystext + " tot " + familestext + "!</strong></span>";
            }
            if (error == "" && startdate != 0 && enddate != 0)
            {
               var duration = (year-s_year)*10000;
               duration = duration+(mon-s_mon)*100;
               duration = duration+day-s_day+1;
               if (duration < 5)
               {
                  if (lang == "de") error = "<span style='color: #FF0000;'><strong>Familienfreundlich erst ab 5 Tage!</strong></span>";
                  if (lang == "en") error = "<span style='color: #FF0000;'><strong>Family friendly only from 5 days!</strong></span>";
                  if (lang == "nl") error = "<span style='color: #FF0000;'><strong>Familievriendelijk geldt vanaf 5 dagen!</strong></span>";
               }
            }
         }
      }
   }
   var msg = document.getElementById("persons").rows[y+1].cells;
   msg[8].innerHTML = error;
}