document.documentElement.className='js';

function make_menu_selector(mid)
{
    var cont = document.createElement('div');
    cont.setAttribute('class', 'producersSelect');
    var mul=document.getElementById(mid);
    if (!mul) return;
    var alist=mul.getElementsByTagName('a');
    var i;
    var sel=document.createElement('select');
    
    var opt=document.createElement('option');
    opt.setAttribute('value','');
    opt.appendChild(document.createTextNode('::: Producenci :::'))
    sel.appendChild(opt);
    for (i=0;i<alist.length;i++) {
        opt=document.createElement('option')
        opt.setAttribute('value',alist[i].href);
        opt.appendChild(alist[i].firstChild);
        sel.appendChild(opt);
    }
    while (mul.firstChild) mul.removeChild(mul.firstChild);
    mul.appendChild(document.createElement('li'));
    cont.appendChild(sel);
    mul.firstChild.appendChild(cont);
    sel.onchange=function()
    {
        if (sel.selectedIndex < 1) return;
        window.location=sel.options[sel.selectedIndex].value;
    }
    
}

function setCookie(name, value, expires, path, domain, secure) {
  var curCookie = name + "=" + encodeURIComponent(value) +
      ((expires) ? "; expires=" + expires.toGMTString() : "") +
      ((path) ? "; path=" + path : "") +
      ((domain) ? "; domain=" + domain : "") +
      ((secure) ? "; secure" : "");
  document.cookie = curCookie;
}

function getCookie(name) {
  var dc = document.cookie;
  var prefix = name + "=";
  var begin = dc.indexOf("; " + prefix);
  if (begin == -1) {
    begin = dc.indexOf(prefix);
    if (begin != 0) return null;
  } else
    begin += 2;
  var end = document.cookie.indexOf(";", begin);
  if (end == -1)
    end = dc.length;
  return decodeURIComponent(dc.substring(begin + prefix.length, end));
}

var basket;

function get_basket()
{
    var ciacho=getCookie('basket');
    if (!ciacho) {
        basket=null;
        return;
    }
    ciacho=ciacho.split('\n');
    var i;
    basket=[];
    for (i=0;i<ciacho.length;i++) {
        basket[i]=ciacho[i].split('\x1b');
    }
}

function set_basket()
{
    var ciacho,i;
    if (!basket || basket.length == 0) {
        ciacho='';
    }
    else {
        ciacho=[];
        for(i=0;i<basket.length;i++) ciacho.push(basket[i].join('\x1b'));
        ciacho=ciacho.join('\n');
    }
    setCookie('basket',ciacho,null,'/');
}

function add_to_basket_main(id, price, name){
    price=price.replace(',','.').split('.');
    if (price.length > 2) {
        alert("Błędna wartość ceny - prosimy o kontakt");
        return;
    }
    price[0]=price[0].replace(/\s+/g,'') * 100;
    if (price.length == 2) {
        if (price[1].length > 2) {
            alert("Błędna wartość ceny - prosimy o kontakt");
            return;
        }
        price[1]=price[1].replace(/[^0-9]+/g,'')
        while (price[1].length < 2) {
            price[1]+='0';
        }
        price=price[0]+parseInt(price[1]);
    }
    ilosc = 1;
    get_basket();
    var adder=false;
    if (basket) {
        var i;
        for (i=0;i<basket.length;i++) if (basket[i][0] == id) {
            adder=true;
            basket[i][1]=ilosc;
        }
    }
    if (!adder) {
        if (!basket) basket=[];
        basket.push([id,ilosc,price,name]);
    }
    set_basket();
    alert("Produkt został dodany do koszyka");

}

function add_to_basket(id)
{
    var name=document.getElementById('product_name');
    if (name) name=name.firstChild.nodeValue;
    else return;
    var price=document.getElementById('product_price');
    if (price) price=price.firstChild.nodeValue;
    else return;
    var ilosc=document.getElementById('product_count');
    if (ilosc) ilosc=parseInt(ilosc.value,10);
    else return;
    if (isNaN(ilosc) || ilosc < 1) {
        alert("Podaj prawidłową ilość");
        return;
    }
    price=price.replace(',','.').split('.');
    if (price.length > 2) {
        alert("Błędna wartość ceny - prosimy o kontakt");
        return;
    }
    price[0]=price[0].replace(/\s+/g,'') * 100;
    if (price.length == 2) {
        if (price[1].length > 2) {
            alert("Błędna wartość ceny - prosimy o kontakt");
            return;
        }
        price[1]=price[1].replace(/[^0-9]+/g,'')
        while (price[1].length < 2) {
            price[1]+='0';
        }
        price=price[0]+parseInt(price[1]);
    }
    //alert(name+'\n'+ilosc+' x '+price);
    get_basket();
    var adder=false;
    if (basket) {
        var i;
        for (i=0;i<basket.length;i++) if (basket[i][0] == id) {
            adder=true;
            basket[i][1]=ilosc;
        }
    }
    if (!adder) {
        if (!basket) basket=[];
        basket.push([id,ilosc,price,name]);
    }
    set_basket();
    alert("Produkt został dodany do koszyka");
}

function clear_basket()
{
    return;
    setCookie('basket', '', new Date(2000, 1, 1, 1, 1, 1, 1), '/');
    basket = null;
    return;
}

function priceformat(n)
{
    var gr=n%100;
    var zl=Math.floor(n/100);
    if (gr<10) gr='0'+gr;
    return zl+'.'+gr;
}

function show_basket()
{
    function c(name)
    {
        var el=document.createElement(name);
        var i;
        for (i=1;i<arguments.length;i+=2) {
            if (arguments[i] == 'class') {
                el.className=arguments[i+1];
                continue;
            }
            if (arguments[i] == 'name') {
                el.name=arguments[i+1];
            }
            if (arguments[i] == 'id') {
                el.id=arguments[i+1];
            }
            el.setAttribute(arguments[i],arguments[i+1])
        }
        return el;
    }
    function t(txt)
    {
        return document.createTextNode(txt);
    }
    
    function make_onclick_cnt(inp,id,ile)
    {
        inp.onclick=function()
        {
            var fle=prompt("Podaj nową ilość");
            if (!fle) {
                return false;
            }
            fle=parseInt(fle);
            if (isNaN(fle) || fle < 1) {
                return false;
            }
            try {
                get_basket();
                if (basket) {
                    for (i=0;i<basket.length;i++) if (basket[i][0]==id) {
                        basket[i][1]=fle;
                        break;
                    }
                }
                set_basket();
                show_basket();
            }
            catch(e) {}
            return false;
                
        }
        
    }
    function make_onclick_del(inp,id)
    {
        inp.onclick=function()
        {
            var i;
            try {
                get_basket();
                if (basket) {
                    for (i=0;i<basket.length;i++) if (basket[i][0]==id) {
                        basket.splice(i,1);
                        break;
                    }
                }
                set_basket();
                show_basket();
            }
            catch(e) {}
            return false;
        }
    }
    
    var bdiv=document.getElementById('basket_list');
    if (!bdiv) return;
    while (bdiv.firstChild) bdiv.removeChild(bdiv.firstChild);
    var btable=document.getElementById('client_data');
    get_basket();
    if (!basket || basket.length == 0) {
        if (btable) btable.parentNode.removeChild(btable);
        //bdiv.appendChild(t('Twój koszyk jest pusty'));
        sp = c('p');
        sp.innerHTML = "Twój koszyk jest pusty";
        bdiv.appendChild(sp);
        //usuwanie formularza gdy koszyk jest pusty
        document.getElementById('basket_form').innerHTML = '';
        return;
    }
    var i;
    var tr,td,inp;
    var tbl=c('table');
    var the=c('thead');
    var hdrs=["Nazwa towaru","Ilość","Cena","Wartość"/*,"Operacje"*/];
    tr=c('tr');
    for(i=0;i<hdrs.length;i++) {
        td=c('th');
        td.appendChild(t(hdrs[i]));
        tr.appendChild(td);
    }
    the.appendChild(tr)
    tbl.appendChild(the);
    var tbo=c('tbody');
    tbl.appendChild(tbo);
    var summa=0,valu;
    for (i=0;i<basket.length;i++) {
        tr=c('tr');
        td=c('td','class','basket_name');
        td.appendChild(t(basket[i][3]));
        inp=c('input','type','hidden','value',basket[i][0]+':'+basket[i][1],'name','product[]');
        td.appendChild(inp);
        tr.appendChild(td);
        td=c('td','class','basket_count');
        td.appendChild(t(basket[i][1]));
        tr.appendChild(td);
        td=c('td','class','basket_price');
        td.appendChild(t(priceformat(basket[i][2])));
        tr.appendChild(td);
        td=c('td','class','basket_summa');
        valu=basket[i][1] * basket[i][2]
        td.appendChild(t(priceformat(valu)));
        summa+=valu;
        tr.appendChild(td);
        td=c('td','class','basket_ops');
        inp=c('input','type','image','src','/images/basket_delete.png','title','Usuń produkt','alt','Usuń produkt');
        make_onclick_del(inp,basket[i][0]);
        td.appendChild(inp);
        inp=c('input','type','image','src','/images/calculator.png','title','Zmień ilość','alt','Zmień ilość');
        make_onclick_cnt(inp,basket[i][0],basket[i][1]);
        td.appendChild(inp);
        tr.appendChild(td)
        tbo.appendChild(tr);
        
    }
    var tfo=c('tfoot');
    tr=c('tr');
    td=c('th','class','basket_summary','colspan','3');
    td.appendChild(t('Razem'));
    tr.appendChild(td);
    td=c('td','class','basket_summa');
    td.appendChild(t(priceformat(summa)));
    tr.appendChild(td);
    tfo.appendChild(tr);
    tbl.appendChild(tfo);
    bdiv.appendChild(tbl);
}
