
//deklaracje zmiennych
var cart = new Array()
var itemInCart = 0

//funkcja dodaje towar do kosza
function addToCart(itemName,itemID,qty,price){
   addItemFromCookie();
   addToCartArray(itemName,itemID,qty,price,1);
//   alert(itemName+"\n"+itemID+"\n"+qty+"\n"+price+"\n"+itemInCart+"\n"+cartSum());
}
function addToCartArray(itemName,itemID,qty,price,showInfo)
{
   if(!isNaN(qty)&&qty>0){
      var i = findItemInCart(itemName,itemID,price);
      if(i>=0){
//         if(showInfo==1)
//            alert("Dodano do kosza kolejną sztukę produktu "+itemName+".");
         cart[i].qty+=qty;
      }else{
         var item=new Object();
         item.itemName=itemName;
         item.itemID=itemID;
         item.qty=qty;
         item.price=price;
         cart[itemInCart]=item;
         itemInCart++;
//         if(showInfo==1)
//            alert("Do koszyka włożono następujący produkt: \nNazwa : "+itemName+"\nId : "+itemID+"\nCena : "+price+"\nIlość : "+qty);
      }
      if(showInfo==1)
         alert("Do koszyka włożono następujący produkt: \nNazwa : "+itemName+"\nId : "+itemID+"\nCena jednostkowa : "+price+"\nIlość : "+qty);
   }else{
       alert("Nieprawidłowa ilość!!!");
   }
}
//dodawanie produktow z cookie
function addItemFromCookie(){
   var cookieStr=document.cookie;
   var offset="";
   var product="";
   var itemName="";
   var itemID=""
   var qty=0;
   var price=0.00;

   while(cookieStr.length>0){
//      alert("cookieStr : "+cookieStr);
      product="";
      offset = getCookieOffset("product", cookieStr);
      if (parseInt(offset) >= 0){
         product=getCookieVal(offset,cookieStr);
         cookieStr=cookieStr.substring(offset+product.length+1,cookieStr.length);
         product=unescape(product);
//         alert (product);
         itemName=getCookieByName("itemName",product);
         itemID=getCookieByName("itemId",product);
         qty=getCookieByName("qty",product);
         price=getCookieByName("price",product);
         addToCartArray(unescape(itemName),itemID,parseFloat(qty),price,0);
//         alert("itemName : "+itemName+", itemID : "+itemID+", qty="+qty+", price="+price);
      }else
         cookieStr="";
   }
   document.cookie="product=; path=/; expires=Fri, 02-Jan-1970 00:00:00 GMT";
}

function cartSum(){
   var i = 0;
   var sum = 0;
   while(i<itemInCart){
      sum+=cart[i].qty*cart[i].price;
      i++;
   }
   return sum;
}
function findItemInCart(itemName,itemID,price){
   var i=0;
   while(i<itemInCart){
      if(cart[i].itemName==itemName&&cart[i].itemID==itemID&&cart[i].price==price)
         return i;
      i++;
   }
   return -1;
}
//usuwanie podanej ilosci z kosza
function removeFromCart(itemName,itemID,qty,price){
   if(qty<=0){
      alert("Nieprawidłowa ilość do usunięcia.");
   }else{
      var i = findItemInCart(itemName,itemID,price);
      if(i>=0){
         if(cart[i].qty>0){
            if(qty>cart[i].qty){
               alert("Usunięcie możliwe tylko w ilości : "+cart[i].qty);
               cart[i].qty=0;
            }
            cart[i].qty-=qty;
//            alert("Usunięto sztukę produktu "+itemName+" z kosza z zakupami.");
         }else
            alert("Produktu "+itemName+" nie ma już w koszu z zakupami.");
      }else{
         alert("Produktu "+itemName+" nie występuje w koszu z zakupami.");
      }
   }
}
function showCart(reloadPage,quantityFieldWidth,quantityDefault){
   addItemFromCookie();
//przez body bedziemy odwolywac sie do ramki gdzie bedziemy pisac zawartosc kosza
   var i=0;
   var sum=0;
   var item;
   var itemQuantity="1";
   body.document.write("<TABLE class=\"cartContents\" cellspacing=\"0\">");
   body.document.write("<COLGROUP><COL width=\"50\" align=\"center\"><COL width=\"*\"><COL width=\"70\" align=\"right\"><COL width=\"70\" align=\"right\"><COL width=\"70\" align=\"right\">");
   if(reloadPage!=""){
      if(quantityFieldWidth>0)
         body.document.write("<COL width=\""+8*quantityFieldWidth+"\" align=\"center\">");
      body.document.write("<COL width=\"20\" align=\"center\"><COL width=\"20\" align=\"center\">");
   }
   body.document.write("</COLGROUP>");
   body.document.write("<THEAD>");
   body.document.write("<TH align=\"center\">ID</TH><TH align=\"center\">Nazwa produktu</TH><TH align=\"center\">Ilość</TH><TH align=\"center\">Cena jedn.</TH><TH align=\"center\">Razem</TH>");
   if(reloadPage!=""){
      if(quantityFieldWidth>0)
         body.document.write("<TH></TH>");
      body.document.write("<TH></TH><TH></TH>");
   }
   body.document.write("<TBODY>");
   if(quantityFieldWidth>0)
      body.document.write("<FORM name=\"detailsForm\">");
   while(i<itemInCart){
      item=cart[i];
      if(item.qty>0){
         if(_versionJS>="1.2"&&(new Number).toFixed)
            body.document.write("<TR><TD>"+item.itemID+"</TD><TD>"+item.itemName+"</TD><TD align=\"right\">"+item.qty+"</TD><TD align=\"right\">"+item.price+"</TD><TD align=\"right\">"+(item.price*item.qty).toFixed(2)+"</TD>");
         else
            body.document.write("<TR><TD>"+item.itemID+"</TD><TD>"+item.itemName+"</TD><TD align=\"right\">"+item.qty+"</TD><TD align=\"right\">"+item.price+"</TD><TD align=\"right\">"+(item.price*item.qty)+"</TD>");
         if(reloadPage!=""){
            if(quantityFieldWidth>0){
               body.document.write("<TD><INPUT type=\"edit\" size=\""+quantityFieldWidth+"\" value=\""+quantityDefault+"\" name=\"quantityItem"+item.itemID+"\"></TD>");
               itemQuantity="detailsForm.quantityItem"+item.itemID+".value";
            }
            body.document.write("<TD><IMG SRC=\"pic/signRemove.png\" onClick=\"parent.removeFromCart('"+item.itemName+"','"+item.itemID+"',parseFloat("+itemQuantity+"),"+item.price+");window.location='"+reloadPage+"';\"></IMG></TD><TD><IMG SRC=\"pic/signAdd.png\" onClick=\"parent.addToCart('"+item.itemName+"','"+item.itemID+"',parseFloat("+itemQuantity+"),"+item.price+");window.location='"+reloadPage+"';\"></IMG></TD>");
         }
         body.document.write("</TR>");
         sum+=item.price*item.qty;
      }
      i++;
   };
   if(_versionJS>="1.2"&&(new Number).toFixed)
      body.document.write("<TR><TD>&nbsp</TD><TD>&nbsp</TD><TD id=\"topBorder\">&nbsp</TD><TD id=\"topBorder\"><B>Suma (netto)</B></TD><TD id=\"topBorder\"><B>"+sum.toFixed(2)+"</B></TD></TR>");
   else
      body.document.write("<TR><TD>&nbsp</TD><TD>&nbsp</TD><TD id=\"topBorder\">&nbsp</TD><TD id=\"topBorder\"><B>Suma (netto)</B></TD><TD id=\"topBorder\"><B>"+sum+"</B></TD></TR>");
   if(quantityFieldWidth>0)
      body.document.write("</FORM>");
   body.document.write("</TABLE>");
}
//zwaraca zawartoć całego kosza
function getOrderDetails(){
   var str="Prosze nie edytowac tego zamowienia!!!\n\n";
   var i=0;
   var item;
   var sum=0;
   while(i<itemInCart){
      item=cart[i];
      if(item.qty>0){
         str=str+item.itemID+", nazwa : "+item.itemName+", ilosc : "+item.qty+", cena jedn. : "+item.price+"\n";
         sum+=item.price*item.qty;
      }
      i++;
   }
   if(_versionJS>="1.2"&&(new Number).toFixed)
      str=str+"\nRazem : "+sum.toFixed(2)+'PLN'
   else
      str=str+"\nRazem : "+sum+'PLN';
   return str;
}
function getOrderAddress(){
   var str="\n\nDane adresowe do faktury:\n";
   str+="  Nazwa firmy : "+body.document.orderForm.companyName.value+"\n";
   str+="  Osoba : "+body.document.orderForm.userName.value+"\n";
   str+="  Ulica : "+body.document.orderForm.streetName.value+"\n";
   str+="  Kod, Miasto : "+body.document.orderForm.cityName.value+"\n";
   str+="  NIP : "+body.document.orderForm.NIPNbr.value+"\n";
   str+="  Telefon : "+body.document.orderForm.phone.value+"\n";
   str+="  E-mail : "+body.document.orderForm.emailAdr.value+"\n";
   str+="\nDane adresowe dostawy:\n";
   str+="  Osoba : "+body.document.orderForm.userNameDelivery.value+"\n";
   str+="  Ulica : "+body.document.orderForm.streetNameDelivery.value+"\n";
   str+="  Kod, Miasto : "+body.document.orderForm.cityNameDelivery.value+"\n";
   str+="\n----UWAGI zamawiajšcego----\n";
   return str;
}
//wyswietlanie obrazkow
function imgCart_mouseover(item){
   item.src="pic/basketOn.png";
   window.status="Dodaj do koszyka";
}
function imgCart_mouseout(item){
   item.src="pic/basket.png";
   window.status="";
}
function imgCartWhite_mouseover(item){
   item.src="pic/basketOnWhite.png";
   window.status="Dodaj do koszyka";
}
function imgCartWhite_mouseout(item){
   item.src="pic/basketWhite.png";
   window.status="";
}
function imgCartFG_mouseover(item){
   item.src="../pic/basketOnFullGray.png";
   window.status="Dodaj do koszyka";
}
function imgCartFG_mouseout(item){
   item.src="../pic/basketFullGray.png";
   window.status="";
}
function displayWindow(url,width,height,curWindow) {
   var Win = window.open(url,"displayWindow",'width='+ width + ' ,height=' + height + ',resizable=1,menubar=no,scrollbars=yes');
}
function sendOrder(mailAddress){
   var str="";
   //weryfikacja poprawnosci wypelnienia formularza
   if(body.document.orderForm.companyName.value=="")
      str=str+"\n     Nazwa firmy";
   if(body.document.orderForm.userName.value=="")
      str=str+"\n     Imię i nazwisko";
   if(body.document.orderForm.streetName.value=="")
      str=str+"\n     Ulica";
   if(body.document.orderForm.cityName.value=="")
      str=str+"\n     Miasto";
   if(body.document.orderForm.phone.value=="")
      str=str+"\n     Telefon";
   if(body.document.orderForm.emailAdr.value=="")
      str=str+"\n     Adres email";
   if(str==""){ //wysylanie zamowienia
      str="mailto:"+mailAddress+"?subject=Zamowienie&body="+escape(getOrderDetails()+getOrderAddress());
      window.location=str;
//      alert("Wersja demo nie obluguje wysylania zamowien.");
   }else
      alert("Przed wyslaniem zamowienia nalezy uzupelnic następujace pola : "+str+" !!!");
}
/*oblsuga cookie*/
function getCookieOffset (name,cookieStr) {
   var arg = name + "=";
   var alen = arg.length;
   var clen = cookieStr.length;
   var i = 0;
   while (i < clen) {
      var j = i + alen;
      if (cookieStr.substring(i, j) == arg)
         return j;
      i++;
//      i = cookieStr.indexOf("&", i) + 1;
//      if (i == 0) break;
   }
   return null;
}
        
function getCookieVal (offset,cookieStr) {
   var endstr = cookieStr.indexOf ("&", offset)
   if (("" + endstr) == "" || endstr == -1)
      endstr = document.cookie.length
   return cookieStr.substring(offset, endstr);
//   return unescape(cookieStr.substring(offset, endstr))
}
            
function getCookieByName (name,cookieStr) {
   var offset = getCookieOffset(name,cookieStr);
   if (parseInt(offset) >= 0)
      return getCookieVal(offset,cookieStr);
   else
      return null;
}

