// JavaScript Document
function InitDropDown(id, startYear, endYear){
   InitDropDown1(id,startYear,endYear, "", true);
}

function InitDropDown1(id, startYear, endYear,sessionCurrent, selectCurrent){
  var i_input = document.getElementById(id);
  var i_day = document.getElementById(id+"_day");
  var i_month = document.getElementById(id+"_month");
  var i_year = document.getElementById(id+"_year");
  
  var today;
  if (i_input.value==""){
	if (sessionCurrent==""){
	  today= new Date();
	}else{
	  today= new Date(Date.parse(sessionCurrent));
	  selectCurrent = true;
	}
  }
  else
    today= new Date(Date.parse(i_input.value));
	
  var curYear = today.getFullYear();
  var curDay = today.getDate();
  var curMonth = today.getMonth()+1;
  
  if (isNaN(startYear)) startYear=curYear;
  if (isNaN(endYear)) endYear=startYear+10;
  generateOptions(i_year,startYear,endYear, (selectCurrent)?curYear:"");
  generateMonthOptions(i_month,1,12,(selectCurrent)?curMonth:"");
  generateOptions(i_day,1,daysInMonth(curMonth,curYear),(selectCurrent)?curDay:"");
  
  if (selectCurrent)
    i_input.value=curMonth+"/"+curDay+"/"+curYear;
}

function generateMonthOptions(sel,from,to, cur){
  var m = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
  sel.options.length=0;
  sel.options[sel.options.length] = new Option("-----","-1");
  for(var i=from; i<=to; i++){
	option = new Option(m[i-1],i);  
	if (i==cur)
	  option.selected=true;
	sel.options[sel.options.length] = option;
  }
}


function generateOptions(sel,from,to, cur){
  sel.options.length=0;
  sel.options[sel.options.length] = new Option("-----","-1");
  for(var i=from; i<=to; i++){
	option = new Option(i,i);  
	if (i==cur)
	  option.selected=true;
	sel.options[sel.options.length] = option;
  }
}

function setOption(sel,val){
  for(var i=0; i<sel.options.length; i++){
	sel.options[i].selected= (sel.options[i].value==val);
  }
}

function dropDownChanged(sender){
  var field=sender.id.split("_");
  var i_input = document.getElementById(field[0]);
  
  var i_day = document.getElementById(field[0]+"_day");
  var i_month = document.getElementById(field[0]+"_month");
  var i_year = document.getElementById(field[0]+"_year");
  
  var day = i_day.options[i_day.selectedIndex].value;
  var month = i_month.options[i_month.selectedIndex].value;
  var year = i_year.options[i_year.selectedIndex].value;

  if ((field[1]=="year") || ( field[1]=="month")){
    generateOptions(i_day,1,daysInMonth(month,year),day);
  }
  
  i_input.value=month+"/"+day+"/"+year;
}

function hiddenChanged(sender){
  var values=sender.value.split("/");
  var i_day = document.getElementById(sender.id+"_day");
  var i_month = document.getElementById(sender.id+"_month");
  var i_year = document.getElementById(sender.id+"_year");
  
  setOption(i_year,parseInt(values[2]));
  setOption(i_month,parseInt(values[0],10));
  setOption(i_day,parseInt(values[1],10));
}
