Advertisement
Guest User

Untitled

a guest
Mar 20th, 2019
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.08 KB | None | 0 0
  1. $(document).ready(function () {
  2.  
  3. $('input:checkbox').removeAttr('checked');
  4.  
  5. var intervalBegin = {
  6. cur: 0,
  7. des: 0
  8. };
  9. var intervalEnd = {
  10. cur: 800,
  11. des: 800
  12. };
  13.  
  14. var prices = [0, 8, 12, 14, 18, 25, 30, 40, 55, 70, 90, 120, 160, 200, 270, 380, 750];
  15. var pricesELO = [];
  16.  
  17. prices.forEach(function (price) {
  18. pricesELO.push(price / 150);
  19. });
  20.  
  21. var elo = [0, 800, 950, 1100, 1250, 1400, 1550, 1700, 1850, 2000, 2150, 2300, 2450, 2600, 2750, 2900, 3000];
  22.  
  23. var price = 0;
  24. var rating = 200;
  25.  
  26. var levelCur = 1;
  27. var levelDes = 1;
  28.  
  29. var currentFaceit = 100;
  30. var desiredFaceit = 300;
  31.  
  32. var options = {
  33. stream: 5,
  34. express: 1.15,
  35. lobby: 1.30
  36. };
  37.  
  38. var procent = 1;
  39. var growth = 0;
  40.  
  41. var saleFaceit = 1;
  42.  
  43. updPrice();
  44. updRating();
  45.  
  46. $("#slider-range").slider({
  47. range: true,
  48. min: 0,
  49. max: 3000,
  50. values: [100, 300],
  51. slide: function (event, ui) {
  52. currentFaceit = ui.values[0];
  53. desiredFaceit = ui.values[1];
  54. $('#current_faceit').val(currentFaceit).change();
  55. $('#desired_faceit').val(desiredFaceit).change();
  56. }
  57. });
  58.  
  59. $('#current_faceit').val($("#slider-range").slider("values", 0));
  60. $('#desired_faceit').val($("#slider-range").slider("values", 1));
  61.  
  62. $(document).on('change', '#tab-faceit input[type="checkbox"]', function () {
  63. var name = $(this).attr('name');
  64. if (name == 'stream') {
  65. if (this.checked) {
  66. growth += options[name];
  67. } else {
  68. growth -= options[name];
  69. }
  70.  
  71. } else {
  72. if (this.checked) {
  73. procent *= options[name];
  74. } else {
  75. procent /= options[name];
  76. }
  77. }
  78. updPrice();
  79. });
  80.  
  81. $('#current_faceit').on('change input', function () {
  82. currentFaceit = parseInt($(this).val());
  83. if (currentFaceit >= 0 && currentFaceit <= 3000 && desiredFaceit >= currentFaceit) {
  84. rating = desiredFaceit - currentFaceit;
  85. updRating();
  86. $("#slider-range").slider('values', [currentFaceit, desiredFaceit]);
  87. if (intervalBegin.cur >= currentFaceit || currentFaceit > intervalEnd.cur) {
  88. levelCur = getLevel(currentFaceit, 'cur');
  89. var lvlCur = levelCur;
  90. if (lvlCur > 10) {
  91. lvlCur = 10;
  92. }
  93. $('#current_img').attr('src', '/assets/img/faceit/' + lvlCur + '.svg');
  94. $('#current_level').val('/assets/img/faceit/' + lvlCur + '.svg');
  95. updPrice();
  96. } else {
  97. updPrice();
  98. }
  99. } else if(currentFaceit >= 0 && currentFaceit <= 3000 && desiredFaceit <= currentFaceit){
  100. rating = desiredFaceit - currentFaceit;
  101. if (intervalBegin.cur >= currentFaceit || currentFaceit > intervalEnd.cur) {
  102. levelCur = getLevel(currentFaceit, 'cur');
  103. var lvlCur = levelCur;
  104. if (lvlCur > 10) {
  105. lvlCur = 10;
  106. }
  107. $('#current_img').attr('src', '/assets/img/faceit/' + lvlCur + '.svg');
  108. $('#current_level').val('/assets/img/faceit/' + lvlCur + '.svg');
  109. }
  110. }
  111. });
  112.  
  113. $('#desired_faceit').on('change input', function () {
  114. desiredFaceit = parseInt($(this).val());
  115. if (desiredFaceit >= 0 && desiredFaceit <= 3000 && desiredFaceit >= currentFaceit) {
  116. rating = desiredFaceit - currentFaceit;
  117. updRating();
  118. $("#slider-range").slider('values', [currentFaceit, desiredFaceit]);
  119. if (intervalBegin.cur <= desiredFaceit || desiredFaceit < intervalEnd.cur) {
  120. levelDes = getLevel(desiredFaceit, 'des');
  121. var lvlDes = levelDes;
  122. if (lvlDes > 10) {
  123. lvlDes = 10;
  124. }
  125. $('#desired_img').attr('src', '/assets/img/faceit/' + lvlDes + '.svg');
  126. $('#desired_level').val('/assets/img/faceit/' + lvlDes + '.svg');
  127. updPrice();
  128. } else {
  129. updPrice();
  130. }
  131. } else if (desiredFaceit >= 0 && desiredFaceit <= 3000 && desiredFaceit <= currentFaceit) {
  132. rating = desiredFaceit - currentFaceit;
  133. if (intervalBegin.cur <= desiredFaceit || desiredFaceit < intervalEnd.cur) {
  134. levelDes = getLevel(desiredFaceit, 'des');
  135. var lvlDes = levelDes;
  136. if (lvlDes > 10) {
  137. lvlDes = 10;
  138. }
  139. $('#desired_img').attr('src', '/assets/img/faceit/' + lvlDes + '.svg');
  140. $('#desired_level').val('/assets/img/faceit/' + lvlDes + '.svg');
  141. }
  142. }
  143. });
  144.  
  145. checkPromo($('#promocode_faceit').val());
  146.  
  147. $('#faceit_promo_btn').on('click', function () {
  148. checkPromo($('#promocode_faceit').val());
  149.  
  150. })
  151.  
  152. function checkPromo(promocode) {
  153. $.ajax({
  154. type: 'POST',
  155. url: '/promocode',
  156. data: {
  157. promo: promocode,
  158. _token: $('input[name="_token"]').val()
  159. },
  160. success: function (result) {
  161. result = JSON.parse(result);
  162. saleFaceit = result.sale;
  163. updPrice();
  164. if (result.status) {
  165. $('#promocode_faceit').addClass('promo-valid');
  166. } else {
  167. $('#promocode_faceit').removeClass('promo-valid');
  168. $('#promocode_faceit').val('');
  169. }
  170. }
  171. });
  172. }
  173.  
  174. function getLevel(val, key) {
  175. var count = elo.length;
  176. for (var i = 1; i < count; i++) {
  177. if (elo[i - 1] <= val && val <= elo[i]) {
  178. intervalBegin[key] = elo[i - 1];
  179. intervalEnd[key] = elo[i];
  180. return i;
  181. }
  182. }
  183. }
  184.  
  185. function updPrice() {
  186. if (levelDes == levelCur) {
  187. price = ((pricesELO[levelDes] * (desiredFaceit - currentFaceit)) + growth) * procent * saleFaceit;
  188. price = price.toFixed(2);
  189. $('#price').text('€' + price);
  190. $('#input-price').val(price);
  191. } else {
  192. var stablePrice = 0;
  193. for (var i = levelCur + 1; i < levelDes; i++) {
  194. stablePrice += prices[i];
  195. }
  196. var curPrice = pricesELO[levelCur] * (elo[levelCur] - currentFaceit);
  197. var desPrice = pricesELO[levelDes] * (desiredFaceit - elo[levelDes - 1]);
  198.  
  199. price = (curPrice + desPrice + stablePrice + growth) * procent * saleFaceit;
  200. price = price.toFixed(2);
  201. $('#price').text('€' + price);
  202. $('#input-price').val(price);
  203. }
  204.  
  205. }
  206.  
  207. function updRating() {
  208. $('#rating').text('+' + rating);
  209. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement