   var i;
   var nowDate = new Date();
   var thisDay = nowDate.getDate();
   var thisMonth = nowDate.getMonth();
   var thisYear = nowDate.getFullYear();
   
   nowDate = new Date(thisYear,thisMonth,thisDay);
   
   var opSelect;
   
   var oDayFrom;
   var oMonthFrom;
   var oYearFrom;
   var oDayTo;
   var oMonthTo;
   var oYearTo;
   
   
   /* ---------------------------------------------------------
   | Load the dateboxes as objects                            |
   --------------------------------------------------------- */
   function Load_SelectObjects(){
      oDayFrom   = document.all['DDFr'];
      oMonthFrom = document.all['MMFr'];
      oYearFrom  = document.all['YYYYFr'];
      oDayTo     = document.all['DDTo'];
      oMonthTo   = document.all['MMTo'];
      oYearTo    = document.all['YYYYTo'];
   }
   
   /* ---------------------------------------------------------
   | validate changes in the dateboxes                        |
   --------------------------------------------------------- */
   function valDay(){
      var oDateFrom;
      var oDateTo;
      
      Load_SelectObjects();
      
      var Dfr = oDayFrom.options[oDayFrom.selectedIndex].value;
      var Mfr = oMonthFrom.selectedIndex;
      var Yfr = oYearFrom.options[oYearFrom.selectedIndex].value;
      
      var Dto = oDayTo.options[oDayTo.selectedIndex].value;
      var Mto = oMonthTo.selectedIndex;
      var Yto = oYearTo.options[oYearTo.selectedIndex].value;
      
      oDateFrom = new Date(Yfr,Mfr,Dfr);
      oDateTo   = new Date(Yto,Mto,Dto);

      if (oDateFrom > oDateTo){
         oDayTo.selectedIndex = oDayFrom.selectedIndex;
      }
      
      if (oDateFrom < nowDate){
         oMonthFrom.selectedIndex++;
         oDateFrom = new Date(Yfr,(Mfr+1),Dfr);
         if (oDateTo < oDateFrom){
            oMonthTo.selectedIndex = oMonthFrom.selectedIndex;
         }
      }
   }
   
   function valMonth(){
      var oDateFrom;
      var oDateTo;
      
      Load_SelectObjects();
      
      var Dfr = oDayFrom.options[oDayFrom.selectedIndex].value;
      var Mfr = oMonthFrom.selectedIndex;
      var Yfr = oYearFrom.options[oYearFrom.selectedIndex].value;
      
      var Dto = oDayTo.options[oDayTo.selectedIndex].value;
      var Mto = oMonthTo.selectedIndex;
      var Yto = oYearTo.options[oYearTo.selectedIndex].value;
      
      oDateFrom = new Date(Yfr,Mfr,Dfr);
      oDateTo   = new Date(Yto,Mto,Dto);
      
      if (oDateFrom > oDateTo){
         oMonthTo.selectedIndex = oMonthFrom.selectedIndex;
      }
      
      if (oDateFrom < nowDate){
         oYearFrom.selectedIndex++;
         oDateFrom = new Date((Yfr+1),Mfr,Dfr);
         if (oDateTo < oDateFrom){
            oYearTo.selectedIndex = oYearFrom.selectedIndex;
         }
      }
   }
   
   function valYear(){
      var oDateFrom;
      var oDateTo;
      
      Load_SelectObjects();
      
      var Dfr = oDayFrom.options[oDayFrom.selectedIndex].value;
      var Mfr = oMonthFrom.selectedIndex;
      var Yfr = oYearFrom.options[oYearFrom.selectedIndex].value;
      
      var Dto = oDayTo.options[oDayTo.selectedIndex].value;
      var Mto = oMonthTo.selectedIndex;
      var Yto = oYearTo.options[oYearTo.selectedIndex].value;
      
      oDateFrom = new Date(Yfr,Mfr,Dfr);
      oDateTo   = new Date(Yto,Mto,Dto);
      
      if (oDateFrom > oDateTo){
         oYearTo.selectedIndex = oYearFrom.selectedIndex;
      }
      
      if (oDateFrom < nowDate){
         frmSearch.reset();
      }
      if (oDateTo < nowDate) {
         frmSearch.reset();
      }
   }
   
   /* ---------------------------------------------------------
   | write the dateboxes                                      |
   --------------------------------------------------------- */
   function writeDateFrom(unit) {
      //unit is days, months or years
      if (unit == 'd') {
         for (i=1;i <= 31; i++) {
            if (thisDay == i) {
               opSelect = ' selected';
            } else {
               opSelect = '';
            }
            document.write ("<option" + opSelect + " value='" + i + "'>" + i);
         } 
      } else if (unit == 'm') {
         for (i = 1; i < 13;i++){
            if (thisMonth == (i-1)) {
               opSelect = ' selected';
            } else {
               opSelect = '';
            }
            document.write ("<option" + opSelect + " value='" + i + "'>" + i);
         }
      } else if (unit == 'y') {
         for (i = thisYear; i < thisYear + 3; i++){
            document.write ("<option value='" + i + "'>" + i);
         }
      }
   }
   
   function SetDay(strDay,strMonth,strYear,Timespan)
   {
		//alert (strDay);
		if (Timespan == "0")
		{	thisDay = strDay;
			thisMonth = strMonth - 1; 
			thisYear = strYear;
		}
   }
   

