﻿
var validstage = 0;

function CurrentDiscount() {ShopService.getDiscount(succeeded_getDiscount);}

function setVoucher(voucherCode) { ShopService.setVoucher(voucherCode,succeeded_setVoucher);}

function GetSetPostage(post) { ShopService.GetsetPostageCost(post, succeeded_getPostage); }

function basketcount() { ShopService.BasketCount(succeeded_basketcount); }

function succeeded_basketcount(result,eventArgs) { $(".basketAmount").html(result.toString()); }

function succeeded_getPostage(result, eventArgs)
    {
        var Postage = Number(result).toPrecision(3);
        if (Postage > 0)
            {
                $('#postagecost').html(Postage);
                $('#spError').html('')
            }
        else
            {$('#spError').html('Please Select a valid postage destination');}
        updateTotal();
    }

function RemoveFromBasket(basketindex){ShopService.RemoveFromBasket(basketindex,succeeded_RemoveFromBasket)}
function succeeded_RemoveFromBasket(result, eventArgs){$('#ind' + result).remove();updateTotal();}


function getPostage(){ShopService.GetPostage(succeeded_getPostage);}

function updateTotal()
{
    var postalcost = Number($('#postagecost').html()).toFixed(2);
    var totalcost = Number($('.tdsubtotal')[$('.tdsubtotal').length -1].innerHTML ).toPrecision(3) ;
    var finalvalue = Number(sum('.tdsubtotal') + parseFloat(postalcost));
    var discountvalue = Number(sum('.tddiscount').toFixed(2));

    $('#totalcost').html(finalvalue.toFixed(2));
    $('#totalDiscount').html(discountvalue);

    if (aggrTrue('.hasPostage')) 
    {
        if ($('#selPostage').val() != "-1") {
            validstage = 1;          
           
        }
    }
    else
    {
    $('#trPostage').css('display','none');
     validstage = 1;    
      $('#spError').html('');
    }

if(iteminbasket(13) == true)
{
$('#tdamy').css('display','table-cell');
}
if(iteminbasket(25) || iteminbasket(28))
{
$('#tdstoveortrees').css('display','table-cell');
}

}
function movestage() {
    switch (validstage) {
    case 0: 
        $('#spError').html('Please specify a valid postal destination');
    break;
    case 1:
        $('#Review').css('display', 'none');
        $('#Address').css('display', 'block');
    break;
    }
}

function aggrTrue(classname) { //Aggregate all the classes and determine if one of them is true
    var result = Boolean(false);
    $(classname).each(function(index) {
        if ($(this).html() == "True" || $(this).html() == "true") {
            result = true;
        }
    });
    return result;
}


function sum(classname) {  

    var result = Number();

    $(classname).each(function(index) {
        result += parseFloat($(this).html());
    });
    return result;
    }

function iteminbasket(xid)
{

var contains;
$('.thisitemid').each(function(index)
{
if ($(this).text() == xid){contains = true;}
});

return contains;
}

function succeeded_setVoucher(result, eventArgs) {
    if (result == 0)
        {
            // Voucher invalid
            $('#voucherInvalid').css('display','block');
            $('.allowDiscount').each(function(index) {
                var price = $('.tdprice')[index].innerHTML;
                var qty = $('.tdqty')[index].innerHTML;
                var subt = Number((price * qty)).toFixed(2);
                $('.tdsubtotal')[index].innerHTML = subt;
            });
            $('.thdiscount').css('display','none');
            $('.tcell_discount').css('display','none');
            $('.trDiscount').css('display','none');
          updateTotal();
        }
     else {

        $('.thdiscount').css('display','table-cell');
        $('.tcell_discount').css('display','table-cell');
        $('.trDiscount').css('display','table-row');
        // Apply discount
        $('#voucherInvalid').css('display', 'none');
        $('#totalDiscount').html("0.00");

        $('.allowDiscount').each(function(index) {
            if ($(this).html() == "False") {

                var price = $('.tdprice')[index].innerHTML;
                var qty = $('.tdqty')[index].innerHTML;
                var discount = new Number((price * qty) / 100 * result);
                $('.tddiscount')[index].innerHTML = discount.toFixed(2);
                $('#totalDiscount').html(parseFloat($('#totalDiscount').html()) + discount);
                var subt = Number((price * qty) - discount).toFixed(2);
                $('.tdsubtotal')[index].innerHTML = subt;
            }
        });   
        
        var totalDisc = new Number($('#totalDiscount').html());
        $('#totalDiscount').html(totalDisc.toFixed(2));
        updateTotal();
    }
 }


 function additemtobasket(xid, xattrib, xqty, xmessage)
 { ShopService.AddItem(xid, xattrib, xqty, xmessage, succeeded_additemtobasket); }

 function succeeded_additemtobasket(result, eventArgs) {
     $(".basketAmount").html(result.toString());
 }





function updateOrderView() {

    $('.tddiscount').each(function(index) {
    

        $(this).text(index);
    });
}


  function numeric(e)
  {
    return ((e.keyCode == 8) || (e.keyCode > 47 && e.keyCode < 58)  || (e.keyCode == 9) || (e.keyCode > 95 && e.keyCode < 106) );
  
  }
  function numericdecimal(e)
  {
    return ((e.keyCode == 8) || (e.keyCode > 47 && e.keyCode < 58) || (e.keyCode == 190) || (e.keyCode == 9) || (e.keyCode > 95 && e.keyCode < 106) || (e.keyCode == 110));
  }


  //Details Page\\

  //additemtobasket(xid, xattrib, xqty, xmessage)

function fradditemtobasket(xid) 
{
    if ($('#S' + xid).val() != undefined)
    {
    additemtobasket(xid, $('#S' + xid).val(), $('#T' + xid).val(), "");
    }
    else 
    {
    additemtobasket(xid,'', $('#T' + xid).val(), "");
    }
}



//Details Page\\

