var Mac = navigator.appVersion.indexOf('Mac',0) != -1;
var Win = navigator.appVersion.indexOf('Win',0) != -1;
var IE  = navigator.appName.indexOf("Microsoft Internet Explorer",0) != -1;
var NN  = navigator.appName.indexOf("Netscape",0) != -1;
var Moz = navigator.userAgent.indexOf("Gecko") != -1;
var Opera = window.opera;
var Opera6 = navigator.userAgent.indexOf("Opera 6") != -1;
var Opera7 = navigator.userAgent.indexOf("Opera 7") != -1;
var Vmajor = parseInt(navigator.appVersion); // ex. 3
var Vminor = parseFloat(navigator.appVersion); // ex. 3.01
var WinIE55 = ((Win && navigator.appVersion.indexOf('MSIE 5.5',0) != -1));
var MacIE5 = ((Mac && navigator.appVersion.indexOf('MSIE 5.',0) != -1));
var MacIE4 = ((Mac && navigator.appVersion.indexOf('MSIE 4.',0) != -1));
var MacIE3 = ((Mac && navigator.appVersion.indexOf('MSIE 3.',0) != -1));
var iCab = (navigator.userAgent.indexOf("iCab",0) != -1);

/*============================
# 日付プルダウンメニュー
#===========================*/
var last_day_of_month = new Array();
last_day_of_month["1"] = 31;
last_day_of_month["2"] = 28;
last_day_of_month["3"] = 31;
last_day_of_month["4"] = 30;
last_day_of_month["5"] = 31;
last_day_of_month["6"] = 30;
last_day_of_month["7"] = 31;
last_day_of_month["8"] = 31;
last_day_of_month["9"] = 30;
last_day_of_month["10"] = 31;
last_day_of_month["11"] = 30;
last_day_of_month["12"] = 31;

var days = new Array();

function setDay(prefix) {
  var year  = 0;
  var month = document.getElementById(prefix+'_month').value;
  var day   = document.getElementById(prefix+'_day').value;
  var oDay  = document.getElementById(prefix+'_day');
  var now = new Date();
  if ( document.getElementById(prefix+'_year') ) {
    year = document.getElementById(prefix+'_year').value;
  } else {
    year = now.getYear();
  }
  if ( month < 1 ) {
    return;
  }
  last_day_of_month["2"] = ( year % 400 == 0 ) || ( ( year % 100 != 0 ) && ( year % 4 == 0 ) ) ? 29 : 28;
  var last_day = last_day_of_month[ month ] + 1;
  var last_index = last_day - 1;
  var selectedIndex = oDay.selectedIndex;
  
  // Mac IE 対応版
  if ( Mac && IE ) {
    if ( ( last_day < day ) ) {
      alert('存在しない日付です。');
	  oDay.selectedIndex = last_index;
	  return false;
    } else {
      return true;
    }
  }
  
  if ( last_day < oDay.length ) {
    for ( i = oDay.length; i > last_day; i-- ) {
      days.push( oDay.removeChild( oDay.options[ i-1 ] ) );
    }
  } else if ( last_day > oDay.length ) {
	for ( i = oDay.length; i < last_day; i++ ) {
      var day = days.pop();
	  if ( IE ) {
	  	oDay.appendChild(day);
	  } else {
	  	oDay.options[ i ] = day;
	  }
    }
  }
  oDay.selectedIndex = last_index < selectedIndex ? last_index: selectedIndex;
}