// zdefiniowanie danych dotyczšcych papierów
function PapierDef(Nazwa, SzerArk,WysArk,Cena,Gramatura, Uszlachetnianie, Czy_cena_za_sztuke){
  	this.Nazwa = Nazwa;
	this.SzerArk = SzerArk;
    this.WysArk = WysArk;
  	this.Cena = Cena;
	this.Gramatura = Gramatura;
	this.Uszlachetnianie = Uszlachetnianie;
	this.Czy_cena_za_sztuke = Czy_cena_za_sztuke;
  }
function UszlachetnianieDef(Nazwa, CenaJednostkowa, CzasJednostkowy, CzasPrzygotowania){
  	this.Nazwa = Nazwa;
  	this.CenaJednostkowa = CenaJednostkowa;
	this.CzasJednostkowy = CzasJednostkowy;
	this.CzasPrzygotowania = CzasPrzygotowania;
}
function IntrolDef(Nazwa, CenaJednostkowa, CzasJednostkowy, CzasPrzygotowania){
  	this.Nazwa = Nazwa;
  	this.CenaJednostkowa = CenaJednostkowa;
	this.CzasJednostkowy = CzasJednostkowy;
	this.CzasPrzygotowania = CzasPrzygotowania;
  	}

function Ramy_rodzajDef(Rodzaj, Polysk, Matowe, Lakierowane, Wielkosc_do_dodania, Cena_okuc, Dostepne_kolory){
  this.Rodzaj = Rodzaj;
  this.Polysk = Polysk;
  this.Matowe = Matowe;
  this.Lakierowane = Lakierowane;
  this.Wielkosc_do_dodania = Wielkosc_do_dodania;
  this.Cena_okuc = Cena_okuc;
  this.Dostepne_kolory = Dostepne_kolory;
  }


function Ramy_kolorDef(Numer,Nazwa, Wyk){
  	this.Numer = Numer;
  	this.Nazwa = Nazwa;
  	this.Wyk = Wyk;
  	}


var Za_duzy_naklad, Cena_iGen, Cena_offset, WysUzytku, SzerUzytku, Wspolczynnik_kosztu, Liczba_ciec, Liczba_arkuszy, Gramatura, Naklad, Liczba_uzytkow_na_arkuszu, Wspolczynnik_wagi_arkusza, Koszt_papieru;
var WWW=false;

// współczynniki i ceny wyjciowe
var wydluzenie_terminu_w_razie_awarii = 1; //dni
var	Cena_EUR = 4.25;
var cena_jednostkowa_personalizacji = 0.02;
var Koszt_toneru_dla_sredniego_zadruku = 0.08;
var RoboczoGodzina = 30;
var margines_zadruku = 2;
var doplata_lakier_igen3 = 8;
var	lb_przelotow;


 // utworzenie tablicy papierów
 // UWAGA!!! przy usunięciu bądź dodania jakiegoś materiału należy nmienić warunek dla papierów ozdobnych w linii 734 (komunikat: js_alert_ozdobny_na_presteku)
PapierDane = new Array();//    nazwa,                      		max wymiar  cena,      możliwe gramatury.     			możliwoci uszlachetniania	czy cena jest od sztuki
PapierDane[0] = new PapierDef(js_papier_offsetowy,	     				350,  500,  4.50,	new Array("90"),					new Array("0")				,0);
PapierDane[1] = new PapierDef(js_papier_karton_powlekany_mat, 			350,  500,  4.80, 	new Array(115,150,200,250,300),		new Array(0,1,2,3,4,5,6)	,0);// (0,1,2,3,4,5,6)
PapierDane[2] = new PapierDef(js_papier_karton_powlekany_blysk,  		350,  500,  4.80,	new Array(115,150,200,250,300),		new Array(0,1,2,3,4,5,6)	,0);// (0,1,2,3,4,5,6)
PapierDane[3] = new PapierDef(js_karton_Trucard,  						360,  500,  9.00,	new Array("350"),					new Array(0,1,2,3,4,5,6)	,0);// (0,1,2,3,4,5,6)
PapierDane[4] = new PapierDef(js_karton_jednostronnie_powlekany,		360,  520,  5.90, 	new Array("250"),					new Array(0,1,2,5)			,0);// (0,1,2,5)
PapierDane[5] = new PapierDef(js_papier_samoprzylepny,					350,  500,  20.8, 	new Array("180"),					new Array(0,1,2)			,0);
//PapierDane[6] = new PapierDef('papier samoprzylepny (nacinany z tyłu)',350, 500,  30.0, 	new Array("180"),					new Array("0")				,0);
PapierDane[6] = new PapierDef(js_folia_samoprzylepna,					350,  500,  100, 	new Array("240"),					new Array("0")				,0);
PapierDane[7] = new PapierDef(js_Tworzywo_sztuczne_PET,  				320,  450,  220,	new Array(190,355),					new Array("0")				,0);  //Array(190,355)
PapierDane[8] = new PapierDef('GARDAPAT',								350,  500,  11,		new Array('200'),					new Array('0')				,0);
PapierDane[9] = new PapierDef('ELFENBENS Linen 137',					350,  500,  19,		new Array('245'),					new Array('0')				,0);
PapierDane[10] = new PapierDef('ACQUERELLO Comoscio',					350,  500,  28,		new Array('240'),					new Array('0')				,0);
PapierDane[11] = new PapierDef('ACQUERELLO Avorio',						350,  500,  28,		new Array('240'),					new Array('0')				,0);
PapierDane[12] = new PapierDef('TINTORETTO Gesso',						350,  500,  28,		new Array('250'),					new Array('0')				,0);
PapierDane[13] = new PapierDef('CONSTELLATION E23 Pinstripe',			350,  500,  28,		new Array('240'),					new Array('0')				,0);
PapierDane[14] = new PapierDef('CONSTELLATION E33 Raster',				350,  500,  28,		new Array('240'),					new Array('0')				,0);
PapierDane[15] = new PapierDef('LESSEBO Ivory',							350,  500,  9,		new Array('250'),					new Array('0')				,0);
//PapierDane[16] = new PapierDef('CURTIS MALTS Speyside',					350,  500,  26,		new Array('300'),					new Array('0')				,0);
//PapierDane[17] = new PapierDef('SCOTIA Weave White',					350,  500,  22,		new Array('280'),					new Array('0')				,0);


// utworzenie tablicy uslug uszlachetniania
UszlachetnianieDane = new Array();			//	nazwa 								koszt szt. 	czas jedn.	czas przygotowania
UszlachetnianieDane[0] = new UszlachetnianieDef(js_Bez_uszlachetniania,				0,			0,			0);
UszlachetnianieDane[1] = new UszlachetnianieDef(js_Laminowanie_jednostronne_blysk,	0.105,		1/480,		0.3);	//480 przelotow / h 10gł + 7gr z narzutem 50%
UszlachetnianieDane[2] = new UszlachetnianieDef(js_Laminowanie_jednostronne_mat,		0.15,		1/480,		0.3);	//j.w. + 10gr z narzutem 50%
UszlachetnianieDane[3] = new UszlachetnianieDef(js_Laminowanie_dwustronne_blysk,		0.21,		2/480,		0.3);	//jednostronne x 2
UszlachetnianieDane[4] = new UszlachetnianieDef(js_Laminowanie_dwustronne_mat,		0.3,		2/480,		0.3);	//jednostronne x 2
UszlachetnianieDane[5] = new UszlachetnianieDef(js_Lakierowanie_UV_jednostronne,		0.13,		0,			0);		//koszt 10gr  x narzut 30%
UszlachetnianieDane[6] = new UszlachetnianieDef(js_Lakierowanie_UV_dwustronne,		0.26,		0,			0);  	//jednostronne x 2

// utworzenie tablicy uslug introligatorskich
IntrolDane = new Array();		//nazwa												koszt szt. 	czas jedn.	czas przygotowania
IntrolDane[0] = new IntrolDef('Cięcie na krajarce arkusza na użytki',				0.00075,	1/250,		0.08);
IntrolDane[1] = new IntrolDef('Falcowanie 1 lub 2 złamy',							0,			1/5000,		0.25);	//6000 uzytków / h
IntrolDane[2] = new IntrolDef('Bigowanie',											0.01,		1/300,		0.08);	//300 bigów/h
IntrolDane[3] = new IntrolDef('Łamanie po bigowaniu',								0.02,		1/300,		0.08);	// tyle co bigowanie. jesli wybrano >1big w kodzie nalezy pomnozyc x2
IntrolDane[4] = new IntrolDef('Oklejanie',											0.000,		0,			0.08);
IntrolDane[5] = new IntrolDef('Listwowanie',										0.40,		1/150,		0.10);	// z założenia 60 gr za szt. + dodatkowe warunki w kodzie
IntrolDane[6] = new IntrolDef('Dziurkowanie 2 dziurki',								0,			0.002,		0.08);	//liczone dla papieru 100g jesli grupszy papier nalezy cene pomnozyc proporcjonalnie do papieru
IntrolDane[7] = new IntrolDef('Szycie zeszytowe',									0.01,		1/125,		0.08);	// jeli zszywki oczkowe do kosztu nalezy dodac 3gr/szt
IntrolDane[8] = new IntrolDef('Wycinanie laserowe dowolnego kształtu na użytku',	1,			0,			0);


										//      ceny za m           szer.  cena          dostepne
// tablica ram						   profil polysk mat   lakier  dod.mm  okuc           kolory
Ramy_rodzajDane = new Array();
Ramy_rodzajDane[1] = new Ramy_rodzajDef(1,    9.10,  8.90,  8.80,   6, 	6.54, new Array("001","003","004","021"));
Ramy_rodzajDane[2] = new Ramy_rodzajDef(2,    9.40,  9.20,  9.10,   6, 	6.54, new Array("001","003","004","021"));
Ramy_rodzajDane[3] = new Ramy_rodzajDef(3,       0, 10.30,     0,   6, 	6.54, new Array("150","151"));
Ramy_rodzajDane[4] = new Ramy_rodzajDef(5,	  16.6, 15.30, 12.10,   6, 	7.10, new Array("001","003","004","021"));
Ramy_rodzajDane[5] = new Ramy_rodzajDef(217,  8.90,  8.70,  8.50,   6, 	6.54, new Array("001","003","004","021"));
Ramy_rodzajDane[6] = new Ramy_rodzajDef("A1",    0,  5.94,     0,   6, 	7.46, new Array("004"));
Ramy_rodzajDane[7] = new Ramy_rodzajDef("A2",    0,  4.57,     0,   6, 	6.42, new Array("004"));


// tablica kolorów ram                nr     nazwa              wykonczenie
Ramy_kolorDane = new Array();
Ramy_kolorDane[0] = new Ramy_kolorDef("001", 'Złoty połysk (001)',	1);
Ramy_kolorDane[1] = new Ramy_kolorDef("003", 'Srebrny połysk (003)',1);
Ramy_kolorDane[2] = new Ramy_kolorDef("004", 'Srebrny mat (004)',	2);
Ramy_kolorDane[3] = new Ramy_kolorDef("150", 'Srebrny mat (150)',	2);
Ramy_kolorDane[4] = new Ramy_kolorDef("151", 'Złoty mat (151)',		2);
Ramy_kolorDane[5] = new Ramy_kolorDef("021", 'Czarny lakier (021)',	3);

function setRamy() {
	var selected_index = document.kalkulator.Oprawa.selectedIndex;
	document.kalkulator.Oprawa.length = 0;
	document.kalkulator.Oprawa.options[0] = new Option('Wybierz profil');
	document.kalkulator.Kolor_Ramy.options[0] = new Option('Wybierz kolor');
	if(((document.kalkulator.SzerUzytku.value >= 100 && document.kalkulator.WysUzytku.value >=100) || !document.getElementById("ID_introl_1").checked)&& Gramatura >= 200)
	{
		document.kalkulator.Oprawa.disabled=false;
		document.kalkulator.Kolor_Ramy.disabled=false;
		document.getElementById("ID_oprawa_lb").disabled=false;
		for (var i = 1; i <Ramy_rodzajDane.length; i++) {
			document.kalkulator.Oprawa.options[i] = new Option('Profil nr ' + Ramy_rodzajDane[i].Rodzaj);
		}
		document.kalkulator.Oprawa.selectedIndex = selected_index;
	}else{
		document.kalkulator.Oprawa.disabled=true;
		document.kalkulator.Kolor_Ramy.disabled=true;
		document.getElementById("ID_oprawa_lb").disabled=true;
	}
	setKolorRamy();
}

function setKolorRamy() {
	var wybrany_kolor = document.kalkulator.Kolor_Ramy[document.kalkulator.Kolor_Ramy.selectedIndex].text;
	var selected_index = 0;
	document.kalkulator.Kolor_Ramy.length = 0;
	if(document.kalkulator.Oprawa.selectedIndex==0) document.kalkulator.Kolor_Ramy.options[0] = new Option('Wybierz kolor');
	else{
		TablicaKolorow = Ramy_rodzajDane[document.kalkulator.Oprawa.selectedIndex].Dostepne_kolory;
		for (var i = 0; i<TablicaKolorow.length; i++) {
			for(var ii = 0; ii < Ramy_kolorDane.length; ii++){
		//	alert('TablicaKolorow[i] : '+TablicaKolorow[i]+'     Ramy_kolorDane[ii].Numer : '+Ramy_kolorDane[ii].Numer);
				if(TablicaKolorow[i] == Ramy_kolorDane[ii].Numer) document.kalkulator.Kolor_Ramy.options[i] = new Option(Ramy_kolorDane[ii].Nazwa);
			}
		}
	for(var i=0; i < document.kalkulator.Kolor_Ramy.options.length; i++) if( document.kalkulator.Kolor_Ramy[i].text == wybrany_kolor) document.kalkulator.Kolor_Ramy.options[i].selected  = true;
	}
}




function setPapier() {
	for (var i = 0; i <PapierDane.length; i++) {
		document.kalkulator.Papier.options[i] = new Option(PapierDane[i].Nazwa);
	}
	setGramatura();
}

function setGramatura() {
	var OldGram = document.kalkulator.Gramatura[document.kalkulator.Gramatura.selectedIndex].text;
	var Index_wybranego_papieru = document.kalkulator.Papier.selectedIndex;
	document.kalkulator.Gramatura.length = 0;
	var UstawKursor=0;
	for (var i = 0; i <PapierDane[Index_wybranego_papieru].Gramatura.length; i++) {
		document.kalkulator.Gramatura.options[i] = new Option(PapierDane[Index_wybranego_papieru].Gramatura[i]);
		if(	PapierDane[Index_wybranego_papieru].Gramatura[i]== OldGram) UstawKursor=i;
	}
	document.kalkulator.Gramatura.options[UstawKursor].selected = true;
	setUszlachetnianie();
}

function setUszlachetnianie() {
	var OldUszlachet = document.kalkulator.Uszlachetnianie[document.kalkulator.Uszlachetnianie.selectedIndex].text;
	var UstawKursor=0;
	Index_wybranego_papieru=document.kalkulator.Papier.selectedIndex;
	Gramatura = document.kalkulator.Gramatura[document.kalkulator.Gramatura.selectedIndex].text;
	document.kalkulator.Uszlachetnianie.length = 0;	//	usuń opcje z listy
	if (Gramatura < 180){
		var n=0;
		for (var i = 0; i < PapierDane[Index_wybranego_papieru].Uszlachetnianie.length; i++) {
			if (PapierDane[Index_wybranego_papieru].Uszlachetnianie[i]==0 || PapierDane[Index_wybranego_papieru].Uszlachetnianie[i]>=5){
				document.kalkulator.Uszlachetnianie.options[n] = new Option(UszlachetnianieDane[PapierDane[Index_wybranego_papieru].Uszlachetnianie[i]].Nazwa);
				if(UszlachetnianieDane[PapierDane[Index_wybranego_papieru].Uszlachetnianie[i]].Nazwa == OldUszlachet) UstawKursor=n;
				n++;
			 }
		}
	}else{
		for (var i = 0; i < PapierDane[Index_wybranego_papieru].Uszlachetnianie.length; i++) {
			document.kalkulator.Uszlachetnianie.options[i] = new Option(UszlachetnianieDane[PapierDane[Index_wybranego_papieru].Uszlachetnianie[i]].Nazwa);
			if(UszlachetnianieDane[PapierDane[Index_wybranego_papieru].Uszlachetnianie[i]].Nazwa == OldUszlachet) UstawKursor=i;
		}
	}

	if (Gramatura < 160){
		document.kalkulator.Uszlachetnianie.length = 1;
		UstawKursor=0;
	}

	document.kalkulator.Uszlachetnianie.options[UstawKursor].selected = true;
	setIntroligatorka();
}


// utwórz nowa listę opcji dla introligatorni
var ListaIntr;


function setIntroligatorka()
{
	Papier=document.kalkulator.Papier[document.kalkulator.Papier.selectedIndex].text;
	Gramatura=document.kalkulator.Gramatura[document.kalkulator.Gramatura.selectedIndex].text;
	szer=document.kalkulator.SzerUzytku.value;
	wys=document.kalkulator.WysUzytku.value;
	if(document.getElementById("ID_introl_1").checked){

		var bigo=true;  // czy bigowanie
		var skld=true;	// czy składanie po bigowaniu
		var falc=true;  // czy falcowanie
		var list=true;  // czy listwowanie
		var klej=true;  // czy klejenie bloczków

		if (document.kalkulator.Naklad.value < 100)
		{
			falc=false;
			klej=false;
		}

		if (Gramatura > 150 || document.kalkulator.Uszlachetnianie.selectedIndex != 0)
		{
			falc=false;
			klej=false;
		}
		if (Papier.substring(0,20)==js_papier_samoprzylepny || Papier==js_folia_samoprzylepna)
		{
			falc=false;
			bigo=false;
			skld=false;
			list=false;
			klej=false;
		}


		if (Papier==js_Tworzywo_sztuczne_PET)
		{
			falc=false;
			bigo=true;
			skld=false;
			list=true;
			klej=false;
		}
		if (Math.min(szer, wys) < 148)
		{
			falc=false;
		}
		if (Gramatura<190)
		{
			list=false;
		}




		if (!document.kalkulator.chk_bigowanie1.checked)
		{
			skld=false;
		}
			//checkboxy
			document.getElementById("ID_chk_1").disabled=!falc; //falcowanie
			document.getElementById("ID_chk_2").disabled=!bigo;	//bigowaniw 1b
			document.getElementById("ID_chk_3").disabled=!skld;	//lamanie po bigowaniu
			document.getElementById("ID_chk_4").disabled=!klej;	//klejenie bloczków
			document.getElementById("ID_chk_5").disabled=!list;	//listwowaniwe

			//etykiety
			document.getElementById("ID_chk_lb_1").disabled=!falc;
			document.getElementById("ID_chk_lb_2").disabled=!bigo;
			document.getElementById("ID_chk_lb_3").disabled=!skld;
			document.getElementById("ID_chk_lb_4").disabled=!klej;
			document.getElementById("ID_chk_lb_5").disabled=!list;

			// liczba bigów
			if (document.kalkulator.chk_bigowanie1.checked)
			{
				document.kalkulator.liczba_bigow.disabled=false;
				document.kalkulator.liczba_bigow.value = 1;
				document.getElementById("ID_liczba_bigow_lb").disabled=false;

			}else{
				document.kalkulator.liczba_bigow.disabled=true;
				document.kalkulator.liczba_bigow.value = '';
				document.getElementById("ID_liczba_bigow_lb").disabled=true;
			}

			if (document.kalkulator.chk_klejenie.checked)
			{
				document.getElementById("ID_chk_5").disabled=true;
				document.getElementById("ID_chk_lb_5").disabled=true;
				document.kalkulator.liczba_bloczkow.value = 100;
				document.getElementById("ID_liczba_bloczkow").disabled=false;
				document.getElementById("ID_liczba_bloczkow_lb").disabled=false;
			}
	}
	for (i=1; i<=5; i++) if (document.getElementById("ID_chk_"+i).disabled) document.getElementById("ID_chk_"+i).checked=false;

	setKolory();
}


// utworzenie tablicy uslug introligatorskich

function setKolory()
{
	if (document.kalkulator.chk_listwowanie.checked && document.kalkulator.SzerUzytku.value !=344 ){
		document.kalkulator.SzerUzytku.select();

		if (confirm(js_alert_Listwowanie_dost_szer_340))
		{
			wpisz_wartosci(344,0);
		} else {
			document.kalkulator.chk_listwowanie.checked = false;
		}
	}



	if (document.kalkulator.chk_listwowanie.checked){
		document.getElementById("ID_kolory_lb").disabled=false;
		for (var i = 1; i <=3; i++) {
			document.getElementById("ID_Kolory_"+i).disabled=false;
			document.getElementById("ID_kol_lb_"+i).disabled=false;
		}

	} else {
		document.getElementById("ID_kolory_lb").disabled=true;
		for (var i = 1; i <=3; i++) {
			document.getElementById("ID_Kolory_"+i).checked=false;
			document.getElementById("ID_Kolory_"+i).disabled=true;
			document.getElementById("ID_kol_lb_"+i).disabled=true;
		}
	}
}

//_________________________________________________________________________________________//
//___obliczenia__cen_______________________________________________________________________//

function Cena_Uszlachetniania()
{
// poniwarz index listy uszlachetniania zmieniajš się w zależnoci od papieru  trzeba rozpoznać co to za usługa po tekstcie a nie po indexie.
	for (var i = 0; i < UszlachetnianieDane.length; i++)
	{
		if(UszlachetnianieDane[i].Nazwa == document.kalkulator.Uszlachetnianie[document.kalkulator.Uszlachetnianie.selectedIndex].text)
		{
			Koszt_uszlachetniania = UszlachetnianieDane[i].CenaJednostkowa * Liczba_arkuszy + UszlachetnianieDane[i].CzasJednostkowy * Liczba_arkuszy * RoboczoGodzina + UszlachetnianieDane[i].CzasPrzygotowania * RoboczoGodzina;
		}
	}

//dodajemy 8zl za lakierowanie arkuszy igena ( koszt 3 dodatkowych arkuszy) w obliczeniach dla igena

	return Koszt_uszlachetniania;
}

function Cena_Introligatorki(nieciac)
{
	if(nieciac) cena_intr=0;
	else
	{
		var Cena_uslug_introligatorskich=0;
		for (var i = 1; i <= 5; i++) { 		//do ceny doliczane sa te pozycje które majš odhaczine checkboxy
			if (document.getElementById("ID_chk_"+i).checked) {
				Cena_uslug_introligatorskich += IntrolDane[i].CenaJednostkowa * Naklad + IntrolDane[i].CzasJednostkowy * RoboczoGodzina * Naklad + IntrolDane[i].CzasPrzygotowania * RoboczoGodzina;
			}
		}

		// jeśli jest więcej niż 1 big należy doliczyć dodatkowo cenę za bigowanie
		if(document.kalkulator.liczba_bigow.value >1){
			liczba_dodatkowych_bigow = document.kalkulator.liczba_bigow.value - 1;
			Cena_uslug_introligatorskich += (IntrolDane[2].CenaJednostkowa * Naklad + IntrolDane[2].CzasJednostkowy * RoboczoGodzina * Naklad + IntrolDane[2].CzasPrzygotowania * RoboczoGodzina*0.66) * liczba_dodatkowych_bigow;
			if (document.getElementById("ID_chk_3").checked) {
				Cena_uslug_introligatorskich += (IntrolDane[3].CenaJednostkowa * Naklad + IntrolDane[3].CzasJednostkowy * RoboczoGodzina * Naklad) * liczba_dodatkowych_bigow;
			}
		}

		//cena produkcji bloczkow 0,5 za jeden bloczek
		if(document.kalkulator.liczba_bloczkow.value >1)
		{
			Cena_uslug_introligatorskich += Math.ceil(Naklad/(document.kalkulator.liczba_bloczkow.value*1))*0.5;
		}

		if (document.getElementById("ID_Kolory_2").checked) Cena_uslug_introligatorskich-= 0.16 * Naklad  // zniżna na srebrnš listwe

		Cena_ciecia = Math.ceil( Liczba_arkuszy * Gramatura / 70000) * (Liczba_ciec*2 - 4); //liczba stosów do cięcia * liczba cięc * 2 (wycinka)
		cena_intr = Cena_ciecia + Cena_uslug_introligatorskich;

		if (Papier.substring(0,20)==js_papier_samoprzylepny || Papier==js_folia_samoprzylepna)  cena_intr += 10;

	}
	return cena_intr;
}


function cena_ramy()
{
	cena_oprawy_w_ramy=0;
	specyfikacja_ram = 0;
	if(document.kalkulator.Oprawa.selectedIndex !=0)
	{
		szer_ramy = document.kalkulator.SzerUzytku.value*1;
		wys_ramy = document.kalkulator.WysUzytku.value*1;
		if(!document.getElementById("ID_introl_1").checked)
		{
			szer_ramy = 350;
			wys_ramy = 500;
		}
		szer_ramy += Ramy_rodzajDane[document.kalkulator.Oprawa.selectedIndex].Wielkosc_do_dodania;
		wys_ramy += Ramy_rodzajDane[document.kalkulator.Oprawa.selectedIndex].Wielkosc_do_dodania;

		suma_dlug = wys_ramy*2 + szer_ramy*2 + 20; 			//4 krawedzie + 4x gr. cięcia
		var index_kolor=0;
		for (var i = 0; i < Ramy_kolorDane.length; i++)
		{
			if(Ramy_kolorDane[i].Nazwa == document.kalkulator.Kolor_Ramy[document.kalkulator.Kolor_Ramy.selectedIndex].text) index_kolor = i;
		}

		if (Ramy_kolorDane[index_kolor].Wyk == 1) cena_ram = Naklad * suma_dlug/1000 * Ramy_rodzajDane[document.kalkulator.Oprawa.selectedIndex].Polysk;
		if (Ramy_kolorDane[index_kolor].Wyk == 2) cena_ram = Naklad * suma_dlug/1000 * Ramy_rodzajDane[document.kalkulator.Oprawa.selectedIndex].Matowe;
		if (Ramy_kolorDane[index_kolor].Wyk == 3) cena_ram = Naklad * suma_dlug/1000 * Ramy_rodzajDane[document.kalkulator.Oprawa.selectedIndex].Lakierowane;

		cena_okuc = Naklad * Ramy_rodzajDane[document.kalkulator.Oprawa.selectedIndex].Cena_okuc;
		cena_pianki = 2.95/Liczba_uzytkow_na_arkuszu * Naklad;
		cena_robocizny = 0.16 * RoboczoGodzina + 0.016 * Naklad * RoboczoGodzina + 0.11 * Naklad * RoboczoGodzina;
		cena_oprawy_w_ramy = cena_ram*1.75 + cena_okuc*1 + cena_pianki*1.5 + cena_robocizny*1;
		nazut=1.75;
		specyfikacja_ram = 'Długość ram : ' + szer_ramy/10 + 'cm; '+wys_ramy/10+'cm<BR>';
		specyfikacja_ram += document.kalkulator.Oprawa[document.kalkulator.Oprawa.selectedIndex].text+'<BR>';
		specyfikacja_ram +='Kolor : ' + Ramy_kolorDane[index_kolor].Numer+'<BR>';
	}
	return cena_oprawy_w_ramy;
}

function Cena_Personalizacji()
{
	var Cena_personalizacji = 0;
	if (document.kalkulator.chk_personal_1.checked) {Cena_personalizacji += Naklad * cena_jednostkowa_personalizacji;}
	if (document.kalkulator.chk_personal_2.checked) {Cena_personalizacji += Naklad * cena_jednostkowa_personalizacji;}
	if ( Cena_personalizacji > 0) Cena_personalizacji += 20;
	if (document.kalkulator.chk_personal_1.checked && document.kalkulator.chk_personal_2.checked) Cena_personalizacji *= 1.5;
	return Cena_personalizacji;
}

function Cena_papieru(maszyna){

	Wspolczynnik_wagi_arkusza = 1;  //współczynnik dla papierów ciętych jest równy wadze jednego arkusza, a dla kopert jest równy 1
	if (PapierDane[document.kalkulator.Papier.selectedIndex].Czy_cena_za_sztuke){
		Liczba_arkuszy = Naklad;
	}else{
		Liczba_arkuszy = Math.ceil( Naklad / Liczba_uzytkow_na_arkuszu );
		Wspolczynnik_wagi_arkusza = 0.353*0.5 * Gramatura / 1000;   //zakładam ze papier zawsze jest cięty z maksymalnego arkusza czyli B3+ niezaleznie od maszyny
	}
	if (Liczba_arkuszy>6000) Za_duzy_naklad=true; else Za_duzy_naklad=false;

	var Koszt_papieru = PapierDane[document.kalkulator.Papier.selectedIndex].Cena * Liczba_arkuszy * Wspolczynnik_wagi_arkusza;

	//oprócz ceny papiery funkcja wylicza równierz Wspolczynnik_kosztu wykorzystywant przy kalkulacju druku
	if ( Liczba_arkuszy < 50 ) Wspolczynnik_kosztu = 3.5; else Wspolczynnik_kosztu = 50/ Liczba_arkuszy + 2.5;


	if(maszyna==1 && PapierDane[document.kalkulator.Papier.selectedIndex].Nazwa == js_papier_karton_powlekany_mat) {Koszt_papieru = Koszt_papieru*0.9;}
	if(maszyna==2 && PapierDane[document.kalkulator.Papier.selectedIndex].Nazwa == js_papier_karton_powlekany_blysk) {Koszt_papieru = Koszt_papieru*0.9;}
	return Koszt_papieru * 1.2;
}

function Cena_druku_na_iGen()
{
	var stopien_pokrycia = 15;//document.kalkulator.pokrycie[document.kalkulator.pokrycie.selectedIndex].text.substring(0,2);
	var Koszt_serwisu = Liczba_arkuszy *(document.kalkulator.czy_dwustronny[1].checked+1)*0.015 * Cena_EUR;  // Cena_serwisu/stronę = 0.015 * Cena_EUR;
	var Koszt_toneru  = Liczba_arkuszy *(document.kalkulator.czy_dwustronny[1].checked+1)* Koszt_toneru_dla_sredniego_zadruku * Cena_EUR *stopien_pokrycia/15;
	if(document.kalkulator.czy_dwustronny[0].checked) Koszt_toneru = Koszt_toneru*1.2;
	var Cena_druku_na_iGen = (( Koszt_toneru + Koszt_serwisu ) * Wspolczynnik_kosztu);
	if(document.kalkulator.Uszlachetnianie[document.kalkulator.Uszlachetnianie.selectedIndex].text ==js_Lakierowanie_UV_jednostronne || document.kalkulator.Uszlachetnianie[document.kalkulator.Uszlachetnianie.selectedIndex].text == js_Lakierowanie_UV_dwustronne) Cena_druku_na_iGen += doplata_lakier_igen3;
	return Cena_druku_na_iGen;
}

function Cena_druku_na_offsecie()
{
	var Koszt_druku;
	var Koszt_matryc =760;
	if((document.kalkulator.czy_dwustronny[1].checked) && Liczba_uzytkow_na_arkuszu == 1) Koszt_matryc *= 2;  //czy możliwy druk na odwrotkę
	Koszt_matryc *= Cena_EUR / 32;
	Liczba_stron = (document.kalkulator.czy_dwustronny[1].checked+1)*Liczba_arkuszy;
	lb_przelotow = Liczba_stron;

	if (Liczba_stron < 3000) Cena_przelotu = 0.03 * Liczba_stron; else Cena_przelotu = 0.015 * Liczba_stron;
	return Koszt_matryc*4.1 + Cena_przelotu;
}

function Kalkulacja_iGen(zamow)
{
	Naklad = document.kalkulator.Naklad.value;
	Gramatura = document.kalkulator.Gramatura[document.kalkulator.Gramatura.selectedIndex].text;
	var	Kalkulacja_bez_ciecia = true;
	if(document.getElementById("ID_introl_1").checked){ //jesli wybrano kalkulacje dowolnego uzytku
		Kalkulacja_bez_ciecia = false;
		SzerUzytku = document.kalkulator.SzerUzytku.value;
		WysUzytku = document.kalkulator.WysUzytku.value;
	}

	var Szer_Arkusza = PapierDane[document.kalkulator.Papier.selectedIndex].SzerArk-6;
	var Wys_Arkusza = PapierDane[document.kalkulator.Papier.selectedIndex].WysArk-6;

	var macierz_igen='';
	if( Kalkulacja_bez_ciecia ){
		Liczba_uzytkow_na_arkuszu=1;
		Liczba_ciec=0;
		macierz_igen='pełny arkusz';
	}else{
		// obliczamy ile uzytków zmiesci nie na arkuszu w zaleznoci od orietacji strony
		S1 = Math.floor( Szer_Arkusza / SzerUzytku );
		W1 = Math.floor( Wys_Arkusza / WysUzytku );
		S2 = Math.floor( Wys_Arkusza / SzerUzytku );
		W2 = Math.floor( Szer_Arkusza / WysUzytku );
		if (S1*W1>S2*W2) {
			Liczba_uzytkow_na_arkuszu= S1*W1;
			Liczba_ciec = S1+W1+2;				// cięcie liczone jest bez wycinki
			macierz_igen= S1 +' x ' +W1;
		}else{
			Liczba_uzytkow_na_arkuszu= S2*W2;
			Liczba_ciec = S2+W2+2;
			macierz_igen= S2 +' x ' +W2;
		}
	}

	upust = 1;
	if(document.kalkulator.dealer.value!=1) upust=1.33;
	Cena_iGen = (Cena_papieru(1) + Cena_druku_na_iGen() + Cena_Introligatorki(Kalkulacja_bez_ciecia) + Cena_Personalizacji() + Cena_Uszlachetniania() )*upust; // w cenie papiery obliczam wsp koszty wykorzystywany w funkcji ceny druku dlatego kolenoć działań jest istotna
	pokaz = 'Druk igen\nCena papieru: '+ Cena_papieru(1) +'\nCena druku: ' + Cena_druku_na_iGen() + '\nCena introligatorki: '+Cena_Introligatorki(Kalkulacja_bez_ciecia)+'\nCena personalizacji: '+Cena_Personalizacji() +'\nCena uszlachetniania: '+Cena_Uszlachetniania();

	if (Cena_iGen < 30) Cena_iGen = 30;   //  minimalka

	expresowa_doplata=0;
	korekta_terminu = 0;
	if(awaria_igen)
	{
		korekta_terminu += wydluzenie_terminu_w_razie_awarii*24;
	}

	if (document.kalkulator.expres.checked) {
		if(expres_igen)	{
			expresowa_doplata = Cena_iGen*0.3;
			korekta_terminu += -36;
		} else {
			alert(js_alert_ekspres_niedostepny_dla_iGen3);
			zamow=false;
		}
	}

	//wynik wpisujemy do formularza

	document.kalkulator.wynik_iGen.value =      js_Cena+formatNum(Cena_iGen/kurs_waluty,2)+' '+wal+' (+'+vat*22+'% VAT)';
	document.kalkulator.wynik_iGen.value += '\r\n' + js_Cena_szt+formatNum(Cena_iGen/Naklad/kurs_waluty,2)+' '+wal+' (+'+vat*22+'% VAT)';
	if(expresowa_doplata>0)	document.kalkulator.wynik_iGen.value += '\r\n\n'+js_Dopl_za_eksp+formatNum(expresowa_doplata/kurs_waluty,2)+' '+wal+' (+'+vat*22+'% VAT)';

	document.kalkulator.wynik_iGen.value += "\r\n  __________________________";
	document.kalkulator.wynik_iGen.value += '\r\n'+js_Waga+formatNum(waga(),2)+"kg\r\n";
	document.kalkulator.wynik_iGen.value += js_Termin + (Math.ceil(oblicz_termin(korekta_terminu)/24)) +js_dnirob+'\r\n'
	if (!WWW){
		document.kalkulator.wynik_iGen.value+= "\r\nCena druku:           "+ formatNum(Cena_druku_na_iGen()*upust,2)+'\r\n';
		document.kalkulator.wynik_iGen.value+= "Cena papieru:         "+ formatNum(Cena_papieru(1)*upust,2)+'\r\n';
		if (Cena_Uszlachetniania() > 0) document.kalkulator.wynik_iGen.value+="Cena uszlachetniania: "+ formatNum(Cena_Uszlachetniania()*upust,2)+'\r\n';
		if (Cena_Introligatorki(Kalkulacja_bez_ciecia) > 0)  document.kalkulator.wynik_iGen.value+="Cena introligatorni:  "+ formatNum(Cena_Introligatorki(Kalkulacja_bez_ciecia)*upust,2)+'\r\n' ;
		if (Cena_Personalizacji() > 0)  document.kalkulator.wynik_iGen.value+="Cena personalizacji:  "+ formatNum(Cena_Personalizacji()*upust,2)+'\r\n' ;
	}

	if (PapierDane[document.kalkulator.Papier.selectedIndex].Nazwa == js_papier_karton_powlekany_blysk && Gramatura == 115)
	{
		document.kalkulator.wynik_iGen.value = js_alert_Na_maszynie_nie_drukujemy_blysk_115; // przy zalozeniu ze cena za sztuke dotyczy tylko kopert
		zamow=false;
	}
	if (document.getElementById("ID_chk_1").checked)
	{
		alert(js_alert_Przy_falcowaniu_Gen3_pekanie_farby);
	}

	if (Cena_iGen == 30) {
		alert(js_alert_cena_jest_minimalka);
	}

	if( Kalkulacja_bez_ciecia &&((PapierDane[document.kalkulator.Papier.selectedIndex].SzerArk) < 350 || (PapierDane[document.kalkulator.Papier.selectedIndex].WysArk) < 500))
	{
		alert(js_alert_rozmiar_arkusza_wynosi + (PapierDane[document.kalkulator.Papier.selectedIndex].SzerArk) + 'mm x ' + (PapierDane[document.kalkulator.Papier.selectedIndex].WysArk) + 'mm.');
	}

	if (Cena_iGen>=4000) {
		alert(js_alert_wydluzony_termin_igen)
	}

	if(zamow){
		document.kalkulator.SzerArkusza.value = PapierDane[document.kalkulator.Papier.selectedIndex].SzerArk;
		document.kalkulator.WysArkusza.value  = PapierDane[document.kalkulator.Papier.selectedIndex].WysArk;
		document.kalkulator.macierz.value = macierz_igen;
		document.kalkulator.Maszyna.value="DC";
		document.kalkulator.termin.value = oblicz_termin("DC");
		document.kalkulator.CenaRazem.value = formatNum((Cena_iGen + expresowa_doplata),2);
		document.kalkulator.Introligatorka_text.value = wygeneruj_tekst_podzlecenia_intrologatorki();

		document.kalkulator.procent_drukarnia.value			= Cena_druku_na_iGen() * upust / Cena_iGen;
		document.kalkulator.procent_introligatornia.value	= (Cena_Introligatorki(Kalkulacja_bez_ciecia)+Cena_papieru(1)) * upust / Cena_iGen;
		document.kalkulator.procent_uszlachetnianie.value	= Cena_Uszlachetniania() * upust / Cena_iGen;
		document.kalkulator.procent_personalizacja.value	= Cena_Personalizacji() * upust / Cena_iGen;

		wypelnij_pola_do_posta();
		document.kalkulator.submit();
	}

}


function Kalkulacja_offset(zamow)
{
	Naklad = document.kalkulator.Naklad.value;
	Gramatura = document.kalkulator.Gramatura[document.kalkulator.Gramatura.selectedIndex].text;
	var	Kalkulacja_bez_ciecia = true;
	if(document.getElementById("ID_introl_1").checked){ //jesli wybrano kalkulacje dowolnego uzytku
		Kalkulacja_bez_ciecia = false;
		SzerUzytku = document.kalkulator.SzerUzytku.value;
		WysUzytku = document.kalkulator.WysUzytku.value;		// jesli jest druk arkusza nie potrzebujemy tej zmiennej
	}
	var Szer_Arkusza = 330; //340;
	var Wys_Arkusza = 440; //460;
	if((PapierDane[document.kalkulator.Papier.selectedIndex].SzerArk) < 330) Szer_Arkusza = PapierDane[document.kalkulator.Papier.selectedIndex].SzerArk-2;
	if((PapierDane[document.kalkulator.Papier.selectedIndex].WysArk) < 440) Wys_Arkusza = PapierDane[document.kalkulator.Papier.selectedIndex].WysArk-2;

	var macierz_offset = '';
	if( Kalkulacja_bez_ciecia ){
		Liczba_uzytkow_na_arkuszu=1;
		Liczba_ciec=0;
		macierz_offset='pełen arkusz';
	}else{
		// obliczamy ile uzytków zmiesci nie na arkuszu w zaleznoci od orietacji strony
		S1 = Math.floor( Szer_Arkusza / SzerUzytku );
		W1 = Math.floor( Wys_Arkusza / WysUzytku );
		S2 = Math.floor( Wys_Arkusza / SzerUzytku );
		W2 = Math.floor( Szer_Arkusza / WysUzytku );

		if((document.kalkulator.czy_dwustronny[1].checked) && (S1*W1 > 1 || S2*W2 > 1))  //jeżeli druk na odwrotkę...
		{
			if (Math.floor(S1*W1/2)!=S1*W1/2)		// ...oraz jeżeli liczba uzytków jest nieparzysta....
			{
				if (S1>W1) S1=S1-1; else W1=W1-1; // ...robimy tak żeby liczna urzytków była parzysta
			}
			if (Math.floor(S2*W2/2)!=S2*W2/2)		// ...oraz jeżeli liczba uzytków jest nieparzysta....
			{
				if (S2>W2) S2=S2-1; else W2=W2-1; // ...robimy tak żeby liczna urzytków była parzysta
			}
		}

		if (S1*W1>S2*W2) {
			Liczba_uzytkow_na_arkuszu= S1*W1;
			Liczba_ciec = S1+W1+2;				// cięcie liczone jest bez wycinki
			macierz_offset= S1 +' x ' +W1;
		}else{
			Liczba_uzytkow_na_arkuszu= S2*W2;
			Liczba_ciec = S2+W2+2;
			macierz_offset= S2 +' x ' +W2;
		}
	}

	upust = 1;
	if(document.kalkulator.dealer.value!=1) upust=1.33;
	Cena_offset = (Cena_papieru(2) +Cena_druku_na_offsecie() + Cena_Introligatorki(Kalkulacja_bez_ciecia) + Cena_Uszlachetniania())*upust; // w cenie papiery obliczam wsp koszty wykorzystywany w funkcji ceny druku dlatego kolenoć działań jest istotna
	pokaz = 'Druk offset\nCena papieru: '+ Cena_papieru(2) +'\nCena druku: ' + Cena_druku_na_offsecie() + '\nCena introligatorki: '+Cena_Introligatorki(Kalkulacja_bez_ciecia)+'\nCena uszlachetniania: '+Cena_Uszlachetniania()+' ';

	expresowa_doplata = 0;
	korekta_terminu=0;
	if(awaria_offset)
	{
		korekta_terminu += wydluzenie_terminu_w_razie_awarii*24;
	}

	if(lb_przelotow > 6000)
	{
		korekta_terminu +=24;
	}

	if (document.kalkulator.expres.checked) {
		if(expres_offset)	{
			expresowa_doplata = Cena_offset*0.3;
			korekta_terminu = -36;
		}
		else
		{
			alert(js_alert_ekspres_niedostepny_dla_Prestek);
			zamow=false;
		}
	}

//wynik wpisujemy do formularza

	document.kalkulator.wynik_offset.value =      js_Cena+formatNum(Cena_offset/kurs_waluty,2)+' '+wal+' (+'+vat*22+'% VAT)';
	document.kalkulator.wynik_offset.value += '\r\n'+js_Cena_szt+formatNum(Cena_offset/Naklad/kurs_waluty,4)+' '+wal+' (+'+vat*22+'% VAT)';
	if(expresowa_doplata>0)	document.kalkulator.wynik_offset.value += '\r\n\n'+js_Dopl_za_eksp+formatNum(expresowa_doplata/kurs_waluty,2)+' '+wal+' (+'+vat*22+'% VAT)';
	document.kalkulator.wynik_offset.value += "\r\n  __________________________";
	document.kalkulator.wynik_offset.value += '\r\n'+js_Waga+formatNum(waga(),2)+'kg\r\n';
	document.kalkulator.wynik_offset.value += js_Termin+ (Math.ceil(oblicz_termin(korekta_terminu)/24)) +js_dnirob+'\r\n'

	if(!WWW) {
		document.kalkulator.wynik_offset.value +=  "\r\n\r\nCena druku:         "+formatNum(Cena_druku_na_offsecie()*upust,2)+"zł\r\n";
		document.kalkulator.wynik_offset.value += "Cena papieru:        "+formatNum(Cena_papieru(2)*upust,2)+"zł\r\n";
		if (Cena_Uszlachetniania() > 0) document.kalkulator.wynik_offset.value +="Cena uszlachetniania:" + formatNum(Cena_Uszlachetniania()*upust,2) + "zł\r\n";
		if (Cena_Introligatorki(Kalkulacja_bez_ciecia) > 0)  document.kalkulator.wynik_offset.value +="Cena introligatorni: " + formatNum(Cena_Introligatorki(Kalkulacja_bez_ciecia)*upust,2) + "zł\r\n";
	}

	var pap =document.kalkulator.Papier[document.kalkulator.Papier.selectedIndex].text ;
	if (pap == js_karton_Trucard || pap == js_karton_jednostronnie_powlekany || pap == js_Tworzywo_sztuczne_PET)
	{
		document.kalkulator.wynik_offset.value=js_alert_Na_maszynie_nie_drukujemy_na_tym;
		zamow=false;
	}
	if(Za_duzy_naklad)
	{
		document.kalkulator.wynik_offset.value=js_alert_Maksymalny_naklad;
		zamow=false;
	}
	if(document.kalkulator.Papier.selectedIndex >=8)
	{
		document.kalkulator.wynik_offset.value=js_alert_ozdobny_na_presteku;
		zamow=false;
	}
	if (Liczba_uzytkow_na_arkuszu == 0)
	{
		document.kalkulator.wynik_offset.value = js_alert_Uzytku_nie_mozna_wydr_na_maszynie;
		zamow=false;
	}

	if (document.kalkulator.chk_personal_1.checked == true || document.kalkulator.chk_personal_2.checked == true)
	{
		document.kalkulator.wynik_offset.value = js_alert_Na_maszynie_nie_ma_personalizacji;
		zamow=false;
	}

	if (document.kalkulator.czy_dwustronny[1].checked && Liczba_uzytkow_na_arkuszu>1){
		jednostronneUszlachetnianie=0;
		if (document.kalkulator.Uszlachetnianie[document.kalkulator.Uszlachetnianie.selectedIndex].text == js_Laminowanie_jednostronne_blysk)	jednostronneUszlachetnianie=1;
		if (document.kalkulator.Uszlachetnianie[document.kalkulator.Uszlachetnianie.selectedIndex].text == js_Laminowanie_jednostronne_mat  )	jednostronneUszlachetnianie=1;
		if (document.kalkulator.Uszlachetnianie[document.kalkulator.Uszlachetnianie.selectedIndex].text == js_Lakierowanie_UV_jednostronne  )	jednostronneUszlachetnianie=1;
		if (jednostronneUszlachetnianie ==1){
			document.kalkulator.wynik_offset.value = js_alert_przewrotka_nie_uszlachet_jednstr;
			zamow=false;
		}
	}

	if (Cena_offset>=4000) {
		alert(js_alert_wydluzony_termin_offset)
	}

	document.kalkulator.Introligatorka_text.value = wygeneruj_tekst_podzlecenia_intrologatorki();

	if(zamow){

		document.kalkulator.SzerArkusza.value = Szer_Arkusza;
		document.kalkulator.WysArkusza.value = Wys_Arkusza;
		document.kalkulator.macierz.value = macierz_offset;
		document.kalkulator.Maszyna.value="QM";
		document.kalkulator.termin.value = oblicz_termin("QM");

		document.kalkulator.CenaRazem.value = formatNum((Cena_offset + expresowa_doplata),2);

		document.kalkulator.procent_drukarnia.value			= Cena_druku_na_offsecie() * upust / Cena_offset;
		document.kalkulator.procent_introligatornia.value	= (Cena_Introligatorki(Kalkulacja_bez_ciecia)+Cena_papieru(2)) * upust / Cena_offset;
		document.kalkulator.procent_uszlachetnianie.value	= Cena_Uszlachetniania() * upust / Cena_offset;

		wypelnij_pola_do_posta();
		//if(awaria_offset){
		//	document.kalkulator.wynik_offset.value = 'Nie można zamówić z powodu awarii maszyny.';
		document.kalkulator.submit();

	}
}

function wygeneruj_tekst_podzlecenia_intrologatorki()
{
	Uzytki_slownie="użytek";
	if (Liczba_uzytkow_na_arkuszu >1) Uzytki_slownie="użytki";
	if (Liczba_uzytkow_na_arkuszu >4) Uzytki_slownie="użytków";
	specyfikacja="<TABLE><TR><TD>Cięcie na "+Liczba_uzytkow_na_arkuszu+" "+Uzytki_slownie+" - "+(SzerUzytku-4)+" x "+(WysUzytku-4)+"mm</TD></TR>";		// nazwy usług odpowiadające powyższej liście zapisywane sa w zmiennej specyfikacja jako fragment kody html
	for (var i = 1; i <= 4; i++)
	{
		if (document.getElementById("ID_chk_"+i).checked) {
			specyfikacja += "<TR><TD>"+IntrolDane[i].Nazwa;
			if (document.getElementById("ID_chk_2").checked) specyfikacja += " "+document.kalkulator.liczba_bigow.value+" big";
			specyfikacja +="</TD></TR>";
			}
	}
	if (document.getElementById("ID_chk_5").checked)
	{
		for (var i=1; i<=3; i++)
		{
			if(document.getElementById("ID_Kolory_"+i).checked)
			{
				specyfikacja = specyfikacja.substring(0,specyfikacja.length-10);
				specyfikacja +=" : "+ document.getElementById("ID_Kolory_"+i).value +"</TD></TR>";

			}
		}
	}


	specyfikacja +="</TABLE>";
	return specyfikacja; // zmienna przekazywana jest do formularza i potem do bazy
}



function wypelnij_pola_do_posta()
{
	var ListaWybranychUsligIntr = new Array();
	for (var i = 1; i <= 5; i++) {
		ListaWybranychUsligIntr.push(document.getElementById("ID_chk_"+i).checked*1);    	// introligatorka zapisana jest w polu jako ciąg liczn oznaczający poszczególne pozycje na liście.
	}
	for (var i = 1; i <= 3; i++) {
		if (document.getElementById("ID_Kolory_"+i).checked) document.kalkulator.Kolory_index.value = i;
	}
	document.kalkulator.Introligatorka_index.value = ListaWybranychUsligIntr;
	document.kalkulator.LiczbaArkuszy.value = Liczba_arkuszy;
	document.kalkulator.masa_sztuki.value = waga();
	document.kalkulator.pokrycie_index.value = document.kalkulator.pokrycie.selectedIndex;
	document.kalkulator.Papier_index.value = document.kalkulator.Papier.selectedIndex;
	document.kalkulator.Gramatura_index.value = document.kalkulator.Gramatura.selectedIndex;
	document.kalkulator.Uszlachetnianie_index.value = document.kalkulator.Uszlachetnianie.selectedIndex;
	document.kalkulator.Gramatura_index.value = document.kalkulator.Gramatura.selectedIndex;
	document.kalkulator.Gramatura_index.value = document.kalkulator.Gramatura.selectedIndex;
	document.kalkulator.CenaZaSztuke.value = formatNum(document.kalkulator.CenaRazem.value/Naklad,4);


}

function ustaw_dostepne_uslugi(){

	if (document.getElementById("ID_introl_0").checked){
		document.kalkulator.SzerUzytku.value = "max"; // tu ma byc wpisane tyle ile jest pola zadruku
		document.kalkulator.WysUzytku.value = "max";
		document.kalkulator.SzerUzytku.disabled=true;
		document.kalkulator.WysUzytku.disabled=true;
		document.getElementById("ID_ikony").style.visibility = "hidden";
		document.getElementById("ID_szer_lb").disabled=true;
		document.getElementById("ID_wys_lb").disabled=true;
		document.getElementById("ID_maxSzer").disabled=true;
		document.getElementById("ID_maxWys").disabled=true;
		document.kalkulator.SzerUzytku.disabled=true;
		document.kalkulator.WysUzytku.disabled=true;
		document.getElementById("ID_Intr_lb").disabled=true;
		document.kalkulator.liczba_bigow.disabled=true;
		document.getElementById("ID_liczba_bigow_lb").disabled=true;
		document.kalkulator.liczba_bigow.value = "";
		for (var i=1; i<=4; i++){
			document.getElementById("ID_chk_lb_"+i).disabled=true;
			document.getElementById("ID_chk_"+i).checked=false;
			document.getElementById("ID_chk_"+i).disabled=true;
		}

		document.getElementById("ID_liczba_bloczkow").disabled = document.getElementById("ID_chk_lb_4").disabled;
		document.getElementById("ID_liczba_bloczkow_lb").disabled = document.getElementById("ID_chk_lb_4").disabled;

	}else{
		document.kalkulator.SzerUzytku.value = 344;
		document.kalkulator.WysUzytku.value = 494;
		document.kalkulator.SzerUzytku.disabled=false;
		document.kalkulator.WysUzytku.disabled=false;
		document.getElementById("ID_ikony").style.visibility = "visible";
		document.getElementById("ID_szer_lb").disabled=false;
		document.getElementById("ID_wys_lb").disabled=false;
		document.getElementById("ID_maxSzer").disabled=false;
		document.getElementById("ID_maxWys").disabled=false;
		document.kalkulator.SzerUzytku.disabled=false;
		document.kalkulator.WysUzytku.disabled=false;
		document.getElementById("ID_Intr_lb").disabled=false;

		setIntroligatorka() ;
		//setRamy();
	}
}

function Sprawdz_dane()
{
	var blad=true;

	if (document.kalkulator.SzerUzytku.value == 0 || document.kalkulator.WysUzytku.value == 0 || document.kalkulator.Naklad.value == 0)
	{
		alert(js_alert_Wypelnij_wszystkie_pola);
		blad=false;
	}
	else if(document.getElementById("ID_introl_1").checked) //sprawdzamy czy wymiary sš prawidłowe ale tylko jeśli jest kalkulacja dowolnego urzytku
	{
		var maxSzer = PapierDane[document.kalkulator.Papier.selectedIndex].SzerArk-6;
		var maxWys = PapierDane[document.kalkulator.Papier.selectedIndex].WysArk-6;
		if (document.kalkulator.SzerUzytku.value > maxSzer  )
		{
			document.kalkulator.SzerUzytku.select();
			alert(js_alert_Maksymala_szer_tego_papieru+ maxSzer+'mm');
			document.kalkulator.SzerUzytku.value =maxSzer;
			blad=false;
		}
		if (document.kalkulator.WysUzytku.value > maxWys)
		{
			document.kalkulator.WysUzytku.select();
			alert(js_alert_Maksymala_wys_tego_papieru + maxWys+'mm');
			document.kalkulator.WysUzytku.value =maxWys;
			blad=false;
		}

		if (document.kalkulator.SzerUzytku.value < 44  )
		{
			document.kalkulator.SzerUzytku.select();
			alert(js_alert_Minimalna_szerokosc_uzytku_4cm);
			document.kalkulator.SzerUzytku.value =44;
			blad=false;
		}
		if (document.kalkulator.WysUzytku.value < 44  )
		{
			document.kalkulator.WysUzytku.select();
			alert(js_alert_Minimalna_wysokosc_uzytku_4cm);
			document.kalkulator.WysUzytku.value =44;
			blad=false;
		}

		if (document.kalkulator.chk_listwowanie.checked && !document.getElementById("ID_Kolory_1").checked && !document.getElementById("ID_Kolory_2").checked && !document.getElementById("ID_Kolory_3").checked)
		{
		alert(js_alert_Wybierz_kolor_listwy);
			blad=false;
		}
	}
	if(document.kalkulator.chk_klejenie.checked){
		naklad = document.kalkulator.Naklad.value;
		liczba_kartek = document.kalkulator.liczba_bloczkow.value;
		if (naklad%liczba_kartek > 1) {
			nowa_liczba_kartek = Math.round(naklad/Math.ceil(naklad/liczba_kartek));
			nowa_liczba_kartek2 = Math.round(naklad/Math.floor(naklad/liczba_kartek));
			if( Math.abs(nowa_liczba_kartek-liczba_kartek) > Math.abs(nowa_liczba_kartek2-liczba_kartek)) nowa_liczba_kartek = nowa_liczba_kartek2;
			nowy_naklad = naklad*1+naklad%liczba_kartek;
			if(Math.abs(nowa_liczba_kartek - liczba_kartek) > 1){
				alert(js_alert_opt_kartek_w_bloczku_1 + nowa_liczba_kartek+ js_alert_opt_kartek_w_bloczku_2 + nowy_naklad+'.')
				blad=false
			}
		}
		if(liczba_kartek > 400){
			alert(js_alert_max_kartek_w_bloczku);
			blad=false;
		}
		else if(liczba_kartek < 20 ){
			alert(js_alert_min_kartek_w_bloczku);
			blad=false;
		}

	}


	return blad;
}


function ustaw_ptaszki() //w checkboksach
{
	if (document.kalkulator.chk_falcowanie.checked)
	{
		document.getElementById("ID_chk_lb_2").disabled=true;
		document.getElementById("ID_chk_lb_3").disabled=true;
		document.getElementById("ID_chk_lb_4").disabled=true;
		document.getElementById("ID_chk_lb_5").disabled=true;
		document.getElementById("ID_liczba_bigow_lb").disabled=true;
		document.kalkulator.chk_bigowanie1.checked=false;
		document.kalkulator.chk_bigowanie1.disabled=true;
		document.kalkulator.chk_listwowanie.checked=false;
		document.kalkulator.chk_listwowanie.disabled=true;
		document.kalkulator.chk_skladanie.checked=false;
		document.kalkulator.chk_skladanie.disabled=true;
		document.kalkulator.chk_klejenie.checked=false;
		document.kalkulator.chk_klejenie.disabled=true;
		document.kalkulator.liczba_bigow.disabled = true;
		document.kalkulator.liczba_bigow.value = "";
	}
	else if (document.kalkulator.chk_bigowanie1.checked)
	{

		document.getElementById("ID_chk_lb_3").disabled=false;
		document.getElementById("ID_chk_lb_4").disabled=true;
		document.getElementById("ID_chk_lb_5").disabled=true;
		document.getElementById("ID_liczba_bigow_lb").disabled=false;
		document.kalkulator.chk_falcowanie.checked=false;
		document.kalkulator.chk_listwowanie.checked=false;
		document.kalkulator.chk_listwowanie.disabled=true;
		document.kalkulator.chk_skladanie.disabled=false;
		document.kalkulator.liczba_bigow.disabled=false;
		document.kalkulator.liczba_bigow.value = 1;
		document.kalkulator.chk_klejenie.checked=false;
		document.kalkulator.chk_klejenie.disabled=true;
		if (document.kalkulator.Papier[document.kalkulator.Papier.selectedIndex].text == js_Tworzywo_sztuczne_PET)
		{
			document.kalkulator.chk_skladanie.checked=false;
			document.kalkulator.chk_skladanie.disabled=true;
		}
	}else{
		document.getElementById("ID_chk_lb_2").disabled=false;
		document.getElementById("ID_chk_lb_3").disabled=true;
		document.getElementById("ID_chk_lb_4").disabled=false;
		document.getElementById("ID_liczba_bigow_lb").disabled=true;
		document.kalkulator.chk_bigowanie1.disabled=false;
		if (Gramatura>180) {
			document.kalkulator.chk_listwowanie.disabled=false;
			document.getElementById("ID_chk_lb_5").disabled=false;
		}
		document.kalkulator.chk_skladanie.checked=false;
		document.kalkulator.chk_skladanie.disabled=true;
		//document.kalkulator.chk_klejenie.checked=true;
		document.kalkulator.chk_klejenie.disabled=false;
		document.kalkulator.liczba_bigow.disabled=true;
		document.kalkulator.liczba_bigow.value = "";
	}

	if ( Math.max(document.kalkulator.SzerUzytku.value, document.kalkulator.WysUzytku.value)<104)
	{
		document.kalkulator.chk_bigowanie1.checked=false;
		document.kalkulator.chk_bigowanie1.disabled=true;
		document.getElementById("ID_chk_lb_2").disabled=true;
	}

	if (Math.min(document.kalkulator.SzerUzytku.value , document.kalkulator.WysUzytku.value) < 109  || Math.max(document.kalkulator.WysUzytku.value, document.kalkulator.SzerUzytku.value)>301)
	{
		document.kalkulator.chk_klejenie.checked=false;
		document.getElementById("ID_chk_lb_4").disabled=true;
		document.getElementById("ID_chk_4").disabled=true;
		document.kalkulator.chk_klejenie.disabled=true;
		document.kalkulator.liczba_bloczkow.value='';
	}

	StanFalc=document.kalkulator.chk_falcowanie.checked;
	if (document.kalkulator.chk_klejenie.checked)
	{
		document.kalkulator.chk_falcowanie.checked=false;
		document.kalkulator.liczba_bloczkow.disabled=false;
		document.getElementById("ID_liczba_bloczkow_lb").disabled=false;
		document.kalkulator.chk_listwowanie.checked=false;
		document.kalkulator.chk_listwowanie.disabled=true;
		document.getElementById("ID_chk_lb_5").disabled=true;
	}else{
		document.kalkulator.chk_falcowanie.checked=StanFalc;
		document.kalkulator.liczba_bloczkow.disabled=true;
		document.kalkulator.liczba_bloczkow.value='';
		document.getElementById("ID_liczba_bloczkow_lb").disabled=true;
	}

	for (i=1; i<=5; i++) if (document.getElementById("ID_chk_"+i).disabled) document.getElementById("ID_chk_"+i).checked=false;
		setKolory();
		//document.getElementById("ID_chk_lb_1").disabled
		//document.getElementById("ID_chk_lb_2").disabled
		//document.getElementById("ID_chk_lb_3").disabled
		//document.getElementById("ID_chk_lb_5").disabled



}

function switch_expres()
{
	expres = 1;
	if (document.kalkulator.Uszlachetnianie.selectedIndex >0)
	{
		expres=0;
	}
	if (document.kalkulator.chk_personal_1.checked || document.kalkulator.chk_personal_2.checked)
	{
		expres=0;
	}
	if (document.kalkulator.chk_skladanie.checked || document.kalkulator.chk_klejenie.checked || document.kalkulator.chk_listwowanie.checked)
	{
		expres=0;
	}
	if(expres){
		document.getElementById("ID_Expres_lb").disabled=false;
		document.kalkulator.expres.disabled = false;
	} else {
		document.getElementById("ID_Expres_lb").disabled=true;
		document.kalkulator.expres.disabled = true;
		document.kalkulator.expres.checked = false;
	}
}


function waga()
{

var Waga;
	if(document.getElementById("ID_introl_1").checked)
	{
		Waga = Naklad * (WysUzytku-4)*(SzerUzytku-4) * document.kalkulator.Gramatura[document.kalkulator.Gramatura.selectedIndex].text/1000 /1000000;
	} else
	{
		Waga = Liczba_arkuszy * PapierDane[document.kalkulator.Papier.selectedIndex].SzerArk/1000 * PapierDane[document.kalkulator.Papier.selectedIndex].WysArk / 1000 * document.kalkulator.Gramatura[document.kalkulator.Gramatura.selectedIndex].text/1000;
	}

	return Waga;
}


function oblicz_termin(expresowa_doplata)
{

	var termin = 48 + korekta_terminu;
	if (document.kalkulator.Uszlachetnianie.selectedIndex>0)
	{
		termin += 24;
	}
	if (document.kalkulator.Uszlachetnianie[document.kalkulator.Uszlachetnianie.selectedIndex].text.substring(0,11) == 'Laminowanie' && Liczba_arkuszy >1000)
	{
		termin += 24;
	}

	if (document.kalkulator.chk_personal_1.checked || document.kalkulator.chk_personal_2.checked)
	{
		termin += 24;
	}

	if ((Papier.substring(0,20)==js_papier_samoprzylepny || Papier==js_folia_samoprzylepna) && Liczba_uzytkow_na_arkuszu > 15)
	{
		termin += 24;
	}
	//if (document.kalkulator.Oprawa.selectedIndex > 0 )
//	{
		//termin += 24;
	//}

	if((	document.kalkulator.chk_bigowanie1.checked	|| document.kalkulator.chk_listwowanie.checked)&& document.kalkulator.Naklad.value > 300)
	{
		N=document.kalkulator.Naklad.value ;
		termin += ((((N-300)-(N-300)%600)/600)+1)*24; // za każde 600 uzytków powyżej 300 jeden dzień więcej
	}
	if(document.kalkulator.chk_klejenie.checked){
		termin += 24;
	}
	return termin;

}

function wpisz_wartosci(x,y){
//	if (!Bez_introligatorki){
	 if(x) document.kalkulator.SzerUzytku.value = x;
	 if(y) document.kalkulator.WysUzytku.value = y;
	 setIntroligatorka();
	 ustaw_ptaszki();

	// setRamy();
//	}
}
