Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve() {
  2.     let form = document.querySelector('form');
  3.     let formButton = document.querySelector('form button');
  4.     let sections = document.querySelectorAll('section');
  5.     let total = 0;
  6.  
  7.     form.setAttribute('onsubmit', 'return false;');
  8.  
  9.     const regex = /[\d\.]+/gm;
  10.  
  11.     form.lastElementChild.addEventListener( "click", function (event) {
  12.         let name = form.getElementsByTagName('input')[0].value.trim();
  13.         let year = +form.getElementsByTagName('input')[1].value;
  14.         let price = +form.getElementsByTagName('input')[2].value;
  15.  
  16.         if( name != '' && year > 0 && price > 0 ) {
  17.             createBook(name, year, price);  
  18.         }
  19.     });
  20.  
  21.     function remove(e) {
  22.          e.target.parentNode.remove();
  23.     }
  24.  
  25.     function totalProfit( price ) {
  26.         total += +price;
  27.         form.nextElementSibling.innerHTML = ` Total Store Profit: ${Number.parseFloat(total).toFixed(2)} BGN`;
  28.     }
  29.    
  30.     function createBook( bookName, year, price ) {
  31.         let section;
  32.         let formatPrice = price;
  33.        
  34.         let divBook = document.createElement('div');
  35.         divBook.className = 'book';
  36.  
  37.         let p = document.createElement('p');
  38.         p.innerText = `${bookName} [${year}]`;
  39.  
  40.         let buttonBuy = document.createElement('button');
  41.         let buttonMove = document.createElement('button');
  42.         buttonMove.innerText = `Movie to old section`;
  43.  
  44.         divBook.appendChild( p );
  45.  
  46.         if( year > 2000 ) {
  47.             section = sections[1];
  48.             buttonBuy.innerText = `Buy it only for ${ Number.parseFloat(formatPrice).toFixed(2)} BGN`;
  49.             divBook.appendChild( buttonBuy );
  50.             divBook.appendChild( buttonMove );
  51.            
  52.         } else {
  53.             section = sections[0];
  54.             formatPrice *= .85;
  55.             buttonBuy.innerText = `Buy it only for ${ Number.parseFloat(formatPrice).toFixed(2)} BGN`;
  56.             divBook.appendChild( buttonBuy );
  57.         }
  58.  
  59.    
  60.         section.lastElementChild.appendChild( divBook );
  61.        
  62.         buttonBuy.addEventListener("click", buyBook );
  63.         buttonMove.addEventListener("click", moveBook );
  64.  
  65.     }
  66.  
  67.     function buyBook(e) {
  68.        totalProfit( e.target.innerText.match(regex)[0] );
  69.         remove(e);
  70.     }
  71.  
  72.     function moveBook(e) {
  73.  
  74.         let price = e.target.previousElementSibling.innerHTML.match(regex)[0] * 0.85;
  75.         e.target.previousElementSibling.innerHTML = `Buy it only for ${ Number.parseFloat(price).toFixed(2)} BGN`;
  76.         let divBook =  e.target.parentNode;
  77.         e.target.remove();
  78.  
  79.         sections[0].appendChild( divBook);
  80.  
  81.     }
  82.  
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement