"use strict";

var loaded = false;
var once = function(callback) {
    if (! loaded) {
        loaded = true;
        callback();
    }
};

var domready = function(callback) {

    // HTML5 standard to listen for dom readiness
    document.addEventListener('DOMContentLoaded', function() {
        once(callback);
    });

    // if dom is already ready, just run callback
    if (document.readyState === "interactive" || document.readyState === "complete" ) {
        once(callback);
    }
};

module.exports = domready;
