﻿// kalkulator cen druku cyfrowego wykonany 
// dla firmy Media Press
// Kod chroniony prawem autorskim.
// Kopiowanie bez zgody autora zabronione
//
// © 2006-2009 Maciej Wieczorek wieczorek69@gmail.com 
//

// naklady wizytowek w zaleznosci od rozmiaru:
// index x=(0,1) to rozmiary (90x50 85x55)

naklad_wizytowek = new Array();
naklad_wizytowek[0] = new Array();
naklad_wizytowek[1] = new Array();

// rozmiar 90x50 
naklad_wizytowek[0][0]=96;
naklad_wizytowek[0][1]=120;
naklad_wizytowek[0][2]=216;
naklad_wizytowek[0][3]=312;
naklad_wizytowek[0][4]=408;
naklad_wizytowek[0][5]=504;
naklad_wizytowek[0][6]=600;
naklad_wizytowek[0][7]=720;
naklad_wizytowek[0][8]=816;
naklad_wizytowek[0][9]=912;
naklad_wizytowek[0][10]=1008;
naklad_wizytowek[0][11]=1104;
naklad_wizytowek[0][12]=1200;

// rozmiar 85x55 
naklad_wizytowek[1][0]=105;
naklad_wizytowek[1][1]=210;
naklad_wizytowek[1][2]=315;
naklad_wizytowek[1][3]=399;
naklad_wizytowek[1][4]=504;
naklad_wizytowek[1][5]=609;
naklad_wizytowek[1][6]=714;
naklad_wizytowek[1][7]=798;
naklad_wizytowek[1][8]=903;
naklad_wizytowek[1][9]=1008;
naklad_wizytowek[1][10]=1113;
naklad_wizytowek[1][11]=1197;
naklad_wizytowek[1][12]=1302;

// minimalne naklady wizytówek w zaleznosci od kolorystyki:
// index x=(0,1) to rozmiary (90x50 85x55)
// index y=(1,2,4,5,8) to liczba kolorów po zsumowaniu (np. 4+1)

min_naklad=new Array;
min_naklad[0]=new Array();
min_naklad[1]=new Array();

min_naklad[0][4]=96;
min_naklad[0][5]=96;
min_naklad[0][1]=408;
min_naklad[0][8]=96;
min_naklad[0][2]=216;
min_naklad[1][4]=105;
min_naklad[1][5]=105;
min_naklad[1][1]=315;
min_naklad[1][8]=105;
min_naklad[1][2]=210;


//  cena za cięcie 25 arkuszy
cena_ciecie_25ark=10;
// maksymalna cena za cięcie
maks_cena_ciecie=50;

// rozklad uzytkow na arkuszu w zaleznosci od wymiaru
wiz_arkusz=new Array;
wiz_arkusz[0]=24;
wiz_arkusz[1]=21;

// ceny za druk arkusza o danej kolorystyce przy zadanych nakladach
ceny_naklady=new Array;
for (i=0; i<=7; i++) {
ceny_naklady[i]=new Array();
 }
 
// tablica indeks x (0-7) to naklady
//                y (1-2) to kolory: A3 cz-b, A3 kolor

// naklad 1
ceny_naklady[0][1]=1.0 // A4 cz-b
ceny_naklady[0][2]=6.0 // A4 kolor
ceny_naklady[0][3]=1.0 // A3 cz-b
ceny_naklady[0][4]=6.0 // A3 kolor
// naklad 2-9
ceny_naklady[1][1]=1.0
ceny_naklady[1][2]=5.0
ceny_naklady[1][3]=1.0
ceny_naklady[1][4]=5.0
// naklad 10-19
ceny_naklady[2][1]=0.9
ceny_naklady[2][2]=4.0
ceny_naklady[2][3]=0.9
ceny_naklady[2][4]=4.0
// naklad 20-49
ceny_naklady[3][1]=0.7
ceny_naklady[3][2]=3.0
ceny_naklady[3][3]=0.7
ceny_naklady[3][4]=3.0
// naklad pow. 50
ceny_naklady[4][1]=0.6
ceny_naklady[4][2]=2.0
ceny_naklady[4][3]=0.6
ceny_naklady[4][4]=2.0
// naklad pow. 100
ceny_naklady[5][1]=0.5
ceny_naklady[5][2]=1.9
ceny_naklady[5][3]=0.5
ceny_naklady[5][4]=1.9
// naklad pow. 200
ceny_naklady[6][1]=0.5
ceny_naklady[6][2]=1.8
ceny_naklady[6][3]=0.5
ceny_naklady[6][4]=1.8
// naklad pow. 500
ceny_naklady[7][1]=0.4
ceny_naklady[7][2]=1.7
ceny_naklady[7][3]=0.4
ceny_naklady[7][4]=1.7


// tablica z nazwami formatów
nazwy_formatow=new Array();
nazwy_formatow[0]="format";
nazwy_formatow[1]="A4";
nazwy_formatow[2]="A3";
nazwy_formatow[3]="SR A3";

// ceny podłoży do druku
ceny_papiery=new Array();
for (i=0; i<=41; i++) {
ceny_papiery[i]=new Array();
 }
// tablica indeks x (0-41) to papiery
//                y (0-3) to formaty: nazwa, A4, A3, SR A3

// wybierz
ceny_papiery[0][0]="- wybierz rodzaj papieru -";
ceny_papiery[0][1]=0;
ceny_papiery[0][2]=0;
ceny_papiery[0][3]=0;
// papier 90 g
ceny_papiery[1][0]="satyna 90g";
ceny_papiery[1][1]=0;
ceny_papiery[1][2]=0.15;
ceny_papiery[1][3]=0.20;
// papier 120 g
ceny_papiery[2][0]="satyna 120g";
ceny_papiery[2][1]=0;
ceny_papiery[2][2]=0.20;
ceny_papiery[2][3]=0.30;
// papier 160 g
ceny_papiery[3][0]="satyna 160 g";
ceny_papiery[3][1]=0;
ceny_papiery[3][2]=0.30;
ceny_papiery[3][3]=0.35;
// papier 210 g
ceny_papiery[4][0]="satyna 210 g";
ceny_papiery[4][1]=0;
ceny_papiery[4][2]=0.45;
ceny_papiery[4][3]=0.55;
// papier 280 g
ceny_papiery[5][0]="satyna 280g";
ceny_papiery[5][1]=0;
ceny_papiery[5][2]=0.65;
ceny_papiery[5][3]=0.80;
// papier 300 g
ceny_papiery[6][0]="satyna 300g";
ceny_papiery[6][1]=0;
ceny_papiery[6][2]=0;
ceny_papiery[6][3]=0.90;
// papier 350 g
ceny_papiery[7][0]="satyna 350g";
ceny_papiery[7][1]=0;
ceny_papiery[7][2]=0;
ceny_papiery[7][3]=1.15;
// papier gloss 135 g dwustr.
ceny_papiery[8][0]="kreda 135g (matt lub gloss)";
ceny_papiery[8][1]=0;
ceny_papiery[8][2]=0;
ceny_papiery[8][3]=0.35;
// papier gloss 170 g dwustr.
ceny_papiery[9][0]="kreda 170g (matt lub gloss)";
ceny_papiery[9][1]=0;
ceny_papiery[9][2]=0;
ceny_papiery[9][3]=0.50;
// papier gloss 200 g dwustr.
ceny_papiery[10][0]="kreda 200g (matt lub gloss)";
ceny_papiery[10][1]=0;
ceny_papiery[10][2]=0;
ceny_papiery[10][3]=0.55;
// papier gloss 250 g dwustr.
ceny_papiery[11][0]="kreda 250g (matt lub gloss)";
ceny_papiery[11][1]=0;
ceny_papiery[11][2]=0;
ceny_papiery[11][3]=0.70;
// papier gloss 300 g dwustr.
ceny_papiery[12][0]="kreda 300g (matt lub gloss)";
ceny_papiery[12][1]=0;
ceny_papiery[12][2]=0;
ceny_papiery[12][3]=0.90;
// papier photo gloss 250 g
ceny_papiery[13][0]="photo gloss 250 g jednostr.";
ceny_papiery[13][1]=0;
ceny_papiery[13][2]=0;
ceny_papiery[13][3]=1.50;
// papier samoprzylepny matt
ceny_papiery[14][0]="papier samoprzylepny matt";
ceny_papiery[14][1]=0;
ceny_papiery[14][2]=0;
ceny_papiery[14][3]=1.20;
// papier samoprzylepny gloss
ceny_papiery[15][0]="papier samoprzylepny gloss";
ceny_papiery[15][1]=0;
ceny_papiery[15][2]=0;
ceny_papiery[15][3]=1.25;
// folia samoprzylepna biała
ceny_papiery[16][0]="folia samoprzylepna biała";
ceny_papiery[16][1]=0;
ceny_papiery[16][2]=0;
ceny_papiery[16][3]=10.00;
// folia samoprz. przezr.
ceny_papiery[17][0]="folia samoprzylepna przezr.";
ceny_papiery[17][1]=0;
ceny_papiery[17][2]=0;
ceny_papiery[17][3]=10.00;
// folia biała błyszcząca
ceny_papiery[18][0]="folia biała błyszcząca";
ceny_papiery[18][1]=0;
ceny_papiery[18][2]=0;
ceny_papiery[18][3]=3.50;
// naklejki na CD (4 szt.)
ceny_papiery[19][0]="naklejki na CD (4 szt.)";
ceny_papiery[19][1]=0;
ceny_papiery[19][2]=1.00;
ceny_papiery[19][3]=0;
// Ivory
ceny_papiery[20][0]="Ivory";
ceny_papiery[20][1]=0;
ceny_papiery[20][2]=0;
ceny_papiery[20][3]=0.70;
// Ivory Raster
ceny_papiery[21][0]="Ivory Raster";
ceny_papiery[21][1]=0;
ceny_papiery[21][2]=0;
ceny_papiery[21][3]=1.40;
// Ivory Tela
ceny_papiery[22][0]="Ivory Tela";
ceny_papiery[22][1]=0;
ceny_papiery[22][2]=0;
ceny_papiery[22][3]=1.40;
// Jade Silk
ceny_papiery[23][0]="Jade Silk";
ceny_papiery[23][1]=0;
ceny_papiery[23][2]=0;
ceny_papiery[23][3]=1.55;
// Jade Laser
ceny_papiery[24][0]="Jade Laser";
ceny_papiery[24][1]=0;
ceny_papiery[24][2]=0;
ceny_papiery[24][3]=1.55;
// Jade Riccio
ceny_papiery[25][0]="Jade Riccio";
ceny_papiery[25][1]=0;
ceny_papiery[25][2]=0;
ceny_papiery[25][3]=1.55;
// Jade Raster
ceny_papiery[26][0]="Jade Raster";
ceny_papiery[26][1]=0;
ceny_papiery[26][2]=0;
ceny_papiery[26][3]=1.40;
// Pergamenata Naturale
ceny_papiery[27][0]="Perg. Naturale";
ceny_papiery[27][1]=0;
ceny_papiery[27][2]=0;
ceny_papiery[27][3]=1.70;
// Pergamenata Marina Conchiglia
ceny_papiery[28][0]="Perg. Marina Conchiglia";
ceny_papiery[28][1]=0;
ceny_papiery[28][2]=0;
ceny_papiery[28][3]=0.85;
// Linen White
ceny_papiery[29][0]="Linen White";
ceny_papiery[29][1]=0;
ceny_papiery[29][2]=0;
ceny_papiery[29][3]=1.55;
// Pergamenata Golden Star
ceny_papiery[30][0]="Perg. Golden Star";
ceny_papiery[30][1]=0;
ceny_papiery[30][2]=0;
ceny_papiery[30][3]=0.85;
// Pearl Ice
ceny_papiery[31][0]="Pearl Ice";
ceny_papiery[31][1]=0;
ceny_papiery[31][2]=0;
ceny_papiery[31][3]=0.90;
// Woodstock Bettula
ceny_papiery[32][0]="Woodstock Bettula";
ceny_papiery[32][1]=0;
ceny_papiery[32][2]=0;
ceny_papiery[32][3]=0.55;
// Tintoretto Ceylon Zenzero
ceny_papiery[33][0]="Tintoretto Ceylon Zenzero";
ceny_papiery[33][1]=0;
ceny_papiery[33][2]=0;
ceny_papiery[33][3]=1.20;
// Tintoretto Ceylon Sezamo
ceny_papiery[34][0]="Tintoretto Ceylon Sezamo";
ceny_papiery[34][1]=0;
ceny_papiery[34][2]=0;
ceny_papiery[34][3]=1.20;
// Sirio Stardust Sabbia
ceny_papiery[35][0]="Sirio Stardust Sabbia";
ceny_papiery[35][1]=0;
ceny_papiery[35][2]=0;
ceny_papiery[35][3]=1.80;
// Sirio Pearl Platinium
ceny_papiery[36][0]="Sirio Pearl Platinium";
ceny_papiery[36][1]=0;
ceny_papiery[36][2]=0;
ceny_papiery[36][3]=1.75;
// Sirio Pearl Aurum
ceny_papiery[37][0]="Sirio Pearl Aurum";
ceny_papiery[37][1]=0;
ceny_papiery[37][2]=0;
ceny_papiery[37][3]=2.45;
// Metallic Gold
ceny_papiery[38][0]="Metallic Gold";
ceny_papiery[38][1]=0;
ceny_papiery[38][2]=0;
ceny_papiery[38][3]=2.10;
// Metallic Silver
ceny_papiery[39][0]="Metallic Silver";
ceny_papiery[39][1]=0;
ceny_papiery[39][2]=0;
ceny_papiery[39][3]=2.10;
// Metallic Copper
ceny_papiery[40][0]="Metallic Copper";
ceny_papiery[40][1]=0;
ceny_papiery[40][2]=0;
ceny_papiery[40][3]=2.10;
// Metallic Kiwi
ceny_papiery[41][0]="Metallic Kiwi";
ceny_papiery[41][1]=0;
ceny_papiery[41][2]=0;
ceny_papiery[41][3]=2.25;

produkty = new Array();
for (i=0; i<=11; i++) {
produkty[i] = new Array();
// produkty[i]['Info'] tablica z parametrami opisowymi produktu
// produkty[i]['Narzad'] tablica ze stałą kwotą doliczaną do ceny np. oprawa, wykrojnik
// produkty[i]['Ilosci'] tablica z ilościami stron, rozkładówek, egzemplarzy itp.
// produkty[i]['Ceny'] tablica z cenami za poszczególne ilości
}
produkty[0]['Info'] = new Array('- Wybierz produkt -',' ','Info');
produkty[0]['Narzad'] = 0;
produkty[0]['Ilosci'] = new Array(1);
produkty[0]['Ceny'] = new Array(0);

produkty[1]['Info'] = new Array('Album w twardej oprawie Exclusive - rozmiar: 19x28 cm (portet)','Ilość rozkładówek:','Okładka: indywidualna grafika, twarda, foliowana na matowo lub błyszcząco<br>Stronice: grube i sztywne<br />Oprawa: klejona, umożliwiająca oglądanie płaskich rozkładówek<br />Maksymalny rozmiar fotografii: 38x28 cm');
produkty[1]['Narzad'] = 0;
produkty[1]['Ilosci'] = new Array(5,8,10,12,16);
produkty[1]['Ceny'] = new Array(178,210,232,154,298);

produkty[2]['Info'] = new Array('Album w twardej oprawie Exclusive - rozmiar: 19x19 cm (kwadrat)','Ilość rozkładówek:','Okładka: indywidualna grafika, twarda, foliowana na matowo lub błyszcząco<br />Stronice: grube i sztywne<br />Oprawa: klejona, umożliwiająca oglądanie płaskich rozkładówek<br />Maksymalny rozmiar fotografii: 38x19 cm');
produkty[2]['Narzad'] = 0;
produkty[2]['Ilosci'] = new Array(5,8,10,12,16);
produkty[2]['Ceny'] = new Array(178,210,232,154,298);

produkty[3]['Info'] = new Array('Album w twardej oprawie, klejony - rozmiar: 19x28 cm (portet)','Ilość stron:','Okładka: indywidualna grafika, twarda, foliowana na matowo lub błyszcząco<br />Stronice: papier kredowy, matowy 200g<br />Oprawa: klejona, podobna do wydawnictw albumowych<br />Maksymalny rozmiar fotografii: 19x28 cm');
produkty[3]['Narzad'] = 20;
produkty[3]['Ilosci'] = new Array(52,60,68,76,84,92,100);
produkty[3]['Ceny'] = new Array(115,132,150,168,185,203,210);

produkty[4]['Info'] = new Array('Album w twardej oprawie, klejony - rozmiar: 19x19 cm (kwadrat)','Ilość stron:','Okładka: indywidualna grafika, twarda, foliowana na matowo lub błyszcząco<br />Stronice: papier kredowy, matowy 200g<br />Oprawa: klejona, podobna do wydawnictw albumowych<br />Maksymalny rozmiar fotografii: 19x19 cm');
produkty[4]['Narzad'] = 20;
produkty[4]['Ilosci'] = new Array(52,60,68,76,84,92,100);
produkty[4]['Ceny'] = new Array(115,132,150,168,185,203,210);

produkty[5]['Info'] = new Array('Album w twardej oprawie w spiralę - rozmiar: 19x28 cm (kwadrat)','Ilość stron:','Okładka: indywidualna grafika, twarda, foliowana na matowo lub błyszcząco<br />Stronice: papier kredowy, matowy 200g<br />Oprawa: spirala metalowa powlekana kolorowym plastikiem');
produkty[5]['Narzad'] = 10;
produkty[5]['Ilosci'] = new Array(52,56,60,64,68,72);
produkty[5]['Ceny'] = new Array(115,121,129,135,148,161);

produkty[6]['Info'] = new Array('Album w twardej oprawie w spiralę - rozmiar: 19x19 cm (kwadrat)','Ilość stron:','Okładka: indywidualna grafika, twarda, foliowana na matowo lub błyszcząco<br />Stronice: papier kredowy, matowy 200g<br />Oprawa: spirala metalowa powlekana kolorowym plastikiem');
produkty[6]['Narzad'] = 10;
produkty[6]['Ilosci'] = new Array(52,56,60,64,68,72);
produkty[6]['Ceny'] = new Array(115,121,129,135,148,161);

produkty[7]['Info'] = new Array('Kalendarz ścienny, 13 kartkowy: 30x43 cm (portret)','Ilość egzemplarzy:','12 stron jednostronnie zadrukowanych + okładka, papier satynowany 280g, oprawa w spiralę wraz z wieszaczkiem');
produkty[7]['Narzad'] = 10;
produkty[7]['Ilosci'] = new Array(1,2,3,4,5,6);
produkty[7]['Ceny'] = new Array(64,103,154,174,191,229);

produkty[8]['Info'] = new Array('Kalendarz ścienny, 13 kartkowy: 43x30 cm (pejzaż)','Ilość egzemplarzy:','12 stron jednostronnie zadrukowanych + okładka, papier satynowany 280g, oprawa w spiralę wraz z wieszaczkiem');
produkty[8]['Narzad'] = 10;
produkty[8]['Ilosci'] = new Array(1,2,3,4,5,6);
produkty[8]['Ceny'] = new Array(64,103,154,174,191,229);

produkty[9]['Info'] = new Array('Kalendarz biurkowy, 26x13 cm (poziomy)','Ilość egzemplarzy:','Kalendarz biurkowy na sztywnej podstawce, 12 stron jednostronnie zadrukowanych + okładka, papier satynowany 210g, stronice po łączone spiralą');
produkty[9]['Narzad'] = 10;
produkty[9]['Ilosci'] = new Array(1,2,3,4,5,6);
produkty[9]['Ceny'] = new Array(27,49,58,80,85,89);

produkty[10]['Info'] = new Array('Kalendarz biurkowy, 14x20 cm (portret)','Ilość egz.:','Kalendarz biurkowy na sztywnej podstawce, 12 stron jednostronnie zadrukowanych + okładka, papier satynowany 210g, stronice po łączone spiralą');
produkty[10]['Narzad'] = 10;
produkty[10]['Ilosci'] = new Array(1,2,3,4,5,6);
produkty[10]['Ceny'] = new Array(22,38,44,58,75,79);

produkty[11]['Info'] = new Array('Kalendarz listkowy: 85x55 mm','Ilość szt.:','Kalendarzyk w formacie karty kredytowej, dwustronnie zadrukowany, usztywniony i zabezpieczony lakierem UV');
produkty[11]['Narzad'] = 80;
produkty[11]['Ilosci'] = new Array(500,1000,1500,2000,2500,3000);
produkty[11]['Ceny'] = new Array(215,285,393,505,600,715);