// Browser information routines

function BROWSER() { };

BROWSER.IsSupported = function()
{
    //alert("BROWSER.IsSupported");

    BROWSER.Cookies = navigator.cookieEnabled;

    if ($.browser.msie)
	{
    	var base = parseInt($.browser.version);
    	if (base < 6) return -1;
    	//if (base > 7) return 1;
		return 0;
	}
    if ($.browser.mozilla || $.browser.opera || $.browser.safari) return 0;
	
	return -1;
};

BROWSER.GetInfo = function()
{
    //alert("BROWSER.GetInfo");

    BROWSER.Name;
    BROWSER.Version;
    BROWSER.Platform = navigator.platform;

    var idx, endIdx, agent;

    switch (true) {
        case $.browser.msie:
            BROWSER.Name = "Internet Explorer";
            BROWSER.Version = $.browser.version;

            break;

        case $.browser.mozilla:
            BROWSER.Name = "";

            BROWSER.CheckNetscape();
            if (BROWSER.Name != "") break;

            BROWSER.CheckFirefox();
            if (BROWSER.Name != "") break;

            BROWSER.Name = "Mozilla";
            BROWSER.Version = $.browser.version;

            break;

        case $.browser.opera:
            BROWSER.Name = "Opera";
            BROWSER.Version = $.browser.version;

            break;

        case $.browser.safari:
            BROWSER.Name = "";

            BROWSER.CheckChrome();
            if (BROWSER.Name != "") break;

            BROWSER.CheckSafari();
            if (BROWSER.Name != "") break;

            BROWSER.Name = "Safari";
            BROWSER.Version = $.browser.version;

            break;

        default:
            BROWSER.Name = navigator.appName;
            BROWSER.Version = $.browser.version;

            break;
    }
};

BROWSER.CheckNetscape = function()
{
	var agent = navigator.userAgent;
    var idx = agent.indexOf("Navigator");
    if (idx == -1) return;

    BROWSER.Name = "Netscape";

    // Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.8.1.12) Gecko/20080219 Firefox/2.0.0.12 Navigator/9.0.0.6
    var endIdx = agent.indexOf(" ", idx);
    if (endIdx == -1)
    {
        BROWSER.Version = agent.substring(idx + 10)
    } else {
        BROWSER.Version = agent.substring(idx + 10, endIdx)
    }
};

BROWSER.CheckFirefox = function()
{
	var agent = navigator.userAgent;
    var idx = agent.indexOf("Firefox");
    if (idx == -1) return;

    BROWSER.Name = "Firefox";

    // Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.9) Gecko/2009040821 Firefox/3.0.9 (.NET CLR 3.5.30729)
    var endIdx = agent.indexOf(" ", idx);
    if (endIdx == -1)
    {
        BROWSER.Version = agent.substring(idx + 8)
    } else {
        BROWSER.Version = agent.substring(idx + 8, endIdx)
    }
};

BROWSER.CheckChrome = function()
{
	var agent = navigator.userAgent;
    var idx = agent.indexOf("Chrome");
    if (idx == -1) return;

    BROWSER.Name = "Chrome";

    // Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/525.19 (KHTML, like Gecko) Chrome/1.0.154.53 Safari/525.19
    var endIdx = agent.indexOf(" ", idx);
    if (endIdx == -1)
    {
        BROWSER.Version = agent.substring(idx + 7)
    } else {
        BROWSER.Version = agent.substring(idx + 7, endIdx)
    }
};

BROWSER.CheckSafari = function()
{
	var agent = navigator.userAgent;
    var idx = agent.indexOf("Safari");
    if (idx == -1) return;

    BROWSER.Name = "Safari";

    // Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/3.2.1 Safari/525.27.1
    idx = agent.indexOf("Version");
    var endIdx = agent.indexOf(" ", idx);
    if (endIdx == -1)
    {
        BROWSER.Version = agent.substring(idx + 8)
    } else {
        BROWSER.Version = agent.substring(idx + 8, endIdx)
    }
};


