window.addEventListener('load', function () {

  function hasValue(v) {
    return v !== undefined && v !== null && v !== '';
  }

  function setVar(name, value) {
    if (hasValue(value)) {
      document.documentElement.style.setProperty(name, value);
    }
  }

  function setPx(name, value) {
    if (hasValue(value) && !isNaN(Number(value))) {
      setVar(name, Number(value) + 'px');
    }
  }

  function setPercent(name, value) {
    if (hasValue(value) && !isNaN(Number(value))) {
      setVar(name, Number(value) + '%');
    }
  }

  function setNegPx(name, value) {
    if (hasValue(value) && !isNaN(Number(value))) {
      setVar(name, '-' + Number(value) + 'px');
    }
  }

  // Colors
  setVar('--tscrpttbcolor',  vname.tbcolor);
  setVar('--tscrptgbcolor',  vname.gbcolor);
  setVar('--tscrpthbcolor',  vname.hbcolor);
  setVar('--tscrptgfcolor',  vname.gfcolor);
  setVar('--tscrpthfcolor',  vname.hfcolor);
  setVar('--tscrptg2bcolor', vname.g2bcolor);
  setVar('--tscrptg2fcolor', vname.g2fcolor);

  // Numbers
  setPercent('--tscrptaradius', vname.aradius);
  setPx('--tscrptbcorner', vname.bcorner);

  setPx('--tscrptmfsize', vname.mfsize);
  setPx('--tscrptdfsize', vname.dfsize);
  setPx('--tscrptsradius', vname.sradius);

  setPx('--tscrptdgapp', vname.dgapsize);
  setNegPx('--tscrptdgapn', vname.dgapsize);

  setPx('--tscrptdcsize', vname.dcsize);

  setPx('--tscrptmasize', vname.masize);
  setNegPx('--tscrptmatsize', vname.masize);

  setPx('--tscrptmdsize', vname.mdsize);

  setPx('--tscrptmbpvsize', vname.mbpvsize);
  setPx('--tscrptmbphsize', vname.mbphsize);

  setPx('--tscrptdbpvsize', vname.dbpvsize);
  setPx('--tscrptdbphsize', vname.dbphsize);

  setPx('--tscrptmgapp', vname.mgapsize);
  setNegPx('--tscrptmgapn', vname.mgapsize);

});
