/* Prepocitani prvku v kosiku */
function basketRecount(idel,idproduct,urlmodul,message){
   var url = urlmodul;
   var timeStamp = "casotisk=" + new Date().getTime();

   var urlPost = url + '?' + timeStamp;
   var postData = 'cproduct=' + $(idel).getValue() + '&idproduct='+idproduct + '&type=rec';
   //alert(urlPost + postData);
   if(isNumeric(idel)){
       var myAjax = new Ajax(urlPost, {method: 'post',postBody: postData,onComplete: resultRecount }).request();
      // Zobrazit info
      if($('basket_info').hasClass('hidden')) {
         $('basket_info').removeClass('hidden');
      }
      ViewPort.centerObject($('basket_info'), 200, 100);
   }
   else{
      alert(message);
   }
}
/* Prepocitani prvku v kosiku */
function basketRemove(idproduct,urlmodul){
   var url = urlmodul;
   var timeStamp = "casotisk=" + new Date().getTime();

   var urlPost = url + '?' + timeStamp;
   var postData = 'cproduct=0' + '&idproduct='+idproduct + '&type=rec';
   var myAjax = new Ajax(urlPost, {method: 'post',postBody: postData,onComplete: resultRecount }).request();
   // Zobrazit info
   if($('basket_info').hasClass('hidden')) {
      $('basket_info').removeClass('hidden');
   }
   ViewPort.centerObject($('basket_info'), 200, 100);
}
/* zpracovani onComplete pridani do kosiku */
function resultRecount(){
   // zapracovat vysledek
   //alert(this.response.text);
   workBasketRecount(this.response.xml);
   //alert(this.response.text);
}
/* Zpracovani vysledku pridani do kosiku */
function workBasketRecount(xmlDoc){
   //ziskat data
   var totalProduct = xmlDoc.getElementsByTagName("totalproduct")[0].firstChild.data;
   var totalPrice = xmlDoc.getElementsByTagName("totalprice")[0].firstChild.data;
   var totalPriceDph = xmlDoc.getElementsByTagName("totalpricedph")[0].firstChild.data;
   var totalMass = xmlDoc.getElementsByTagName("totalmass")[0].firstChild.data;
   var productId = xmlDoc.getElementsByTagName("productid")[0].firstChild.data;
   var productName = xmlDoc.getElementsByTagName("productname")[0].firstChild.data;
   var productCount = xmlDoc.getElementsByTagName("productcount")[0].firstChild.data;
   var productPrice = xmlDoc.getElementsByTagName("productprice")[0].firstChild.data;
   var productPriceDph = xmlDoc.getElementsByTagName("productpricedph")[0].firstChild.data;
   var productPriceTotalDph = xmlDoc.getElementsByTagName("productpricetotaldph")[0].firstChild.data;
   var isEmptyBasket = xmlDoc.getElementsByTagName("isemptybasket")[0].firstChild.data;
   var textEmpty = xmlDoc.getElementsByTagName("textempty")[0].firstChild.data;
   var isPl = xmlDoc.getElementsByTagName("ispl")[0].firstChild.data;
   var plName = xmlDoc.getElementsByTagName("plname")[0].firstChild.data;
   var plPrice = xmlDoc.getElementsByTagName("plprice")[0].firstChild.data;
   var isSa = xmlDoc.getElementsByTagName("issa")[0].firstChild.data;
   var productCountSa = xmlDoc.getElementsByTagName("productcountsa")[0].firstChild.data;

   // celkem kusu
   $('basket_ks_item').setText(totalProduct);
   // celkem kusu
   $('basket_price_item').setText(totalPriceDph);
   // mnozstvi produktu
   $('id_product_count_'+productId).setText(productCount);
   // cena
   $('id_basket_price_'+productId).setText(productPrice);
   // cena
   $('id_basket_pricedph_'+productId).setText(productPriceDph);
   // cena
   $('id_basket_pricetotal_'+productId).setText(productPriceTotalDph);
   // celkova cena bez dph
   $('id_basket_total_price').setText(totalPrice);
   // celkova cena bez dph
   $('id_basket_total_pricedph').setText(totalPriceDph);
   // celkova hmotnost
   $('id_basket_total_mass').setText(totalMass);
   // Cenova hladina kosiku
   if(isPl == 1){
      $('basket_pl_item').setText(plName);
      $('basket_plprice_item').setText(plPrice);
   }
   // Pocet kusu super akce
   if(isSa == 1){
      $('id_product_super_' + productId).setText(productCountSa);
      // Nastavit hodnotu vstupu mnozstvi
      $('id_product_count_' + productId).setProperty('value',productCount);
   }
   // schovat info
   $('basket_info').addClass('hidden');
   // odstranit zbozi
   if(productCount == 0){
      // radek produktu
      $('id_basket_div_'+productId).remove();
      // radek s daty
      $('id_basket_div_title_'+productId).remove();
      // radek s tlacitky
      $('id_basket_div_submit_'+productId).remove();
      // radek s vyberovymi vlastnostmi
      $('id_basket_prop_'+productId).remove();

   }
   // indikace prazdnosti kosiku
   if(isEmptyBasket == 0){
      // Text
      $('id_basket_empty_text').setText(textEmpty);
      // Zobrazit text
      if($('id_basket_empty').hasClass('hidden')) {
         $('id_basket_empty').removeClass('hidden');
      }
      // odstranit spodek
      $('id_basket_product_bottom').remove();
      // info alert
      alert(textEmpty);
   }

   // Neni prazdny kosik nacist znovu
   if(isEmptyBasket != 0) window.location.reload();
}
/* Vyprazdneni nakupniho kosiku */
function basketEmpty(urlmodul,message){
   var r=confirm(message);
   if(r==true){
      var url = urlmodul;
      var timeStamp = "casotisk=" + new Date().getTime();

      var urlPost = url + '?' + timeStamp;
      var postData = '';
      var myAjax = new Ajax(urlPost, {method: 'post',postBody: postData,onComplete: resultBasketEmpty }).request();
      // Zobrazit info
      if($('basket_info').hasClass('hidden')) {
         $('basket_info').removeClass('hidden');
      }
      ViewPort.centerObject($('basket_info'), 200, 100);
   }
}
/* zpracovani onComplete vyprazdneni kosiku */
function resultBasketEmpty(){
   // zapracovat vysledek
   //alert(this.response.text);
   workBasketEmpty(this.response.xml);
}
/* Zpracovani vysledku vyprazdneni kosiku */
function workBasketEmpty(xmlDoc){
   //ziskat data
   var totalProduct = xmlDoc.getElementsByTagName("totalproduct")[0].firstChild.data;
   var totalPriceDph = xmlDoc.getElementsByTagName("totalpricedph")[0].firstChild.data;
   var textEmpty = xmlDoc.getElementsByTagName("textempty")[0].firstChild.data;
   // celkem kusu
   $('basket_ks_item').setText(totalProduct);
   // celkem kusu
   $('basket_price_item').setText(totalPriceDph);

   // schovat info
   $('basket_info').addClass('hidden');

   // odstranit zbozi
   $('id_basket_product_box').remove();
   // odstranit zbozi spodek
   $('id_basket_product_bottom').remove();

   // Text
   $('id_basket_empty_text').setText(textEmpty);
   // Zobrazit text
   if($('id_basket_empty').hasClass('hidden')) {
      $('id_basket_empty').removeClass('hidden');
   }
   // info alert
   alert(textEmpty);
}
/* Uprava mnozstvi vyberovych vlastnosti */
function basketModify(urlmodul,idproduct,keyitem,msg){
   var url = urlmodul;
   var timeStamp = "casotisk=" + new Date().getTime();

   var urlPost = url + '?' + timeStamp;
   var postData = 'idproduct='+idproduct + '&keyitem='+keyitem;

   // Zobrazit info
   $('basket_info_text').setText(msg);
   if($('basket_info').hasClass('hidden')) {
      $('basket_info').removeClass('hidden');
   }
   ViewPort.centerObject($('basket_info'), 200, 100);


   var myAjax = new Ajax(urlPost, {method: 'post',postBody: postData,onComplete: resultBasketModify }).request();
}
/* Zpracovani pozadavku */
function resultBasketModify(){
   // zapracovat vysledek
   //alert(this.response.text);
   workBasketModify(this.response.xml);
}
/* Zpracovani vysledku */
function workBasketModify(xmlDoc){
   // schovat info
   $('basket_info').addClass('hidden');

   // Indikace zda ma zbozi vyberove vlastnosti
   var isPropsel = xmlDoc.getElementsByTagName("ispropsel")[0].firstChild.data;
   // Pocet vyberovych vlastnosti
   var cPropsel = xmlDoc.getElementsByTagName("cpropsel")[0].firstChild.data;
   // Nazev pro th - mnozstvi
   var thAmount = xmlDoc.getElementsByTagName("thamount")[0].firstChild.data;
   // Pocet produktu
   var amountProduct = xmlDoc.getElementsByTagName("aproduct")[0].firstChild.data;
   // Url adresa modulu
   var urlModul = xmlDoc.getElementsByTagName("urlmodul")[0].firstChild.data;
   // Id produktu
   var idProduct = xmlDoc.getElementsByTagName("idproduct")[0].firstChild.data;
   // Klic zaznamu
   var keyItem = xmlDoc.getElementsByTagName("keyitem")[0].firstChild.data;
   // Zprava
   var message = xmlDoc.getElementsByTagName("msg")[0].firstChild.data;

   // Vyberove vlastnosti
   if(isPropsel == 1){
      // Odstranit vsechny polozky
      removeElement('basket_productmodify');

      // Vytvorit tabulku
      createElement('basket_productmodify','table','id_tabmodb');
      // Vytvorit tbody
      createElement('id_tabmodb','tbody','id_tabmodbtb');

      // Vytvorit radek
      createElement('id_tabmodbtb','tr','id_tabmodbtr0');

      // Vytvorit th

      eidth = 'id_tabmodbth0';
      createElement('id_tabmodbtr0','th',eidth);
      createElement(eidth,'p','id_tabmodth0p');
      $('id_tabmodth0p').setText(thAmount);

      // Sestavit skupiny vyberove vlastnosti
      for(i=1;i<=cPropsel;i++){
            // Vytvorit td
            eln = 'th';
            eidth = 'id_tabmodbth' + i;
            createElement('id_tabmodbtr0',eln,eidth);

            // Vytvorit
            var items = xmlDoc.getElementsByTagName('group'+i);
            buildSelectP(eidth,items);
      }

      // Vytvorit radek
      createElement('id_tabmodbtb','tr','id_tabmodbtr2');

      // Vytvorit td - pocet produktu select
      eidtd = 'id_tabmodbtd0';
      createElement('id_tabmodbtr2','td',eidtd);
      // Vytvorit form
      eidform = 'id_basketform0';
      createElement(eidtd,'form',eidform);
      // Vytvorit select
      eidsel = 'id_basketselect0';
      createElement(eidform,'select',eidsel);
      // Vytvorit select
      var items = xmlDoc.getElementsByTagName('amount');
      buildSelectSetSel(eidsel,items);

      // Sestavit vyberove vlastnosti
      for(i=1;i<=cPropsel;i++){
            // Vytvorit td
            eln = 'td';
            eidtd = 'id_tabmodbtd' + i;
            createElement('id_tabmodbtr2',eln,eidtd);

            // Vytvorit form
            eln = 'form';
            eidform = 'id_basketform' + i;
            createElement(eidtd,eln,eidform);
            // Vytvorit select
            eln = 'select';
            eidsel = 'id_basketselect' + i;
            createElement(eidform,eln,eidsel);
            // Vytvorit select
            var items = xmlDoc.getElementsByTagName('item'+i);
            buildSelectSetSel(eidsel,items);
      }

   }

   // Naplnit hodnoty do formulare pro funkci basketModifyOnclick()
   $('id_bpmhid_idproduct').setProperty('value',idProduct);
   $('id_bpmhid_urlmodul').setProperty('value',urlModul);
   $('id_bpmhid_message').setProperty('value',message);
   $('id_bpmhid_keyitem').setProperty('value',keyItem);
   $('id_bpmhid_cpropsel').setProperty('value',cPropsel);

   // Zobrazit box pro upravu
   if($('basket_box_modify').hasClass('hidden')) {
      $('basket_box_modify').removeClass('hidden');
   }
   ViewPort.centerObject($('basket_box_modify'), 370, 220);

}
/* Uprava mnozstvi vyberovych vlastnosti potrvzeni */
function basketModifyOnclick(){
   // Ziskat vlastnosti
   var idProduct = $('id_bpmhid_idproduct').getValue();
   var urlModul = $('id_bpmhid_urlmodul').getValue();
   var message = $('id_bpmhid_message').getValue();
   var keyItem = $('id_bpmhid_keyitem').getValue();
   var cPropsel = $('id_bpmhid_cpropsel').getValue();

   // Zavolat funkci na upravu vyberovych vlastnosti
   basketModifySet(urlModul,idProduct,keyItem,cPropsel,message);
}

/* Vytvorit polozku s popisem vlastnosti */
function buildSelectP(elementTd,elementItem){
   //projit polozky
   for(var i=0;i < elementItem.length;i++){
      var nameItem = getContent(getElByName(elementItem[i], 'name')[0]);

      p = document.createElement("p");
      p.appendChild(document.createTextNode(nameItem));
      //pridat p do bunky
      $(elementTd).appendChild(p);
   }
}

/* Uprava mnozstvi vyberovych vlastnosti - zpracovani */
function basketModifySet(urlmodul,idproduct,keyitem,cpropsel,msg){
   var url = urlmodul;
   var timeStamp = "casotisk=" + new Date().getTime();

   var urlPost = url + '?' + timeStamp;
   var postData = 'idproduct='+idproduct + '&keyitem='+keyitem+'&cpropsel='+cpropsel;

   // Mnozstvi produktu
   postData = postData + '&amount=' + $('id_basketselect0').getValue();

   // Sestavit vyberove vlastnosti
   for(i=1;i<=cpropsel;i++){
      postData = postData + '&item' + i + '=' + $('id_basketselect'+i).getValue();
   }

   // schovat box pro upravu vlastnosti
   $('basket_box_modify').addClass('hidden');

   // Zobrazit info
   $('basket_info_text').setText(msg);
   if($('basket_info').hasClass('hidden')) {
      $('basket_info').removeClass('hidden');
   }
   ViewPort.centerObject($('basket_info'), 200, 100);


   var myAjax = new Ajax(urlPost, {method: 'post',postBody: postData,onComplete: resultBasketModifySet }).request();
}
/* Zpracovani pozadavku */
function resultBasketModifySet(){
   // zapracovat vysledek
   //alert(this.response.text);
   workBasketModifySet(this.response.xml);
}
/* Zpracovani vysledku */
function workBasketModifySet(xmlDoc){
   // schovat info
   //$('basket_info').addClass('hidden');
   // Obnovit stranku
   window.location.reload();
}
