/**
 *
 * assets/js/comparator.js
 *
 * Porovnavani uzivatelem vybranych produktu ve vyskakovacim okne, funkce na strane mnaterskeho okna. Funkce na strane vlastniho okna
 * porovnani viz popup.js<br>
 * Viz include/shop/_comparator-products.php
 *
 * Vyzaduje prototype.js
 */

/**
 * Reference na okno srovnavace.
 *
 */

var prev_window = null;

/**
 * Pri reloadu, zavreni dokumentu, prechodu na url zavre pripadne otevrene popup okno porovnavace.
 *
 */
//window.onunload = ifWindowUnload;
window.onunload = function() {

    if (prev_window != null) {
        prev_window.close();
    }

};

var openComparator = function ( url )
{

    var width = 800;
    var height = 600;
    //redukuje sirku, vysku okna, pokud prekracuje screen
    width = width < screen.availWidth ? width : screen.availWidth;
    height = height < screen.availHeight ? height : screen.availHeight;
    var openoptions = 'width='+width+',height='+height+',menubar=no,toolbar=no,scrollbars=yes,resizable=yes,status=yes';
    //okno bude vystredene
    var left = (screen.availWidth-width)/2;
    var top = (screen.availHeight-height)/2;
    if (top!="")openoptions+=",top="+top;
    if (left!="")openoptions+=",left="+left;

    prev_window = window.open(url, "compwindow", openoptions);

    prev_window.focus();

    return false;

}

/**
 *
 * Ajax pro aktualizaci vybranych polozek pro porovnani.
 *
 * Data zpracovava Ajax server include/shop/_ajserver_comparator_combinator.php. Pribezne aktualizuje informaci o poctu
 * vybranych polozek za linkem pro vstup do porovnani.
 *
 * @param int ids id polozky zbozi
 */
var combinSelectedIds = function ( ids )
{

    var id = 'chbComparator_'+ids;
    var checked = $(id).checked;

    new Ajax.Request('include/shop/_ajserver_comparator_combinator.php?currid='+ids+'&direct='+checked,
    {
    method:'get',
    onSuccess: function(transport){

      var response = transport.responseText;
      if (response == 'false') {
          alert('Momentan compararea produselor nu este disponibilă Vă rugăm reveniți!');
      } else if (parseInt(response) > 0) {
          $('compareRes').update('[ '+response+' ]');
          $('compareRes').innerHTML;
      } else {
          $('compareRes').update("");
          $('compareRes').innerHTML;
      }

      //pokud je okno porovnavace otevre, reloadule ho, ziska tim aktualni data
      //alert(prev_window.onload);
      if (prev_window != null && !prev_window.closed) {
          prev_window.location = '_comparator-products.php';
      }

    },
    onFailure: function(){alert('Momentan compararea produselor nu este disponibilă Vă rugăm reveniți!')}
    });
   
}

var checkComparator = function( ids )
{

    var id = 'chbComparator_'+ids;
    $(id).checked = 1;

    return false;

}

/**
 *
 * Nastaveni checkboxu po odstraneni vsech polozek z porovnavani.
 *
 * Urceno pro porovnavac produktu (include/shop/_comparator-products.php).
 *
 * Pokud uzivatel zvoli odstranit vsechny polozku, zrusi zaskrtnuti vyberu u vsech zobrazenych polozek a nastavi stav pocitadla polozek
 * u linku pro otevreni porovnani na 0.
 */
var clearAllCh = function()
{

    $('compareRes').update("");
    $('compareRes').innerHTML;

    var form = $('products');

    var arr = form.getInputs('checkbox');
    arr.each(function(item) {
      item.checked = false;
    });

   
    return false;
}

/**
 *
 * Nastaveni checkboxu po odstraneni jedne polozky z porovnavani.
 *
 * Urceno pro porovnavac produktu (include/shop/_comparator-products.php).
 *
 * Pokud uzivatel zvoli odstranit jednu polozku, zrusi zaskrtnuti vyberu u teto polozky a nastavi stav pocitadla polozek
 * u linku pro otevreni porovnani na aktualizovany stav.
 *
 * @param id int cislo zbozi mazane polozky
 * @param counter int aktualni stav pocitada polozek po odstraneni
 */
var clearOne = function( id, counter) {

    if (counter > 0) {
        $('compareRes').update("[ "+counter.toString()+" ]");
        $('compareRes').innerHTML;
    } else {
        $('compareRes').update("");
        $('compareRes').innerHTML;
    }

    if ($('chbComparator_'+id.toString()) != null) {
        $('chbComparator_'+id.toString()).checked = false;
    }

}


