﻿function CheckBrowserVersion(oldVersion, unSupported) {
    //return 1 for oldversion
    //return 2 for unsupported    
    
    var cookieValue = readCookie('BrowserCheck');
    if (cookieValue == null) {

        if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)) { //test for Firefox/x.x or Firefox x.x (ignoring remaining digits);
            var ffversion = new Number(RegExp.$1); // capture x.x portion and store as a number
            if (ffversion >= 3.6) createCookie('BrowserCheck', 'supported', 60);
            else {
                createCookie('BrowserCheck', 'unsupported', 60);
                //alert(oldVersion);
                return 1;
            }
        }
        else if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) { //test for MSIE x.x;
            var ieversion = new Number(RegExp.$1) // capture x.x portion and store as a number
            if (ieversion >= 7) createCookie('BrowserCheck', 'supported', 60);
            else {
                createCookie('BrowserCheck', 'unsupported', 60);
                //alert(oldVersion);
                return 1;
            }
        }

        else if (/Opera/.test(navigator.userAgent)) { //test for Opera/x.x or Opera x.x (ignoring remaining decimal places);
            if (/Version[\/\s](\d+\.\d+)/.test(navigator.userAgent)) {
                var oprversion = new Number(RegExp.$1) // capture x.x portion and store as a number
                if (oprversion >= 10.51) createCookie('BrowserCheck', 'supported', 60);
                else {
                    createCookie('BrowserCheck', 'unsupported', 60);
                    //alert(oldVersion);
                    return 1;
                }
            }
        }
        else if (/Chrome[\/\s](\d+\.\d+)/.test(navigator.userAgent)) { //test for Chrome/x.x or Chrome x.x (ignoring remaining digits);
            var chromeversion = new Number(RegExp.$1); // capture x.x portion and store as a number
            if (chromeversion >= 4.1) createCookie('BrowserCheck', 'supported', 60);
            else {
                createCookie('BrowserCheck', 'unsupported', 60);
                //alert(oldVersion);
                return 1;
            }
        }

        else if (/Safari/.test(navigator.userAgent)) { //test for Safari/x.x or Safari x.x (ignoring remaining decimal places);
            if (/Version[\/\s](\d+\.\d+)/.test(navigator.userAgent)) {
                var safariversion = new Number(RegExp.$1) // capture x.x portion and store as a number
                if (safariversion >= 4) createCookie('BrowserCheck', 'supported', 60);
                else {
                    createCookie('BrowserCheck', 'unsupported', 60);
                    //alert(oldVersion);
                    return 1;
                }
            }
        }

        else return 2; //alert(unSupported);
    }
}

function createCookie(name, value, days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        var expires = "; expires=" + date.toGMTString();
    }
    else var expires = "";
    document.cookie = name + "=" + value + expires + "; path=/";
}

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') c = c.substring(1, c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
    }
    return null;
}
