﻿var first_load = 0;
function SubYear(id)
{
	CurentObject = document.getElementById(id);
	y = CurentObject.getAttribute("year");
	m = CurentObject.getAttribute("month");
	m = m - 1;
	if(m<0){
		m = 11;
		y = y - 1;
	}

	CurentObject.setAttribute("year",y);
	CurentObject.setAttribute("curent_year",y);
	CurentObject.setAttribute("month",m);
	CurentObject.setAttribute("curent_month",m);
	document.getElementById(CurentObject.getAttribute("divname")).innerHTML = calendar(CurentObject);	
}

function AddYear(id)
{
	CurentObject = document.getElementById(id);
	y = CurentObject.getAttribute("year");
	m = CurentObject.getAttribute("month");
	m = parseInt(m) + 1;
	if(m==12){
		m = 0;
		y = parseInt(y) + 1;
	}

	CurentObject.setAttribute("year",y);
	CurentObject.setAttribute("curent_year",y);
	CurentObject.setAttribute("month",m);
	CurentObject.setAttribute("curent_month",m);	
	document.getElementById(CurentObject.getAttribute("divname")).innerHTML = calendar(CurentObject);	
}

function Redraw()//функция анализирует переданные параметры и вызывает функцию построения календаря
{
	var m=0;//месяц
	var d =0;//день
	var c = 1;//разрешён выбор даты
	var n = 0;
	var y = 2007;
	var b = 0;
	var CurentObject;
	var input_name;
	var div_name;
	var close = 0;
	now = new Date(); 
	d = now.getDate();	
	y = now.getFullYear();
	m = now.getMonth();
	if(arguments.length ==3 && arguments[0]=="redraw")
	{	
		mas = arguments[2].split('-');
		CurentObject = document.getElementById(arguments[1]);
		CurentObject.setAttribute('curent_month',mas[0]);
		CurentObject.setAttribute('curent_year',mas[1]);
		ViewDate(CurentObject.getAttribute('divname'),CurentObject.getAttribute('day'),1);
		return;
	}
	for(i=0;i<arguments.length;i++)
	{
		mas = arguments[i].split("=");
		if(mas[0]=="month")
		{
			m = mas[1];
			if(m==0)
			{
				now = new Date();  
				m = now.getMonth();
			}
			m = Number(m) - 1;
		}
		if(mas[0]=="day") 
		{
			if (mas[1]!=0) d = mas[1];
		}
		if(mas[0]=="year")
		{
			if (mas[1]!=0) y = mas[1];
			
		}
		if(mas[0]=="back") 
		{
			b = mas[1];
		}		
		if(mas[0]=="next") 
		{
			n = mas[1];
		}		
		if(mas[0]=='change')
		{
			if(mas[1]=='no') c = 0;
			if(mas[1]=='yes') c = 1;
		}
		if(mas[0]=='div_name')
		{
			div_name = mas[1];
		}
		if(mas[0] == 'input_name')
		{
			input_name = mas[1];
		}
		if(mas[0] == 'close')
		{
			close = 2;
		}		
	}
	CurentObject = document.getElementById(div_name);
	CurentObject.setAttribute('month',m);
	CurentObject.setAttribute('day',d);
	CurentObject.setAttribute('change',c);
	CurentObject.setAttribute('next',n);
	CurentObject.setAttribute('year',y);
	CurentObject.setAttribute('back',b);
	CurentObject.setAttribute('curent_year',y);
	CurentObject.setAttribute('curent_month',m);
	CurentObject.setAttribute('divname',div_name);
	CurentObject.setAttribute('inputname',input_name);
	CurentObject.setAttribute('close',close);
	ViewDate(div_name,d);


}

	function GetMonthName(lang,id){
		switch(id){
			case '1':
					if(lang == 'ru') return 'Января';
					if(lang == 'en') return 'of January';
					if(lang == 'lv') return 'Janvārī';
			case '2':
					if(lang == 'ru') return 'Февраля';
					if(lang == 'en') return 'of February';
					if(lang == 'lv') return 'Februārī';
			case '3':
					if(lang == 'ru') return 'Марта';
					if(lang == 'en') return 'of March';
					if(lang == 'lv') return 'Martā';
			case '4':
					if(lang == 'ru') return 'Апреля';
					if(lang == 'en') return 'of April';
					if(lang == 'lv') return 'Aprīlī';
			case '5':
					if(lang == 'ru') return 'Мая';
					if(lang == 'en') return 'of May';
					if(lang == 'lv') return 'Maijā';
			case '6':
					if(lang == 'ru') return 'Июня';
					if(lang == 'en') return 'of June';
					if(lang == 'lv') return 'Jūnijā';
			case '7':
					if(lang == 'ru') return 'Июля';
					if(lang == 'en') return 'of July';
					if(lang == 'lv') return 'Jūlijā';
			case '8':
					if(lang == 'ru') return 'Августа';
					if(lang == 'en') return 'of August';
					if(lang == 'lv') return 'Augustā';
			case '9':
					if(lang == 'ru') return 'Сентября';
					if(lang == 'en') return 'of September';
					if(lang == 'lv') return 'Septembrī';
			case '10':
					if(lang == 'ru') return 'Октября';
					if(lang == 'en') return 'of October';
					if(lang == 'lv') return 'Oktobrī';
			case '11':
					if(lang == 'ru') return 'Ноября';
					if(lang == 'en') return 'of November';
					if(lang == 'lv') return 'Novembrī';
			case '12':
					if(lang == 'ru') return 'Декабря';
					if(lang == 'en') return 'of December';
					if(lang == 'lv') return 'Decembrī';
		}
	}

//функия вызывается при выборе пользователем даты
function ViewDate(id,day)
{
	
	CurentObject = document.getElementById(id);
	CurentObject.setAttribute('day',day);
	//CurentObject.style.day = day;
	d = CurentObject.getAttribute("day");
	y = CurentObject.getAttribute("curent_year");
	m = CurentObject.getAttribute("curent_month");
	//вывод даты в формате dd-mm-yyyy
	str = '';
	m = Number(m) + 1
	str = m + '.'+y;
	str = d + '.'+str;

	if(document.getElementById("lang_input"))
		var lang = document.getElementById("lang_input").value;
	else 
		var lang = 'ru';	
	
	var str_real = d+"  " + GetMonthName(lang,m+'') + " " + y;
	if (arguments.length==2)
	{
		CurentObject.setAttribute('month',CurentObject.getAttribute("curent_month"));
		document.getElementsByName(CurentObject.getAttribute("inputname")).item(0).value = str_real;
		document.getElementsByName(CurentObject.getAttribute("inputname")+"_temp").item(0).value = str;
		//document.getElementsByName(CurentObject.getAttribute("inputname")+"_temp").item(0).value = str;
		if(CurentObject.getAttribute("close") == "1")
		{
			HideSelectDate();
		}
		//считаем селект и посмотри есть ли там такая дата

		
		
	}
	if(CurentObject.getAttribute("close") == "2")
	{
		CurentObject.setAttribute('close',"1");
	}
	document.getElementById(CurentObject.getAttribute("divname")).innerHTML = calendar(CurentObject);	
	
}
//функция построения календаря
function calendar(obj){
m = Number(obj.getAttribute("month"));
d = Number(obj.getAttribute("day"));
c = obj.getAttribute("change");
next = Number(obj.getAttribute("next"));
year = Number(obj.getAttribute("year"));
back = Number(obj.getAttribute("back"));
if(document.getElementById("lang_input"))
	var lang = document.getElementById("lang_input").value;
else 
	var lang = 'ru';

if(lang == 'ru')
	var MasMonth = new Array("Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь");
if(lang == 'lv')
	var MasMonth = new Array("Janvāris","Februāris","Marts","Aprīlis","Maijs","Jūnijs","Jūlijs","Augusts","Septembris","Oktobris","Novembris","Decembris");	
if(lang == 'en')
	var MasMonth = new Array("January","February","March","April","May","June","July","August","September","October","November","December");		
str="";
str = str + '<table cellspacing=0 cellpadding=0 width=100% align=center><tr  style="background:#2F2B22;padding-top:0px;margin;0px;height:25px;"><td valign=center style="padding-top:5px;padding-left:15px;"><div style="float:left;width:16px;height:16px;" onclick=SubYear("'+ obj.id +'") onmouseover="PointCursor(this)" > <img src="../images/calendar/page-prev.gif"> <\/div><div  style="float:left;width:140px;" align=center>'+ MasMonth[obj.getAttribute("curent_month")] + ' ' + year +'<\/div><div style="float:left;width:16px;height:16px;" onclick=AddYear("'+ obj.id +'") onmouseover="PointCursor(this)"> <img src="../images/calendar/page-next.gif">  <\/div><\/td><\/tr><tr><td>';


now.setMonth(obj.getAttribute("curent_month"));
  now.setDate(1);   
  now.setFullYear(obj.getAttribute("curent_year"));  
var dayOfWeek = now.getDay();   
  if (dayOfWeek == 0)	
    dayOfWeek = 7;

var currentMonth = now.getMonth();   
var daysInMonth = 28;  
  while (currentMonth == now.getMonth())  
    now.setDate(++daysInMonth);  
  --daysInMonth;   


  
now = new Date();   
var today = now.getDate();  
if (d!=0) today = d;


str+='<table width=100% CELLSPACING=0 CELLPADDING=0 border=0 > ';   
index = 1;
for (var i = 2 - dayOfWeek; i <= 43 - dayOfWeek; i++) {   
  if ((i - 1 + dayOfWeek) % 7 == 1)
    str+='<tr>';   
 if (i > daysInMonth)
    break;

	if(i>0)
	{
		ClassName='';
		if(index<6 ) ClassName = "workday";
		else ClassName = "weekday"
		if (i == today && obj.getAttribute("curent_month") == obj.getAttribute("month")) ClassName = "curentday";
		Action = '';
		if (c==1) Action = 'onclick=ViewDate("' + obj.id + '",'+i+')';
			str+='<td valign=top class="'+ ClassName +' CellWidth" style="padding:3px"><sub style="cursor:pointer;" '+ Action + ' >' + i + '<\/sub><\/td>';   
		index++;
	}
	else
	{
		str+='<td valign=top class="CellWidth"><sub>' + '&nbsp' + '<\/sub><\/td>';   
		index++;
	}

  if ((i - 1 + dayOfWeek) % 7 == 0)
  {
    str+='<\/tr>';  
	index = 1;
  }
}
str+='<\/table><\/td><\/tr><\/table>';   
return str;

};