var g_pBrowserWarnWin = null;

function BrowserFlags() {
    d=document;
    this.agt=navigator.userAgent.toLowerCase();
    this.major = parseInt(navigator.appVersion);
    this.dom=(d.getElementById)?1:0;
    this.ns=(d.layers);
    this.ns4up=(this.ns && this.major >=4);
    this.ns6=(this.dom&&navigator.appName=="Netscape");
    this.op=(window.opera? 1:0);
    this.ie=(d.all&&!this.op);
    this.ie4=(d.all&&!this.dom)?1:0;
    this.ie4up=(this.ie && this.major >= 4);
    this.ie5=(d.all&&this.dom&&!this.op);
    this.win=((this.agt.indexOf("win")!=-1) || (this.agt.indexOf("16bit")!=-1));
    this.mac=(this.agt.indexOf("mac")!=-1);
}

var g_BrowserFlags = new BrowserFlags();

var exclude=1;
var agt=navigator.userAgent.toLowerCase();
var win=0;var mac=0;var lin=1;
if(agt.indexOf('win')!=-1){win=1;lin=0;}
if(agt.indexOf('mac')!=-1){mac=1;lin=0;}
var lnx=0;if(lin){lnx=1;}
var ice=0;
var ie=0;var ie4=0;var ie5=0;var ie6=0;var com=0;var dcm;
var op5=0;var op6=0;var op7=0;
var ns4=0;var ns6=0;var ns7=0;var mz7=0;var kde=0;var saf=0;
if(typeof navigator.vendor!="undefined" && navigator.vendor=="KDE"){
	var thisKDE=agt;
	var splitKDE=thisKDE.split("konqueror/");
	var aKDE=splitKDE[1].split("; ");
	var KDEn=parseFloat(aKDE[0]);
	if(KDEn>=2.2){
		kde=1;
		ns6=1;
		exclude=0;
		}
	}
else if(agt.indexOf('webtv')!=-1){exclude=1;}
else if(typeof window.opera!="undefined"){
	exclude=0;
	if(agt.indexOf("opera/5")!=-1||agt.indexOf("opera 5")!=-1){op5=1;}
	if(agt.indexOf("opera/6")!=-1||agt.indexOf("opera 6")!=-1){op6=1;}
	if(agt.indexOf("opera/7")!=-1||agt.indexOf("opera 7")!=-1){op7=1;}
	}
else if(typeof document.all!="undefined"&&!kde){
	exclude=0;
	ie=1;
	if(typeof document.getElementById!="undefined"){
		ie5=1;
		if(agt.indexOf("msie 6")!=-1){
			ie6=1;
			dcm=document.compatMode;
			if(dcm!="BackCompat"){com=1;}
			}
		}
	else{ie4=1;}
	}
else if(typeof document.getElementById!="undefined"){
	exclude=0;
	if(agt.indexOf("netscape/6")!=-1||agt.indexOf("netscape6")!=-1){ns6=1;}
	else if(agt.indexOf("netscape/7")!=-1||agt.indexOf("netscape7")!=-1){ns6=1;ns7=1;}
	else if(agt.indexOf("gecko")!=-1){ns6=1;mz7=1;}
	if(agt.indexOf("safari")!=-1 || (typeof document.childNodes!="undefined" && typeof document.all=="undefined" && typeof navigator.taintEnabled=="undefined")){mz7=0;ns6=1;saf=1;}
	}
else if((agt.indexOf('mozilla')!=-1)&&(parseInt(navigator.appVersion)>=4)){
	exclude=0;
	ns4=1;
	if(typeof navigator.mimeTypes['*']=="undefined"){
		exclude=1;
		ns4=0;
		}
	}
if(agt.indexOf('escape')!=-1){exclude=1;ns4=0;}
if(typeof navigator.__ice_version!="undefined"){exclude=1;ie4=0;}

function WarningShown()
{
    var szCookieVal = "1"
    document.cookie = "BrowserWarning=" + escape(szCookieVal) + "; path=/";
}

function HasWarningBeenShown()
{
    var szCookieName = "BrowserWarning";
    var istart = document.cookie.indexOf(szCookieName + "=");
    if (-1 == istart) return false;
    istart = document.cookie.indexOf("=", istart) + 1;
    var istop = document.cookie.indexOf(";", istart);
    if (-1 == istop) istop = document.cookie.length;
    var iTmp = parseInt(unescape(document.cookie.substring(istart, istop)));
    if (!isNaN(iTmp) && iTmp == 1) return true;
    else return false;
}    

function browserCheck()
{
    if (!HasWarningBeenShown() && !(g_pBrowserWarnWin && !g_pBrowserWarnWin.closed))
    {
      var fDisplayError = false;
      if (!(ie5 || ns6 || ns7))
      {
          fDisplayError = true;
      }
      else if (!(win || mac))
      {
          fDisplayError = true;
      }
      
      if (fDisplayError)
      {
        var sBrowserWarnUrl = "/corp/help/browsers.aspx?ie5=" + ie5 + "&ns6=" + ns6 + 
          "&ns7=" + ns7 + "&win=" + win + "&mac=" + mac;

        WarningShown();
        ShowBrowserWarning(sBrowserWarnUrl);
      }
    }
}

function ShowBrowserWarning(sUrl)
{
    if (g_pBrowserWarnWin && (!g_pBrowserWarnWin.closed)) g_pBrowserWarnWin.close();
    
    g_pBrowserWarnWin = window.open(
        sUrl,
        "browserWarning", 
        "location=no,menubar=no,resizable=no,toolbar=no,width=450,height=325");
}
