var agt = navigator.userAgent.toLowerCase();
var ie  = (agt.indexOf("msie") != -1);
var ns  = (navigator.appName.indexOf("Netscape") != -1);
var win = ((agt.indexOf("win") != -1) || (agt.indexOf("32bit")!=-1));
var mac = (agt.indexOf("mac") != -1);

if (ie && win) {  
  pluginlist = detectIE("Adobe.SVGCtl","SVG Viewer") + 
  detectIE("SWCtl.SWCtl.1","Shockwave Director") +
  detectIE("ShockwaveFlash.ShockwaveFlash.1","Shockwave Flash") + 
  detectIE("rmocx.RealPlayer G2 Control.1","RealPlayer") +
  detectIE("QuickTimeCheckObject.QuickTimeCheck.1","QuickTime") + 
  detectIE("MediaPlayer.MediaPlayer.1","Windows Media Player") + 
  detectIE("PDF.PdfCtrl.5","Acrobat Reader");
}

if (ns || !win) {
    nse = ""; 
    for (var i = 0; i < navigator.mimeTypes.length; i++) 
        nse += navigator.mimeTypes[i].type.toLowerCase();
    pluginlist = detectNS("image/svg-xml","SVG Viewer") + 
    detectNS("application/x-director","Shockwave Director") + 
    detectNS("application/x-shockwave-flash","Shockwave Flash") + 
    detectNS("audio/x-pn-realaudio-plugin","RealPlayer") + 
    detectNS("video/quicktime","QuickTime") + 
    detectNS("application/x-mplayer2","Windows Media Player") +
    detectNS("application/pdf","Acrobat Reader");
}

function detectIE(ClassID,name) { 
    result = false; 
    document.write('<SCRIPT LANGUAGE=VBScript>\n on error resume next \n result = IsObject(CreateObject("' + ClassID + '"))</SCRIPT>\n'); 
    if (result) 
        return name + ','; 
    else 
        return ''; 
}

function detectNS(ClassID,name) { 
    n = ""; 
    if (nse.indexOf(ClassID) != -1) 
        if (navigator.mimeTypes[ClassID].enabledPlugin != null) 
            n = name + ","; 
            return n; }

pluginlist += navigator.javaEnabled() ? "Java," : "";

if (pluginlist.length > 0) 
    pluginlist = pluginlist.substring(0, pluginlist.length - 1);




var tmpcookie = new Date();
chkcookie = (tmpcookie.getTime() + '');
document.cookie = "chkcookie=" + chkcookie + "; path=/";
if (document.cookie.indexOf(chkcookie,0) < 0) {
    var hascookies = false;
} else {
    var hascookies = true;
}

function hasPopupBlocker() {
    var oWin = window.open("","testpopupblocker","width=1,height=1,top=5000,left=5000");
    if (oWin==null || typeof(oWin)=="undefined") {
        return true;
    } else {
        oWin.close();
        return false;
    }
}




var detect = navigator.userAgent.toLowerCase();
var OS,browser,version,total,thestring;

if (checkIt('konqueror'))
{
  browser = "Konqueror";
  OS = "Linux";
}
else if (checkIt('safari')) browser = "Safari"
else if (checkIt('omniweb')) browser = "OmniWeb"
else if (checkIt('opera')) browser = "Opera"
else if (checkIt('webtv')) browser = "WebTV";
else if (checkIt('icab')) browser = "iCab"
else if (checkIt('msie')) browser = "Internet Explorer"
else if (!checkIt('compatible'))
{
  browser = "Netscape Navigator"
  version = detect.charAt(8);
}
else browser = "An unknown browser";

if (!version) version = detect.charAt(place + thestring.length);

if (!OS)
{
  if (checkIt('linux')) OS = "Linux";
  else if (checkIt('x11')) OS = "Unix";
  else if (checkIt('mac')) OS = "Mac"
  else if (checkIt('win')) OS = "Windows"
  else OS = "an unknown operating system";
}

function checkIt(string)
{
  place = detect.indexOf(string) + 1;
  thestring = string;
  return place;
}

function isdefined( variable)
{
    return (typeof(window[variable]) == "undefined")?  false: true;
}

