// JScript source code

var g_All     = document.all;

var MIN_YEAR = 1820;
var MAX_YEAR = 1960;
var ErrMsg = 'Ошибка заполнения поля: ';

function type_onclick(id) 
{
	if (g_All == null) return;
	var spans = new Array(null, g_All("type_span_1"), g_All("type_span_2"), g_All("type_span_3"));
	var g_Form    = document.searchform;

	for (var i=0; i<4; i++)
	{
		if (spans[i]!=null) spans[i].style.display = (i==id)? '' : 'none';
	}
	
	if (g_Form) eval('g_Form.type_' + id +'.checked=true;');
}

function dtype_onclick(id) 
{
	if (g_All == null) return;
	var spans = new Array(null, g_All("dtype_span_1"), g_All("dtype_span_2"), g_All("dtype_span_3"));
	var g_Form    = document.searchform;

	for (var i=0; i<4; i++)
	{
		if (spans[i]!=null) spans[i].style.display = (i==id)? '' : 'none';
	}
	
	if (g_Form) eval('g_Form.dtype_' + id +'.checked=true;');
}

function fio_onclick(id)
{
	if (g_All == null) return;
	var spans = new Array(null, g_All("fio_span_1"), g_All("fio_span_2"));
	var g_Form    = document.searchform;


	if (spans[1]!=null) spans[1].style.display = (id==1)? '' : 'none';
	if (spans[2]!=null) 
	{
		for (i=0; i< spans[2].length; i++)
		{
			if (spans[2].item(i)) spans[2].item(i).style.display = (id==2)? '' : 'none';
		}
	}	
	if (g_Form) eval('g_Form.f_type_' + id +'.checked=true;');
}

function checkDate()
{
	var g_Form    = document.searchform;
	if(!g_Form) return true;
	var oDay  = g_Form.date_day, 
		oMonth= g_Form.date_month, 
		oYear = g_Form.date_year;
	var dDay  = parseInt(oDay.value, 10),
		dMonth= parseInt(oMonth.selectedIndex, 10),
		dYear = parseInt(oYear.value, 10);
	
	var DaysInMonth = new Array (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
	
    if (isNaN(dDay))  {alert (ErrMsg+'\"день\"!'); oDay.focus(); return false; }
    if (isNaN(dYear)  || dYear < MIN_YEAR || dYear > MAX_YEAR) {alert (ErrMsg+'\"год\"!'); oYear.focus(); return false; }
	if (isNaN(dMonth) || dMonth < 0 || dMonth > 11) {alert (ErrMsg+'\"месяц\"!'); oMonth.focus(); return false; }
	if ((dYear % 4) == 0) DaysInMonth[1] = 29;
	if (dDay < 1 || dDay > DaysInMonth[dMonth]) {alert (ErrMsg+'\"день\"!'); oDay.focus(); return false; }
	return true;	
}

function checkMonth()
{
	var g_Form    = document.searchform;	
	if(!g_Form) return true;
	var oMonth= g_Form.date1_month, 
		oYear = g_Form.date1_year;
	var dMonth= parseInt(oMonth.selectedIndex, 10),
		dYear = parseInt(oYear.value, 10);

    if (isNaN(dYear)  || dYear < MIN_YEAR || dYear > MAX_YEAR) {alert (ErrMsg+'\"год\"!'); oYear.focus(); return false; }
	if (isNaN(dMonth) || dMonth < 0 || dMonth > 12) {alert (ErrMsg+'\"месяц\"!'); oMonth.focus(); return false; }
	return true;	
}

function checkRange()
{
	var g_Form    = document.searchform;	
	if(!g_Form) return true;
	
	var oYear1 = g_Form.date_year1, 
		oYear2 = g_Form.date_year2;
	
	if (oYear1.value=="" && oYear2.value=="") {alert ('Ошибка! Необходимо указать хотябы одну границу!');  oYear1.focus(); return false; }
	
	var str1   = (oYear1.value=="") ? MIN_YEAR : oYear1.value;
	var str2   = (oYear2.value=="") ? MAX_YEAR : oYear2.value;
	
	var dYear1 = parseInt(str1, 10),
		dYear2 = parseInt(str2, 10);

    if (isNaN(dYear1) || dYear1 < MIN_YEAR || dYear1 > MAX_YEAR) {alert (ErrMsg+'\"от\"!');  oYear1.focus(); return false; }
    if (isNaN(dYear2) || dYear2 < MIN_YEAR || dYear2 > MAX_YEAR) {alert (ErrMsg+'\"до\"!');; oYear2.focus(); return false; }
    
    if (dYear1 > dYear2)
    {
		var tmp = oYear1.value;
		oYear1.value = oYear2.value;
		oYear2.value = tmp;
    }
    return true;	
}

function Submit_onclick() 
{       
	var g_Form  = document.searchform;
	if(!g_Form) return true;
		if (g_Form.type_1.checked) return checkDate();
		if (g_Form.type_2.checked) return checkMonth();
		if (g_Form.type_3.checked) return checkRange();
	else return true;	
}

