/**
 * Javascript support functions admin Heureka.cz
 *
 */

var Product = {
   odkazy : {},

   //Slouci produkty
   sluc: function (sekceId) {
      InlineNotifikator.create($('sloucitProdukty'));
      var myAjax = new Ajax.Request(
         '/direct/ajax/', 
         {
            parameters: 'func=slouceniProduktu&sekceId=' + sekceId,
            onComplete: function (r) {
               InlineNotifikator.destroy($('sloucitProdukty'));
               var status = r.getResponseHeader('X-Status');
               if ('ERROR' == status) {
                  alert(r.responseText);
               } else {
                  if (r.responseText != 'ok'){
                     alert(r.responseText);
                  }
                  vytvorListProduktu('',$('cenaOd').value,$('cenaDo').value,$('inOffset').value,$('inOrderby').value);
                  // location.reload(true);
               }
            }
         }
      );
   },
   
   //blokuje produkt
   block: function (productId) {
      var onCompleteFunction = function (r) {
          var status = r.getResponseHeader('X-Status');
          if ('ERROR' == status) {
             alert(r.responseText);
          } else {
             $('n' + productId).parentNode.parentNode.style.display = 'none';
          }
      }
      Product.blockRequest(productId, onCompleteFunction);
	  
	  return false;
   },
   
   // oddelena fce, aby se to dalo volat odkudkoliv
   blockRequest: function (productId, onCompleteFunction) {
      if (confirm("<?php print _('Opravdu chcete zablokovat tento produkt?!')?>")) {
         var myAjax = new Ajax.Request(
            '/direct/ajax/', 
            {
               parameters: 'func=blokujProdukt&productId=' + productId,
               onComplete: onCompleteFunction
            }
         );
      }
   },
   
   //odblokuje produkt
   unblock: function (productId) {
      var onCompleteFunction = function (r) {
          var status = r.getResponseHeader('X-Status');
          if ('ERROR' == status) {
             alert(r.responseText);
          } else {
             $('n' + productId).parentNode.parentNode.style.display = '';
             if ($('odblokovat' + productId)) {
                 $('odblokovat' + productId).style.display = 'none';
             }
             if ($('blokovat' + productId)) {
                 $('blokovat' + productId).style.display = '';
             }
          }
      }
      Product.unblockRequest(productId, onCompleteFunction);
	  
	  return false;
   },

   // oddelena fce, aby se to dalo volat odkudkoliv
   unblockRequest: function (productId, onCompleteFunction) {
      if (confirm("<?php print _('Opravdu chcete odblokovat tento produkt?!')?>")) {
         var myAjax = new Ajax.Request(
            '/direct/ajax/', 
            {
               parameters: 'func=odblokujProdukt&productId=' + productId,
               onComplete: function (r) {
                   onCompleteFunction(r);
               }
            }
         );
      }
   },


   //blokuje ImportProdukt
   blockIp: function (id) {
      if (confirm("<?php print _('Opravdu chcete zablokovat tento ImportProdukt?!')?>")) {
         var myAjax = new Ajax.Request(
            '/direct/ajax/', 
            {
               parameters: 'func=blokujImportProdukt&ImportProductId=' + id,
               onComplete: function (r) {
                  var status = r.getResponseHeader('X-Status');
                  if ('ERROR' == status) {
                     //
                     alert(r.responseText);
                  } else {
                     location.href = location.href;
                  }
               }
            }
         );
      }
   },

   //blokuje popisek produktu
   blockDescription: function (id) {
      if (confirm("<?php print _('Opravdu chcete zablokovat tento popis?!')?>")) {
         var myAjax = new Ajax.Request(
            '/direct/ajax/', 
            {
               parameters: 'func=blokujPopis&importProduktId=' + id,
               onComplete: function (r) {
                  var status = r.getResponseHeader('X-Status');
                  if ('ERROR' == status) {
                     alert(r.responseText);
                  } else {
                     alert(r.responseText);
                     location.href = location.href + '?destrc';
                  }
               }
            }
         );
      }
   },

	/**
	 * Renames product from section
	 * 
	 * @param {Object} sekceId Category ID
	 * @param {Object} productId Product ID
	 * @param {Object} nazev Product Name
	 * @param {Object} detail Function called from product detail
	 */
   rename: function (sekceId, productId, nazev, detail) {
	   var productRow = $('n' + productId);
	   
	   $('prejmenovat' + productId).style.display = 'none';
	   this.odkazy[productId] = productRow.innerHTML;
	   productRow.innerHTML = '<form class="admin-product-rename" id="fname' + productId + '" onsubmit="return Product.saveName(' + sekceId + ', ' + productId + ', this,\'' + detail + '\');"/><input id="name_' + productId + '" name="jmeno" size="30" value="' + nazev + '" style="width: 385px; font-size: 14px; padding: 2px" /><input type="submit" value="Uložit"><input type="button" onclick="Product.hide(' + productId + ')" value="Zrušit"/></form>';
	   productRow.getElementsByTagName('input')[0].focus();
	  
	   return false;
   },

   defaultDetail: false,

   saveName: function (sekceId, productId, form, detail) {
   
      detail = detail || this.defaultDetail;
   
      var text = $('fname' + productId).innerHTML;
      var jmeno = form.jmeno.value;
      jmeno = jmeno.replace(/&/g,'%26')
      var myAjax = new Ajax.Request(
         '/direct/ajax/', 
         {
            parameters: 'func=prejmenujProdukt&productId=' + productId + '&jmeno=' + encodeURIComponent(jmeno) + '&detail=' + detail,
            asynchronous: false,
            onComplete: function (r) {
               var status = r.getResponseHeader('X-Status');
               if ('ERROR' == status) {
                  alert(r.responseText);                  
               } else if ('RELOAD' == status) {
                  location.href = location.href + '?x&destrc';
               } else {
                  $('n' + productId).innerHTML = r.responseText;
               }
            }
         }
      );
	  
	  return false;
   },

   hide: function (productId) {
      $('n' + productId).innerHTML = this.odkazy[productId];
      $('prejmenovat' + productId).style.display = '';
   }
};

/**
* ovladani obrazku pro superadmina
*
*/
var Obrazky = {
    obrazkyDuplicita: function (pid, obrazek, setUnique) {
        if (setUnique) {
            if (!confirm("<?php print _('Tento obrázek byl označen jako duplicitní, a to se nestane samo sebou! Opravdu ho chcete označit jako unikátní?')?>")) {
                return;
            }
        } else {
            if (!confirm("<?php print _('Opravdu označit obrázek jako nevhodný/duplicitní?')?>")) {
                return;
            }
        }

		var sURL = unescape(window.location.pathname);
        var myAjax = new Ajax.Request(
            '/direct/ajax/',
            {
                method: 'post', 
                parameters: 'func=nastavObrazkyDuplicita&produktId=' + pid + '&obrazek=' + obrazek, 
                onComplete: function (response) {
                    var status = response.getResponseHeader('X-Status');
                    if ('ERROR' == status) {
                        alert(response.responseText);
                    } else {
                        window.location.href = sURL + '?destrc';
					}
                }
            }
        );
    },
	
	blokovat: function (obrazekHash, refreshAfterDone, destroyCache) {
		if (!confirm("<?php print _('Opravdu chcete obrázek zablokovat NA CELÉ HEURÉCE???')?>")) {
            return;
        }
		
		var myAjax = new Ajax.Request(
            '/direct/ajax/obrazek/blokovat/',
            {
                method: 'post', 
                parameters: 'obrazek=' + obrazekHash, 
                onComplete: function (response) {
                    var status = response.getResponseHeader('X-Status');
					if ('ERROR' == status) {
                        alert(response.responseText);
                    } else if (refreshAfterDone) {
						var url = window.location.pathname;
						if (destroyCache) {
							url += new String('?<?php print OBNOV_CACHE_NAZEV?>');
						}
						window.location.href = url;
					}
                }
            }
        );
	}
};
