function SDC()
{
	form1 = document.forms["SafePeriod"];
	year = form1.Year.options[form1.Year.selectedIndex].value;
	month = form1.Month.options[form1.Month.selectedIndex].value;
	day = form1.Day.options[form1.Day.selectedIndex].value;
	if (form1.regular[0].checked)
		{regular = 1;}
	else 
		if (form1.regular[1].checked)
		{
			regular = 0 ; 
			alert(" You should not take this test ");
			return;
		}
	if (form1.duration[0].checked)
		{duration = 28;}
	else 
		{duration = 30;}
	if(!(ValidateDate(month,year,day,form1)))
	{
		alert("Invalid Date , Day Of Month Is Not Right ,TRY AGAIN ");
		return;
	}
}

function ValidateDate(month,year,day,form1)
 {
	var lmonth,lyear,lday;
	
	lmonth = parseInt(" " + month);
	lyear = parseInt(" " + year);
	lday = parseInt(" " + day);
	ldays = DaysInMonth(lmonth,lyear);
	if (lday > ldays) 
	{
		return false;
	} 
	else 
	{
		daysl = ldays - lday;
		Safe(lmonth,lyear,lday,daysl,form1);  
		return true;
	}
}

function DaysInMonth(month,year) 
{
	var days;
    if((month==1)||(month==3)||(month==5)||(month==7)||(month==8)||(month==10)||(month==12))
		days=31;
	else if((month==4)||(month==6)||(month==9)||(month==11))
       days = 30;
	else 	  		
	{
		if (IsLeapYear(year))
		 {
			days=29;
		}
		else
		{
			days=28;
		}
	 }
	
	return days;


}

function IsLeapYear(lyear)  
{
	if ( (lyear%4 == 0 && lyear%100 != 0) || (lyear%400 == 0) ) 
	{
		return true;
	}
	else 
	{
		 return false;
	}
}

function Safe(month,year,day,daysl,form1)
{
	
	var year2,month2;
	if ((day > 2 && month == 12 && duration == 30) || (day > 4 && month == 12 && duration ==28))
	{
		 year2 = year + 1 ;
		 month2 = 1;
	} 
	else
	{
		year2 = year;
		month2 = month;
	}
	if(daysl < duration )
	{
		month2=month+1;
		var d1 = duration - daysl-1; //
		day2 = d1;
	} 
	else
	{
		day2 = day + duration -1;
	}
	var dd1 = new Date();
	var dd2 = new Date();
	var dd3 = new Date();
	var dd4 = new Date();
	dd1.setMonth(month-1);
	dd1.setDate(day);
	dd1.setYear(year);
	ndays = DaysInMonth(month,year);
	if (duration==30)
	{
		if ((day+9) > ndays)
		{
			fday=day+9-ndays;
			dd2.setDate(fday); 
	   		if (year2 == year)
	   		{
	   			dd2.setMonth(month);
	   			dd2.setYear(year);	
	   		}	
	   		else
	   		{
				dd2.setMonth(0);
	   			dd2.setYear(year2);	
	   		}
		}
		else 
		{
			dd2.setMonth(month-1);
	   		dd2.setYear(year);	
			dd2.setDate(day+9); 
		}
		if ((day+20) > ndays)
		{
			fday=day+20-ndays;
			dd3.setDate(fday);
			if (year2 == year)
	   		{
	   			dd3.setMonth(month);
	   			dd3.setYear(year);	
	   		}	
	   		else
	   		{
				dd3.setMonth(0);
	   			dd3.setYear(year2);	
	   		}
		}
		else 
		{
			dd3.setMonth(month-1);
	   		dd3.setYear(year);	
			dd3.setDate(day+20); 
		}
	}
		
	if (duration==28)
	{
		if ((day+9) > ndays)
		{
			fday=day+9-ndays;
			dd2.setDate(fday); 
	   		if (year2 == year)
	   		{
	   			dd2.setMonth(month);
	   			dd2.setYear(year);	
	   		}	
	   		else
	   		{
				dd2.setMonth(0);
	   			dd2.setYear(year2);	
	   		}
		}
		else 
		{
			dd2.setMonth(month-1);
	   		dd2.setYear(year);	
			dd2.setDate(day+9); 
		}
		if ((day+19) > ndays)
		{
			fday=day+19-ndays;
			dd3.setDate(fday);
			if (year2 == year)
	   		{
	   			dd3.setMonth(month);
	   			dd3.setYear(year);	
	   		}	
	   		else
	   		{
				dd3.setMonth(0);
	   			dd3.setYear(year2);	
	   		}
		}
		else 
		{
			dd3.setMonth(month-1);
	   		dd3.setYear(year);	
			dd3.setDate(day+19); 
		}
	}

	dd4.setMonth(month2-1);
	dd4.setYear(year2);	
	dd4.setDate(day2); 



	var d1,n;
	d1 = dd1.toGMTString();
	n = d1.length;
	d2 = d1.slice(0,n-12);
	form1.t1.value = d2;

	d1 = dd2.toGMTString();
	n = d1.length;
	d2 = d1.slice(0,n-12);
	form1.t2.value = d2;

	d1 = dd3.toGMTString();
	n = d1.length;
	d2 = d1.slice(0,n-12);
	form1.t3.value = d2;

	d1 = dd4.toGMTString();
	n = d1.length;
	d2 = d1.slice(0,n-12);
	form1.t4.value = d2;

	return;
}

