window.onload = function () {

var buttons = document.getElementsByTagName('span'),

  result = document.querySelectorAll('.result p')[0],
  clear = document.getElementsByClassName('clear')[0];

for (var i = 0; i < buttons.length; i += 1) { if (buttons[i].innerHTML === '=') { buttons[i].addEventListener("click", calculate(i)); } else { buttons[i].addEventListener("click", addValue(i)); } }

clear.onclick = function () { result.innerHTML = ''; };

function addValue(i) { return function () { if (buttons[i].innerHTML === '÷') { result.innerHTML += '/'; } else if (buttons[i].innerHTML === 'x') { result.innerHTML += '*'; } else { result.innerHTML += buttons[i].innerHTML; } }; }

function calculate(i) { return function () { var final_res = result.innerHTML;

        var bugFix = final_res.replace(/[\d.]+/g, function(n){ 
            return parseFloat(n);
        });

  result.innerHTML = eval(bugFix);
};

}

};