jQuery(document).ready(function() {
  
  jQuery('.slider').vSlider();

});




/**
 * ----------------------------------------------------------------------------------------
 * Funckja obsługująca slider z kategoriami produktów.
 */
jQuery.fn.vSlider = function(settings) 
{
  settings = jQuery.extend(
  {
    Speed: "normal"
  }, settings);

  return this.each(function(i)
  {
    vSlider.itemHeight = parseInt(jQuery(".item:eq(" + i + ")",".slider").css("height"));
    vSlider.init(settings, this);
    
  });
};

var vSlider = {
  itemWidth: 0,
  init: function(s,p)
  {
    itemNumber = jQuery(".item").length;
    itemHeight = Math.ceil(itemNumber/6);

    if(itemHeight > 1)
    {
      jQuery('.down').show().css('cursor','pointer');
    }
    
    ContainerHeight = itemHeight * vSlider.itemHeight;
    jQuery(".items",p).css("height", ContainerHeight + "px");
    animating = false;

    jQuery(".down").click(function()
    {
      jQuery('.up').show().css('cursor','pointer');
      
      if(animating == false)
      {
        animating = true;
        animateTop = parseInt(jQuery(".items").css("top")) - (vSlider.itemHeight);
        
        if(animateTop + parseInt(jQuery(".items").css("height")) > 0)
        {
          jQuery(".items").animate({top: animateTop}, s.Speed, function()
          {
            jQuery(this).css("top", animateTop);
            animating = false;
            if(parseInt(jQuery(".items").css("height")) + parseInt(jQuery(".items").css("top")) == vSlider.itemHeight)
            {
              jQuery('.down').hide();
            }
          });
        }
        else
        {
          animating = false;
        }
      }
      
      return false;
    });
    
    jQuery(".up").click(function()
    {
      jQuery('.down').show();
      
      if(animating == false)
      {
        animating = true;
        animateTop = parseInt(jQuery(".items").css("top")) + (vSlider.itemHeight);
        
        if((animateTop + parseInt(jQuery(".items").css("height"))) <= parseInt(jQuery(".items").css("height")))
        {
          jQuery(".items").animate({top: animateTop}, s.Speed, function()
          {
            jQuery(this).css("top", animateTop);
            animating = false;
            
            if((animateTop + parseInt(jQuery(".items").css("height"))) == (parseInt(jQuery(".items").css("height")))) 
            {
              jQuery('.up').hide();
            }
          });
        }
        else
        {
          animating = false;
        }
      }
      
      return false;
    });
  }
};


/**
 * ----------------------------------------------------------------------------------------
 * Funckja zwracająca komunikat.
 * @param string Text  :Wiadomość do pobrania
 * @param bool Type  :Rodzaj wiadomości
 *   - false : error
 *   - true : ok
 */
function getMessage(Text, Type)
{
  if(Type === false)
  {
    return '<div class="errorMessage">'+Text+'</div>';
  }
  else if(Type === true)
  {
    return '<div class="okMessage">'+Text+'</div>';
  }
}


function changePrice(ItemsId, Options)
{
  //Pobieramy jaką akcję chcemy wykonać
  var TargetURL = '/ajax/orders.php?action=updatePrice&Id='+ItemsId+'&Options='+Options;

  if (ItemsId > 0 && Options > 0)
  {
    //Wysyłamy żądanie do servera
    $.ajax({
      type: 'GET',
      url: TargetURL,
      data: '',
      dataType: 'json',
      success: function(reciveData)
      {
        //Jeżeli wystąpił błąd
        if (reciveData.Error > 0)
        {
          //
        }
        //Akcja przebiegła prawidłowo
        else
        {
          //
          $('#Orders_PriceSum').text(reciveData.Orders_PriceSum);
          $('#TOrders_PriceSum').text(reciveData.Orders_PriceSum);
          $('#TOrders_PriceTax').text(reciveData.Orders_PriceTax);
          $('#TOrders_ShipmentCost').text(reciveData.Orders_ShipmentCost);
          $('#TOrders_PriceSumTotal').text(reciveData.Orders_PriceSumTotal);

        }
      }
    });
  }
}


function changeAmount(ItemsId)
{
  // Ilość towaru
  var Amount = $('#OrdersItems_Amount'+ItemsId).val();

  //Pobieramy jaką akcję chcemy wykonać
  var TargetURL = '/ajax/orders.php?action=updateAmount&Id='+ItemsId+'&Amount='+Amount;

  if (ItemsId > 0 && Amount > 0)
  {
    //Wysyłamy żądanie do servera
    $.ajax({
      type: 'GET',
      url: TargetURL,
      data: '',
      dataType: 'json',
      success: function(reciveData)
      {
        //Jeżeli wystąpił błąd
        if (reciveData.Error > 0)
        {
          //
        }
        //Akcja przebiegła prawidłowo
        else
        {
          //
          $('#Orders_PriceSum').text(reciveData.Orders_PriceSum);
          $('#TOrders_PriceSum').text(reciveData.Orders_PriceSum);
          $('#TOrders_PriceTax').text(reciveData.Orders_PriceTax);
          $('#TOrders_ShipmentCost').text(reciveData.Orders_ShipmentCost);
          $('#TOrders_PriceSumTotal').text(reciveData.Orders_PriceSumTotal);

        }
      }
    });
  }
}


function changeTax(Options)
{
  //Pobieramy jaką akcję chcemy wykonać
  var TargetURL = '/ajax/orders.php?action=updateTax&Options='+Options;

  if (Options == 'A' || Options == 'B')
  {
    //Wysyłamy żądanie do servera
    $.ajax({
      type: 'GET',
      url: TargetURL,
      data: '',
      dataType: 'json',
      success: function(reciveData)
      {
        //Jeżeli wystąpił błąd
        if (reciveData.Error > 0)
        {
          //
        }
        //Akcja przebiegła prawidłowo
        else
        {
          $('#TOrders_PriceSum').text(reciveData.Orders_PriceSum);
          $('#TOrders_PriceTax').text(reciveData.Orders_PriceTax);
          $('#TOrders_ShipmentCost').text(reciveData.Orders_ShipmentCost);
          $('#TOrders_PriceSumTotal').text(reciveData.Orders_PriceSumTotal);
        }
      }
    });
  }
}



function changeShipment(Options)
{
  //Pobieramy jaką akcję chcemy wykonać
  var TargetURL = '/ajax/orders.php?action=updateShipment&Options='+Options;

  if (Options == 'A' || Options == 'B')
  {
    //Wysyłamy żądanie do servera
    $.ajax({
      type: 'GET',
      url: TargetURL,
      data: '',
      dataType: 'json',
      success: function(reciveData)
      {
        //Jeżeli wystąpił błąd
        if (reciveData.Error > 0)
        {
          //
        }
        //Akcja przebiegła prawidłowo
        else
        {
          $('#TOrders_PriceSum').text(reciveData.Orders_PriceSum);
          $('#TOrders_PriceTax').text(reciveData.Orders_PriceTax);
          $('#TOrders_ShipmentCost').text(reciveData.Orders_ShipmentCost);
          $('#TOrders_PriceSumTotal').text(reciveData.Orders_PriceSumTotal);
        }
      }
    });
  }
}


function deleteItems(ItemsId)
{
  //Pobieramy jaką akcję chcemy wykonać
  var TargetURL = '/ajax/orders.php?action=deleteItems&Id='+ItemsId;

  if (ItemsId > 0)
  {
    //Wysyłamy żądanie do servera
    $.ajax({
      type: 'GET',
      url: TargetURL,
      data: '',
      dataType: 'json',
      success: function(reciveData)
      {
        //Jeżeli wystąpił błąd
        if (reciveData.Error > 0)
        {
          //
        }
        //Akcja przebiegła prawidłowo
        else
        {
          //
          window.location = window.location;
        }
      }
    });
  }
}


function continueBuy()
{
	var Tax = $("#tabsOrder .orders-item-table input[name='Orders_TaxName']:checked").val();
	var Shipment = $("#tabsOrder .orders-item-table input[name='Orders_ShipmentName']:checked").val();
	
	if((Tax == 'A' || Tax == 'B') && (Shipment == 'A' || Shipment == 'B'))
	{
		var TabsOrder = $("#tabsOrder").tabs();
  	TabsOrder.data('disabled.tabs', []);
  	TabsOrder.tabs('select', 1);
  }
	else
	{
		alert('Sorry, you must choice Tax and Shipment!');
	}
}


function showImage(ImageId)
{
  $('.collection .items .photo').fadeOut(500);
  $(ImageId).fadeIn(1500);
}