I started coding a button program about a week ago, and have made quite a bit of progress. I'm new to HTML, CSS and JS, but seem to be learning quite quickly. The thing I want to do next, is create a custom prompt + alert box for my code, but I can't figure out how to do it within functions. This is my code:
<!doctype html>
<head>
<title> Testing Buttons with JS</title>
<style>
body {
    background-color: lightblue;
}
.button {
    background-color: #4CAF50; /* Green */
    border-color: white;
    color: white;
    padding: 20px 20px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 13px;
}
</style>
<script>
function milestokm()
{
  var miles = prompt("Enter distance in miles.");
  if (miles == parseInt(miles) || (miles == parseFloat(miles))) {
    window.alert(miles + " miles is " + (1.61*miles).toFixed(2) + " km.");   
  }
  else {
      window.alert("Input is not a valid number.");
    }
}   
function addxno() 
{ 
    var numbers = [];
    var torun = Number(prompt("Enter how many numbers you wish to add?"));
    for (var counter=0; counter < torun ; counter = counter + 1) 
    {  
        number = Number(prompt("Enter a number"));
        if (number === parseInt(number, 10) || (number === parseFloat(number, 10))) {
          numbers.push(number);
        }
        else {
          window.alert("Input was an invalid number so won't be added to other numbers.");
        }
    }
    var sum = numbers.reduce(add, 0);
    function add(a, b) {
        return a + b;
    }
    alert("The sum of " + numbers + " is: " + sum);
}
function mulxno()
{ 
    var numbers = [];
    var torun = Number(prompt("Enter how many numbers you wish to multiply?"));
    for (var counter=0; counter < torun ; counter = counter + 1) 
    {  
      number = Number(prompt("Enter a number"));
      if (number === parseInt(number, 10) || (number === parseFloat(number, 10))) {
        numbers.push(number);
      }
      else {
        window.alert("Input was an invalid number so won't be multiplied by the other numbers.");
      }
    }
    var sum = numbers.reduce(times);
    function times(a, b) {
        return a * b;
    }
    alert("The numbers " + numbers + " multiplied together gives a result of: " + sum);
}
function subxno() 
{
    var numbers = [];
    var torun = Number(prompt("Enter how many numbers you wish to subtract?"));
    for (var counter=0; counter < torun ; counter = counter + 1) 
    {  
      number = Number(prompt("Enter a number"));
      if (number === parseInt(number, 10) || (number === parseFloat(number, 10))) {
        numbers.push(number);
      }
      else {
        window.alert("Input was an invalid number so won't be subtracted from the other numbers.");
      }
    }
    var sum = numbers.reduce(times);
    function times(a, b) {
        return a - b;
    }
    alert("The numbers " + numbers + " subtracted from eachother gives a result of: " + sum);
}
function avexno()
{
    var numbers = [];
    var torun = Number(prompt("How many numbers do you wish to find the average of?"));
    for (var counter=0; counter < torun ; counter = counter + 1) 
    {  
      number = Number(prompt("Enter a number"));
      if (number === parseInt(number, 10) || (number === parseFloat(number, 10))) {
        numbers.push(number);
      }
      else {
        window.alert("Input was an invalid number so the average won't be effected from this input.");
      }
    }
    var sum = numbers.reduce(times);
    function times(a, b) {
        return a + b;
    }
    average = (sum/torun)
    if (average === parseInt(average, 10)) {
        alert("The average of " + numbers + " is: " + average);
    }
    else {
        alert("The average of " + numbers + " is: " + (average.toFixed(2)));
    }
}
function moneyconverter()
{   
    choice = prompt("Do you wish to convert:\na) GBP to USD\nb) USD to GBP");
    if (choice == "a") {
        var pounds = Number(prompt("Enter amount of GB Pounds (£)."));
        var dollars = Number(pounds*1.33);
        dollars = dollars.toFixed(2);
        window.alert("£" + pounds + " is ≈ $" + dollars + "!");
    }
    else if (choice == "b") {
        var dollars = Number(prompt("Enter amount of US Dollars. ($)."));
        var pounds = Number(dollars/1.33);
        pounds = pounds.toFixed(2);
        window.alert("$" + dollars + " is ≈ £" + (pounds) + "!");    
    }
}
function metrestofeet() //Updated to V2 on 25/06/18
{
    var metres = Number(prompt("Enter distance in metres."));
    if (metres === parseInt(metres, 10) || (metres === parseFloat(metres, 10))) {
        if ((metres % 3.28) === 0) {
            window.alert(metres + " metres is " + 3.28*metres + " feet.");
        }
        else {
            window.alert(metres + " metres is " + (3.28*metres).toFixed(2) + " feet.");
        }
    }
    else {
        window.alert("Input is not a valid number.");
    }   
}
function tempconverter() 
{
    var option = prompt("Do you to convert\na)Celsius to fahrenheit\nb)Fahreheit to celsius");
    if (option == "a") {    
        var celsius = Number(prompt("Enter temeperature in Celsius."));
        if (celsius === parseInt(celsius, 10) || (celsius === parseFloat(celsius, 10))) {
            var fahrenheit = ((((celsius*9)/5)+32));
            if (fahrenheit === parseInt(fahrenheit, 10)) {    
                window.alert(celsius + " celsius is: " + fahrenheit);
            }
            else {
                window.alert(celsius + " celsius is: " + fahrenheit.toFixed(2) + " fahrenheit.");
            }
        }
        else {
            window.alert("Input is not a valid number.");
            }
        }
    else if (option == "b") {
        var fahrenheit = Number(prompt("Enter temeperature in Fahrenheit."));
            if (fahrenheit === parseInt(fahrenheit, 10) || (fahrenheit === parseFloat(fahrenheit, 10))) {    
                var celsius = ((((fahrenheit-32)*5)/9));
                if (celsius === parseInt(celsius, 10)) {
                    window.alert(fahrenheit + " fahrenheit is: " + celsius + " celsius.");
                    }
                else {
                    window.alert(fahrenheit + " fahrenheit is: " + celsius.toFixed(2) + " celsius.");
                }
            }
            else {
                window.alert("Input is not a valid number");
       }
    }          
}
function numberposorneg()
{
    var number = Number(prompt("Enter a number."));
    if (number < 0) {
        window.alert(number + " is a negative number.");
    }
    else if (number > 0) {
        window.alert(number + " is a positive number.");
    }
    else {
        window.alert(number + " is neither positive nor negative.");
    }
}
function timeconverter() 
{
    var conversion = Number(prompt("Do you wish to convert:\n1)hours to minutes\n2)minutes to seconds\n3)seconds to minutes\n4)seconds to hours\n5)hours to seconds"));
    if (conversion == 1) {
        var hours = Number(prompt("Enter the amount of hours"));
        window.alert(hours + " hours is " + (hours*60) + " minutes.");
    }
    else if (conversion == 2) {
        var minutes = Number(prompt("Enter the amount of minutes."));
        if (minutes < 1) {
            window.alert("That number is too small");
        }
        else {
            if ((minutes % 60) == 0) { 
                window.alert(minutes + " minutes is " + (minutes*60) + " seconds.");
        }
            else {
                window.alert(minutes + " minutes is " + ((minutes*60).toFixed(2)) + " seconds.");
            }
        }
    }
    else if (conversion == 3) {
        var seconds = Number(prompt("Enter the amount of seconds."));
        if (seconds==60) {
            window.alert(seconds + " seconds is " + (seconds/60) + " minute.");
        }
        else if ((seconds % 60) == 0) {
            window.alert(seconds + " seconds is " + (seconds/60) + " minutes.");
        }
        else {
            window.alert(seconds + " seconds is " + ((seconds/60).toFixed(2)) + " minutes.");
        }
    }
    else if (conversion == 4) {
        var seconds = Number(prompt("Enter the amount of seconds."));
        if (seconds == 3600) {
            window.alert(seconds + " seconds is " + (seconds/3600) + " hour.");
        }
        else if ((seconds % 3600) == 0) {
            window.alert(seconds + " seconds is " + (seconds/3600) + " hours.");
        }
        else {
            window.alert(seconds + " seconds is " + ((seconds/3600).toFixed(2)) + " hours.");
        }
    }
    else if (conversion == 5) { 
      hours = Number(prompt('Enter amount of hours'));
      if (hours === parseInt(hours, 10) || (hours === parseFloat(hours, 10))) {
        seconds = Number(hours*3600);
      if (seconds === parseInt(seconds, 10)) {
        window.alert(hours + ' hours is ' + (hours*3600) + ' seconds.');
      }
      else {
        window.alert(hours + ' hours is ' + ((hours*3600).toFixed(2)) + ' seconds.');
      }
    }
    else {
        window.alert('Input is not a valid number.'); 
    }
  }
}
</script>
<body>
<button class = "button" onclick="timeconverter()"> Time Converter. </button>
<br>
<button class = "button" onclick="addxno()">Add (x) numbers.</button>
<br>
<button class = "button" onclick="moneyconverter()"> Money Converter.</button>
<br>
<button class = "button" onclick="milestokm()">Convert miles to km.</button>
<br>
<button class = "button" onclick="mulxno()">Multiply (x) numbers.</button>
<br>
<button class = "button" onclick="subxno()">Subtract (x) numbers.</button>
<br>
<button class = "button" onclick="metrestofeet()">Convert metres to feet.</button>
<br>
<button class = "button" onclick="tempconverter()">Temperature Converter.</button>
<br>
<button class = "button" onclick="avexno()">Average of (x) numbers.</button>
<br>
<button class = "button" onclick="hourandmintosec()">Hours and minutes to seconds.</button>
<br>
<button class = "button" onclick="numberposorneg()"> Detect whether number is positive or negative.</button>
<br>
</div>
</body>
</html>
As you can see, I’ve got a lot of prompts and alerts, but they’re default and I want to decorate them. Please advise me on how to do this (ideally with an example)