﻿
var globalIntCurD = 1;
var globalIntCurM = 1;
var globalIntCurY = 2009;

// Первый день месяца intCurM (1-12) года intCurY
function FirstDay( intCurM, intCurY )
{
	if (intCurM == globalIntCurM &&
		intCurY == globalIntCurY)
		return globalIntCurD;
	else
		return 1;
}

// Последний день месяца intCurM (1-12) года intCurY
function LastDay( intCurM, intCurY )
{
	var d = new Date(intCurY,intCurM-1,3);
	var result = new Date(d.getFullYear(),d.getMonth()+1,0);
	return result.getDate();
}

// Название месяца по его номеру (1-12)
function MonthName( intM )
{
	if (intM == 1)
		return "Январь";
	else if (intM == 2)
		return "Февраль";
	else if (intM == 3)
		return "Март";
	else if (intM == 4)
		return "Апрель";
	else if (intM == 5)
		return "Май";
	else if (intM == 6)
		return "Июнь";
	else if (intM == 7)
		return "Июль";
	else if (intM == 8)
		return "Август";
	else if (intM == 9)
		return "Сентябрь";
	else if (intM == 10)
		return "Октябрь";
	else if (intM == 11)
		return "Ноябрь";
	else if (intM == 12)
		return "Декабрь";
	else
		return "";
}

function GenerateDDSelectByMM_YYYY( strPrefix, daySelectName, monthSelectName, yearSelectName, intCurD, intCurM, intCurY, moreCurrentDate, needAlert)
{

}
// Сгенерировать список дат для данного месяца
// Выбирается intCurD день
function GenerateDDSelect( strPrefix, daySelectName, yearMonthSelectName, intCurD, intCurM, intCurY, moreCurrentDate, needAlert)
{
	var objDD = document.getElementById(strPrefix+daySelectName);
	//var objMMYYYY = document.getElementById(strPrefix+yearMonthSelectName);
	
	if(!objDD)
	{
	    if (needAlert == true)
	    {
		    alert("To Developers (GenerateDDSelect): проверьте наличие элементов на странице.");
		    return;
		}
	}
		
	var intLastDay = 1;//LastDay( intCurM, intCurY );
	if (moreCurrentDate)
	    intLastDay = LastDay( intCurM, intCurY );
	else
	{
	    if (intCurM == globalIntCurM &&
		    intCurY == globalIntCurY)
		        intLastDay = globalIntCurD;
        else
            intLastDay = LastDay( intCurM, intCurY );
	}
	
	var intFirstDay = 1;
	if (moreCurrentDate)
	    intFirstDay = FirstDay( intCurM, intCurY );
    else
    	intFirstDay = 1;
	
	var i;
	var n=objDD.options.length;
	for(i=0;i<n;i++)
		objDD.remove(0);
		
	for (i=intFirstDay ; i <= intLastDay ; i++)
	{
		var option = document.createElement('option');
		option.text=i<10? "0" + i : i + "";
		option.value=i<10? "0" + i : i + "";
		try 
		{
			objDD.add(option,null);// standards compliant; doesn't work in IE
		}
		catch(ex)
		{
			objDD.add(option);// IE only
		}
	}
	var newIndex = intCurD - intFirstDay;
	if ( newIndex < 0 ) objDD.selectedIndex = 0;
	else if ( newIndex > intLastDay - intFirstDay ) objDD.selectedIndex = intLastDay - intFirstDay;
	else objDD.selectedIndex = newIndex;
}

// Сгенерировать список дат для данного месяца
// Выбирается intCurD день
function GenerateMMSelect( strPrefix, mmSelectName, yearMonthSelectName, intCurD, intCurM, intCurY, moreCurrentDate, needAlert)
{
	var objMM = document.getElementById(strPrefix+mmSelectName);
	//var objMMYYYY = document.getElementById(strPrefix+yearMonthSelectName);
	
	if(!objMM)
	{
	    if (needAlert == true)
	    {
		    alert("To Developers (GenerateDDSelect): проверьте наличие элементов на странице.");
		    return;
		}
	}
		
	var intLastDay = 1;//LastDay( intCurM, intCurY );
	if (moreCurrentDate)
	    intLastDay = 12;//LastDay( intCurM, intCurY );
	else
	{
	    if (intCurY == globalIntCurY)
		        intLastDay = globalIntCurM;
        else
            intLastDay = 12;//LastDay( intCurM, intCurY );
	}
	
	var intFirstDay = 1;
	if (moreCurrentDate)
	{
	    if (intCurY == globalIntCurY)
		        intFirstDay = globalIntCurM;
        else
            intFirstDay = 1;
    }
    else
    {
    	intFirstDay = 1;
    }
	
	var i;
	var n=objMM.options.length;
	for(i=0;i<n;i++)
		objMM.remove(0);
		
	for (i=intFirstDay ; i <= intLastDay ; i++)
	{
		var option = document.createElement('option');
		option.text=MonthName(i);
		option.value=i<10? "0" + i : i + "";
		try 
		{
			objMM.add(option,null);// standards compliant; doesn't work in IE
		}
		catch(ex)
		{
			objMM.add(option);// IE only
		}
	}
	var newIndex = intCurM - intFirstDay;
	if ( newIndex < 0 ) objMM.selectedIndex = 0;
	else if ( newIndex > intLastDay - intFirstDay ) objMM.selectedIndex = intLastDay - intFirstDay;
	else objMM.selectedIndex = newIndex;
}

// Сгенерировать список дат для данного месяца
// Выбирается intCurD день
function GenerateYYYYSelect( strPrefix, yyyySelectName, fromYYYY, toYYYY, selectYYYY)
{
	var objYYYY = document.getElementById(strPrefix+yyyySelectName);
	
	if(!objYYYY)
	{
        alert("To Developers (GenerateYYYYSelect): проверьте наличие элементов на странице.");
        return;
	}
		
	var i;
	var n=objYYYY.options.length;
	for(i=0;i<n;i++)
		objYYYY.remove(0);
		
	for (i=fromYYYY ; i <= toYYYY ; i++)
	{
		var option = document.createElement('option');
		option.text=i;
		option.value=i;
		try 
		{
			objYYYY.add(option,null);// standards compliant; doesn't work in IE
		}
		catch(ex)
		{
			objYYYY.add(option);// IE only
		}
	}
	var newIndex = selectYYYY - fromYYYY;
	if ( newIndex < 0 ) objYYYY.selectedIndex = 0;
	else if ( newIndex > toYYYY - fromYYYY ) objYYYY.selectedIndex = toYYYY - fromYYYY;
	else objYYYY.selectedIndex = newIndex;
}