Eggs

by Kaleb Hornsby

HTML

<form id=form>
    <p><input name=test /></p>
    <label title="Circumference of egg in centimeters.">
        <span>Circumference</span>
        <input type=range id=circumference min=12 max=17 step=0.1/>
        <output onforminput="value=circumference.value">0</output>
    </label>
    <label>
        <span>Final Temperature</span>
        <input type=range id=final_temp min=58 max=84.2 step=0.1 />
        <output onforminput="value=final_temp.value">0</output>
    </label>
    <label>
        <span>Initial Temperature</span>
        <input type=range id=initial_temp min=2 max=27 step=0.1 />
        <output onforminput="value=initial_temp.value">0</output>
    </label>
    <label>
        <span>Boiling Point</span>
        <input type=range id=boiling_pt min=91 max=100 step=0.1 />
        <output onforminput="value=boiling_pt.value">0</output>
    </label>
</form>

CSS

#form label {
    display:block;
}
#form label span:first-child {
    display:inline-block;
    width:7.5em;
}
#form label output {
    display:inline-block;
    width:2em;
    text-align:right;
}

JavaScript

/**
 * @return time in minutes to cook egg
 * @var c {num} circumference of egg
 * @var bp {num} boiling point of water at current altitude
 * @var i {num} initial temperature of egg
 * @var f {num} final temperature of egg
 */
function egg_time(c, i, f, bp) {
    return 0.15*Math.pow(c/Math.PI,2)*Math.log(2*(bp-i)/(bp-f))
}

/**
 * @return temperature in farenheit
 * @var c {num} temperature in celsius
 */
function celcius2Farenheit(c) {
    return c*1.8+32;
}

function getLocation(fn) {
    if(navigator.geolocation&&navigator.geolocation.getCurrentPosition) {
        navigator.geolocation.getCurrentPosition(fn);
    } else {
        alert("fail");
    }
}
/**
 * @return the altitude of user from location API 
 */
function getUserAltitude() {

}

/**
 * @return the boiling point of water in degrees Celcius.
 */
function waterBoilingPoint(altitude) {

}
getLocation(function(){console.log(arguments)});