// JQuery
// библиотека корзинных функций

var remote_script = "/_cart_lib.php"

// числовое ненулевое значение количества товара
function normal_value(input) {
   
   var vl = parseFloat(input.val())
   if(!vl) {
      vl = 1
   }
   input.val(vl)
   return vl

}

// добавление эл-та в корзину общее
function addtocart(event) {
   
   var el = $(event.target)
   var id = el.attr('rel')
   var qel = $("#quantity"+id)
   var quantity = normal_value(qel)
   
   $.get(remote_script,{'action':'set','id':id,'quantity':quantity},function(data){
         
         var dt = eval( "(" + data + ")" );
         refresh_block(dt.total)

         show_text_added(id)
         show_dialog()
   })
   
   event.preventDefault()
   
}

// замена кнопы на текст
function show_text_added(id) {
   $form = $("#addtocart_container"+id)
   // разный текст для карточки и списка
   if($form.closest("table.goods").length) {
      $form.html('<span class="in_cart">Товар уже в <a href="/cart/">корзине</a></span>')
   }
   else {
      $form.html('<span class="in_cart">Товар уже в корзине<a href="/cart/">Перейти в корзину</a></span>')
   }
   
}

// блямбочка-диалог
function show_dialog() {
   
   var lft = ($(document).width() - 403)/2
   var tp = $(window).scrollTop()*2 + ($(window).height() - 150)/2
   // все что можно - в ксс
   $("#overlay")
            .height($(document).height())
            .show()
            
   $("#dialog_confirm")
            .offset({left:lft,top:tp})
            .fadeIn('fast')
            
   $("#dialog_but_back").click(hide_dialog)
}

// закрытие диалога
function hide_dialog(event) {
   
   $("#dialog_confirm")
            .fadeOut('fast')
            .offset({left:0, top:0})
   $("#overlay").hide()
   event.preventDefault()
   
}

// обновление значений в блокАХ состояния корзины
function refresh_block(total) {
   
   if(total.quan) {
      $("#cart_block_text").html('<a href="/cart/">'+total.quan+' '+total.quan_noun2+'</a>')
      $("#cart_link_in_top_menu").text('В корзине '+total.quan+' '+total.quan_noun2);
   }
   else {
      $("#cart_block_text").text("товаров нет")
      $("#cart_link_in_top_menu").text("Корзина пуста");
   }
   
}

// пересчет внутри корзины
function change_quantity(event) {
   
   var el = $(event.target)
   var id = el.attr('rel')
   
   if(check_value_float(el)) {
      var quantity = normal_value(el)
      
      $.get(remote_script,{'action':'set','id':id,'quantity':quantity,'getall':1},function(data){
            var dt = eval( "(" + data + ")" )
            
            refresh_cart_values(dt)
            
            refresh_block(dt.total)
            
         })
   }
   
}
// пересчет стоимости в карточке. цена со страницы * введенное кол-во
function recount_cost(event) {
   var el = $(event.target)
   
   if(check_value_float(el)) {
      var quantity = normal_value(el)
      var price = parseFloat($("#item_price").text())
      var cost = (price*quantity).toFixed(2)
      $("#item_cost").text(cost)
   }
}
// проверка последнего символа в инпуте, для корректной работы с floatными числами
function check_value_float(el) {
   var cur_val = el.val()
   var last_symbol = cur_val.substring(cur_val.length-1)
   if(last_symbol == ",") {
      el.val(cur_val.replace(",","."))
      return false
   }
   else if(last_symbol == ".") {
      return false
   }
   else return true
}

// удаление из корзины - подтвердить
function confirm_del_from_cart(event) {
   // поймали айдишник и тащим дальше
   item_id = $(event.target).attr('rel')
   // конфирм без модальных окон
   show_dialog()
   $("#dialog_but_cart").bind('click',{'id':item_id},del_from_cart)
   
}
// удаление из корзины - удалить
function del_from_cart(event) {
   hide_dialog(event)
   //alert(event.data.id)
   $.get(remote_script,{'action':'del_item','id':event.data.id},function(data){
      var dt = eval( "(" + data + ")" )
      refresh_block(dt.total)
      // еще что-то осталось
      if(dt.total.quan > 0) {
         $("#itemtr"+event.data.id).remove()
         refresh_cart_values(dt)
      }
      // ничего не осталось
      else {
         $("#cart_container").remove()
         $("#title_cart").text('Ваша корзина пуста')
      }
      })
}

// обновление значений в разных местах на странице корзины
function refresh_cart_values(cart) {
   
   // поэлементно
   $(cart.items).each(function(){
      //alert(this.item_id)
      $("#itemcost"+this.item_id).text(this.cost)
      })
   
   // разные суммы в разных местах
   $("#total_quan_top, #total_quan_bot").text(cart.total.quan+' '+cart.total.quan_noun)
   $("#total_sum_bot").html(cart.total.sum+"<span>руб.</span>")
   $("#sum_with_nouns").text(cart.total.sum_with_nouns)
   
}


