var standardStyle = 'spStyle' + (Math.floor(Math.random() * 5) + 1);
var expDays = 9999;
var nameOfCookie = 'switchstyle';
function getAllSheets() {
   var fontSize = GetCookie(nameOfCookie);
   if (fontSize == null) {
      fontSize = standardStyle;
   }
   if (!window.ScriptEngine && navigator.__ice_version) {
      return document.styleSheets;
   }
   if (document.getElementsByTagName) {
      var Lt = document.getElementsByTagName('link');
      var St = document.getElementsByTagName('style');
   } else if (document.styleSheets && document.all) {
      var Lt = document.all.tags('LINK'), St = document.all.tags('STYLE');
   } else { return []; } //lesser browser - return a blank array
   for (var x = 0, os = []; Lt[x]; x++) {
      if (Lt[x].rel) {
         var rel = Lt[x].rel;
      } else if (Lt[x].getAttribute) {
         var rel = Lt[x].getAttribute('rel');
      } else { var rel = ''; }
      if (typeof (rel) == 'string' &&rel.toLowerCase().indexOf('style') + 1) {
         os[os.length] = Lt[x];
      }
   }
   for (var x = 0; St[x]; x++) { os[os.length] = St[x]; } return os;
}
function changeStyle(value) {
  
   var newStyle = GetCookie(nameOfCookie);
   
   if (newStyle == null) {
      newStyle = standardStyle;
   }
   value = newStyle;
   for (var x = 0, ss = getAllSheets(); ss[x]; x++) {
      //for each stylesheet ...
      if (ss[x].title) {
         //disable the stylesheet if it is switchable
         ss[x].disabled = true;
      }
      for (var y = 0; y < arguments.length; y++) {
         //check each title ...

         if (ss[x].title == arguments[y]) {
            //and re-enable the stylesheet if it has a chosen title
            ss[x].disabled = false;
         }
      }
   }
   if (!ss.length) { alert('Your browser cannot change stylesheets'); }
}
function prettify(underscoreStyleName) {
   var prettyName = "";
   var spacer = "";
   var nameParts = underscoreStyleName.split('_');
   for (i = 0; i < nameParts.length; i++) {
      prettyName += spacer + nameParts[i].substring(0, 1).toUpperCase() + nameParts[i].substring(1);
      spacer = " ";
   }
   return prettyName;
}
var exp = new Date();
exp.setTime(exp.getTime() + (expDays * 24 * 60 * 60 * 1000));
// Function to get the settings of the user
function getCookieVal(offset) {
   var endstr = document.cookie.indexOf(";", offset);
   if (endstr == -1)
      endstr = document.cookie.length;
   return unescape(document.cookie.substring(offset, endstr));
}
// Function to get the settings of the user
function GetCookie(name) {
   var arg = name + "=";
   var alen = arg.length;
   var clen = document.cookie.length;

   var i = 0;
   while (i < clen) {
      var j = i + alen;
      if (document.cookie.substring(i, j) == arg)
         return getCookieVal(j);
      i = document.cookie.indexOf(" ", i) + 1;
      if (i == 0) break;
   }
   return null;
}
// Function to remember the settings
function SetCookie(name, value) {
   var argv = SetCookie.arguments;
   var argc = SetCookie.arguments.length;
   var expires = (argc > 2) ? argv[2] : null;
   expires = "";
   var path = (argc > 3) ? argv[3] : null;
   var domain = (argc > 4) ? argv[4] : null;
   var secure = (argc > 5) ? argv[5] : false;
   document.cookie = name + "=" + escape(value) +((expires == null) ? "" : ("; expires=" + exp.toGMTString())) +((path == null) ? "" : ("; path=" + path)) +((domain == null) ? "" : ("; domain=" + domain)) +((secure == true) ? "; secure" : "");
   changeStyle(value);
}
// Function to remove the settings
function DeleteCookie(name) {
   var exp = new Date();
   exp.setTime(exp.getTime() - 1);
   var cval = GetCookie(name);
   document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}
changeStyle(standardStyle);