Продолжение кода:
// Прайс + инфа
var price = [];
price[912] = []; // js обявление массива
price[912][0]=1.28; // цена руб
price[912][1]="аден"; // ед. измерения игровой валюты
price[909] = []; // js обявление массива
price[909][0]=1.48; // цена руб
price[909][1]="аден"; // ед. измерения игровой валюты
price[911] = []; // js обявление массива
price[911][0]=1.28; // цена руб
price[911][1]="аден"; // ед. измерения игровой валюты
price[910] = []; // js обявление массива
price[910][0]=1.28; // цена руб
price[910][1]="аден"; // ед. измерения игр pl17__space.price[3570] = []; // js обявление массива
pl17__space.price[3570][0]=0.11; // цена руб
pl17__space.price[3570][1]="адена"; // ед. измерения игровой валюты
овой валюты
[HTML][HTML][HTML]
[/html][/html][/html]
function calc_RATE() {
var id_serv=parseInt( $("#select_sub_serv").val() );
var price_pay=0;
var RATE=1;
if(parseInt($("#select_pay_sys_id").val())>0){
if(currency[parseInt($("#select_pay_sys_id").val())][2]>0)
RATE=currency[parseInt($("#select_pay_sys_id").val())][2];
}
price_pay= price[id_serv][0]/RATE;
return price_pay;
}
function calc_sale_RATE(sale_price) { // перерасчет скидок в зависимости от курса валюты
var id_serv=parseInt( $("#select_sub_serv").val() );
var price_pay=0;
var RATE=1;
if(parseInt($("#select_pay_sys_id").val())>0){
if(currency[parseInt($("#select_pay_sys_id").val())][2]>0)
RATE=currency[parseInt($("#select_pay_sys_id").val())][2];
}
new_sale_price= sale_price/RATE;
return new_sale_price;
}
// Скидка на объём. Общая табл. для всех товаров и юзеров
var sale_volume=[];
sale_volume[0]=[]; // js обявление массива
sale_volume[0][0]=300; // цена от
sale_volume[0][1]=1; // %
sale_volume[1]=[]; // js обявление массива
sale_volume[1][0]=1000; // цена от
sale_volume[1][1]=2; // %
sale_volume[2]=[]; // js обявление массива
sale_volume[2][0]=2000; // цена от
sale_volume[2][1]=3; // %
sale_volume[3]=[]; // js обявление массива
sale_volume[3][0]=3500; // цена от
sale_volume[3][1]=4; // %
sale_volume[4]=[]; // js обявление массива
sale_volume[4][0]=5000; // цена от
sale_volume[4][1]=5; // %
// максимально возможная скидка
var total_accumulation_volume=900000000000000000000000 ;
// накопительная скидка юзера.
var sale_accumulation=0;
// END PHP PARAMETRY ==================================================
$("#sale_accumulation").html(sale_accumulation);
$("#calc_zoloto, #calc_rub").keydown(function(event) { // ввод тольок цифр в поле
// Разрешаем нажатие клавиш backspace, del, tab и esc
if ( event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 27 ||
// Разрешаем выделение: Ctrl+A
(event.keyCode == 65 && event.ctrlKey === true) ||
// Разрешаем клавиши навигации: home, end, left, right
(event.keyCode >= 35 && event.keyCode <= 39)) {
return;
}
else {
// Запрещаем всё, кроме клавиш цифр на основной клавиатуре, а также Num-клавиатуре
if ((event.keyCode < 48 || event.keyCode > 57) && (event.keyCode < 96 || event.keyCode > 105 )) {
event.preventDefault();
}
}
});
function calc_sale_volume(sum){
var inc_item=0;
for (var ArrVal in sale_volume){
inc_item++;
if(sale_volume.length<=inc_item){
if(calc_sale_RATE(sale_volume[inc_item-1][0])<=sum )
return(sale_volume[inc_item-1][1]);
break;
}
if(calc_sale_RATE(sale_volume[ArrVal][0])<=sum && calc_sale_RATE(sale_volume[inc_item][0])>sum ){
return(sale_volume[ArrVal][1]);
break;
}
}
return 0;
}
function calc_recalculation_rub(val) {
price_pay=calc_RATE();
$("#sale_volume").html(calc_sale_volume(val));
console.log(val/price_pay);
// обновление прогрессбара
var total_discount=Math.round(calc_sale_volume(val)+sa le_accumulation);
$(".radial-progress").attr('data-progress', Math.round((total_discount/total_accumulation_volume)*100) );
$(".total_discount").html( Math.round(total_discount)+"%");
$("#sale_serv__h").val(Math.round(total_discount ) );
// сколько сэкономили валюты
// var discount_currency=Math.round((val*total_discount)/(100*price_pay));
$("#calc_zoloto").val( roundPlus(val/price_pay) );
var discount_currency= ($("#calc_rub").val()/(price_pay*(1-total_discount/100)))-$("#calc_zoloto").val();
$(".discount_currency").html(Math.round( discount_currency) );
// сколько сэкономили рублей
var discount_rub= price_pay*discount_currency;
$(".discount_rub").html(Math.round( discount_rub) );
// итого: заказанная валюта + скидка
$(".c_total_count").html(roundPlus( val/price_pay+discount_currency ) );
$("#quantity__h").val(roundPlus( val/price_pay+discount_currency ) );
$("#c_sale_price").val(roundPlus( val/price_pay+discount_currency ) );
// цена за 1 шт со скидкой
$("#price_0").html(roundPlus(price_pay*(1-total_discount/100)) );
$("#price_one__h").val(roundPlus(price_pay*(1-total_discount/100)) );
$(".c_sale_price").html( Math.round($("#calc_rub").val() ) ); // итого рублей
$("#sale_rub_serv__h").val(Math.round($(".discount _rub").text() ) );
};
function calc_recalculation(val) {
$("#calc_zoloto").val( roundPlus($("#calc_zoloto").val()) ); // убираем 0 если записали с переди (0100)
price_pay=calc_RATE();
$("#sale_volume").html(calc_sale_volume(val*price_ pay));
console.log(val*price_pay);
// обновление прогрессбара
var total_discount= Math.round(calc_sale_volume(val*price_pay)+sale_ac cumulation);
$(".radial-progress").attr('data-progress', Math.round((total_discount/total_accumulation_volume)*100) );
$(".total_discount").html(total_discount+"%");
$("#sale_serv__h").val(Math.round(total_discount ) );
// сколько сэкономили валюты
//var discount_currency=Math.round($("#calc_zoloto").val ()*total_discount/100);
$("#calc_rub").val( Math.round(val*price_pay) );
var discount_currency= ($("#calc_rub").val()/(price_pay*(1-total_discount/100)))-$("#calc_zoloto").val() ;
$(".discount_currency").html(Math.round( discount_currency) );
// сколько сэкономили рублей
var discount_rub= price_pay*discount_currency;
$(".discount_rub").html(Math.round( discount_rub) );
// итого: заказанная валюта + скидка
$(".c_total_count").html(roundPlus( parseFloat($("#calc_zoloto").val())+discount_curre ncy ) );
$("#quantity__h").val(roundPlus( parseFloat($("#calc_zoloto").val())+discount_curre ncy ) );
// цена за 1 шт со скидкой
$("#price_0").html(roundPlus(price_pay*(1-total_discount/100)) );
$("#price_one__h").val(roundPlus(price_pay*(1-total_discount/100)) );
$(".c_sale_price").html( Math.round(val*price_pay) ); // итого рублей
$("#sale_rub_serv__h").val(Math.round($(".discount _rub").text() ) );
};
$("#calc_zoloto").keyup(function () {
calc_recalculation($(this).val());
manual_valid();
});
// $('#calc_zoloto').focusout(function(){
// $("#calc_zoloto").val( Math.round($("#calc_zoloto").val()) ); // убираем 0 если записали с переди (0100)
// });
$("#calc_rub").keyup(function () {
calc_recalculation_rub($(this).val());
manual_valid();
});
$('#calc_rub').focusout(function(){
price_pay=calc_RATE();
$("#calc_rub").val(Math.round($("#calc_zoloto").va l()*price_pay) );
calc_recalculation_rub( $("#calc_rub").val() );
});
function calc_change() {
var id_serv=$("#select_sub_serv").val();
price_pay=calc_RATE();
$("#price_0").html(price_pay);
$(".c_price_2").html(price[id_serv][1]);
$("#id_serv__h").val(id_serv);
$("#name_serv__h").val($("#select_sub_serv option:selected").text());
$("#calc_rub, #calc_zoloto").removeAttr('disabled', 'disable');
$("#calc_rub, #calc_zoloto").removeClass("calc_inp_disabled");
calc_recalculation($("#calc_zoloto").val());
$(".delivery_select").hide();
$(".delivery_select[data-id-server="+id_serv+"]").show();
if(id_serv>0)
$(".select_pay_sys_c").show();
$("#game_currency_name").val(price[id_serv][1]);
}
$("#select_sub_serv").change(function() {
calc_change();
})
if($("#select_sub_serv").val()>0)
calc_change();
pl17__space.price = pl17__space.price || price;
});
</script>