formDate = function(e){
  //console.log('formDate');
	var targ;
	if (!e) var e = window.event;
	if (e.target) targ = e.target;
	else if (e.srcElement) targ = e.srcElement;
	if (targ.nodeType == 3) // defeat Safari bug
		targ = targ.parentNode;

	var area = $(targ).parents('td');
	$year = $('.yearField', area).val();
	$month = $('.monthField', area).val();
	$day = $('.dayField', area).val();

	var $isLeap = ($year % 4 == 0 && $year % 100 !=0 || $year % 400 ==0)? true:false;
	
	
	$date = new Date(Date.parse( $month+"/01/"+$year));
	
	var monthlyDays = [1,3,5,7,8,10,12]; 
	var $monthDay = 0;
	$(monthlyDays).each(function(){
		if (this == $date.getMonth()+1){
			$monthDay = 31;
		}
	});
	
	$monthDay = ($monthDay==0 )?30:$monthDay;
	
	if (($date.getMonth()+1) == 2 ){
		$monthDay = ($isLeap)?29:28;
	}
	
	
	$dayOption = new Array();
	for (var $i=1; $i<=$monthDay; $i++){
		var $selected = ($i == $day)? 'selected' : '';
		$dayString = ($i<10)?"0"+$i:$i;
		$dayOption.push( "<option value="+$dayString+" "+$selected+">"+$dayString+"</option>");
	}
	$dayField = $('.dayField', area);
	$dayField.html($dayOption.join("\n"));
	//console.log($dayField.attr('name'));
	renderSelectOption( $dayField  );
};

$(document).ready(function(){
	$('.validate').bind("change keyup", formDate);
});
