var daysCountMonth = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
var activeRow=false;
var interval='w';
var currentDay=1;
var startPath= "/rubrics/";
var startYear=1990;
var now = new Date()
var finishYear=now.getFullYear();
var pat_text=/^\s*$/;

function $(id){
	return document.getElementById(id);
}					

function row_click(el,wd) { 
	if (activeRow && activeRow != el) activeRow.className = "";
	el.className = "line";
	activeRow = el;
	currentDay=wd;
}

function setDays(){
	var selectedYear=$('calYear').value;
	var selectedMonth=$('calMonth').value-1;
	if (selectedMonth==1) {
		var feb29Day=new Date(selectedYear,selectedMonth,29);
		if (feb29Day.getMonth()==1) daysCountMonth[1]=29;
			else daysCountMonth[1]=28;
	}
	var selectedFirstDay=new Date(selectedYear,selectedMonth,1);
	var selectedFirstDayWeek=selectedFirstDay.getDay();
	if (selectedFirstDayWeek==0) selectedFirstDayWeek=7;
	var day=2-selectedFirstDayWeek;
	var week='<table id="tml">'
	week+='<tr><th>Пн</th><th>Вт</th><th>Ср</th><th>Чт</th><th>Пт</th><th>Сб</th><th>Вс</th></tr>';
	while (day<=daysCountMonth[selectedMonth]) {
		if (day<1) wd=1; else wd=day;
		week+='<tr onclick="row_click(this,'+wd+')" id="week_row_'+wd+'" >';
		for (i=0; i<7; i++){
			if (day>0 && day<=daysCountMonth[selectedMonth]){
				if (selectedMonth==now.getMonth() && selectedYear==now.getFullYear() && day==now.getDate())
					week+='<td class="line">'+day+'</td>';
				else week+='<td>'+day+'</td>';
			} else 
				week+='<td>&nbsp;</td>';
			day++;
			
		}
		week+='</tr>';
	}
	week+='</table>';
	$('cal_week').innerHTML=week;
	row_click($('week_row_1'),1);
}


function checkInterval(){
	rwCh=$('rad-week').checked;
	rmCh=$('rad-month').checked;
	ryCh=$('rad-year').checked;
	if (ryCh) {
		$('cal_week').style.display="none";
		$('cal_months').style.display="none";
		interval='y';
	} else if (rmCh){
		$('cal_week').style.display="none";
		$('cal_months').style.display="block";
		interval='m';
	} else {
		$('cal_week').style.display="block";
		$('cal_months').style.display="block";	
		interval='w';
	}
}

function toDoubleDigits(num){
	if (num<10) num="0"+num;	
	return num;
}

function setFields(){
	switch (interval) {
		case 'y':
			from=$('calYear').value+"-01-01";
			to=$('calYear').value+"-12-31";
			break;
		case 'm':
			from=$('calYear').value+"-"+$('calMonth').value+"-01";
			to=$('calYear').value+"-"+$('calMonth').value+"-"+daysCountMonth[Number($('calMonth').value)-1];
			break;
		case 'w':
			var m = Number(($('calMonth').value-1));
			var y = $('calYear').value;
			var tempDate = new Date (y,m,currentDay);
			var tempDateWeek=tempDate.getDay();
			if (tempDateWeek==0) tempDateWeek=7;
			if (tempDateWeek>1) {
				tempDate = new Date (y,m,2-tempDateWeek);
			}
			from=tempDate.getFullYear()+"-"+toDoubleDigits(Number(tempDate.getMonth()+1))+"-"+toDoubleDigits(tempDate.getDate());
			tempDate = new Date (tempDate.getFullYear(),tempDate.getMonth(),tempDate.getDate()+6);
			to=tempDate.getFullYear()+"-"+toDoubleDigits(Number(tempDate.getMonth()+1))+"-"+toDoubleDigits(tempDate.getDate());
			break;
	}
	
	$('dateFrom').value=from;
	$('dateTo').value=to;
	if ($('show-s').checked) $('onlyBSB').value="true";
		else  $('onlyBSB').value="false";
	var url_str = startPath+$("rubric").value+"data/"+$('onlyBSB').value+"/"+$('dateFrom').value+"/"+$('dateTo').value+"/";
	document.location=url_str;
	return false;
}

function initCalendar(){
	if ($('onlyBSB').value=='') $('onlyBSB').value=false;
	var nowFirstDayWeek=now.getDay();
	if (nowFirstDayWeek==0) nowFirstDayWeek=7;
	var nowFirstDayWeek=now.getDate()+1-nowFirstDayWeek;

	if ($('dateFrom').value=='') $('dateFrom').value=now.getFullYear()+"-"+Number(now.getMonth()+1)+"-"+toDoubleDigits(nowFirstDayWeek);
	if ($('dateTo').value=='') $('dateTo').value=now.getFullYear()+"-"+Number(now.getMonth()+1)+"-"+toDoubleDigits(nowFirstDayWeek+6);

	if ($('onlyBSB').value=="true") $('show-s').checked=true;
		else  $('show-s').checked=false;
	var from=$('dateFrom').value.split('-');
	var to=$('dateTo').value.split('-');

	$('calMonth').selectedIndex=from[1]-1;
	$('calYear').selectedIndex=finishYear-from[0];
	currentDay=from[2];
	var fromDate = new Date(from[0], from[1]-1, from[2]);
	var toDate = new Date(to[0], to[1]-1, to[2]);
	var divDates = (toDate.getTime()-fromDate.getTime()) / (3600000 * 24);
	if (divDates>200) {
		$('rad-week').checked=false;
		$('rad-month').checked=false;
		$('rad-year').checked=true;
	} else if (divDates>10) {
		$('rad-week').checked=false;
		$('rad-month').checked=true;
		$('rad-year').checked=false;
	} else {
		$('rad-week').checked=true;
		$('rad-month').checked=false;
		$('rad-year').checked=false;
	}
	setDays();
	currentDay=Number(from[2]);
	row_click($('week_row_'+currentDay),currentDay);
	checkInterval();
}


function showPhoto(fileName, parent_id){
	var path="/srv/photo/?photo_id="+encodeURIComponent(fileName)+"&parent_id="+encodeURIComponent(parent_id);
	var width=637;
	var height=627;
	var left=(window.screen.availWidth/2)-(width/2);
	var top=(window.screen.availHeight/2)-(height/2);
	var param = "scrollbars=no,status=no,resizable=0,width=" + width + ",height=" + height + ",left=" + left + ",top=" + top;
	var photo=window.open(path, 'photo', param);
	photo.focus();

}