$(document).ready(function () {  
  $('#detail-variants input:radio').bind('click', function () {
    recountDetailVariants();
  });
  recountDetailVariants();
});


function checkAllRequiredVariants()
{
  var iCountRequiredSelected = 0;
  var bIsVariant = false;
  $('input[id^="item_variant_value_"]').each(function () {
    bIsVariant = true;
    if ($(this).attr('checked') == true) {
      re = /^item_variant_value_([0-9]*)$/;
      id = $(this).attr('id');
      ereg = id.match(re);
      iVariantValueId = ereg[1];

      oVariantInfo = aVariantValue[iVariantValueId];
      iVariantId = oVariantInfo.variantId;
      for (i in aRequiredVariantId)
      {
        if (aRequiredVariantId[i] == iVariantId) iCountRequiredSelected++;
      }
    };
  });
  if (!bIsVariant) return true;
  if (iCountRequiredSelected < aRequiredVariantId.length)
  {
    alert('Pro vložení produktu do košíku musíte vybrat všechny varianty produktu.');
    return false;
  }
  else return true;

}


function recountDetailVariants()
{
  
  var iTotalPrice = 0;
  var iTotalPriceVat = 0;
  var iTotalPriceAdd = 0;
  var iTotalPriceAddVat = 0;
  var iPriceAdd = 0; // cena pro varianty typu ADD
  var iPrice = 0; // zaklacni cena vyrobku, muze byt urcena z varianty typu PRICE
  var iPriceVat = 0;
  var iPriceAddVat = 0;
  var sVariantCatalogNumber = "";
  var bIsVariant = false;

  $('input[id^="item_variant_value_"]').each(function () {
    bIsVariant = true;
    if ($(this).attr('checked') == true) {
      re = /^item_variant_value_([0-9]*)$/;
      id = $(this).attr('id');
      ereg = id.match(re);
      iVariantValueId = ereg[1];

      oVariantInfo = aVariantValue[iVariantValueId];
      if (oVariantInfo) {

        if (oVariantInfo.price_type == "price")
        {
          iPrice += oVariantInfo.price;
          iPriceVat += oVariantInfo.priceVat;
        }
        else
        {
          iPriceAdd = oVariantInfo.priceAdd;
          iPriceAddVat = oVariantInfo.priceAddVat;
          
          iTotalPriceAdd += oVariantInfo.priceAdd;        // celkova cena vsech oznacenych variant typu ADD
          iTotalPriceAddVat += oVariantInfo.priceAddVat;        // celkova cena vsech oznacenych variant typu ADD

          // jestlize je mozne najit element pro vepsani priplatku, tak ho tam napis
          $('#add_price_'+oVariantInfo.variantId).text(priceFormat(iPriceAdd));
          $('#add_price_vat_'+oVariantInfo.variantId).text(priceFormat(iPriceAddVat));
          $('#variant_value_name_'+oVariantInfo.variantId).text(oVariantInfo.name);
        }
        
        // katalogove cislo
        
        if (oVariantInfo.catalogNumber != "") sVariantCatalogNumber += '-'+oVariantInfo.catalogNumber;
      }
      imageChange(iVariantValueId);
    }
  });
  
  if (!bIsVariant) return true;
  
  if (iPrice == 0) iPrice = iGoodsPrice;
  if (iPriceVat == 0) iPriceVat = iGoodsPriceVat;

  iTotalPrice = iPrice + iTotalPriceAdd;
  iTotalPriceVat = iPriceVat + iTotalPriceAddVat;
  
  $('#total_price').text(priceFormat(iTotalPrice)+'');
  $('#total_price_vat').text(priceFormat(iTotalPriceVat)+'');

  $('#base_price').text(priceFormat(iPrice)+'');
  $('#base_price_vat').text(priceFormat(iPriceVat)+'');

  $('#variant_catalog_number').text(sVariantCatalogNumber);
  
}


function imageChange(iVariantId)
{
  oVariantInfo = aVariantValue[iVariantValueId];
  if (!oVariantInfo) return false;
  if (oVariantInfo.imageUrl == '') return false;

  $('#detailMainImage').attr('src', oVariantInfo.imageUrl);
  $('#detailMainImageHref').attr('href', oVariantInfo.imageHref);
  $('#detailMainImageHref').attr('title', oVariantInfo.imageTitle);
  $('#detailMainImage').attr('alt', oVariantInfo.imageTitle);
}


function priceFormat(sPrice) {
  //iPrice = parseFloat(sPrice);
  //sPrice = Math.round(iPrice);

  sPrice = sPrice.toString();
  re = /\./;
  sPrice = sPrice.replace(re, ",");

  re = /^([0-9]*),([0-9]*)$/;
  regs = sPrice.match(re);
  if (regs) {
    sHalere = regs[2];
    sKoruny = regs[1];
    if (sHalere.length == 1) sHalere += '0';
    if (sHalere.length > 2) sHalere = sHalere.substr(0,2);
    sPrice = sKoruny+','+sHalere;
  }
  else sPrice += ',-';

  return sPrice;
}


/**
 * next images roller
 */
var bJustMove = false;
$(document).ready(function () {
  // nejprve spocitam velikost a pocet obrazku
  var iImagesWidthCount = 0;
  var iImageWidth = 0;
  $('#detail-next-images-in2 img').each(function () {
    iImagesWidthCount += $(this).width();
    iImageWidth = $(this).width();
  });

  // rozsirim pole na dany pocet obrazku
  $('#detail-next-images-in2').css('width', iImagesWidthCount+'px');

  $('#detail-next-images #left-arrow a').live('click', function () {
    if (parseInt($('#detail-next-images-in2').css('right')) > 0 && !bJustMove)
    {
      //$('#detail-next-images-in2').css('right', (parseInt($('#detail-next-images-in2').css('right')) - iImageWidth)+'px');
      bJustMove = true;
      $('#detail-next-images-in2').animate({
        right: (parseInt($('#detail-next-images-in2').css('right')) - iImageWidth)+'px'
        }, 500, function () {bJustMove = false;});

    }
    return false;
    
  });
  $('#detail-next-images #right-arrow a').live('click', function () {
    var position = parseInt($('#detail-next-images-in2').css('right')) + iImageWidth;
    if (position < iImagesWidthCount && !bJustMove)
    {
      bJustMove = true;
      nowLeft = parseInt($('#detail-next-images-in2').css('right'));
      newLeft = nowLeft + iImageWidth;
      //$('#detail-next-images-in2').css('right', newLeft+'px');
      $('#detail-next-images-in2').animate({
        right: newLeft+'px'
        }, 500, function () {bJustMove = false;});
    }
    return false;
  });

});


