function getDaysOfMonth(){
	// Non-Leap year Month days..
	DOMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
	// Leap year Month days..
	lDOMonth = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];

	var today = new Date();
	var year;
	var month = document.forms["calform"].elements("in_month").selectedIndex + today.getMonth();
	if(month > 11){
		month -=12;
	}

	if(today.getMonth() <= month){
		year = today.getYear();
	}else{
		year = today.getYear()+1;
	}

	if ((year % 4) == 0) {
		if ((year % 100) == 0 && (year % 400) != 0){
			return DOMonth[month];
		}
		return lDOMonth[month];
	} else {
		return DOMonth[month];
	}
}

function setChangedData(val){
	var oldVal = document.forms["calform"].elements("changedData").value;
	var newVal = 0;
	if (oldVal == 0){
		document.forms["calform"].elements("changedData").value = val;
	}else if (oldVal == 1){
		if(val == 1){
			document.forms["calform"].elements("changedData").value = 1;
		}else{
			document.forms["calform"].elements("changedData").value = oldVal + val;
		}
	}
	if (oldVal == 2){
		if(val == 2){
			document.forms["calform"].elements("changedData").value = 2;
		}else{
			document.forms["calform"].elements("changedData").value = oldVal + val;
		}
	}else{
		document.forms["calform"].elements("changedData").value = 3;
	}

 }

function setDay(){
	var inDay = document.forms["calform"].elements("in_day").value;
	var daysOfMonth = getDaysOfMonth();
	var inMonthIndex = document.forms["calform"].elements("in_month").selectedIndex;

	if(parseInt(inDay) >= daysOfMonth){
		if((parseInt(document.forms["calform"].elements("changedData").value) == 0)||(parseInt(document.forms["calform"].elements("changedData").value) == 2)){
			document.forms["calform"].elements("out_day").value = 1;
		}
		document.forms["calform"].elements("out_month").selectedIndex = parseInt(document.forms["calform"].elements("out_month").selectedIndex) + 1;
	}else{
		if((parseInt(document.forms["calform"].elements("changedData").value) == 0)||(parseInt(document.forms["calform"].elements("changedData").value) == 2)){
			document.forms["calform"].elements("out_day").value = parseInt(inDay) + 1;
		}
	}
}

function setMonth(){
	var inDay = document.forms["calform"].elements("in_day").value;
	var inMonthIndex = document.forms["calform"].elements("in_month").selectedIndex;
	var daysOfMonth = getDaysOfMonth();
	if(inDay == daysOfMonth){
		setDay();
		if(parseInt(inMonthIndex) < 11){
			document.forms["calform"].elements("out_month").selectedIndex = parseInt(inMonthIndex) + 1;
		}else{
			document.forms["calform"].elements("out_month").selectedIndex = parseInt(inMonthIndex);
		}
 	}
	if(inDay > daysOfMonth){
		document.forms["calform"].elements("in_day").value = daysOfMonth;
		document.forms["calform"].elements("out_month").selectedIndex = parseInt(inMonthIndex) + 1;
		if((parseInt(document.forms["calform"].elements("changedData").value) == 0)||(parseInt(document.forms["calform"].elements("changedData").value) == 2)){
			document.forms["calform"].elements("out_day").value = 1;
		}
	}
	if(parseInt(document.forms["calform"].elements("in_day").value) > parseInt(document.forms["calform"].elements("out_day").value)){
		if((parseInt(document.forms["calform"].elements("changedData").value) == 0)||(parseInt(document.forms["calform"].elements("changedData").value) == 1)){
				if(parseInt(inMonthIndex) < 11){
					document.forms["calform"].elements("out_month").selectedIndex = parseInt(inMonthIndex) + 1;
				}else{
					document.forms["calform"].elements("out_month").selectedIndex = parseInt(inMonthIndex);
				}
			}
	}
	else{
		if((parseInt(document.forms["calform"].elements("changedData").value) == 0)||(parseInt(document.forms["calform"].elements("changedData").value) == 1)){
			document.forms["calform"].elements("out_month").selectedIndex = parseInt(inMonthIndex);
		}
	}
}
