/**JavaScripts*/

/**funkce zobrazi potvrzovaci hlasku, je-li uzivatel opravdu pripraven odebrat polozku
 *pouziti admin/stranky/zpusoby_doruceni.php*/
function smazani(url, nazev_polozky)
{
    var question = confirm("Opravdu si přejete odstranit položku " + nazev_polozky + "?");
    if (question == true)
    {
        window.location.href = url;
    }
}

/**funkce prepocitava objednavku v objednavka.tpl (konecna objednavka)
 *id je cislo input pole ve kterem je funkce inicializovana*/
function prepocet_objednavky(kodova_trida, id, puvodni_hodnota){
    //ziskani nove hodnoty input vstupniho pole
    var zadana_hodnota = document.getElementById(id).value;
    //zkontroluji, jde-li o cislo dle vsech moznych kriterii
    if(!je_cislo(zadana_hodnota) || parseInt(zadana_hodnota) < 5){
        //varovna hlaska
        alert('Byla zadána neplatná hodnota. Zadávaná hodnota bude nahrazena hodnotou původní.');
        //nastavi hodnotu vstupniho pole na puvodni hodnotu
        document.getElementById(id).value = puvodni_hodnota;
        zadana_hodnota = puvodni_hodnota;
    }
    //vypoctu cenu na radku
    var cena_kus = parseFloat(document.getElementById('cena_za_kus' +  kodova_trida).value);
    zadana_hodnota = parseInt(zadana_hodnota);
    var cena_na_radku = zadana_hodnota * cena_kus;
    //upravim cenu na radku
    var puvodni = parseInt(document.getElementById('cena_na_radku' + id).innerHTML); //vytahnout to pres html text
    //vlozeni upravene ceny na radek
    cena_na_radku = Math.round(cena_na_radku * 100) / 100;
    document.getElementById('cena_na_radku' + id).innerHTML = nice_number(cena_na_radku);
    //vypocet celkoveho mnozstvi zbozi
    var soucet = secti_hodnoty_tridy(kodova_trida); // --------------------- tady soucet mnozstvi --------------------- //
    //aktualizuje udaj celkoveho souctu
    document.getElementById('mnozstvi_trida_span' + kodova_trida).innerHTML = soucet;
    document.getElementById('mnozstvi_trida' + kodova_trida).value = soucet; //s hodnotou je dale pocitano pro vypocet potisku
    //vypocet celkove ceny tridy zbozi
    var celkova_cena = soucet * cena_kus;
    //zaokrouhli vyslednou hodnotu ceny zbozi
    celkova_cena = Math.round(celkova_cena * 100) / 100;
    document.getElementById('celkova_cena' + kodova_trida).innerHTML = nice_number(celkova_cena);
    //potisk ANO, NE a jeho vypocet
    var cena_potisku = 0;
    if(document.getElementById('potisk' + kodova_trida).innerHTML == 'ANO'){
        //spocitat potisk
        cena_potisku = vypocet_ceny_potisku(kodova_trida);
        document.getElementById('cena_s_potiskem' + kodova_trida).innerHTML = nice_number(Math.round((celkova_cena + cena_potisku) * 100) / 100);
    }
    //ulozeni ceny za zbozi do hidden policka
    document.getElementById('cena_za_zbozi_hidden' + kodova_trida).value = celkova_cena;
    //zmena ceny v zahlavi
    document.getElementById('celkova_cena_zahlavi' + kodova_trida).innerHTML = nice_number(Math.round((celkova_cena + cena_potisku) * 100) / 100);
	document.getElementById('celkova_cena_zahlavi_hidden' + kodova_trida).value = Math.round((celkova_cena + cena_potisku) * 100) / 100;
	total_price();
}

/**funkce secte dilci ceny jednotlivych trid zbozi a zapise vyslednou hodnotu na most celkove ceny objednavky*/
function total_price()
{
	var cena_kosiku = 0;
	//alert(document.getElementsByName('cena_objednavky')[1].value);
	for(var i = 0; i < document.getElementsByName("cena_objednavky").length; i++)
	{
		//alert(document.getElementsByName('cena_objednavky')[i].value);
		cena_kosiku = parseFloat(cena_kosiku) + parseFloat(document.getElementsByName('cena_objednavky')[i].value);
	}
	document.getElementById('celkova_cena_kosiku').innerHTML = nice_number(cena_kosiku);
	//alert(nice_number(cena_kosiku));
	//alert(nice_number(cena_kosiku));
}

/**funkce meni hodnoty hlavicky objednavky jednotlivych druhu zbozi objednavka.tpl*/
function celkova_cena(kodova_trida){
    var cena_za_zbozi = parseFloat(document.getElementById('cena_za_zbozi_hidden' + kodova_trida).value);
    var cena_za_potisk = parseFloat(document.getElementById('cena_za_potisk_hidden' + kodova_trida).value);
    var celkova_cena = cena_za_zbozi;
    if(document.getElementById("potisk_input" + kodova_trida).value == '1'){
        celkova_cena = celkova_cena + cena_za_potisk;
        document.getElementById('cena_s_potiskem' + kodova_trida).innerHTML = nice_number(Math.round(celkova_cena * 100) / 100);
    }
    document.getElementById('celkova_cena_zahlavi' + kodova_trida).innerHTML = nice_number(Math.round(celkova_cena * 100) / 100);
    document.getElementById('celkova_cena_zahlavi_hidden' + kodova_trida).value = Math.round(celkova_cena * 100) / 100;
}


/**funkce meni aktualni pocet barev pro prepocet vyvolana zmenou selectu objednavky.tpl*/
function zmena_poctu_barev(pocet_barev, kodova_trida, trida_potisku){
    document.getElementById("aktivni_pocet_barev" + kodova_trida + trida_potisku).value = pocet_barev;
}

/**funkce vypocita cenu potisku a nastavi prislusna policka formulare na vypoctene hodnoty*/
function vypocet_ceny_potisku(kodova_trida){
    //ziskani aktualni tridy_potisku
    var trida_potisku = document.getElementById("aktivni_trida_potisku" + kodova_trida).value;
    //ziskani poctu barev
    var pocet_barev = parseInt(document.getElementById("aktivni_pocet_barev" + kodova_trida + trida_potisku).value);
    //ziskani ceny za technickou pripravu
    var technicka_priprava = parseInt(document.getElementById("technicka_priprava" + kodova_trida + trida_potisku).value);
    //ziskani mnozstvi kusu zbozi
    var soucet = parseInt(document.getElementById('mnozstvi_trida' + kodova_trida).value);
    //nalezeni ceny barvy za mnozstvi kusu zbozi
    for(var i = 0; i < document.getElementsByName("pocet_kusu" + kodova_trida + trida_potisku).length; i++){
        if(soucet < parseInt(document.getElementsByName("pocet_kusu" + kodova_trida + trida_potisku)[i].value)){
            break;
        }
    }
    //kdyz je soucet > nez tabulkove hodnoty zbozi, pouzije se posledni (nejvyssi) hodnota pro vypocet
    var cena_barva = parseFloat(document.getElementsByName("cena_barva" + kodova_trida + trida_potisku)[i].value);
    var cena_dalsi_barva = parseFloat(document.getElementsByName("cena_dalsi_barva" + kodova_trida + trida_potisku)[i].value);
    // --------- VYPOCET POTISKU --------- //       
    //je-li cena za jednu barvu <50 jde o naceneni za kus
    //neni-li,  jde o nejnizsti mnozstvi zbozi hrazene pausalni castkou
    var cena_za_potisk = 0;
    if(cena_barva < 50){
        cena_za_potisk = soucet * cena_barva + soucet * ((pocet_barev - 1) * cena_dalsi_barva);
    }else{
      cena_za_potisk = cena_barva + ((pocet_barev - 1) * cena_dalsi_barva);
    }
    // ---- vraceni hodnot do formulare ---- //
    //cena_za_potisk na radku
    document.getElementById("cena_na_radku" + kodova_trida + trida_potisku).innerHTML = nice_number(Math.round(cena_za_potisk * 100) / 100);
    //cena za potisk ve vypise
    //document.getElementById("cena_za_potisk_celkova" + kodova_trida).innerHTML = nice_number(Math.round(cena_za_potisk * 100) / 100);
    //ulozeni ceny za potisk do hidden policka
    //technicka_priprava = parseInt(document.getElementById("technicka_priprava" + kodova_trida + trida_potisku).value);
    var grafika = parseFloat(document.getElementById("zpracovani_grafiky_cena").value);
    var korektura = parseFloat(document.getElementById("korektura_predmetu_cena").value);
    cena_za_potisk = cena_za_potisk + grafika + korektura + technicka_priprava * pocet_barev;
    document.getElementById('cena_za_potisk_hidden' + kodova_trida).value = cena_za_potisk;
    return cena_za_potisk;
}

/**funkce nastavi novou tridu potisku (aktivni trida potisku)
 *prepocita hodnoty cen potisku
 *  vymeni data aktualnich cen za pripravu apod.*/
function zmena_tridy_potisku(kodova_trida, trida_potisku){
    //zmena hodnoty technicke pripravy potisku
    var technicka_priprava = document.getElementById("technicka_priprava" + kodova_trida + trida_potisku).value;
    document.getElementById("technicka_priprava_show" + kodova_trida).innerHTML = technicka_priprava;
    //zmena aktivni tridy potisku
    document.getElementById("aktivni_trida_potisku" + kodova_trida).value = trida_potisku;
    //vypocet ceny potisku
    vypocet_ceny_potisku(kodova_trida, trida_potisku);
}

/**funkce secte hodnoty vsech sdruzenych vstupnich poli jako mnozstvi kusu*/
function secti_hodnoty_tridy(kodova_trida){
    var soucet = 0;
    //proved tolikrat, kolik je polozek jednoho druhu zbozi (tridy zbozi)
    for(var i = 0; i < document.getElementsByName("zbozi" + kodova_trida + "[]").length; i++){
        //prevest vstupni hodnotu na cislo
        var cislo = parseInt(document.getElementsByName("zbozi" + kodova_trida + "[]")[i].value);
        if(cislo) soucet = soucet + cislo; //pokud se tam dostane NaN, nebude se pocitat
    }
    return soucet;
}

/**funkce kontroluje, zda-li je predana hodnota cislo
 *neni-li vraci nulu, je-li, vraci jedna*/
function je_cislo(polozka){
    //odhaleni nul na zacatku cisla
    //prevedeni cisla na retezec, nebot cislo 016 je brano jako hodnota 14!
    polozka_string = polozka.toString();
    if(polozka_string.indexOf('0') == 0){
        return 0;
    }
    //prevedeni vstupniho udaje na cislo
    //kontrola hodnoty cisla
    polozka = parseInt(polozka);
    if(polozka < 0 || polozka == 0){
        return 0;
    }
    if(!polozka){
        return 0;
    }
    return 1;
}

/**funkce kontroluje vlozene cislo proti zaporne hodnote a neplatnym znakum
 *nahrazuje zadane cislo nulou v pripade chybneho zadani*/
function value_control(item){
    //nacteni vkladane hodnoty
    var polozka = document.getElementsByName(item)[0].value;
    //varovna hlaska
    var warning = 'Bylo zadáno neplatné množství kusů zboží.';
    //odstraneni nul na zacatku cisla
    //prevedeni cisla na retezec, nebot cislo 016 je brano jako hodnota 14!
    polozka_string = polozka.toString();
    if(polozka_string.indexOf('0') == 0){
        document.getElementsByName(item)[0].value = 0;
        alert(warning);
    }
    //prevedeni vstupniho udaje na cislo
    //kontrola hodnoty cisla
    polozka = parseInt(polozka);
    if(polozka < 0){
        //vynulovani hodnoty
        document.getElementsByName(item)[0].value = 0;
        alert(warning);
    }
    if(!polozka){
        //vynulovani hodnoty
        document.getElementsByName(item)[0].value = 0;
        //alert(warning);
    }
    if(polozka > 9000000){
        //vynulovani hodnoty
        document.getElementsByName(item)[0].value = 0;
        alert('Hodnota přesáhla maximální počet kusů zboží jedné zakázky 9.000.000. Zadejte hodnotu počtu kusů znovu, prosím.');
    }
    //po projiti kontroly jde cislo k prepoctu
    sumItUP(); 
}

/*
    - funkce vezme cenu za zbozi a cenu za potisk a secte je
    - funkce vrati vyslednou hodnotu na stranku
  */
function cena_s_potiskem()
{
  //cena za zbozi
  cena_za_zbozi = parseFloat(document.getElementById("cena_celkem").value);
  //cena za potisk
  cena_za_potisk = parseFloat(document.getElementById("aktivni_cena_potisku").value);
  //dilci cena s potiskem, ale bez hodnoty provedeni potisku
  dilci_cena = cena_za_zbozi + cena_za_potisk;
  //pripocitat naklady na pripravu, graficke zpracovani, korekturu predmetu
  //ziskani poctu barev
  var pocet_barev = parseInt(document.getElementById("pocet_barev_dekorace").value);
  //ziskani polozky technicka_priprava tridy zbozi
  technicka_priprava = parseFloat(document.getElementById("technicka_priprava" + trida).value);
  if(pocet_barev > 1)
  {
    technicka_priprava = technicka_priprava * pocet_barev;
  }
  var grafika = parseFloat(document.getElementById("zpracovani_grafiky_cena").value);
  var korektura = parseFloat(document.getElementById("korektura_predmetu_cena").value);
  cena_za_potisk = dilci_cena + grafika + korektura + technicka_priprava;
  cena_za_potisk = Math.round(cena_za_potisk * 100) / 100;
  //vysledna cena
  var vysledna_cena = cena_za_potisk;
  if(cena_za_zbozi == 0) vysledna_cena = 0;
  document.getElementById("vysledna_cena_visual").firstChild.nodeValue = nice_number(vysledna_cena);
  document.getElementById("vysledna_cena").value = vysledna_cena;
}

/**funkce upravi cislo do upraveneho financniho formatu 1 234.60 pro zobrazeni mnozstvi Kc.
  */
function nice_number(b){  
  //splitting of the string
  a = b.toString();
  index_desetinne_carky = parseInt(a.indexOf('.'));
  if(index_desetinne_carky > 0) {
    cislo_pred_carkou = (a.substring(0,index_desetinne_carky)).toString();
    cislo_za_carkou = a.substring(index_desetinne_carky+1,a.length);
    if(cislo_za_carkou.length == 1) {
      cislo_za_carkou = cislo_za_carkou + "0";
    }
  }
   else {
    cislo_pred_carkou = a;
    cislo_za_carkou = "00";
  };
  //splitting the string by a space
  var result='';
  var counter=1;
  if(cislo_pred_carkou.length > 3) {
    for(var i=cislo_pred_carkou.length-1; i>=0; i--){
      if(counter == 4) {
        result=' ' + result;
        counter=1;
      };
      result = cislo_pred_carkou.charAt(i) + result;
      counter++;
    }
  }
    else{
      result = cislo_pred_carkou;
    }
  cislo_cele = result + "," + cislo_za_carkou;
  return cislo_cele;
}

/**funkce
    - vezme hodnotu celkoveho mnozstvi zbozi
    - najde prislusnou cenu za kus v zavislosti na poctu barev
    - vypocita cenu potisku
    - hodi cenu dilciho potisku na prislusny radek stranky
    - prida cenu dilciho potisku do aktivni_cena_potisku stranky pro vypocet ceny zbozi s potiskem 
    - pripocitat naklady na pripravu, graficke zpracovani, korekturu predmetu
    - funkce zmeni hodnoty cen za graficke zpracovani navrhu
  */  
function vypocet_potisku(pocet_barev, trida){
  //ziskani hodnoty celkoveho mnozstvi zbozi
  mnozstvi_zbozi = parseInt(document.getElementById("mnozstvi_celkem").firstChild.nodeValue);
  if(mnozstvi_zbozi > 0){
      //najde prislusnou cenu za kus v zavislosti na poctu barev
      //nacitat mnozstvi_do tak dlouho, dokud je mnozstvi_do > nez pocet kusu objednavaneho zbozi
      var mnozstvi_do = new Array;
      var mnozstvi_do_object = document.getElementsByName("mnozstvi_do"+trida);
      if(mnozstvi_do_object.length > 0){
        //hodnota kontrolniho bodu
        var control = 0;
        //kolik je polozek mnozstvi_do, tolikrat se to provede
        for(var a = 0; a < mnozstvi_do_object.length; a++){
          mnozstvi_do = parseInt(mnozstvi_do_object[a].value);
          if(mnozstvi_zbozi < mnozstvi_do){
            //nastaveni kontrolniho bodu, ze se to provedlo, jinak pokracuje podminka po cyklu for
            control = 1;
            //ziskani ceny za jednu barvu v zavislosti na mnozstvi zbozi
            var cena_barva_object = document.getElementsByName("cena_barva"+trida);
            cena_barva = parseFloat(cena_barva_object[a].value);
            //ziskani ceny za dalsi barvu v zavislosti na mnozsvti zbozi
            var cena_dalsi_barva_object=document.getElementsByName("cena_dalsi_barva"+trida);
            cena_dalsi_barva = parseFloat(cena_dalsi_barva_object[a].value);
              //VYPOCET POTISKU        
              //je-li cena za jednu barvu <50 jde o naceneni za kus
              //neni-li,  jde o nejnizsti mnozstvi zbozi hrazene pausalni castkou
              if(cena_barva < 50){
                  cena_za_potisk = mnozstvi_zbozi * cena_barva + mnozstvi_zbozi * ((pocet_barev - 1) * cena_dalsi_barva);
              }else{
                cena_za_potisk = cena_barva + ((pocet_barev - 1) * cena_dalsi_barva);
              }
              break;
              a = parseInt(mnozstvi_do_object.length) + 1;
          }
        }
        if(control == 0){
            //snizit poluzku a o jednu hodnotu
            a = a - 1;
            //ziskani ceny za jednu barvu v zavislosti na mnozstvi zbozi
            var cena_barva_object = document.getElementsByName("cena_barva"+trida);
            cena_barva = parseFloat(cena_barva_object[a].value);
            //ziskani ceny za dalsi barvu v zavislosti na mnozsvti zbozi
            var cena_dalsi_barva_object=document.getElementsByName("cena_dalsi_barva"+trida);
            cena_dalsi_barva = parseFloat(cena_dalsi_barva_object[a].value);
              //VYPOCET POTISKU        
              //je-li cena za jednu barvu <50 jde o naceneni za kus
              //neni-li,  jde o nejnizsti mnozstvi zbozi hrazene pausalni castkou
              if(cena_barva < 50){
                  cena_za_potisk = mnozstvi_zbozi * cena_barva + mnozstvi_zbozi * ((pocet_barev - 1) * cena_dalsi_barva);
              }else{
                cena_za_potisk = cena_barva + (pocet_barev - 1) * cena_dalsi_barva;
              }
        }
      }
      //hodi cenu dilciho potisku na prislusny radek stranky
      document.getElementById("trida_price" + trida).value = Math.round(cena_za_potisk * 100) / 100;
      //prida cenu dilciho potisku do aktivni_cena_potisku stranky pro vypocet ceny zbozi s potiskem 
      document.getElementById("aktivni_cena_potisku").value = Math.round(cena_za_potisk * 100) / 100;
  }else {
    document.getElementById("vysledna_cena").value=0;
    cena_za_potisk=0;
  }
  //hodi cenu dilciho potisku na radek
  document.getElementById("trida_price_visual"+trida+"").firstChild.nodeValue=nice_number(Math.round(cena_za_potisk*100)/100);
  document.getElementById("trida_price"+trida+"").value=Math.round(cena_za_potisk*100)/100;
  //hodi cenu dilciho potisku do celkove ceny potisku stranky
  document.getElementById("aktivni_cena_potisku").value=Math.round(cena_za_potisk*100)/100;
  cena_s_potiskem();
  //zmena hodnoty ceny za pripravu potisku
  //cena za pripravu potisku se vztahuje ke druhu potisku.
  document.getElementById("technicka_priprava_potisku_zaver_visual").firstChild.nodeValue = nice_number(document.getElementById("technicka_priprava"+trida).value);
  total_price();
}

/**funkce
    - je zadano mnozstvi barev roletkovym menu a na jeho zaklade se spocita dilci cena potisku
    - nastavi se posledni_pocet_barevTRIDA
    - nastavi se aktivni_trida
  */
function spocitej_potisk_s_mnozstvim(pocet_barev, trida){
  pocet_barev = parseInt(pocet_barev);
  vypocet_potisku(pocet_barev,trida);
  //nastavi se posledni_pocet_barevTRIDA
  document.getElementById("posledni_pocet_barev"+trida+"").value = pocet_barev;
  //nastavi aktivni tridu
  document.getElementById("aktivni_trida").value = trida;
}

/**
    funkce vezme hodnotu promenne posledni_pocet_barevTRIDA
    zavola funkci spocitej_potisk_s_mnozstvim(pocet_barev,trida)
    nastavi aktivni tridu
  */
function spocitej_potisk(trida)
{
  
  //ziskani hodnoty aktualniho poctu barev (na radku)
  pocet_barev = parseInt(document.getElementById("posledni_pocet_barev" + trida).value);
  
  //spocitani ceny potisku
  spocitej_potisk_s_mnozstvim(pocet_barev,trida);
  
  //nastavi aktivni tridu
  document.getElementById("aktivni_trida").value = trida;
}

function potisk()
{
/*
  - pri rozkliknuti moznosti potisku
  - nastavi defaultni hodnoty
  - ziska nazev 1. vypsane tridy (defaultni nastaveni) a vypocte potisk pri poctu 1 (jedne) barvy
  - vypocte cenu potisku prvni polozky ve vypisu
*/
  //nastaveni defaultnich hodnot
  defaultni_hodnoty();
  //ziskani aktivni tridy
  a=document.getElementById("aktivni_trida");
  aktivni_trida=a.value;
  //ziskani mnozstvi kusu zbozi
  a=document.getElementById("mnozstvi_celkem");
  mnozstvi_kusu=a.firstChild.nodeValue;
  //vypocte cenu potisku prvni polozky ve vypisu
  vypocet_potisku(1,aktivni_trida);
}

/**funkce nastavuje vychozi hodnoty pro
    - posledni_vobla_$trida tj. pocet naposled uzitych barev = 1
    - nastavuje rolovaci menu na vychozi 1. volbu
    - nastavuje aktivni_trida na prvni vypsanou $trida
    - nastavi prvni radio button
  */
function defaultni_hodnoty(){
  
  //pro vsechny pouzite tridy nastavit vychozi hodnoty = 1
  tridy=document.getElementsByName("tridy");
  for(i=0; i<tridy.length; i++){
    trida=tridy[i].value;
    document.getElementById("posledni_pocet_barev" + trida).value=1;
    document.getElementById("trida_price"+trida+"").value=0;
    //vynulovat roletkove menu
    pocet_barev_dekorace = document.getElementsByName("pocet_barev_dekorace");
    if(pocet_barev_dekorace.length > 1)
    {
        for(a=0; a<pocet_barev_dekorace.length; a++)
        {
          document.kosik.pocet_barev_dekorace[a].options[0].selected = true;
        }
    }
    else document.kosik.pocet_barev_dekorace.options[0].selected = true;
  }
  
  //ziskani defaultni aktivni tridy
  if(document.getElementById("hadry").value == '0'){
    a=document.getElementById("first_trida");
    first_trida=a.value;
    document.getElementById("aktivni_trida").value=first_trida;
  }
  
  //zjisti, jestli je na strance vice radio buttonu
  if(parseInt(document.getElementsByName("radio").length) > 1){
    //nastavi prvni radio button
    document.kosik.radio[0].checked=true;
  }else{
    document.kosik.radio.checked=true;
  }
}

function nulovani(){
/** funkce vynuluje vsechny pouzivane hodnoty vypoctu, vcetne hidden inputu na nulu
 */
 
  //prochazeni vsech polozek druhu zbozi
  kod_obj = document.getElementsByName("kod");
  for(var i=0; i<kod_obj.length; i++){
    //nacteni jednotliveho druhu zbozi pomoci kodu
    kod = kod_obj[i].value;
    //nacteni hodnoty vstupniho pole
    mnozstvi_obj = document.getElementsByName("mnozstvi_kod"+kod);
    for(var pomocnik=0; pomocnik<mnozstvi_obj.length; pomocnik++){
      mnozstvi = parseInt(mnozstvi_obj[pomocnik].value);
      document.getElementById("cena_celkem_kod"+kod).value = nice_number(0);
      //zobrazeni privetive podoby vysledku na strance
      document.getElementById("cena_celkem_kod_visual"+kod).firstChild.nodeValue = nice_number(0);
    }
  }
  document.getElementById("cena_celkem_visual").firstChild.nodeValue = nice_number(0);
  document.getElementById("cena_celkem").value = 0;
  document.getElementById("vysledna_cena_visual").firstChild.nodeValue = nice_number(0);
  document.getElementById("vysledna_cena").value = 0;
  document.getElementById("mnozstvi_celkem").firstChild.nodeValue = 0;
}

function newWindow(fileURL,width,height) {
	w = width;
	h = height+110;
	options='width='+w+',height='+h;
	okno=window.open(fileURL,'',options);
}

function printObject(input){
 document.write(input);
}

function activateTab(tab){
    if (tab =="chart"){
        button = document.getElementById("toChartTabButton");
        button.className="tab a";
        button = document.getElementById("questionTabButton");
        button.className="tab";
        tab = document.getElementById("questionTab");
        tab.style.display = "none";
        tab = document.getElementById("toChartTab");
        tab.style.display = "";
    }
    if(tab =="question"){
        button = document.getElementById("toChartTabButton");
        button.className="tab";
        button = document.getElementById("questionTabButton");
        button.className="tab a";
        
        tab = document.getElementById("questionTab");
    
        tab.style.display = "";
        tab = document.getElementById("toChartTab");
        tab.style.display = "none";
    }

}

/** 
 * - funkce vypocte cenu za mnozstvi zbozi na radku, matematickou hodnotu schova do input hidden a vizualne privetivejsi zobrazi na strance
 * - funkce secte mnozstvi vsech uvadenych druhu zbozi a vypocte jejich celkovou cenu
 */ 
function sumItUP(){ 
  
  var cena_celkem = 0;
  var mnozstvi_celkem = 0;
  
  if(document.getElementById("hadry").value == '1'){
  //jde o obleceni
    for(var i = 0; i < document.getElementsByName("kod").length; i++){
      kod = document.getElementsByName("kod")[i].value;
      //cena za kus
      cena_za_kus = parseFloat(document.getElementsByName("cena_kod"+kod)[0].value);
      //kolik je polozek jednoho kodu
      for(var a = 0; a <= document.getElementsByName("pocet_polozek_kodu"+kod)[0].value; a++){
        
        //zadane mnozstvi
        mnozstvi = parseInt(document.getElementsByName("mnozstvi_kod"+kod+""+a+"")[0].value);
        cena_na_radku = mnozstvi * cena_za_kus;
        document.getElementById("cena_celkem_kod"+kod+"["+a+"]").value = Math.round(cena_na_radku*100)/100;
        document.getElementById("cena_celkem_kod_visual"+kod+"["+a+"]").firstChild.nodeValue = nice_number(Math.round(cena_na_radku*100)/100);
        
        mnozstvi_celkem = mnozstvi_celkem + mnozstvi;
        cena_celkem = cena_celkem + cena_na_radku;
      }
    }
  }else{ //nejde o obleceni
    //prochazeni vsech polozek druhu zbozi
    kod_obj = document.getElementsByName("kod");
    for(var i=0; i<kod_obj.length; i++){
      //nacteni jednotliveho druhu zbozi pomoci kodu
      kod = kod_obj[i].value;
      
      //nacteni hodnoty vstupniho pole
      mnozstvi_obj = document.getElementsByName("mnozstvi_kod"+kod);
      for(var a = 0; a < mnozstvi_obj.length; a++){
        mnozstvi = parseInt(mnozstvi_obj[a].value);
        //cena za kus
        var cena_kod = parseFloat(document.getElementsByName("cena_kod"+kod)[a].value);                
        //vypocet vysledne ceny na radku
        cena_celkem_kod = Math.round((cena_kod * mnozstvi)*100)/100;
        //schovani matematicke hodnoty do input hiddenu na radku
        document.getElementById("cena_celkem_kod"+kod).value = nice_number(cena_celkem_kod);
        //zobrazeni privetive podoby vysledku na strance
        document.getElementById("cena_celkem_kod_visual"+kod).firstChild.nodeValue = nice_number(cena_celkem_kod);
        //celkove mnozstvi kusu
        mnozstvi_celkem = mnozstvi_celkem + mnozstvi;
        //celkova cena za mnozstvi kusu
        cena_celkem = cena_celkem + cena_celkem_kod;
        cena_celkem = Math.round(cena_celkem*100)/100;
      }
    }
  }
  
  //cena_celkem za zbozi (bez potisku)
  document.getElementById("cena_celkem_visual").firstChild.nodeValue = nice_number(cena_celkem);
  document.getElementById("cena_celkem").value = cena_celkem;
  //mnozstvi_celkem
  document.getElementById("mnozstvi_celkem").firstChild.nodeValue = mnozstvi_celkem;

    //object = document.getElementById(id);
    hidden=parseInt(document.getElementById("hidden").value);

    if(hidden==1){
        //potisk ano, secti potisk a cenu za mnozstvi
        //ziskani posledni aktualni tridy potisku ve formulari
        trida=document.getElementById("aktivni_trida").value;
        //ziskani posledniho poctu barev zvoleneho ve formulari
        pocet_barev = document.getElementById("posledni_pocet_barev" + trida).value;
        //provedeni vypoctu potisku
        vypocet_potisku(pocet_barev, trida);
    }
}

//???
var vybrany_potisk;
var vybrany_pocet_barev;
var final_price;

//???
function disable(aktivni_polozka){
  pole_obj=document.getElementsByName("pocet_barev_dekorace");
  for(var i=0; i < pole_obj.length; i++){
    document.kosik.pocet_barev_dekorace[i].disabled=true;
  };
  document.kosik.pocet_barev_dekorace[aktivni_polozka].disabled=false;
}

/**funkce zmeni atribut na disabled u ostatnich polozek vyberu poctu barev, krome aktivniho (predaneho)*/
function disable_multi(pole, aktivni_polozka){
    pole_obj = document.getElementsByName(pole);
    for(var i = 0; i < pole_obj.length; i++){
        document.getElementsByName(pole)[i].disabled = true;
    }
    document.getElementsByName(pole)[aktivni_polozka].disabled = false;
}

//???
function count_all(nazev_tridy){
  trida_dekorace_obj = document.getElementById("trida_dekorace");
  azev_tridy = trida_dekorace_obj.value;
  pocet_barev_dekorace_obj = document.getElementById("pocet_barev_dekorace");
  pocet_barev = pocet_barev_dekorace_obj.value;
   help(pocet_barev,nazev_tridy);
}

/**funkce kontroluje hodnotu minimalniho odberu zbozi*/
function amountCheck(minimum){
  celkova_cena = parseFloat(document.getElementById("cena_celkem").value);
  if(celkova_cena < parseFloat(minimum)){
    alert('Malý počet objednaného zboží.');
    return false;
  }
  else{return true;}
}

/**funkce rozbaluje a sbaluje schovany div objednavky v kosiku objednavka.tpl*/
function showHide_multi(id){
    object = document.getElementById(id);
    if (object.style.display == "none"){
    object.style.display='';
    document.getElementById(id).value = 1;
    document.getElementById("potisk" + id).innerHTML = 'ANO';
    document.getElementById("potisk_input" + id).value = '1';
    document.getElementById("checkbox" + id).checked = true;
    }else{
      document.getElementById(id).value = 0; //nastavi hodnotu detekujici zapnuti/vypnuti potisku
      document.getElementById("potisk" + id).innerHTML = 'NE';
      document.getElementById("potisk_input" + id).value = '0';
      object.style.display='none';
      document.getElementById("checkbox" + id).checked = false;
    }
}

function showHide_body(id){
    object = document.getElementById(id);
    if (object.style.display == "none"){
    object.style.display='';
    }else{
    object.style.display='none';}
}

//pouzito pro zaskrtavani potisku
function showHide(id){
    object = document.getElementById(id);
    if (object.style.display == "none")
    {
      object.style.display='';
      document.getElementById("hidden").value=1;
      document.getElementById("potisk").checked = true;
      //nulovani hodnot dilcich vypoctu
      potisk();
    }
      else
      {
        document.getElementById("hidden").value=0;
        object.style.display='none';
        //vynuluje celkovou cenu vc. potisku
        document.getElementById("vysledna_cena_visual").firstChild.nodeValue =nice_number(0);
        document.getElementById("vysledna_cena").value = 0;
        document.getElementById("potisk").checked = false;
      }
}

//zobrazeni zvetsenych obrazku
function showHide_pure(id)
{
    object = document.getElementById(id);
    if (object.style.display == "none")
    {
      object.style.display='';
    }
      else
      {
        object.style.display='none';
      }
}

//???
function SetChecked(val,chkName) {
    dml=document.forms[form];
    len = dml.elements.length;
    var i=0;
    for( i=0 ; i<len ; i++) {
        if(dml.elements[i].disabled!=1){        
            dml.elements[i].checked=val;
        }
    }
}
