﻿function HSSetTextSize(chgsize,rs) 
{
  if (!document.documentElement || !document.body)
  {
    return;
  }

  var newSize;
  var startSize = parseInt(HSGetDocTextSize());

  if (!startSize)
  {
   startSize = 12;
  }

  switch (chgsize)
  {
  case 'incr':
    newSize = startSize + 1;
    break;

  case 'decr':
    newSize = startSize - 1;
    break;

  case 'reset':
    if (rs) 
    {
      newSize = rs;
    } 
    else 
    {
      newSize = 12;
    }
    break;

  default:
    newSize = parseInt(HSReadCookie('OL-textsize', true));
    if (!newSize)
    {
      newSize = startSize;
    }
    break;

  }

  if (newSize < 9) 
  {
	alert("This is the minimum text size allowed");
    newSize = 9;
  }

  if (newSize > 16) 
  {
	alert("This is the maximum text size allowed");
    newSize = 16;
  }

  newSize += 'px';

  document.documentElement.style.fontSize = newSize;
  document.body.style.fontSize = newSize;

  HSCreateCookie('OL-textsize', newSize, 365, true);
}

function HSGetDocTextSize() 
{
  if (!document.body)
  {
    return 0;
  }

  var size = 0;
  var body = document.body;

  if (body.style && body.style.fontSize)
  {
    size = body.style.fontSize;
  }
  else if (typeof(getComputedStyle) != 'undefined')
  {
    size = getComputedStyle(body,'').getPropertyValue('font-size');
  }
  else if (body.currentStyle)
  {
    size = body.currentStyle.fontSize;
  }
  return size;
}


function HSCreateCookie(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else expires = "";
   document.cookie = name+"="+value+expires+"; path=/";
}

function HSReadCookie(name, useLang) 
{
  var langString = useLang ? HSGetLang() : '';

  var nameEQ = name + langString + '=';
  var ca = document.cookie.split(';');

  for(var i = 0; i < ca.length; i++) 
  {
    var c = ca[i];
    while (c.charAt(0) == ' ') 
    {
      c = c.substring(1, c.length);
    }

    if (c.indexOf(nameEQ) == 0) 
    {
      return c.substring(nameEQ.length,c.length);
    }
  }
  return null;
}

function HSGetLang()
{
  var langString = '';

  if (document.documentElement){
    langString = document.documentElement.lang;
    if (langString != ''){
      langString = '-' + langString;
    }
  }  
  return langString;
}

  HSSetTextSize();
