/*
 *  Добавление товара в корзину
 *      ident - идентификатор товара может принимать следующие форматы:
 *          * XXXXXX
 *          * iХХХХХ - товар из старой базы
 *          * pХХХХХ - товар из новой базы
 *          * mХХХХХ - модификация нового товара
 */

function basket_add(ident){
    $.post(
        './ajax/basket/add',
        {
            ident:ident
        },
        function(data){
            var a = data.split('\n');
            var resCode =  parseInt(a[0]);
            delete a[0];
            //alert(resCode==0);
            //Никаких ошибок не возникло
/*            if (resCode == 0) {
                if (confirm('Товар добавлен в корзину. Перейти к оформлению?')) {
                    window.location='/order_new.html';
                }
            } else if (resCode == 1) {
                if (confirm('Товар уже есть в корзине. Перейти в корзину?')) {
                    window.location='/basket.html';
                }
            } else {
                alert(a.join('\n'));
            }*/
            $.jqDialog.basket("Товар добавлен в корзину.",
                function() {window.location='/order_new.html';},
                function() {window.location='/basket.html';},
				{cancel:'Продолжить покупки',yes:'Оформить заказ',no:'Перейти в корзину'}
            );
            return true;


            /*var ans="";
            $(data).find("infos").each(
                function(){
                    ans=ans+this.innerHTML;
                }
            );
            $(data).find("errors").each(
                function(){
                    ans=ans+this.innerHTML;
                }
            );
            $(data).find("success").each(
                function(){
                    ans=ans+this.innerHTML;
                }
            );
            //
            if(ans.length){
                alert(ans);
            }

            /*var a;
            a=data.split('\n');
            if(a[0]==0){
                if(a[1]==1){
                    if(confirm('Товар добавлен в корзину.\nПерейти в корзину?')){
                        window.location='./basket.html';
                    }
                }else{
                    if(confirm('Товар уже в корзине.\nПерейти в корзину?')){
                        window.location='./basket.html';
                    }
                }
            }else{
                delete(a[0]);
                alert(a.join('\n'));
            }*/
        }
    );
}

/*
 *
 */
function basket_checker(obj) {
    $("#label_select_all")[0].innerHTML = obj.checked?"снять выделение":"выделить всё";
    $("#basket_table input").each(
        function() {
            if(obj.checked) {
                this.checked = true;
            } else {
                this.checked = false;
            }
        }
    );
}

function basket_delete_item(id){
    $.post(
        "./ajax/basket.php?action=delete",
        {
            id:id
        },
        function data(){
            if(!data.length){
                var obj=$("#line_"+id)[0];
                if(obj){
                    obj.parentNode.removeChild(obj);
                    if($("#items_form tr").length==2){
                        $("#basket_contents").html("<div class=info>Корзина пуста</div>");
                    }else{
                        basket_recalc();
                    }
                }
            }
        }
    )

}

function basket_recalc(){
    $.post(
        './ajax/basket/recalc',$("#order_form").serialize(),
        function(data){
            var totla_sum = 0;
            $(data).find("item").each(
                function() {
                    var id = parseInt($(this).find("line")[0].innerHTML);
                    var q = parseInt($(this).find("quantity")[0].innerHTML);
                    var price = parseInt($(this).find("price")[0].innerHTML);
                    totla_sum += q*price;
                    $("#price_total_"+id).html(number_format(q*price,2,"."," "));
                    $("#quantity_"+id)[0].value = q;
                }
            );
            $("#total_sum").html(number_format(totla_sum,2,"."," "));
            //alert(data);
            return true;
            $(data).find("item").each(
                function(){
                    $("#tot_"+this.id).html(this.innerHTML);
                }
            )
            $("#total_price").html($(data).find("basket")[0].innerHTML);
            var obj;
            if(obj=$(data).find("removed")[0]){
                var arr=obj.innerHTML.split(",");
                var i;
                for(i=0;i<arr.length;i++){

                    if(obj=$("#line_"+arr[i])[0]){
                        obj.parentNode.removeChild(obj);
                    }
                }
                if($("tr.basket_item").length==0){
                    $("#basket_contents").html("<div class=info>Корзина пуста</div>");
                }
            }

        }
    );
}

// jQuery code here
$(document).ready(function() {
    // Всплывающие подсказки для задизабленых элементов
    $('#basket_order_form :disabled').each(function() {
        var elId    = $(this).attr('id');
        var label   = $(this).siblings('label[for=' + elId + ']').get(0);

        $([this, label]).wrapAll('<span class="disabledWrapper" />');
    });
    $('.disabledWrapper').each(function() {
        $(this).qtip({
            content: {
                text: $(this).siblings('.tip').get(0).innerHTML,
                title: {
                    text: $(this).children('label').attr('title'),
                    button: 'X'
                }
            },

            style: {
                name: 'light',
                width: 450,
                fontSize: '0.8em',
                title: {
                    fontSize: '0.9em'
                },
                border: 2
            },

            position: {
                corner: {
                    target: 'leftMiddle',
                    tooltip: 'topRight'
                },

                adjust: {
                    x: -5
                }
            },

            show: {
                delay: 500,
                effect: {
                    type: 'slide',
                    length: 500
                }
            },

            hide: {
                delay: 1500,
                when: 'mouseout',
                fixed: true,
                effect: {
                    type: 'grow',
                    length: 1000
                }
            }
        });
    }); // end of each()

    // Сворачивание/разворачивание инфо о методе оплаты через Альфа-Банк
    $('#basket_order_form input[type=radio]').click(function(e) {
        if ($(this).is('#frm_pay_method_5:checked')) {
            $('#post_alfa').slideDown('slow');
        } else {
            $('#post_alfa').slideUp('slow');
        }
    });
});

// форматирует вывод числа, аналог number_format() в PHP
function number_format(number, decimals, dec_point, thousands_sep){
  var exponent = "";
  var numberstr = number.toString ();
  var eindex = numberstr.indexOf ("e");
 var i, z;
  if(eindex > -1){
    exponent = numberstr.substring (eindex);
    number = parseFloat (numberstr.substring (0, eindex));
  }

  if(decimals != null){
    var temp = Math.pow (10, decimals);
    number = Math.round (number * temp) / temp;
  }
  var sign = number < 0 ? "-" : "";
  var integer = (number > 0 ?
      Math.floor (number) : Math.abs (Math.ceil (number))).toString ();

  var fractional = number.toString ().substring (integer.length + sign.length);
  dec_point = dec_point != null ? dec_point : ".";
  fractional = decimals != null && decimals > 0 || fractional.length > 1 ? (dec_point + fractional.substring (1)) : "";
  if(decimals != null && decimals > 0){
    for(i = fractional.length - 1, z = decimals; i < z; ++i)
      fractional += "0";
  }

  thousands_sep = (thousands_sep != dec_point || fractional.length == 0) ?
                  thousands_sep : null;
  if(thousands_sep != null && thousands_sep != ""){
  for (i = integer.length - 3; i > 0; i -= 3)
   integer = integer.substring (0 , i) + thousands_sep + integer.substring (i);
  }
  return sign + integer + fractional + exponent;
}


