// JS-Sklep wersja 1.t 2001.07.07
// Autor: Jarosław Rychter
// rychter@kki.net.pl
// Współpraca: SlawSan
// slawsan@post.pl

// Deklaracja zmiennych, którym wartości mogą nadawać inne pliki

// Zmienna "adresat" zawiera adres e-mail, pod który ma być wysłane zamówienie
  var adresat = "nazwa_emaila";
// Zmienna "transport" zawiera stały koszt wysyłki zamowionego towaru lub tekst, np. Tranport gratis
  var transport = 0;
//Logo szerokosc i wysokosc(nie zmieniac bo to bedzie przetwarzal)

// Zmienna "suma" służy do wyświetlania wartości zamówienia
suma = 0;

var isDOM = (document.getElementById ? true : false);
var isIE4 = ((document.all && !isDOM) ? true : false);
var isNS4 = (document.layers ? true : false);

agt=navigator.userAgent.toLowerCase();
is_gecko = (agt.indexOf('gecko') != -1);
is_opera = (agt.indexOf('opera') != -1);
is_MSIE = (agt.indexOf('msie') != -1);

function getRef(id) {
  if (isDOM) return document.getElementById(id);
  if (isIE4) return document.all[id];
  if (isNS4) return document.layers[id];
}
function getSty(id) {
   return (isNS4 ? getRef(id) : getRef(id).style);
}

// Kreator listy (tablicy) bez elementów
function Lista_pusta()
{
  this.wielkosc = 0;
  return this;
}

// Utworzenie pustej listy (lub inaczej: tablicy o rozmiarze 0)
Lista_Informacji = new Lista_pusta();

// Kreator listy (tablicy) o podanym rozmiarze z pustymi elementami
function Tablica_nowa(rozmiar)
{
  this.wielkosc = rozmiar;
  for ( i=1; i<=rozmiar; i++) { this[i] = null };
}

// Kreator rekordu opisującego pozycję zamówienia; "Dokladnosc" oznacza dokladność zamawianej ilości, np. 0.1 lub 0.01
function rekord(Nazwa , Indeks, Ilosc, Cena, Dokladnosc)
{
  this.nazwa = Nazwa;
  this.indeks = Indeks;
  this.ilosc = Ilosc;
  this.cena = Cena;
  this.dokladnosc = Dokladnosc;
  return this;
}

// Bardzo pokrętna i "empiryczna" ;-) funkcja zaokrąglająca.
// Na razie nikt nie narzekał na jej złe działanie na różnych przegłądarkach.
// Proste funkcje "podziel/zaokrąglaj/pomnóż" z powodu różnic w interpretacji JavaScript zawodzą
function zaokr( Liczba, Dokladnosc)
{
  if ( Dokladnosc < 0.0001 ) { Dokladnosc = 0.0001 }; // Ograniczenie dokładnoci
  var Liczba_str = "" + Math.round(Liczba / Dokladnosc) * Dokladnosc;
  var Liczba_len = Liczba_str.length; // Ustalenie długości łańcucha znakowego
  var poz = Math.log(1/Dokladnosc)/Math.log(10); // Ustalenie pozycji znaku dziesiętnego
  if (Liczba_str.indexOf(".")>-1 && Dokladnosc < 1)
  {  var Calk=Liczba_str.substring(0,Liczba_str.indexOf("."));
     var Ulamk=Liczba_str.substring(Liczba_str.indexOf(".")+1,Liczba_str.indexOf(".")+1+poz);
     return parseFloat(""+Calk+"."+Ulamk);
  }
  else
  {
    return parseInt(Liczba_str);
  }
}

// Funkcja zamieniająca liczbę na łańcuch w postaci "#0.00 zł". Zawsze uzupełnia do dwóch miejsc po znaku dziesiętnym.
function waluta_scr(Liczba)
{
  var Waluta = Math.round(Liczba*100);
  if (Waluta >=10)
  {
    var Waluta_str = "" + Waluta;
    var Waluta_len = Waluta_str.length;
  }
  else
  {
    var Waluta_str = "0" + Waluta;
    var Waluta_len = Waluta_str.length;
  }
  Waluta_str = Waluta_str.substring(0, Waluta_len - 2) + "." + Waluta_str.substring(Waluta_len - 2, Waluta_len) + " zł";
  if (Liczba < 1) {Waluta_str = "0"+Waluta_str};
  return Waluta_str;
}


// Funkcja stara się z podanego argumentu wytworzyć liczbę zmiennoprzecinkową.
// Szczególnie ważne przy ustawieniach regionalnych np. w Windows.
// JavaScript zapis 9,99 potraktuje jako tekst, 9.99 jako liczbę.
// Tutaj zamieniamy "," na ".".
function Analizuj(info)
{
  var p_temp = ""+info;
  var p1_temp = null;
  var p2_temp = null;
  if (p_temp.indexOf(",")>-1)
  {  var p1_temp=p_temp.substring(0,p_temp.indexOf(","));
     var p2_temp=p_temp.substring(p_temp.indexOf(",")+1);
     p_temp=p1_temp+"."+p2_temp;
  };
  p_temp = parseFloat(p_temp);
  if (isNaN(p_temp)) {p_temp = 0};
  return p_temp;
}

// Uzupełnia listę o nową pozycję zamówienia
function dodaj_element(Lista, nazwa, indeks, ilosc, cena, dokladnosc)
{
  if (!(ilosc > 0))
  {
    alert("Nie podałeś dodatniej ilości !");
    return(Lista);
  };
  for ( i=1 ; i<= Lista.wielkosc; i++) // Jeżeli istnieje już pozycja o danej nazwie, powiększana jest tylko ilość
  {
    if ((Lista[i].nazwa == nazwa) && (Lista[i].indeks == indeks))
    {
      if (confirm("Ta pozycja jest już w koszyku ! \nCzy modyfikować dotychczasową ilość?"))
      {
        if (confirm("Czy zwiększyć o podana ilość ? \n(W przeciwnym przypadku wartości zostaną podmienione)"))
        {
          Lista[i].ilosc += ilosc;
        }
        else
        {
          Lista[i].ilosc = ilosc;          
        };
      };
      return(Lista);
    };
  }; 
  wlk = ++Lista.wielkosc; //Jeśli nie, to powiększamy listę
  Lista[wlk] = new rekord( nazwa, indeks, ilosc, cena, dokladnosc); // dodając na końcu kolejny rekord z pozycją zamówienia
  return Lista;
}

// Usuwanie z listy wybranego elementu
function usun_element(Lista, numer)
{
  if (Lista.wielkosc > 0)
  {
    Lista_mala = new Tablica_nowa(Lista.wielkosc - 1);
    for ( i = 1; i <= Lista.wielkosc - 1; i++) 
    { 
      if ( i < numer )
      {  Lista_mala[i] = Lista[i]  }
      else
      {  Lista_mala[i] = Lista[i+1]  }
    };
    return Lista_mala;
  };
}

// Filtrowanie listy tak, aby pozotały rekordy tylko z dodatnia ilością
function dodatnie(Lista)
{
  licznik = 0;
  for (i=1; i<=Lista.wielkosc; i++)
  {
    if (Lista[i].ilosc <= 0) { licznik++ }
  };
  Lista_dodatnie = new Tablica_nowa(Lista.wielkosc - licznik);
  licznik = 0;
  for (i=1; i<=Lista.wielkosc; i++)
  {
    if (Lista[i].ilosc > 0)
    {
      Lista_dodatnie[++licznik] = new rekord(Lista[i].nazwa, Lista[i].indeks, Lista[i].ilosc, Lista[i].cena, Lista[i].dokladnosc)
    }
  };
  return Lista_dodatnie;
}

// Funkcja wywoływana z innych plików (ramek) opisujących towary
// poprzez odpowiednie odnosniki ("linki").
function dodaj(nazwa, indeks, cena, dokladnosc)
{
  ilosc=prompt("Podaj zamawianą ilość:", dokladnosc); //pytanie o ilość
  Lista_Informacji = dodaj_element(Lista_Informacji, nazwa, indeks, zaokr(Analizuj(ilosc), Analizuj(dokladnosc)), Math.abs(Analizuj(cena)),  Analizuj(dokladnosc)); // sprawdzenie "jakości" danych liczbowych (zamiania "," na ".")
  Lista_Informacji = dodatnie(Lista_Informacji); // odrzucenie wartości niedodatnich
  pokaz_krotkie_info();
}

// Funkcja wywoływana z innych plików (ramek) opisujących towary
// poprzez odpowiednie odnosniki ("linki").
function dodaj_bez_pytania(nazwa, indeks, cena, ilosc, dokladnosc)
{
  Lista_Informacji = dodaj_element(Lista_Informacji, nazwa, indeks, zaokr(Analizuj(ilosc), Analizuj(dokladnosc)), Math.abs(Analizuj(cena)),  Analizuj(dokladnosc)); // sprawdzenie "jakości" danych liczbowych (zamiania "," na ".")
  Lista_Informacji = dodatnie(Lista_Informacji); // odrzucenie wartości niedodatnich
  pokaz_krotkie_info();
}

// Nowa funkcja wywoływana z innych plików (ramek - też tworzonych dynamicznie)
// w celu usunięcia wszystkich pozycji z zamówienia,
// zabezpieczona przed przypadkowym skasowaniem zamówienia
function usun_zam()
{
  if (confirm("Funkcja ta spowoduje skasowanie całego zamówienia ! \nCzy na pewno tego właśnie chcesz ?"))
  {
  Lista_Informacji = new Lista_pusta();
  pokaz();
  };
}

// Funkcja wywoływana z innych plików (ramek - też tworzonych dynamicznie)
// w celu usunięcia wszystkich pozycji z zamówienia po jego wysłaniu.
function usun_all()
{
  Lista_Informacji = new Lista_pusta();
  parent.Towar.document.open();
  parent.Towar.document.write('<HTML><HEAD>');
  parent.Towar.document.write('<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=iso-8859-2">');
  parent.Towar.document.write('<META HTTP-EQUIV="Content-Language" CONTENT="pl">');
  parent.Towar.document.write('<LINK rel="stylesheet" href="js-sklep.css" type="text/css">');
  parent.Towar.document.write('</HEAD><BODY LEFTMARGIN="0" TOPMARGIN="10" class="body">');
  parent.Towar.document.write('<div align="center"><font size="2" face="Tahoma">Dziękujemy za zainteresowanie naszą ofertą.</font></div>');

  parent.Towar.document.write('<TABLE width="100%" cellspacing="0" cellpadding="0" border="0"><TR>');
  parent.Towar.document.write('<TD align="center"> <font size="2" face="Tahoma">Upewnij się, czy Twój program ');
  parent.Towar.document.write('pocztowy w folderze wysłanych elementów<BR>');
  parent.Towar.document.write('zawiera list z zamówieniem.<BR>');
  parent.Towar.document.write('Po otrzymaniu zamówienia niezwłocznie skontaktujemy się celem jego potwierdzenia.<BR>');
  parent.Towar.document.write('<STRONG>Zapraszamy ponownie</STRONG>. </font> ');
  parent.Towar.document.write('<HR width="90%">');
  parent.Towar.document.write('<font size="2" face="Tahoma"> Twój Koszyk jest pusty.<BR>');
  parent.Towar.document.write('Możesz rozpocząć realizację kolejnego zamówienia.</font></TD>');
  parent.Towar.document.write('</TR></TABLE>');

  parent.Towar.document.write('</BODY></HTML>');
  parent.Towar.document.close();
  pokaz_krotkie_info();
  return true;
}

// Funkcja wywoływana z innych plików (ramek - też tworzonych dynamicznie)
// w celu usunięcia jednej pozycji z zamówienia.
function usun(numer)
{
  Lista_Informacji = usun_element(Lista_Informacji, numer);
  pokaz();
}

// Funkcja wywoływana z innych plików (ramek - też tworzonych dynamicznie)
// w celu modyfikacji jednej pozycji z zamówienia.
function zmien(numer)
{
  liczba = Lista_Informacji[numer].ilosc;
  nowa_liczba = prompt("Podaj nową ilość:", liczba);
  if (nowa_liczba != "" && nowa_liczba != null)
  { 
    liczba = zaokr(Analizuj(nowa_liczba), Analizuj(Lista_Informacji[numer].dokladnosc));
    if ((liczba > 0) || (liczba <= 0 && confirm("Wpisales dane, które usuną tę pozycję z koszyka ! \nCzy jesteś pewien że tego właśnie chcesz ?")))
    {
      Lista_Informacji[numer].ilosc = liczba;
      Lista_Informacji = dodatnie(Lista_Informacji);
      pokaz();
    };
  };
}

// Funkcja przedstawiającą w ramce "Towar" obecny stan zamówienia //
function pokaz()
{
  parent.Towar.document.open();
  parent.Towar.document.write('<HTML><HEAD>');
  parent.Towar.document.write('<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=iso-8859-2">');
  parent.Towar.document.write('<META HTTP-EQUIV="Content-Language" CONTENT="pl">');
  parent.Towar.document.write('<LINK rel="stylesheet" href="js-sklep.css" type="text/css">');
  parent.Towar.document.write('</HEAD><BODY leftmargin="0" topmargin="5" class="body">');
  if (Lista_Informacji.wielkosc >= 1)
  {
    parent.Towar.document.write('<P CLASS="zawartoscKoszNag">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Zawartość koszyka</p>');
    parent.Towar.document.write('<TABLE align="center" width="95%" cellpadding="2" border="1"  bordercolorlight="#C0C0C0" bordercolordark="#808080">');
    parent.Towar.document.write('<TR class="zawartoscKoszNazwaIndeks"><TH WIDTH="37%">Nazwa</TH><TH WIDTH="11%">Indeks</TH><TH WIDTH="12%">Cena</TH><TH WIDTH="8%">Ilość</TH><TH WIDTH="15%">Wartość</TH><TH WIDTH="17%">Modyfikacje</TH></TR>');
    suma=0;
    for ( i = 1 ; i <= Lista_Informacji.wielkosc ; i++)
    {
      wartosc = zaokr(Lista_Informacji[i].ilosc*Lista_Informacji[i].cena,0.01);
      parent.Towar.document.write('<TR align="right"><TD align="left" class="kosz">'+Lista_Informacji[i].nazwa+'</TD><TD align="left" class="kosz">'+Lista_Informacji[i].indeks+'&nbsp;</TD><TD class="kosz">'+waluta_scr(Lista_Informacji[i].cena)+'</TD><TD class="kosz">'+Lista_Informacji[i].ilosc+'</TD><TD class="kosz">'+waluta_scr(wartosc)+'</TD>');
      parent.Towar.document.write('<TD align="center" class="mod"><A HREF="javascript:parent.Kosz.usun(' + i + ')"><img src="kosz-remove.gif" width="39" height="24" border="0" alt=" Usuń pozycję "></A> &nbsp; <A HREF="javascript:parent.Kosz.zmien(' + i + ')"><img src="kosz-change.gif" width="39" height="24" border="0" alt=" Zmień ilość "></A></TD></TR>');
      suma += wartosc;
    };
    if (Analizuj(transport) != 0)
    {
      parent.Towar.document.write('<TR align="right" class="kosz"><TD align="left" >Transport</TD><TD>'+waluta_scr(transport)+'</TD><TD>1</TD><TD >'+waluta_scr(transport)+'</TD><TD align="center" class="suma"><SPAN STYLE="font-style: italic; font-size: 10pt; color: #FF0000">Usuń / Zamów</SPAN></TD></TR>');
      suma += Analizuj(transport);
    }
    else if ((transport != null) && (transport != ""))
    {
       parent.Towar.document.write('<TR align="right" class="kosz"><TD align="left" colspan="4">'+transport+'</TD><TD align="center" class="suma"><SPAN STYLE=" font-style: italic; font-size: 10pt; color: #FF0000">Usuń / Zamów</SPAN></TD></TR>');
    };
    parent.Towar.document.write('<TR align="right" class="suma"><TD colspan="4" >Razem </TD><TD>'+waluta_scr(suma)+'</TD>');
    parent.Towar.document.write('<TD align="center" class="mod"><A HREF="javascript:parent.Kosz.usun_zam()"><img src="kosz-cancel.gif" width="39" height="24" border="0" alt=" Usuń wszystko "></A> &nbsp; <A HREF="wyslij.htm"><img src="kosz-mail.gif" width="39" height="24" border="0" alt=" Realizuj zamówienie "></A></TD></TR></TABLE>');
	parent.Towar.document.write('<TABLE align="center" cellspacing="0" cellpadding="2" border="0"><TR><TD ALIGN="center"><FORM NAME="Historia"></TD></TR>');
	parent.Towar.document.write('<TR><TD ALIGN="center">');
	parent.Towar.document.write('<BR><INPUT TYPE="button" VALUE="Wstecz" onClick="history.back()"></TD></TR>');
	parent.Towar.document.write('<TR><TD ALIGN="center">');
	parent.Towar.document.write('Kliknij na przycisk <B>Wstecz</B> aby kontynuować zamawianie produktów.<BR><SPAN STYLE="color: #FF0000">Jeżeli jednak dokonałeś jakiejkolwiek modyfikacji w Twojej liście zamówień,<BR>przejdź bezpośrednio do stron z produktami.</SPAN>');
    parent.Towar.document.write('</TD></TR></TABLE></FORM>');
  }
  else
  {
	parent.Towar.document.write('<H2 ALIGN="center">Twój koszyk jest pusty</H2>');
	parent.Towar.document.write('<TABLE width="100%" cellspacing="0" cellpadding="5" border="0"><TR><TD ALIGN="center">');
	parent.Towar.document.write('<P>Jeśli chcesz kontynuować zamawianie produktów<BR>przejdź bezpośrednio do stron z produktami.');
	parent.Towar.document.write('</P></TD></TR></TABLE><BR>');
  };
  parent.Towar.document.write('</BODY></HTML>');
  parent.Towar.document.close();
  pokaz_krotkie_info()
}

function druk_zam() {
  //window.open('','Drukuj zamówienie','menubar=yes,scrollbars=yes,left=10,top=10,height=200,width=200');
 // okienko.document.open();
  //okienko.document.write('czesc!!!');
  oknoDruk = window.open('', '', 'left=110,top=80,width=600,height=480,status=yes,scrollbars=yes');
  oknoDruk.document.open();
  oknoDruk.document.write('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">');
  oknoDruk.document.write('<HTML>');
  oknoDruk.document.write('<HEAD>');
  oknoDruk.document.write('<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">');
  oknoDruk.document.write('<META HTTP-EQUIV="Creation-date" CONTENT="2002.03.16">');
  oknoDruk.document.write('<META NAME="Generator" CONTENT="e-shop Generator dGCS S.A.">');
  oknoDruk.document.write('<TITLE>Wydruk zamówienia</TITLE>\n');
  oknoDruk.document.write('<SCRIPT LANGUAGE="JavaScript">\n');
  oknoDruk.document.write('<!-- \n');
  oknoDruk.document.write('var isDOM = (document.getElementById ? true : false);\n');
  oknoDruk.document.write('var isIE4 = ((document.all && !isDOM) ? true : false);\n');
  oknoDruk.document.write('var isNS4 = (document.layers ? true : false);\n');
  oknoDruk.document.write('agt=navigator.userAgent.toLowerCase();\n');
  oknoDruk.document.write('is_gecko = (agt.indexOf(\'gecko\') != -1);\n');
  oknoDruk.document.write('function getRef(id) {\n');
  oknoDruk.document.write('    if (isDOM) return document.getElementById(id);\n');
  oknoDruk.document.write('    if (isIE4) return document.all[id];\n');
  oknoDruk.document.write('    if (isNS4) return document.layers[id];\n');
  oknoDruk.document.write('}\n');
  oknoDruk.document.write('function getSty(id) {\n');
  oknoDruk.document.write('    return (isNS4 ? getRef(id) : getRef(id).style);\n');
  oknoDruk.document.write('}\n');
  oknoDruk.document.write('  function drukujs() {\n');
 // oknoDruk.document.write('     if (druk) \n');
  oknoDruk.document.write('     getSty("druk").visibility="hidden";\n');
  oknoDruk.document.write('     window.print();\n');
 // oknoDruk.document.write('     if (druk) \n');
  oknoDruk.document.write('     getSty("druk").visibility="visible";\n');
  oknoDruk.document.write('  };\n');
  oknoDruk.document.write('-->\n');
  oknoDruk.document.write('</script>');
  oknoDruk.document.write('</HEAD>');//window.print(); getSty(\'druk\').visibility=\'hidden\'
  oknoDruk.document.write('<BODY onload="drukujs();">');
  oknoDruk.document.write('<TABLE ALIGN="center" BORDER="0" CELLPADDING="2" WIDTH="95%">');
  oknoDruk.document.write('<TR>');
  oknoDruk.document.write(' <TD ALIGN="center" VALIGN="middle"><IMG SRC="logo.jpg" WIDTH="'+szerokoscLoga+'" HEIGHT="'+wysokoscLoga+'" HSPACE="0" VSPACE="0" BORDER="0" ALT="Logo naszej firmy"></TD>');
  oknoDruk.document.write(' <TD ALIGN="center" COLSPAN="4" VALIGN="middle"><FONT FACE="Times New Roman" SIZE="+3">Zamówienie</font></TD>');
  oknoDruk.document.write('</TR>');
  oknoDruk.document.write('<TR>');
  oknoDruk.document.write(' <TD>&nbsp;</TD> <TD>&nbsp;</TD> <TD>&nbsp;</TD> <TD>&nbsp;</TD> <TD>&nbsp;</TD>');
  oknoDruk.document.write('</TR>');
  oknoDruk.document.write('</TABLE>');
  oknoDruk.document.write('<TABLE ALIGN="center" BORDER="0" CELLPADDING="2" WIDTH="100%">');
  oknoDruk.document.write('<TR class="nag"><TH STYLE="border-right: 1px solid black;border-bottom: 1px solid black;" width="40%">Nazwa poduktu</TH><TH STYLE="border-right: 1px solid black;border-bottom: 1px solid black;" width="25%">Indeks</TH><TH STYLE="border-right: 1px solid black;border-bottom: 1px solid black;" width="13%">Cena</TH><TH STYLE="border-right: 1px solid black;border-bottom: 1px solid black;" width="7%">Ilość</TH><TH STYLE="border-bottom: 1px solid black;" width="15%">Wartość</TH></TR>');
  
  for ( i = 1 ; i <= Lista_Informacji.wielkosc ; i++)
  {
    wartosc = zaokr(Lista_Informacji[i].ilosc*Lista_Informacji[i].cena,0.01);
    if ((i%2)==1) {
      oknoDruk.document.write('<TR ALIGN="right" CLASS="kosz" STYLE="background-color: #E4E4E4;"><TD align="left" STYLE="border-right: 1px solid black;">'+Lista_Informacji[i].nazwa+'</TD><TD align="left" STYLE="border-right: 1px solid black;">'+Lista_Informacji[i].indeks+'</TD><TD STYLE="border-right: 1px solid black;">'+waluta_scr(Lista_Informacji[i].cena)+'</TD><TD STYLE="border-right: 1px solid black;">'+Lista_Informacji[i].ilosc+'</TD><TD>'+waluta_scr(wartosc)+'</TD></TR>');
    } else {
      oknoDruk.document.write('<TR ALIGN="right" CLASS="kosz"><TD align="left" STYLE="border-right: 1px solid black;">'+Lista_Informacji[i].nazwa+'</TD><TD align="left" STYLE="border-right: 1px solid black;">'+Lista_Informacji[i].indeks+'</TD><TD STYLE="border-right: 1px solid black;">'+waluta_scr(Lista_Informacji[i].cena)+'</TD><TD STYLE="border-right: 1px solid black;">'+Lista_Informacji[i].ilosc+'</TD><TD>'+waluta_scr(wartosc)+'</TD></TR>');
    }
  };
  oknoDruk.document.write('<TR align="right" class="suma"><TD COLSPAN="4">Razem: </TD><TD>'+waluta_scr(suma)+'</TD></TR></TABLE><BR>');
  oknoDruk.document.write('</TABLE>');
  oknoDruk.document.write('<DIV ALIGN="left">');
  oknoDruk.document.write('<FORM>');
  oknoDruk.document.write('<INPUT ID="druk" NAME="druk" TYPE="button" VALUE="Drukuj" onclick="drukujs()">');
  oknoDruk.document.write('</FORM>');
  oknoDruk.document.write('</DIV>');
  oknoDruk.document.write('</BODY>');
  oknoDruk.document.write('</HTML>');
  oknoDruk.document.close();
}

// Funkcja przedstawiającą w ramcę ("frame") "Towar" formularz do wysłania zamówienia
function wyslij_zam()
{
  parent.Towar.document.open();
  parent.Towar.document.write('<HTML><HEAD>');
  parent.Towar.document.write('<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=iso-8859-2">');
  parent.Towar.document.write('<META HTTP-EQUIV="Content-Language" CONTENT="pl">');
  parent.Towar.document.write('</HEAD><BODY leftmargin="0" topmargin="5" onload="parent.Kosz.z_ciacha()" class="body">');
  parent.Towar.document.write('<LINK rel="stylesheet" href="js-sklep.css" type="text/css">');

// Funkcja umożliwiająca zmianę docelowego adresu skrzynki e-mail, na który kierowane będzie zamówienie. Jeśli uważasz że jest zbędna umieść przed nią znak komantarza ( // ).
// if (adresat == "skrzynka@host" || adresat == "" || adresat == null) {adresat=prompt("Pytanie o adres skrzynki e-mail, na który kierowane będzie  zamówienie. \nMożesz go jeszcze zmienic wpisując inny adres skrzynki !", "skrzynka@host")};

  if (Lista_Informacji.wielkosc >= 1)
  {
    parent.Towar.document.write('<P CLASS="zawartoscKoszNag">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Realizowanie zamówienia</p>');
    parent.Towar.document.write('<TABLE align="center" width="100%" cellspacing="0" cellpadding="0" border="0"><TR><TD align="center">');
    parent.Towar.document.write('<FORM ACTION="mailto:'+adresat+'?subject=Zamowienie ze sklepu" ENCTYPE="text/plain" METHOD="POST" name="Zamowienie">');
    parent.Towar.document.write('<TABLE align="center" width="95%" cellpadding="2" border="1"  bordercolorlight="#C0C0C0" bordercolordark="#808080">');
    parent.Towar.document.write('<TR class="zawartoscKoszNazwaIndeks"><TH width="40%">Nazwa poduktu</TH><TH width="25%">Indeks</TH><TH width="10%">Cena</TH><TH width="10%">Ilość</TH><TH width="15%">Wartość</TH></TR>');
    for ( i = 1 ; i <= Lista_Informacji.wielkosc ; i++)
    {
      parent.Towar.document.write('<INPUT TYPE="HIDDEN" NAME="nazwa'+i+'" VALUE="'+Lista_Informacji[i].nazwa+'">');
      parent.Towar.document.write('<INPUT TYPE="HIDDEN" NAME="indeks'+i+'" VALUE="'+Lista_Informacji[i].indeks+'">');
      parent.Towar.document.write('<INPUT TYPE="HIDDEN" NAME="cena'+i+'" VALUE="'+Lista_Informacji[i].cena+'zł">');
      parent.Towar.document.write('<INPUT TYPE="HIDDEN" NAME="ilosc'+i+'" VALUE="'+Lista_Informacji[i].ilosc+'">');
      wartosc = zaokr(Lista_Informacji[i].ilosc*Lista_Informacji[i].cena,0.01);
      parent.Towar.document.write('<TR align="right" class="kosz"><TD align="left" >'+Lista_Informacji[i].nazwa+'</TD><TD align="left" >'+Lista_Informacji[i].indeks+'</TD><TD>'+waluta_scr(Lista_Informacji[i].cena)+'</TD><TD>'+Lista_Informacji[i].ilosc+'</TD><TD>'+waluta_scr(wartosc)+'</TD></TR>');
    };
    if (Analizuj(transport) != 0)
    {
      parent.Towar.document.write('<INPUT TYPE="hidden" NAME="Transport" VALUE="'+transport+'zł">');
	  parent.Towar.document.write('<INPUT TYPE="hidden" NAME="Wartosc zam." VALUE="'+waluta_scr(suma)+'">');
//      suma += Analizuj(transport);
      parent.Towar.document.write('<TR align="right" class="kosz"><TD align="left">Transport</TD><TD>'+waluta_scr(transport)+'</TD><TD class="kosz">1</TD><TD>'+waluta_scr(transport)+'</TD></TR>');
    }
    else if ((transport != null) && (transport != ""))
    {
      parent.Towar.document.write('<INPUT TYPE="hidden" NAME="Wartosc zam." VALUE="'+waluta_scr(suma)+'">');
    };
    parent.Towar.document.write('<TR align="right" class="suma"><TD colspan="4" >Razem: </TD><TD>'+waluta_scr(suma)+'</TD></TR></TABLE><BR>');
    parent.Towar.document.write('<INPUT TYPE="BUTTON" class="body" VALUE="Popraw zamówienie" onClick="parent.Kosz.pokaz()"> &nbsp; &nbsp; <INPUT TYPE="BUTTON" VALUE="Skasuj zamówienie" class="body"  onClick="parent.Kosz.usun_zam()"> &nbsp; &nbsp; <INPUT TYPE="BUTTON" VALUE="Drukuj zamówienie" class="body"  onClick="parent.Kosz.druk_zam()"><HR width="95%">');
    parent.Towar.document.write('<TABLE width="90%" cellspacing="0" cellpadding="2" border="0">');
    parent.Towar.document.write('<p><font size="4" face="Tahoma"><b><font color="#006699">Kto zamawia:</font></b></font></p>');
    parent.Towar.document.write('<TR><TD align="left" colspan="2"><DIV STYLE="text-align: justify">Należy dokładnie wypełnić wszyskie pola formularza, gdyż w przeciwnym wypadku uniemożliwi to dostarczenie zamówienia. Pole numer <B>NIP</B> wypełniają firmy (instytucje) lub osoby fizyczne pragnące otrzymać fakturę VAT.<BR><SPAN STYLE="color: #FF0000">Pola oznaczone symbolem gwiazdki są polami obowiązkowymi !</SPAN></DIV></TD></TR>');
    //parent.Towar.document.write('<TR class="zamie"><TD align="right"><B>*</B> Imię i Nazwisko</TD><TD align="left"><INPUT TYPE="TEXT" NAME="nazwisko" VALUE="" SIZE="25" MAXLENGTH="35" onChange="parent.Kosz.set_val_cookie(\'nazwisko\', parent.Towar.document.Zamowienie.nazwisko.value)"></TD></TR>');
    //parent.Towar.document.write('<TR class="zamie" ><TD align="right">Nazwa firmy (instytucji)</TD><TD align="left"><INPUT TYPE="TEXT" NAME="firma" VALUE="" SIZE="25" MAXLENGTH="35" onChange="parent.Kosz.set_val_cookie(\'firma\', parent.Towar.document.Zamowienie.firma.value)"></TD></TR>');
    //parent.Towar.document.write('<TR class="zamie"><TD align="right">Numer NIP</TD><TD align="left"><INPUT TYPE="TEXT" NAME="nip" VALUE="" SIZE="10" MAXLENGTH="13" onChange="parent.Kosz.set_val_cookie(\'nip\', parent.Towar.document.Zamowienie.nip.value)"></TD></TR>');
    //parent.Towar.document.write('<TR class="zamie"><TD align="right"><B>*</B> Telefon (telefax)</TD><TD align="left"><INPUT TYPE="TEXT" NAME="telefon" VALUE="" SIZE="15" MAXLENGTH="20" onChange="parent.Kosz.set_val_cookie(\'telefon\', parent.Towar.document.Zamowienie.telefon.value)"></TD></TR>');
    //parent.Towar.document.write('<TR class="zamie"><TD align="right"><B>*</B> Skrzynka E-mail</TD><TD lign="left"><INPUT TYPE="TEXT" NAME="mail" VALUE="" SIZE="15" MAXLENGTH="35" onChange="parent.Kosz.set_val_cookie(\'mail\', parent.Towar.document.Zamowienie.mail.value)"></TD></TR>');
    //parent.Towar.document.write('<TR class="zamie" ><TD align="right"><B>*</B> Adres</TD><TD align="left"><INPUT TYPE="TEXT" NAME="adres" VALUE="" SIZE="25" MAXLENGTH="35" onChange="parent.Kosz.set_val_cookie(\'adres\', parent.Towar.document.Zamowienie.adres.value)"></TD></TR>');
    //parent.Towar.document.write('<TR class="zamie"><TD align="right"><B>*</B> Kod pocztowy</TD><TD align="left"><INPUT TYPE="TEXT" NAME="kod" VALUE="" SIZE="10" MAXLENGTH="6" onChange="parent.Kosz.set_val_cookie(\'kod\', parent.Towar.document.Zamowienie.kod.value)"></TD></TR>');
    //parent.Towar.document.write('<TR class="zamie" ><TD align="right"><B>*</B> Miejscowość</TD><TD align="left"><INPUT TYPE="TEXT" NAME="miasto" VALUE="" SIZE="20" MAXLENGTH="35" onChange="parent.Kosz.set_val_cookie(\'miasto\', parent.Towar.document.Zamowienie.miasto.value)"></TD></TR>');
    parent.Towar.document.write('<TR class="zamow"><TD align="right"><B>*</B> Imię i Nazwisko</TD><TD align="left"><INPUT TYPE="TEXT" NAME="nazwisko" VALUE="" SIZE="25" MAXLENGTH="35" onChange="parent.Kosz.SetCookie(\'nazwisko\', parent.Towar.document.Zamowienie.nazwisko.value)"></TD></TR>');
    parent.Towar.document.write('<TR class="zamow" ><TD align="right">Nazwa firmy (instytucji)</TD><TD align="left"><INPUT TYPE="TEXT" NAME="firma" VALUE="" SIZE="25" MAXLENGTH="35" onChange="parent.Kosz.SetCookie(\'firma\', parent.Towar.document.Zamowienie.firma.value)"></TD></TR>');
    parent.Towar.document.write('<TR class="zamow"><TD align="right">Numer NIP</TD><TD align="left"><INPUT TYPE="TEXT" NAME="nip" VALUE="" SIZE="10" MAXLENGTH="13" onChange="parent.Kosz.SetCookie(\'nip\', parent.Towar.document.Zamowienie.nip.value)"></TD></TR>');
    parent.Towar.document.write('<TR class="zamow"><TD align="right"><B>*</B> Telefon (telefax)</TD><TD align="left"><INPUT TYPE="TEXT" NAME="telefon" VALUE="" SIZE="15" MAXLENGTH="20" onChange="parent.Kosz.SetCookie(\'telefon\', parent.Towar.document.Zamowienie.telefon.value)"></TD></TR>');
    parent.Towar.document.write('<TR class="zamow"><TD align="right"><B>*</B> Skrzynka E-mail</TD><TD lign="left"><INPUT TYPE="TEXT" NAME="mail" VALUE="" SIZE="15" MAXLENGTH="35" onChange="parent.Kosz.SetCookie(\'mail\', parent.Towar.document.Zamowienie.mail.value)"></TD></TR>');
    parent.Towar.document.write('<TR class="zamow" ><TD align="right"><B>*</B> Adres</TD><TD align="left"><INPUT TYPE="TEXT" NAME="adres" VALUE="" SIZE="25" MAXLENGTH="35" onChange="parent.Kosz.SetCookie(\'adres\', parent.Towar.document.Zamowienie.adres.value)"></TD></TR>');
    parent.Towar.document.write('<TR class="zamow"><TD align="right"><B>*</B> Kod pocztowy</TD><TD align="left"><INPUT TYPE="TEXT" NAME="kod" VALUE="" SIZE="10" MAXLENGTH="6" onChange="parent.Kosz.SetCookie(\'kod\', parent.Towar.document.Zamowienie.kod.value)"></TD></TR>');
    parent.Towar.document.write('<TR class="zamow" ><TD align="right"><B>*</B> Miejscowość</TD><TD align="left"><INPUT TYPE="TEXT" NAME="miasto" VALUE="" SIZE="20" MAXLENGTH="35" onChange="parent.Kosz.SetCookie(\'miasto\', parent.Towar.document.Zamowienie.miasto.value)"></TD></TR>');
    
    parent.Towar.document.write('<TR class="zamow"><TD align="right">Uwagi:</TD><TD align="left"><TEXTAREA NAME="Uwagi" COLS="30" ROWS="5"></TEXTAREA></TD></TR>');
    parent.Towar.document.write('<INPUT TYPE="hidden" NAME="koniec" VALUE="Koniec zamowienia">');
    parent.Towar.document.write('<TR class="zamow"><TD align="center" colspan="2">');
    parent.Towar.document.write('<INPUT TYPE="RESET" VALUE="Wyczyść formularz">');
    parent.Towar.document.write('</TD></TR>');
    parent.Towar.document.write('<TR><TD align="center" colspan="2"><DIV STYLE="line-height: 18pt">Po dokładnym wypełnienu formularza<BR><INPUT CLASS="buttonSend" TYPE="button" VALUE="Wyślij zamówienie" onclick="parent.Kosz.kontrola(this.form)"></DIV></TD></TR>');
    parent.Towar.document.write('</TABLE></FORM>');
    parent.Towar.document.write('</TD></TR></TABLE>');
  }
  parent.Towar.document.write('</BODY></HTML>');
  parent.Towar.document.close();
}


// Poprawiona i bardziej szczegółowa kontrola danych zamawiającego przed wysłaniem zamówienia.
function kontrola(form)
{
  if (parent.Towar.document.Zamowienie.nazwisko.value == "")
  {
    alert("Proszę podać Imię i Nazwisko !");
    return false;
  };
  
  if (parent.Towar.document.Zamowienie.telefon.value == "" || parent.Towar.document.Zamowienie.mail.value == "")
  {
    alert("Proszę podać numer telefonu kontaktowego, \nwraz z numerem kierunkowym \noraz ares skrzynki e-mail !");
    return false;
  };
  
    if (parent.Towar.document.Zamowienie.adres.value == "" || parent.Towar.document.Zamowienie.kod.value == "" || parent.Towar.document.Zamowienie.miasto.value == "")
    {
      alert("Proszę podać dokładny adres do korespondencji ! \nAdres - Nazwa ulicy, numer posesji i lokalu \nKod pocztowy i Miejscowość");
      return false;
    };

  if (parent.Towar.document.Zamowienie.mail.value != "")
  {
    gdzie_at = Analizuj(parent.Towar.document.Zamowienie.mail.value.indexOf("@"));
    dlugosc = Analizuj(parent.Towar.document.Zamowienie.mail.value.lenght);
    if (gdzie_at == 0 || gdzie_at == (dlugosc-1))
    {
      alert("Popraw adres skrzynki e-mail !");
      return false;
    };
  };
  //alert(form);
  //alert(form.name);
  var b = 'Zamowienie z Twojego sklepu internetowego:%0D%0D';
  for (var n = 0; n < form.elements.length; n++) {
    var i = form.elements[n];
    switch (i.type) {
      case 'submit':
      case 'reset':
      case 'button':
        break;
      default:
        b += i.name + ':%20' + escape(i.value) + '%0D';
        break;
    }
  }
  //alert(b);
  form.action += '&body=' + b;
  //set_exp_cookie(1, 0, 0);
  //alert(form.action);
  form.submit();
  usun_all();
  return true;
}

//Funkcja pobiera wskazany parametr z "ciasteczek"
function GetCookie(sName)
{
  // cookies are separated by semicolons
  var aCookie = document.cookie.split("; ");
  for (var i=0; i < aCookie.length; i++)
  {
    // a name/value pair (a crumb) is separated by an equal sign
    var aCrumb = aCookie[i].split("=");
    if (sName == aCrumb[0])
      return unescape(aCrumb[1]);
  }

  // a cookie with the requested name does not exist
  return null;
}
function get_val_cookie(param_name_)
{
  param_name = param_name_+"=";
  start_param_name = document.cookie.indexOf(param_name);
  if (start_param_name < 0) {return false};
  stop_param_name = start_param_name + param_name.length;
  stop_param = document.cookie.indexOf("|", stop_param_name);
  return document.cookie.substring(stop_param_name, stop_param);
};

//Funkcja ustawia wartość "ciasteczka"
function SetCookie(sName, sValue)
{
  date = new Date();
  date.setTime(date.getTime() + (365 * 24 * 3600 * 1000));
  document.cookie = sName + "=" + escape(sValue) + "; expires=" + date.toGMTString();
  //alert(document.cookie);
}

//Ustawianie ważności "ciasteczek"
function set_exp_cookie(yy_, mm_, dd_)
{
  //alert(document.cookie);
  if (!document.cookie) {return false};
  exp_date = new Date();
  exp_date.setTime(exp_date.getTime() + (yy_*(365 * 24 * 3600 * 1000)) +
  (mm_*(30 * 24 * 3600 * 1000)) + (dd_*(24 * 3600 * 1000)));
  alert(exp_date.toGMTString());
  document.cookie+= "; expires=" + exp_date.toGMTString();
  //alert(document.cookie);
}

//Pobieranie danych z "ciasteczek"
function z_ciacha()
{
  //alert("z ciacha:\n"+document.cookie);
  if (GetCookie("nazwisko")) {parent.Towar.document.Zamowienie.nazwisko.value = GetCookie("nazwisko")};
  if (GetCookie("firma")) {parent.Towar.document.Zamowienie.firma.value = GetCookie("firma")};
  if (GetCookie("nip")) {parent.Towar.document.Zamowienie.nip.value = GetCookie("nip")};
  if (GetCookie("mail")) {parent.Towar.document.Zamowienie.mail.value = GetCookie("mail")};
  if (GetCookie("telefon")) {parent.Towar.document.Zamowienie.telefon.value = GetCookie("telefon")};
  if (GetCookie("adres")) {parent.Towar.document.Zamowienie.adres.value = GetCookie("adres")};
  if (GetCookie("kod")) {parent.Towar.document.Zamowienie.kod.value = GetCookie("kod")};
  if (GetCookie("miasto")) {parent.Towar.document.Zamowienie.miasto.value = GetCookie("miasto")};
}

//Obliczanie sumy zamówienia
function licz_sume_tr()
{
    suma=0;
    for ( i = 1 ; i <= Lista_Informacji.wielkosc ; i++)
    {
      suma += zaokr(Lista_Informacji[i].ilosc*Lista_Informacji[i].cena,0.01);
    };
    if (Analizuj(transport) != 0 && suma !=0)
    {
      suma += Analizuj(transport);
    }
}

//Przedstawianie sumy zamówienia (wraz ze zmianą obrazka) w ramce "kosz"
function pokaz_krotkie_info()
{
  licz_sume_tr();
  self.document.krotkie_info.ile_w_koszu.value = waluta_scr(suma);
  if (suma > 0) {self.document.Obrazek_kosza.src="kosz-check-full.gif"} else {self.document.Obrazek_kosza.src="kosz-check.gif"};
}

