﻿// DHTML scripts for Well Dressing index page

function show_datesel() {
 var pop = document.getElementById('datesel_pop');
 var hook = document.getElementById('datesel_hook');
 
 pop.style.position = 'absolute';
 pop.style.display = 'block';
 var x = 0;
 var y = hook.offsetTop;
 for (var p = hook.offsetParent; p; p = p.offsetParent)
 {
  x += p.offsetLeft;
  y += p.offsetTop;
 }
 pop.style.left = x+'px';
 pop.style.top  = y+'px';

 return;
}

function process_datesel() {
 // process the form content
 var d, m, r;
 var form = document.getElementById('datesel_form');
 var elem = form.elements;
 for (var i = 0; i < elem.length; i++)
 {
  var p = elem[i];
  switch (p.name) {
  case 'date':
   var h = i;
   break;
   
  case 'radate':
   if (p.checked) 
   {
    r = p.value;
   }
   break;
   
  case 'day':
   d = p.selectedIndex + 1;
   break;
  
  case 'month':
   m = p.selectedIndex + 1;
   break;
  }
 }
 
 var newdate = '';
 if (r != 0)
 {
  var leap;
  switch (m)
  {
   case 2:
    leap = (calyear % 4 == 0 && (calyear % 100 != 0 || calyear % 400 == 0));
    if (d > (leap ? 29 : 28))
    {
     alert("Invalid Date");
     return false;
    }
    break;
   
   case 4:
   case 6:
   case 9:
   case 11:
    if (d > 30)
    {
     alert("Invalid Date");
     return false;
    }
    break;    
  }
 
  if (m < 10) newdate = '0';
  newdate += m;
  if (d < 10) newdate += '0';
  newdate += d;
  if (r == 2) newdate += 'X';
 }
 
 if (newdate == dateparam)
 {
  // nothing to do, dismiss the popup
  var pop = document.getElementById('datesel_pop');
  pop.style.display = 'none';
  return false;
 }
  
 for (var i = 0; i < elem.length; i++)
 {
  if ((i == h) && r) elem[i].value = newdate;
  else elem[i].disabled = true;
 }

 return true;
}
