/**********************
 * fixDates.js - Documented April 18/06
 * This javascript script works in conjunction
 * with the dateform function, and needs to be 
 * included whenever dateform is included, but
 * 'should' be included in the header.
 **********************/

/***
 * Basically, all this does is ensures that the
 * days in a month is correct for each day month
 * and year.
 ***/
function fixDates(month_name,day_name,year_name)
{
	temp = day_name.value;
	//February
	i = 0;
	if(month_name.value==2)	
	{
		while(i<32)
		{
			day_name.options[i] = null;
			i++;
		}
		
		if(year_name.value%100!=0&&year_name.value%4==0)
		{
			i=0;
			while(i<30)
			{
				if(i==0)
				{
					day_name.options[i] = new Option('Day',i);
					i++;				
				}
				else
				{
					day_name.options[i] = new Option(i,i);
					i++;
				}
			}	
		}
		else if(year_name.value%400==0)
		{
			i=0;
			while(i<30)
			{
				if(i==0)
				{
					day_name.options[i] = new Option('Day',i);
					i++;				
				}
				else
				{
					day_name.options[i] = new Option(i,i);
					i++;
				}
			}			
		}
		else
		{
			i=0;
			while(i<29)
			{
				if(i==0)
				{
					day_name.options[i] = new Option('Day',i);
					i++;				
				}
				else
				{
					day_name.options[i] = new Option(i,i);
					i++;
				}
			}		
		}
	}
	//April, June, September or November
	else if(month_name.value==4||month_name.value==6||month_name.value==9||month_name.value==11)	
	{
		i=0;
		while(i<31)
		{
			if(i==0)
			{
				day_name.options[i] = new Option('Day',i);
				i++;				
			}
			else
			{
				day_name.options[i] = new Option(i,i);
				i++;
			}
		}
	}
	//Any other month
	else		
	{
		i=0;
		while(i<32)
		{
			if(i==0)
			{
				day_name.options[i] = new Option('Day',i);
				i++;				
			}
			else
			{
				day_name.options[i] = new Option(i,i);
				i++;
			}
		}
	}
	day_name.value = temp;
}
function fixDate(month_name,day_name,year_name) {
	temp = day_name.value;
	//February
	i = 0;
	if(month_name.value==2)	{
		while(i<32){
			day_name.options[i] = null;
			i++;
		}
		
		if(year_name.value%100!=0&&year_name.value%4==0) {
			i=0;
			while(i<30){
				if(i==0){
					day_name.options[i] = new Option('','');
					i++;				
				} else {
					day_name.options[i] = new Option(i,i);
					i++;
				}
			}	
		} else if(year_name.value%400==0) {
			i=0;
			while(i<30) {
				if(i==0) {
					day_name.options[i] = new Option('','');
					i++;				
				} else {
					day_name.options[i] = new Option(i,i);
					i++;
				}
			}			
		} else {
			i=0;
			while(i<29) {
				if(i==0) {
					day_name.options[i] = new Option('','');
					i++;				
				} else {
					day_name.options[i] = new Option(i,i);
					i++;
				}
			}		
		}
	}
	//April, June, September or November
	else if(month_name.value==4||month_name.value==6||month_name.value==9||month_name.value==11)	
	{
		i=0;
		while(i<31)
		{
			if(i==0) {
				day_name.options[i] = new Option('','');
				i++;				
			}
			else
			{
				day_name.options[i] = new Option(i,i);
				i++;
			}
		}
	}
	//Any other month
	else		
	{
		i=0;
		while(i<32)
		{
			if(i==0)
			{
				day_name.options[i] = new Option('','');
				i++;				
			}
			else
			{
				day_name.options[i] = new Option(i,i);
				i++;
			}
		}
	}
	day_name.value = temp;
}

