var elm_cache     = new Array();
var useragent     = navigator.userAgent.toLowerCase();
var iAm           = function(regex){return regex.test(useragent)}
var isStrict      = document.compatMode == "CSS1Compat";
var isOpera       = iAm(/opera/);
var isWebKit      = iAm(/webkit/);
var isChrome      = iAm(/chrome/);
var isSafari      = !isChrome&&iAm(/safari/);
var isSafari3     = isSafari&&iAm(/version\/3/);
var isSafari4     = isSafari&&iAm(/version\/4/);
var isSafari2     = isSafari&&iAm(/applewebkit\/4/);
var isIE          = !isOpera&&iAm(/msie/);
var isIE7         = isIE&&iAm(/msie 7/);
var isIE8         = isIE&&iAm(/msie 8/);
var isIE6         = isIE&&!isIE7&&!isIE8;
var isGecko       = !isWebKit&&iAm(/gecko/);
var isGecko2      = isGecko&&iAm(/rv:1\.8/);
var isGecko3      = isGecko&&iAm(/rv:1\.9/);
var isLinux       = iAm(/linux/);
var isWindows     = iAm(/windows|win32/);
var isMac         = iAm(/macintosh|mac os x/);
var validator_for = [];

if(isIE && !isIE7)
{ 
  try {
  document.execCommand("BackgroundImageCache",false,true)
  }
  catch(e)
  {}
}

function validateNewsletterForm(email_val) {
  if ((email_val == null) || (email_val.length == 0)) {
    document.getElementById("advice-email_address").style.display = "";
    return false;
  }
  else if ((/\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/.test(email_val))) {
    document.getElementById("advice-email_address").style.display = "none";
    return true;
  }
  else {
    document.getElementById("advice-email_address").style.display = "";
    return false;
  }
}

var body = document.body || document.getElementsByTagName('body')[0];

var cls = [' ',
        isIE ? "ie " + (isIE6 ? 'ie6' : (isIE7 ? 'ie7' : 'ie8'))
        : isGecko ? "gecko " + (isGecko2 ? 'gecko2' : 'gecko3')
        : isOpera ? "opera"
        : isWebKit ? "webkit" : ""];

if(isSafari){
    cls.push("safari " + (isSafari2 ? 'safari2' : (isSafari3 ? 'safari3' : 'safari4')));
}else if(isChrome){
    cls.push("chrome");
}

if(isMac){
    cls.push("mac");
}
if(isLinux){
    cls.push("linux");
}
if(isWindows){
    cls.push("windows");
}
if(isStrict){
    cls.push("strict");
}
body.className += cls.join(' ');


