
  function setDay(formname, dayname, dayvalue) {
    eval("document.forms['"+formname+"']."+dayname+".selectedIndex="+dayvalue);
  }

  // yearvalue must AC
  function setMonth(formname, dayname, monthname, yearname, monthvalue) {
    var maxday = 1;
    var oldDay = eval("document.forms['"+formname+"']."+dayname+".selectedIndex");
    if(monthvalue == 1 || monthvalue == 3 || monthvalue == 5 ||
       monthvalue == 7 || monthvalue == 8 || monthvalue == 10 ||
       monthvalue == 12) {
      maxday = 31;
    }
    else
    if(monthvalue == 4 || monthvalue == 6 ||
       monthvalue == 9 || monthvalue == 11) {
      maxday = 30;
    }
    else
    if(monthvalue == 2) {
      var yearvalue = eval("document.forms['"+formname+"']."+yearname+".value");
		yearvalue=yearvalue-543;
	  // check for leap year
      if(yearvalue%4 == 0 && (yearvalue%100 != 0 || yearvalue%400 == 0)) {
        maxday = 29; 
      }
      else {
        maxday = 28;
      }
    }
    else { // unspecified
      maxday = 31;
    }

    eval("document.forms['"+formname+"']."+dayname+".length=maxday");
    var doption = new Option("", 0);
    eval("document.forms['"+formname+"']."+dayname+".options[0]=doption");
    for(var i=1;i<=maxday;i++) {
      var option = new Option(i, i);
      eval("document.forms['"+formname+"']."+dayname+".options[i]=option");
    }
    eval("document.forms['"+formname+"']."+monthname+".selectedIndex=monthvalue");
    // change day to unspecified
    var minday = Math.min(maxday, oldDay);
    setDay(formname, dayname, minday);
  }

  // yearvalue is index selected of yeareoption 
  function setYear(formname, dayname, monthname, yearname, yearvalue) {
    var today = new Date();

    var oldMonth = eval("document.forms['"+formname+"']."+monthname+".selectedIndex");
    setMonth(formname, dayname, monthname, yearname, oldMonth);
  }

  function initDate(formname, dayname, monthname, yearname) {
    var today = new Date();
    var yearvalue = today.getFullYear();
	
    var option0 = new Option("", 0);
    var option1 = new Option("มกราคม", 1);
    var option2 = new Option("กุมภาพันธ์", 2);
    var option3 = new Option("มีนาคม", 3);
    var option4 = new Option("เมษายน", 4);
    var option5 = new Option("พฤษภาคม", 5);
    var option6 = new Option("มิถุนายน", 6);
    var option7 = new Option("กรกฎาคม", 7);
    var option8 = new Option("สิงหาคม", 8);
    var option9 = new Option("กันยายน", 9);
    var option10 = new Option("ตุลาคม", 10);
    var option11 = new Option("พฤศจิกายน", 11);
    var option12 = new Option("ธันวาคม", 12);

    // month
    eval("document.forms['"+formname+"']."+monthname+".length=13");
    for(var i=0;i<13;i++) {
      eval("document.forms['"+formname+"']."+monthname+".options[i]=option"+i);
    }

    // day
    var doption = new Option("     ", 0);
    eval("document.forms['"+formname+"']."+dayname+".options[0]=doption");
    for(var i=1;i<=31;i++) {
      var option = new Option(i, i);
      eval("document.forms['"+formname+"']."+dayname+".options[i]=option");
    }

    // once init is called, set all month and day values to default (unspecified)
    eval("document.forms['"+formname+"']."+dayname+".selectedIndex=1");
    eval("document.forms['"+formname+"']."+monthname+".selectedIndex=1");
    //eval("document.forms['"+formname+"']."+yearname+".value=2543");
  }

   function initDate2(formname, dayname, monthname, yearname) {
    var today = new Date();
    var yearvalue = today.getFullYear();
	var monthvalue =  today.getMonth();
	var dayvalue =  today.getDate();
    var option1 = new Option("มกราคม", 1);
    var option2 = new Option("กุมภาพันธ์", 2);
    var option3 = new Option("มีนาคม", 3);
    var option4 = new Option("เมษายน", 4);
    var option5 = new Option("พฤษภาคม", 5);
    var option6 = new Option("มิถุนายน", 6);
    var option7 = new Option("กรกฎาคม", 7);
    var option8 = new Option("สิงหาคม", 8);
    var option9 = new Option("กันยายน", 9);
    var option10 = new Option("ตุลาคม", 10);
    var option11 = new Option("พฤศจิกายน", 11);
    var option12 = new Option("ธันวาคม", 12);

    // month
    eval("document.forms['"+formname+"']."+monthname+".length=12");
    for(var i=1;i<=12;i++) {
      eval("document.forms['"+formname+"']."+monthname+".options[i-1]=option"+i);
    }

    // day
    for(var i=1;i<=31;i++) {
      var option = new Option(i, i);
      eval("document.forms['"+formname+"']."+dayname+".options[i-1]=option");
    }

    // once init is called, set all month and day values to default (unspecified)
    eval("document.forms['"+formname+"']."+dayname+".selectedIndex="+(dayvalue-1));
    eval("document.forms['"+formname+"']."+monthname+".selectedIndex="+monthvalue);
     // default current year
  }

  function monthChange(formname, dayname, monthname, yearname) {
    var value = eval("document.forms['"+formname+"']."+monthname+".selectedIndex");
	setMonth(formname, dayname, monthname, yearname, value);
  }

  function yearChange(formname, dayname, monthname, yearname) {
    var value = eval("document.forms['"+formname+"']."+yearname+".value");
	setYear(formname, dayname, monthname, yearname, value);
  }

