﻿var BrowserErrrRedirect = 'http://www.ecorlive.com/Accounting/BrowserError.aspx';
var ScrWidthReq = 1280;
var ScrHeightReq = 768;

var CookiesName = 'Allow';
var CookiesValue = 'Yes';
var CookiesExpDay = 1;
var isCookies = 0;


function GetBrowserName() {
    var browserName = navigator.appName;
    var nAgt = navigator.userAgent;
    var nameOffset, verOffset, ix;

    //IE
    if ((verOffset = nAgt.indexOf("MSIE")) != -1) {
        browserName = "Microsoft Internet Explorer";
    }

    //Opera
    else if ((verOffset = nAgt.indexOf("Opera")) != -1) {
        browserName = "Opera";
    }

    //Chrome
    else if ((verOffset = nAgt.indexOf("Chrome")) != -1) {
        browserName = "Chrome";
    }

    //Safari
    else if ((verOffset = nAgt.indexOf("Safari")) != -1) {
        browserName = "Safari";
    }

    //Firefox
    else if ((verOffset = nAgt.indexOf("Firefox")) != -1) {
        browserName = "Firefox";
    }

    //Others
    else if ((nameOffset = nAgt.lastIndexOf(' ') + 1) < (verOffset = nAgt.lastIndexOf('/'))) {
        browserName = nAgt.substring(nameOffset, verOffset);
        if (browserName.toLowerCase() == browserName.toUpperCase()) {
            browserName = navigator.appName;
        }
    }

    return browserName;
}

function GetBrowserVer() {
    var fullVersion = '' + parseFloat(navigator.appVersion);
    var nAgt = navigator.userAgent;

    //IE
    if ((verOffset = nAgt.indexOf("MSIE")) != -1) {
        fullVersion = nAgt.substring(verOffset + 5);
    }

    //Opera
    else if ((verOffset = nAgt.indexOf("Opera")) != -1) {
        fullVersion = nAgt.substring(verOffset + 6);
    }

    //Chrome
    else if ((verOffset = nAgt.indexOf("Chrome")) != -1) {
        fullVersion = nAgt.substring(verOffset + 7);
    }

    //Safari
    else if ((verOffset = nAgt.indexOf("Safari")) != -1) {
        fullVersion = nAgt.substring(verOffset + 7);
    }
    //Firefox
    else if ((verOffset = nAgt.indexOf("Firefox")) != -1) {
        fullVersion = nAgt.substring(verOffset + 8);
    }
    //Others
    else if ((nameOffset = nAgt.lastIndexOf(' ') + 1) < (verOffset = nAgt.lastIndexOf('/'))) {
        fullVersion = nAgt.substring(verOffset + 1);
    }

    // trim the fullVersion string at semicolon/space if present
    if ((ix = fullVersion.indexOf(";")) != -1) fullVersion = fullVersion.substring(0, ix);
    if ((ix = fullVersion.indexOf(" ")) != -1) fullVersion = fullVersion.substring(0, ix);

    majorVersion = parseInt('' + fullVersion, 10);
    if (isNaN(majorVersion)) {
        fullVersion = '' + parseFloat(navigator.appVersion);
        majorVersion = parseInt(navigator.appVersion, 10);
    }
    return fullVersion;
}

function GetScreenResoulation() {
    var ScrWidth = screen.width;
    var ScrHeight = screen.height;

    var ScrReso = ScrWidth + 'x' + ScrHeight;

    return ScrReso;
}

function RedirectToErrorPage() {
    //Var to get info
    var BrowserName = GetBrowserName();
    var BrowseVer = GetBrowserVer();
    var ScrReso = GetScreenResoulation();

    //Var to Return
    var isError = 0;
    
    //Resoulation Problem
    var ScrWidth = ScrReso.substring(0, ScrReso.indexOf('x', 0));
    var ScrHeight = ScrReso.substring(ScrReso.indexOf('x', 0) + 1, ScrReso.length);
    if (ScrWidth < ScrWidthReq || ScrHeight < ScrHeightReq) {
        //isError = 1;
    }

    //IE
    if (BrowserName == 'Microsoft Internet Explorer') {
        if (BrowseVer < 7) {
            //isError = 1;
        }
    }
    //Opera
    else if (BrowserName == 'Opera') {
        if (BrowseVer < 7) {
            //isError = 1;
        }
    }
    //Chrome
    else if (BrowserName == 'Chrome') {
        if (BrowseVer < 2) {
            //isError = 1;
        }
    }
    //Safari
    else if (BrowserName == 'Safari') {
        if (BrowseVer < 525) {
            //isError = 1;
        }
    }
    //Firefox
    else if (BrowserName == 'Firefox') {
        if (BrowseVer < 3) {
            //isError = 1;
        }
    }
    //Others
    //else {
    //    isError = 1;
    //}

/*    if (isError == 1) {
        if (isCookies == 1) {
            if (ReadCookies() != CookiesValue) {
                window.location = BrowserErrrRedirect + "?returnTo=" + document.location.href; 
            }
        }
        else {
            window.location = BrowserErrrRedirect;        
        }
    }
*/
}


function DispReco() {
    //Var to get info
    var BrowserName = GetBrowserName();
    var BrowseVer = GetBrowserVer();
    var ScrReso = GetScreenResoulation();

    //Var to Return
    var ErrorDescRes = '';
    var ErrorDescBro = '';
    //Resoulation Problem
    var ScrWidth = ScrReso.substring(0, ScrReso.indexOf('x', 0));
    var ScrHeight = ScrReso.substring(ScrReso.indexOf('x', 0) + 1, ScrReso.length);
    if (ScrWidth < ScrWidthReq || ScrHeight < ScrHeightReq) {
        ErrorDescRes = 'To ensure maximum user experience please set your screen resolution to a minimum of ' + ScrWidthReq + 'x' + ScrHeightReq + '.';
    }

    //IE
    if (BrowserName == 'Microsoft Internet Explorer') {
        if (BrowseVer < 7) {
            ErrorDescBro = 'download the latest version of "Microsoft Internet Explorer" <a href="http://www.microsoft.com/windows/internet-explorer/default.aspx">here</a>.';
        }
    }
    //Opera
    else if (BrowserName == 'Opera') {
        if (BrowseVer < 7) {
            //ErrorDescBro = 'download the latest version of "Opera" <a href="http://www.microsoft.com/windows/internet-explorer/default.aspx">here</a>.';
        }
    }
    //Chrome
    else if (BrowserName == 'Chrome') {
        if (BrowseVer < 2) {
            ErrorDescBro = 'download the latest version of "Chrome" <a href="http://www.google.com/chrome">here</a>.';
        }
    }
    //Safari
    else if (BrowserName == 'Safari') {
        if (BrowseVer < 525) {
            ErrorDescBro = 'download the latest version of "Safari" <a href="http://www.apple.com/safari/download/">here</a>.';
        }
    }
    //Firefox
    else if (BrowserName == 'Firefox') {
        if (BrowseVer < 3) {
            ErrorDescBro = 'download the latest version of "Firefox" <a href="http://www.mozilla.com">here</a>.';
        }
    }
    //Others
    else {
        ErrorDescBro = 'Browser information not available!'
    }

    var ErrorDescription = '';
    //only Browser problem
    if (ErrorDescRes == '') {
        if (ErrorDescBro != '') {
            ErrorDescription = 'To ensure maximum user experience please ' + ErrorDescBro;
        }
    }

    //only Resoulation problem
    if (ErrorDescRes != '' && ErrorDescBro == '') {
        ErrorDescription = ErrorDescRes;
    }

    //Both problem
    if (ErrorDescRes != '' && ErrorDescBro != '') {
        ErrorDescription = ErrorDescRes + ' and ' + ErrorDescBro;
    }
    return ErrorDescription;
}

//Cookies Checking
function WriteCookies() {
    if (CookiesExpDay) {
        var date = new Date();
        date.setTime(date.getTime() + (CookiesExpDay * 24 * 60 * 60 * 1000));
        var expires = "; expires=" + date.toGMTString();
    }
    else var expires = "";
    document.cookie = CookiesName + "=" + CookiesValue + expires + "; path=/";

}

function ReadCookies() {
    var nameEQ = CookiesName + "=";
    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;
}

function ClearCookie() {
    WriteCookies(CookiesName, "", -1);
}