document.addEventListener('DOMContentLoaded', function (){
var zeno_font_resizer_settings={
element:     zeno_font_resizer_script.element,
resizemax:   parseInt(zeno_font_resizer_script.resizemax),
resizemin:   parseInt(zeno_font_resizer_script.resizemin),
resizesteps: parseFloat(zeno_font_resizer_script.resizesteps),
cookietime:  parseInt(zeno_font_resizer_script.cookietime),
startsize:   parseFloat(zeno_font_resizer_get_fontsize()),
};
var savedsize=parseFloat(zeno_font_resizer_get_cookie());
if(savedsize > zeno_font_resizer_script.resizemin&&savedsize < zeno_font_resizer_script.resizemax){
zeno_font_resizer_set_fontsize(savedsize);
}
function zeno_font_resizer_set_fontsize(fontsize){
var element_name=zeno_font_resizer_settings.element;
if(element_name){
var element=document.querySelector(element_name);
if(element){
element.style.fontSize=fontsize + 'px';
zeno_font_resizer_set_cookie(fontsize);
}}
}
function zeno_font_resizer_get_fontsize(){
var fontsize=15;
var element_name='html';
if(element_name){
var element=document.querySelector(element_name);
if(element){
fontsize=element.style.fontSize;
if(! fontsize){
fontsize=getComputedStyle(element).fontSize;
}}
}
var element_name=zeno_font_resizer_script.element;
if(element_name){
var element=document.querySelector(element_name);
if(element){
fontsize=element.style.fontSize;
if(! fontsize){
fontsize=getComputedStyle(element).fontSize;
}}
}
if(typeof fontsize==='string'||fontsize instanceof String){
fontsize=fontsize.replace('px', '');
}
return parseFloat(fontsize);
}
function zeno_font_resizer_set_cookie(fontsize){
var expires;
var days=parseInt(zeno_font_resizer_settings.cookietime);
if(days){
var date=new Date();
date.setTime(date.getTime() +(days * 24 * 60 * 60 * 1000) );
expires='; expires=' + date.toGMTString();
}else{
expires='';
}
document.cookie='fontSize=' + parseFloat(fontsize) + expires + "; path=/";
}
function zeno_font_resizer_get_cookie(){
var name='fontSize';
if(document.cookie.length > 0){
c_start=document.cookie.indexOf(name + "=");
if(c_start!=-1){
c_start=c_start + name.length + 1;
c_end=document.cookie.indexOf(";", c_start);
if(c_end==-1){
c_end=document.cookie.length;
}
return unescape(document.cookie.substring(c_start, c_end));
}}
return '';
}
document.querySelectorAll('.zeno_font_resizer_add').forEach(button=> {
button.addEventListener('click', function (e){
var fontsize=zeno_font_resizer_get_fontsize();
var resizesteps=parseFloat(zeno_font_resizer_settings.resizesteps);
var startsize=parseFloat(zeno_font_resizer_settings.startsize);
var newfontsize=fontsize + resizesteps;
var maxfontsize=startsize +(resizesteps * 5);
if(newfontsize > maxfontsize){
return false;
}
if(newfontsize > zeno_font_resizer_settings.resizemax){
return false;
}
newfontsize=newfontsize.toFixed(2);
zeno_font_resizer_set_fontsize(parseFloat(newfontsize) );
e.preventDefault();
return false;
});
});
document.querySelectorAll('.zeno_font_resizer_minus').forEach(button=> {
button.addEventListener('click', function (e){
var fontsize=zeno_font_resizer_get_fontsize();
var resizesteps=parseFloat(zeno_font_resizer_settings.resizesteps);
var startsize=parseFloat(zeno_font_resizer_settings.startsize);
var newfontsize=fontsize - resizesteps;
var minfontsize=startsize -(resizesteps * 5);
if(newfontsize < minfontsize){
return false;
}
if(newfontsize < zeno_font_resizer_settings.resizemin){
return false;
}
newfontsize=newfontsize.toFixed(2);
zeno_font_resizer_set_fontsize(parseFloat(newfontsize) );
e.preventDefault();
return false;
});
});
document.querySelectorAll('.zeno_font_resizer_reset').forEach(button=> {
button.addEventListener('click', function (e){
zeno_font_resizer_set_fontsize(zeno_font_resizer_settings.startsize);
e.preventDefault();
return false;
});
});
});