// validate the date
function LeapYear(intYear) {
	if (intYear % 100 == 0) {
		if (intYear % 400 == 0) { return true; }
	} else {
		if ((intYear % 4) == 0) { return true; }
	}
	return false;
}


function lastDay(m, y) {
	lastday = 0;
	if (m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12) { 
		lastday = 31;
	}
	if (m == 4 || m == 6 || m == 9 || m == 11) { 
		lastday = 30;
	}
	if (m == 2 && LeapYear(y)) { 
		lastday = 29;
	}
	if (m == 2 && !LeapYear(y)) { 
		lastday = 28;
	}
	return lastday;
}


function setYear(formName, elementNum) {
	formNum = getFormNum(formName);
	// sets the year if it is not set, returns its value
	if (document.forms[formNum].elements[elementNum].options[0].selected==true) {
		//document.forms[formNum].elements[elementNum].options[1].selected=true;
	}
	return (document.forms[formNum].elements[elementNum].options[document.forms[formNum].elements[elementNum].selectedIndex].text);
}

function getFormNum (formName) {
	formNum =-1;
	for (i=0;i<document.forms.length;i++) {
		tempForm = document.forms[i];
		if (formName == tempForm) {
			formNum = i;
			correctForm = tempForm;
			break;
		}
	}
	return formNum;
}

function O(txt,val) {
	a[k]=new Option(txt,val);
	k++;
}

function relateDay(formName,elementDay,elementYear,j) {
	k=1;
	formNum = getFormNum(formName);
	nullable = false;
	if (document.forms[formNum].elements[elementYear].options[0].text == '--') {
		nullable = true;
	} else {
		j++;	
	}

	lastDayofMonth = lastDay(j,setYear(formName,elementYear));
	a=new Array();

	if (nullable) {
		O('--',0)
	}
	for (i=1; i<=lastDayofMonth; i++) {
		O(i,i);
	}	
	alength=a.length;

	if (formNum>=0) {
		selectedday = document.forms[formNum].elements[elementDay].selectedIndex;
		with (document.forms[formNum].elements[elementDay]) {
			for (var i=options.length-1;i>0;i--) {
				options[i]=null;
			}
			for (var i=1;i<alength;i++) {
				options[i-1]=a[i];
			}
			options[0].selected=true;
			if (selectedday < options.length) {
				options[selectedday].selected=true;
			} else {
				options[options.length-1].selected=true;
			}
		}
	}
}

function relateYear(formName,elementMonth,elementDay,elementYear,j) {
	formNum = getFormNum(formName);
	j = j + 1;
	if (j==0) {
		document.forms[formNum].elements[elementMonth].options[0].selected=true;
	}
	j = document.forms[formNum].elements[elementMonth].selectedIndex;
	relateDay(formName,elementDay,elementYear,j);
}

function getElementNum (elementName, formNum) {
	elementNum =-1;
	for (i=0;i<document.forms[formNum].elements.length;i++) {
		tempElement = document.forms[formNum].elements[i].name;
		if (elementName == tempElement) {
			elementNum = i;
			correctElement = tempElement;
			break;
		}
	}
	return elementNum;
}

function checkNull (elementName, formName){
	formNum = getFormNum(formName);
	elementNum = getElementNum(elementName,formNum);
	nameSubstring = elementName.substring(elementName.length-7, elementName.length);
	if(document.forms[formNum].elements[elementNum].value==0){
		if (nameSubstring == 'daypart'){
			document.forms[formNum].elements[elementNum+1].value=0;
			document.forms[formNum].elements[elementNum+2].value=0;
		}
		else if(nameSubstring == 'nthpart'){
			//document.forms[formNum].elements[elementNum-1].value=0;
			document.forms[formNum].elements[elementNum+1].value=0;
		}
		else if(nameSubstring == 'earpart'){
			document.forms[formNum].elements[elementNum-1].value=0;
			//document.forms[formNum].elements[elementNum-2].value=0;
		}
	}
}



