var n_miesiace = new Array ('Styczeń','Luty','Marzec','Kwiecień','Maj','Czerwiec','Lipiec','Sierpień','Wrzesień','Październik','Listopad','Grudzień');
var days=new Array(31,28,31,30,31,30,31,31,30,31,30,31);
var pole_dzien="";
var pole_mies="";
var pole_rok="";

var min_dzien=1;
var min_mies=1;
var min_rok=1900;

var max_dzien=1;
var max_mies=1;
var max_rok=2050;

var dzisiaj;
var mniejsza=1;
var wieksza=1;

var minimal_date;
var maximal_date;

var dozwolone_wczesniej = 0;
var dozwolone_pozniej = 365;


function kalendarz(sciezka,pole_dzien,pole_mies,pole_rok,min_dzien,min_mies,min_rok,max_dzien,max_mies,max_rok,mniejsza_niz_dzis,wieksza_niz_dzis)
{
	document.getElementById('pole_dzien').value=pole_dzien;
	document.getElementById('pole_mies').value=pole_mies;
	document.getElementById('pole_rok').value=pole_rok;

	document.getElementById('min_dzien').value=min_dzien;
	document.getElementById('min_mies').value=min_mies;
	document.getElementById('min_rok').value=min_rok;

	document.getElementById('max_dzien').value=max_dzien;
	document.getElementById('max_mies').value=max_mies;
	document.getElementById('max_rok').value=max_rok;

	document.getElementById('mniejsza').value=mniejsza_niz_dzis;
	document.getElementById('wieksza').value=wieksza_niz_dzis;
	
	set_min_max();


	document.getElementById('w_m_temp_text').value=n_miesiace[(document.getElementById('w_m').value - 1)];
	document.getElementById('w_r_temp').value=(document.getElementById('w_r').value);
	document.getElementById('w_m_temp').value=(document.getElementById('w_m').value);
	fill_calendar('w');


	document.getElementById('p_m_temp_text').value=n_miesiace[(document.getElementById('p_m').value - 1)];
	document.getElementById('p_r_temp').value=(document.getElementById('p_r').value);
	document.getElementById('p_m_temp').value=(document.getElementById('p_m').value);
	
	
	if (document.getElementById('p_m_temp_text').value=='undefined')
		{
		document.getElementById('p_m_temp_text').value=n_miesiace[(document.getElementById('w_m').value - 1)];
		document.getElementById('p_r_temp').value=(document.getElementById('w_r').value);
		document.getElementById('p_m_temp').value=(document.getElementById('w_m').value);
		}
	
	fill_calendar('p');
	
	
	//sciezka=sciezka+'kalendarz/FSI2/kalendarz.html';
   //window.open(sciezka,'Kalendarz','width=196,height=178,toolbar=no,directories=no,menubar=no,scrollbars=no,resizable=no,statusbar=no');
}

function set_min_max()
{
	if(document.getElementById('pole_dzien').value!="")	pole_dzien=document.getElementById('pole_dzien').value;
	if(document.getElementById('pole_mies').value!="")	pole_mies=document.getElementById('pole_mies').value;
	if(document.getElementById('pole_rok').value!="")	pole_rok=document.getElementById('pole_rok').value;

	if(document.getElementById('min_dzien').value!="")	min_dzien=document.getElementById('min_dzien').value;
	if(document.getElementById('min_mies').value!="")	min_mies=document.getElementById('min_mies').value;
	if(document.getElementById('min_rok').value!="")	min_rok=document.getElementById('min_rok').value;

	if(document.getElementById('max_dzien').value!="")	max_dzien=document.getElementById('max_dzien').value;
	if(document.getElementById('max_mies').value!="")	max_mies=document.getElementById('max_mies').value;
	if(document.getElementById('max_rok').value!="")	max_rok=document.getElementById('max_rok').value;

	if(document.getElementById('mniejsza').value!="")	mniejsza=document.getElementById('mniejsza').value;
	if(document.getElementById('wieksza').value!="")	wieksza=document.getElementById('wieksza').value;

	dzisiaj=new Date();

//	alert(min_rok);

	if(min_dzien==0 && min_mies==0 && min_rok==0 && mniejsza==0)
		{
		min_dzien=dzisiaj.getDate();
		min_mies=dzisiaj.getMonth()+1;
		min_rok=dzisiaj.getFullYear();
		}

	if(min_dzien==0 && min_mies==0 && min_rok==0 && mniejsza==1)
		{
		min_dzien=1;
		min_mies=1;
		min_rok=1900;
		}

	if(max_dzien==0 && max_mies==0 && max_rok==0 && wieksza==0)
		{
		max_dzien=dzisiaj.getDate();
		max_mies=dzisiaj.getMonth()+1;
		max_rok=dzisiaj.getFullYear();
		}

	if(max_dzien==0 && max_mies==0 && max_rok==0 && wieksza==1)
		{
		max_dzien=1;
		max_mies=1;
		max_rok=2050;
		}


	min_mies=min_mies-1;
	max_mies=max_mies-1;

	if (min_dzien < 10)
		min_dzien = '0'+min_dzien;

	if (min_mies < 10)
		min_mies = '0'+min_mies;

 	if (max_dzien < 10)
		max_dzien = '0'+max_dzien;

	if (max_mies < 10)
		max_mies = '0'+max_mies;
		
	minimal_date=min_rok+''+min_mies+''+min_dzien;
	maximal_date=max_rok+''+max_mies+''+max_dzien;

}


function fill_calendar(direction)
{
var year;
var month;
var day_selected;
var month_selected;
var year_selected;
var my_day;
var week_day;
var i,j;
var button;
var howmany_days;
var today;
	

	year=eval(document.getElementById(direction + '_r_temp').value);
	month=eval(document.getElementById(direction + '_m_temp').value)-1;

	day_selected=eval(document.getElementById(direction + '_d').value);
	month_selected = eval(document.getElementById(direction + '_m').value)-1;
	year_selected = eval(document.getElementById(direction + '_r').value);	

	my_day=new Date();
	my_day.setFullYear(year,month,1);
	
	week_day=Number(my_day.getDay());
	
	today=new Date();
	
	//alert(today);
	
	//alert(month_selected);
	if (month_selected>=0)
		{}
	else
		{
		month_selected = today.getMonth();
		}
		
	if (year_selected>=0)
		{}
	else
		{
		year_selected = today.getFullYear();
		}
	
	j=0;
	for(i=1;i<43;i++)
		{
		if(i<=9) 
		{
			new_i='0'+i;
			i = new_i;
		}
		button = document.getElementById(direction + "_d" + i);
		button.value=' ';
		button.disabled=true;
		button.className="btn_inactive";
		}



	if (!document.forms['panel'].elements['ow'].checked || direction!='p')
	{		
		
		howmany_days=days[month];
			//alert(howmany_days);
		if(month==1 && rok_przestepny(year))
			howmany_days=29;

		if(week_day==0)
			week_day=7;
		
		additional=0;

		possible_day=today.getDate();
		possible_month=today.getMonth();
		possible_year=today.getFullYear();

				
		temporary_month=month;
		allowed_later=dozwolone_pozniej;

		while (allowed_later > 355)
		{
			possible_year++;
			allowed_later -= 355;
		}
		
		while (allowed_later > (days[temporary_month]-today.getDate()))
		{
			allowed_later -= (days[temporary_month]-today.getDate());
			temporary_month++;
			possible_month++;
		}
		
		possible_day += allowed_later;


		if (month==today.getMonth() && year==today.getFullYear())
		{
			additional = today.getDate() + dozwolone_wczesniej;
			j += today.getDate() + dozwolone_wczesniej;
		}
		
		if (year<today.getFullYear())
		{
			additional = howmany_days
		}
		
		if (year==today.getFullYear() && month<today.getMonth())
		{
			additional = howmany_days
		}
		

		if (year>possible_year)
			additional = howmany_days;

		else if (year==possible_year)
		{
			if ((month>today.getMonth()) && (year!=today.getFullYear()))
				additional = howmany_days;
			if ((month>possible_month) && (year==today.getFullYear()))
				additional = howmany_days;
			if ((month==possible_month) && (year==today.getFullYear()) && (month==today.getMonth()))
				howmany_days -= (days[temporary_month]-possible_day);
			if (month==possible_month)
				howmany_days -= (days[temporary_month]-possible_day);
		}

//document.getElementById('miasto_z').value=possible_year + '.' + possible_month + '.' + possible_day + ' ' + additional + howmany_days+today.getFullYear();


		if ((month>possible_month) && (year<possible_year) && (year!=today.getFullYear()))
		{
			additional = howmany_days;
		}
		


		for(i=week_day+additional;i<howmany_days+week_day;i++)
			{
				j++;
				if(i<=9) 
				{
					new_i='0'+i;
					i = new_i;
				}
				button = document.getElementById(direction + "_d" + i)
				button.value=j;
				button.disabled=false;
				button.className="btn";
				if(j==day_selected && month==month_selected && year==year_selected)
				{
						button.className="btn_selected";
				}
				else if(j==today.getDate() && month==today.getMonth() && year==today.getFullYear())
				{
					button.className="btn_today";
				}
			}
		//alert(today);
	}

}

function change_year(direction,how_many)
{
var year_temp;
var date_now_temp;

	if ((direction == 'p') && (document.forms['panel'].elements['ow'].checked))
		{
		
		}
	else
		{
		date_now_temp = new Date();
		rok = date_now_temp.getFullYear();
		
		year_temp=eval(document.getElementById(direction + '_r_temp').value);

	
		if (how_many==1)
			{
			if (year_temp <= rok)
				{
				document.getElementById(direction + "_r_temp").value = year_temp + how_many;
				fill_calendar(direction);
				}
			}
		else
			{
			if (year_temp > rok)
				{
				document.getElementById(direction + "_r_temp").value = year_temp + how_many;
				fill_calendar(direction);
				}
			}
		}
}


function rok_przestepny(rok)
{
var i;

	for(i=1900;i<rok+1;i+=4)
		{
		if(i==rok)
			return true;
		}
	
	return false;
}

function select_day(direction,what_day)
{
var year_temp;
var month_temp;
var bad_min;
var bad_max;
var bad_selected_w;
var selected_date;
var difference;

	
	year_temp=eval(document.getElementById(direction + '_r_temp').value);
	month_temp=eval(document.getElementById(direction + '_m_temp').value)-1;
	
	if (what_day < 10)
		what_day = '0'+what_day;
	if (month_temp < 10)
		month_temp = '0'+month_temp;
	
	selected_date = year_temp+''+month_temp+''+what_day;
	
	difference = eval(selected_date) - eval(minimal_date);
	//document.getElementById('miasto_z').value=minimal_date;
	
	if (mniejsza==0)
	{
	 	if (difference == 0 )
	 		bad_min=true;
	}
 	if (difference < 0)
 		bad_min=true;

	difference = eval(selected_date) - eval(maximal_date);
	if (wieksza==0)
	{
	 	if (difference == 0 )
	 		bad_max=true;
	}
 	if (difference > 0)
 		bad_max=true;

 	if (direction == 'p')
	{
		year_w=eval(document.getElementById('w_r').value);
		month_w=eval(document.getElementById('w_m').value)-1;
		day_w=eval(document.getElementById('w_d').value);
		
		

		if (day_w < 10)
			day_w = '0'+day_w;
		if (month_w < 10)
			month_w = '0'+month_w;
		selected_date_w = year_w+''+month_w+''+day_w;
		difference = eval(selected_date) - eval(selected_date_w);

		if (mniejsza==0)
		{
//		 	if (difference == 0 )
//		 		bad_selected_w=true;
		}
		if (difference < 0)
 			bad_selected_w=true;
	}

	if (bad_min && bad_max)
	{
		data_min=new Date(min_rok,min_mies,min_dzien);
		data_max=new Date(max_rok,max_mies,max_dzien);
		alert("Wybrana data musi zawierać się w przedziale od  "+data_min.toLocaleDateString()+" do "+data_max.toLocaleDateString());
		return;
	}
	
 	else if (bad_min)
	{
		data_min=new Date(min_rok,min_mies,min_dzien);
		alert("Wybrana data musi być większa od : "+data_min.toLocaleDateString());
		return;
	}

  	else if (bad_max)
 	{
 		data_max=new Date(max_rok,max_mies,max_dzien);
 		alert("Wybrana data musi być mniejsza od : "+data_max.toLocaleDateString());
 		return;
 	}

  	else if (bad_selected_w)
 	{
 		alert("Data powrotu musi być późniejsza, niż data wylotu");
 		return;
 	}
 	
	else 
	{
		document.getElementById(direction + '_d').value=what_day;
		document.getElementById(direction + '_m').value=document.getElementById(direction + '_m_temp').value;
		document.getElementById(direction + '_r').value=document.getElementById(direction + '_r_temp').value;
		
		mies_tmp = document.getElementById(direction + '_m_temp').value;
		if (mies_tmp=='08')
			mies_int = 7;
		else	if (mies_tmp=='09')
			mies_int = 8;
		else
			mies_int = parseInt(mies_tmp)-1;
		
		try
			{
			document.getElementById(direction + '_dA').value=what_day;
			document.getElementById('data_w1_text').value=month[mies_int] + " '"+document.getElementById(direction + '_r').value.substring(2,4);
			}
		catch (e) {}
	}

	fill_calendar(direction);
}



