var Cms;
if (!Cms) Cms = {};
 
Cms.getUniqueId = function(sBase) {
  var rval = sBase;
  var index = 0;
  while (document.getElementById(rval)) {
    rval = sBase + index;
    index++;
  }
  //alert("getUniqueId: " + rval + " (unique? " + (document.getElementById(rval) == null) + ")");
  return "" + rval;
}


/**
 * Tylko elementy spelniajace ten selektor beda
 * wykorzystywane przez skrypty.
 */ 
Cms.JS_ALLOWED_SELECTOR = '.JS';

/**
 * Elementy spelniajace ten selektor beda IGNOROWANE
 * przez skrypty.
 */ 
Cms.JS_FORBIDDEN_SELECTOR = '.NoJS';

/**
 * 
 * @param sSel string Selektor bazowy
 * @return string 
 */
Cms.jsSelector = function(sSel) {
  if (!sSel) {
    return sSel;
  }
  var sels = sSel.split(/\s*,\s*/);
  var rval = '';

  var allowedSel = Cms.JS_ALLOWED_SELECTOR || '';
  var forbiddenSel = Cms.JS_FORBIDDEN_SELECTOR ? ':not(' + Cms.JS_FORBIDDEN_SELECTOR + ')' : '';

  for (var i = 0; i < sels.length; i++) {
    var sel = sels[i];
    if (i > 0) {
      rval += ', ';
    }
    rval += sel + allowedSel + forbiddenSel;
  }
  return rval;
}

Cms.autoApply = function(cClass, sSelector, fApply) {
  var selector = Cms.jsSelector(sSelector);
  cClass.applyToDocument = function(sel) {
    if (typeof sel != 'string') {
      sel = selector;
    }
    $(sel).each(fApply || function(i, el) {
        var instance = new cClass(el);
      }
    )
  }
  $().ready(cClass.applyToDocument);
}


function deleteChild(id,childId)
{
  var item=document.getElementById(id);
  for(i=0;i<item.childNodes.length;i++)
  {
    if(item.childNodes[i].id==childId)
    {
      item.removeChild(item.childNodes[i]);
    }
  }
}

function toggleHide(id)
{
  var item=document.getElementById(id);
  if(item.style.display=='none')
  {
    item.style.display='block';
  }
  else
  {
    item.style.display='none';
  }
}


function setOrderDeliveryCost()
{
  $.ajax({
    url: 'lib/helpers/ajax/get_delivery_cost.php?id='+$('#form_deliverers_id').val()+'&items='+$('#items').val()+'&value='+$('#form_value_brutto').val(),
    success: function(delivery_cost){
    if (delivery_cost != ""){
      var value_brutto = parseFloat($('#form_value_brutto').val());
      var value_payment = parseFloat($('#form_value_payment').val());
      var value_total = parseFloat(delivery_cost) +  value_brutto + value_payment;
      $('#value_delivery_cost').load('lib/helpers/ajax/render_price.php?value='+delivery_cost);
      $('#value_total').load('lib/helpers/ajax/render_price.php?value='+value_total);
      $('#form_value_delivery_cost').attr('value',delivery_cost);
    }
   }
  });
  return false;
}

function setPaymentValue(value)
{
  var value_brutto = parseFloat($('#form_value_brutto').val());
  var delivery_cost = parseFloat($('#form_value_delivery_cost').val());
  var value_total = delivery_cost +  value_brutto + parseFloat(value);
  $('#form_value_payment').attr('value', value);
  $('#value_delivery_cost').load('lib/helpers/ajax/render_price.php?value='+delivery_cost);
  $('#value_total').load('lib/helpers/ajax/render_price.php?value='+value_total);
}

function search(id)
{
  $('#button_'+id).ajaxStart(function(){
    $(this).hide();
  });

  $.ajax({
    url: 'lib/helpers/ajax/good_search.php?ids=&base_goods=0&phrase='+$('#search_'+id).attr('value'),
    success: function(msg){
      if (msg != "")
      {
        $('#goods_id_'+id).empty();
        $('#goods_id_'+id).prepend(msg);
        $('#goods_id_'+id).attr('onchange', "refreshPrice('#goods_id_"+id+"')");
        refreshPrice('#goods_id_'+id);
      }
   },
   complete: function(){
     $('#button_'+id).show();
   }
  });
  return false;
}

function refreshPrice(o)
{
  var good_id = $(o).find(':selected').val();
  id = $(o).attr('id');
  if (id){
    $.ajax({
      url: 'lib/helpers/ajax/good_price.php?id='+good_id,
        success: function(price){
        if (price != "")
        {
          id = id.split("_");
          $('#price_brutto_'+id[2]).attr('value', price);
          $('#quantity_'+id[2]).attr('value', '1.00');
          $('#item_'+id[2]).find('td').eq(5).html(price);
        }
      }
  });
  }

  return false;

}

function addItem()
{
  o = $('#OrderList table');
  var good_id = o.find('tr:last select').attr('id').split("_")[2];
  $.ajax({
      url: 'lib/helpers/ajax/add_order_item.php?id='+good_id,
        success: function(tr){
        if (tr != "")
        {
           o.append(tr);
        }
      }
  });
  return false;
}

function toggleFilter(id)
{
  jQuery(id+' > ul').toggle(500);
  jQuery(id+' > div').toggle(500);
  
  if(jQuery(id+' > a > img').attr('src')=='layout/frontend/img/filter-expand.jpg')
  {
    jQuery(id+' > a > img').attr('src','layout/frontend/img/filter-collapse.jpg');
  }
  else
  {
    jQuery(id+' > a > img').attr('src','layout/frontend/img/filter-expand.jpg');
  }
}

function showAskPriceForm(id,prefix)
{
  if(prefix)
  {
    id='-'+prefix+id;
  }
  jQuery('#ask-price-anchor'+id).hide(500);
  jQuery('#ask-price-form'+id).show(500);
  return false;
}

function closeAskPriceForm(id,prefix)
{
  if(prefix)
  {
    id='-'+prefix+id;
  }
  jQuery('#ask-price-form'+id).hide(500);
  jQuery('#ask-price-anchor'+id).show(500);
  return false;
}

function focused(label,object)
{
  if(object.value==label)
  {
    object.value='';
    $(object).addClass('focused');
  }
  if(object=='[object HTMLTextAreaElement]'&&object.innerHTML==label)
  {
    object.innerHTML='';
    $(object).addClass('focused');
  }
}

function blurred(label,object)
{
  if(object.value=='')
  {
    object.value=label;
    $(object).removeClass('focused');
  }
}

$(document).ready(function() {
  $('.bestsellers > div').hide(0);
  $('#bestseller0').show(0);
});

function changeBestseller(id)
{
  $('.bestsellers > div').hide(0);
  $('#bestseller'+id).show(0);
  
  $('.bestsellers .active').removeClass('active');
  $('#bestseller-changer'+id).addClass('active');
}

