function getMaxDay(year,month) {
	if (month == '02') {
		if (!year)
			return 29;
		if ( (year % 4) == 0) {
			if ( ((year % 100) != 0) || ((year / 100 % 2) == 0))
				return 29;
		}
		return 28;
	}
	if ((month == 4) || (month == 6) || (month == 9) || (month == 11))
		return 30;
	return 31;
}
function onMonthChange(_year,_monthId,_dayId) {
	var month = $(_monthId).value;
	var year = $(_year).value;
	var maxDay = getMaxDay(year,month);
	if (maxDay + 1 == $(_dayId).options.length)
		return;
	var oldValue = $(_dayId).value;
	if (maxDay + 1 > $(_dayId).options.length) {
		for (i = $(_dayId).options.length; i <= maxDay; i++) {
			$(_dayId).options[i] = new Option(i,i);
		}
	} else {
		$(_dayId).options.length = maxDay + 1;
		if (oldValue > maxDay)
			$(_dayId).value = maxDay
	}
}

function setDateSelect(id,value) {
	if(value==''){return;}
	var items=new Array();
	items=value.split("/");
	setSelect($(id+"_month"),items[0]);
	setSelect($(id+"_day"),items[1]);
	setSelect($(id+"_year"),items[2]);
	onMonthChange(id+"_year",id+"_month",id+"_day");
}
	
function setSelect(el,value) {
	var sc=el.options;
	for(var i=0;i<sc.length;i++)
		if(sc[i].value==value) {
			sc[i].selected=true;
			break;
		}
}

/*
emptyStrategy :
-1 - set lower fields to 01.01
0 - set to null if some fields are not selected
1 - set lower fields to 31.12
*/
function saveDate(idDate,idField,emptyStrategy) {
	var date_year=$(idDate+'_year');
	var date_month=$(idDate+'_month');
	var date_day=$(idDate+'_day');

	var year = date_year.value;
	var month = date_month.value;
	var day = date_day.value;

	var this_year = '2007';
	var this_month = '09';
	var this_day = '02';
	
	var result;
	if (!year && !month && !day) {
		result = '';
	} else if (year && month && day) {
		result = month+"/"+day+"/"+year;
	} else if (emptyStrategy == 0) {
		result = '';
	} else if (emptyStrategy < 0) {
		if (year) {
			if (!month) {
				month = '01';
			}
			if (!day) {
				day = '01';
			}
		} else {
			year = this_year;
			if (!month) {
				month = this_month;
			}
			if (!day) {
				day = '01';
			}
		}
		result = month+"/"+day+"/"+year;
	} else {
		if (year) {
			if (!month) {
				month = '12';
			}
			if (!day) {
				day = getMaxDay(year,month);
			}
		} else {
			year = this_year;
			if (!month) {
				month = this_month;
			}
			if (!day) {
				day = getMaxDay(year,month);
			}
		}
		result = month+"/"+day+"/"+year;
	}
	$(idField).value=result;
}

function saveMonthDate(idDate,idField,emptyStrategy) {
	var date_year=$(idDate+'_year');
	var date_month=$(idDate+'_month');

	var year = date_year.value;
	var month = date_month.value;

	var this_year = '2007';
	var this_month = '09';
	
	var result;
	if (!year && !month) {
		result = '';
	} else if (year && month ) {
		result = month+"/"+year;
	} else if (emptyStrategy == 0) {
		result = '';
	} else if (emptyStrategy < 0) {
		if (year) {
			if (!month) {
				month = '01';
			}
			
		} else {
			year = this_year;
			if (!month) {
				month = this_month;
			}
			
		}
		result = month+"/"+year;
	} else {
		if (year) {
			if (!month) {
				month = '12';
			}
			
		} else {
			year = this_year;
			if (!month) {
				month = this_month;
			}
			
		}
		result = month+"/"+year;
	}
	$(idField).value=result;
}
function setMonthDateSelect(id,value) {
	if(value==''){return;}
	var items=new Array();
	items=value.split("/");
	setSelect($(id+"_month"),items[0]);
	setSelect($(id+"_year"),items[1]);
	
}

