﻿/* 

    功    能:获取客户端浏览者相关信息
    作    者:Edward.Net(msn:haihua_chen@msn.com qq:87912328)
    时    间:2007-12-13
    相关资源:

    示例：
        一、调用 
            var browser = new Edward.Web.Browser();
            var isFF    = browser.IsFirefox;
*/
var Edward;
if(!Edward)Edward = {};
if(!Edward.Web)Edward.Web = {};

Edward.Web.Browser = function()
{
    var Agent = navigator.userAgent;
    
    this.CodeName = navigator.appCodeName;          /* 返回浏览器的“码名”(?)，流行的 IE 和 NN 都返回 'Mozilla'。 */
    this.Name = navigator.appName;                  /* 返回浏览器名。IE 返回 'Microsoft Internet Explorer'，NN 返回 'Netscape'。 */
    this.Language = navigator.browserLanguage;      /* 获取客户端浏览器的语言设置 */
    this.Version = navigator.appVersion;            /* 返回浏览器版本，包括了大版本号、小版本号、语言、操作平台等信息。 */
    this.Version_Num = parseFloat(this.Version);    /* 返回浏览器版本的数值 */
    this.MinorVersion = navigator.appMinorVersion;  /* 返回浏览器的修订版本号 */
    
    this.IsIE = (navigator.appName == "Microsoft Internet Explorer");   /* 返回一个布尔值，表示当前浏览器是否为 IE。 */
    this.IsFirefox = (navigator.appName == "Netscape");                 /* 返回一个布尔值，表示当前浏览器是否为 Firefox。 */
    this.IsOpera = (navigator.appName == "Opera");                      /* 返回一个布尔值，表示当前浏览器是否为 Opera。 */

    this.CookiesEnabled = navigator.cookieEnabled;  /* 返回一个布尔值，表示当前浏览器是否启用 Cookies。 */
    this.JavaEnabled = navigator.javaEnabled();     /* 返回一个布尔值，表示当前浏览器是否允许 Java。 */

    this.Height = screen.height;                    /* 返回屏幕的高度（像素数）。 */
    this.Width = screen.width;                      /* 返回屏幕的宽度（像素数）。 */
    this.AvailableHeight = screen.availHeight;      /* 返回屏幕的可用高度。 */
    this.AvailableWidth =screen.availWidth;         /* 返回屏幕的可用宽度（除去了一些不自动隐藏的类似任务栏的东西所占用的宽度）。 */
    this.ColorDepth = screen.colorDepth + " Bit";   /* 返回当前颜色设置所用的位数 -1：黑白；8：256色；16：增强色；24/32：真彩色 */

    this.OS     = navigator.platform;                           /* 返回浏览器的操作平台，对于 Windows 9x 上的浏览器，返回 'Win32'（大小写可能有差异）。 */
    this.IsWin  = (Agent.indexOf("Win") != -1);   
    this.IsMac  = (Agent.indexOf("Mac") != -1);   
    this.IsUnix = (Agent.indexOf("X11") != -1);   

    /* 返回浏览器的操作平台 */
    if (Agent.indexOf("SunOS")!=-1) {this.OS='Sun'}
    if (Agent.indexOf("IRIX")!=-1) {this.OS='SGI'}
    if (Agent.indexOf("HP-UX")!=-1) {this.OS='HP'}
    if (Agent.indexOf("AIX")!=-1) {this.OS='IBM'}
    if (Agent.indexOf("Linux")!=-1) {this.OS='Linux'}
    if (Agent.indexOf("Macintosh")!=-1) {if (Agent.indexOf("PC)")!=-1) {this.OS='Mac PPC'} else {this.OS='Mac 68000'}}
    if ((Agent.indexOf("Win16")!=-1)||(Agent.indexOf("Windows 3.1")!=-1)) {this.OS='Windows 3.x'}
    if ((Agent.indexOf("Win95")!=-1)||(Agent.indexOf("Windows 95")!=-1)) {this.OS='Windows 95'}
    if ((Agent.indexOf("Win98")!=-1)||(Agent.indexOf("Windows 98")!=-1)) {this.OS='Windows 98'}
    if ((Agent.indexOf("WinNT")!=-1)||(Agent.indexOf("Windows NT")!=-1)) {this.OS='Windows NT'}
    if ((Agent.indexOf("WinNT5")!=-1)||(Agent.indexOf("Windows NT 5.0")!=-1)) {this.OS='Windows 2000'}
    if ((Agent.indexOf("WinNT5")!=-1)||(Agent.indexOf("Windows NT 5.1")!=-1)) {this.OS='Windows XP'}

}
