﻿/// <reference path="..\scripts\jQuery-vsdoc.js" />

function getSystemInfo() {
    var text = '';
    text += getDateAndTime();
    text += "<br>";
    text += getBrowserInfo();
    text += "<br>";
    text += getOSInfo();
    text += "<br>";
    text += getScreenResolution();
    text += "<br>";
    text += getUserInfo();
    text += "<br>";
    text += getUrl();

    return text;
}

function getBrowserInfo() {
    var nVer = navigator.appVersion;
    var nAgt = navigator.userAgent;
    var browserName = navigator.appName;
    var fullVersion = '' + parseFloat(navigator.appVersion);
    var majorVersion = parseInt(navigator.appVersion, 10);
    var nameOffset, verOffset, ix;

    // In MSIE, the true version is after "MSIE" in userAgent
    if ((verOffset = nAgt.indexOf("MSIE")) != -1) {
        browserName = "Microsoft Internet Explorer";
        fullVersion = nAgt.substring(verOffset + 5);
    }
    // In Opera, the true version is after "Opera" 
    else if ((verOffset = nAgt.indexOf("Opera")) != -1) {
        browserName = "Opera";
        fullVersion = nAgt.substring(verOffset + 6);
    }
    // In Chrome, the true version is after "Chrome" 
    else if ((verOffset = nAgt.indexOf("Chrome")) != -1) {
        browserName = "Chrome";
        fullVersion = nAgt.substring(verOffset + 7);
    }
    // In Safari, the true version is after "Safari" 
    else if ((verOffset = nAgt.indexOf("Safari")) != -1) {
        browserName = "Safari";
        fullVersion = nAgt.substring(verOffset + 7);
    }
    // In Firefox, the true version is after "Firefox" 
    else if ((verOffset = nAgt.indexOf("Firefox")) != -1) {
        browserName = "Firefox";
        fullVersion = nAgt.substring(verOffset + 8);
    }
    // In most other browsers, "name/version" is at the end of userAgent 
    else if ((nameOffset = nAgt.lastIndexOf(' ') + 1) < (verOffset = nAgt.lastIndexOf('/'))) {
        browserName = nAgt.substring(nameOffset, verOffset);
        fullVersion = nAgt.substring(verOffset + 1);
        if (browserName.toLowerCase() == browserName.toUpperCase()) {
            browserName = navigator.appName;
        }
    }
    // 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);
    }

    var text = '';

    text += '<b>Browser navn</b> = ' + browserName + '<br>';
    text += '<b>Fuld version</b>  = ' + fullVersion + '<br>';
    text += '(<b>Major version</b> = ' + majorVersion + ')<br>';
    //text += 'navigator.appName = ' + navigator.appName + '<br>';
    //text += 'navigator.userAgent = ' + navigator.userAgent + '<br>';

    return text;
}

function getOSInfo() {
    var OSName = "Unknown OS";
    if (navigator.appVersion.indexOf("Win") != -1) OSName = "Windows";
    if (navigator.appVersion.indexOf("Mac") != -1) OSName = "MacOS";
    if (navigator.appVersion.indexOf("X11") != -1) OSName = "UNIX";
    if (navigator.appVersion.indexOf("Linux") != -1) OSName = "Linux";

    var text = '';

    text += '<b>Operativsystem</b>: ' + OSName + '<br>';
    text += '<b>Fuld operativsystem info</b>: ' + navigator.appVersion + '<br>';

    return text;
}

function getScreenResolution() {
    var screenW = 640, screenH = 480;

    if (parseInt(navigator.appVersion) > 3) {
        screenW = screen.width;
        screenH = screen.height;
    }
    else if (navigator.appName == "Netscape"
    && parseInt(navigator.appVersion) == 3
    && navigator.javaEnabled()) {
        var jToolkit = java.awt.Toolkit.getDefaultToolkit();
        var jScreenSize = jToolkit.getScreenSize();
        screenW = jScreenSize.width;
        screenH = jScreenSize.height;
    }

    var text = '';

    text += "<b>Skærmopløsning</b> = " + screenW + 'x' + screenH + '<br>';
    text += "<b>Vinduestørrelse</b> = " + $(window).width() + 'x' + $(window).height() + '<br>';
    text += "<b>Dokumentstørrelse</b> = " + $(document).width() + 'x' + $(document).height() + '<br>';

    return text;
}

function getUserInfo() {
    text = "<b>Userinfo:</b><br>";
    var result = GetSyncJSOBJ(GetRootPath() + "/webservices/DCUMWebServices.asmx/GetUserInfo", null);
    if (result == '')
        text += "<br>";
    else
        text += result;
        
    return text;
}

function getUrl() {
    var text = "<b>Url:</b><br>" + location.href;
    return text;
}

function getDateAndTime() {

    var months = new Array("januar", "februar", "marts", "april", "maj", "juni", "juli", "august", "september", "oktober", "november", "december");
   
    var currentTime = new Date();
    var monthNo = currentTime.getMonth();
    var day = currentTime.getDate();
    var year = currentTime.getFullYear();
    var hours = currentTime.getHours()
    var minutes = currentTime.getMinutes()
    if (minutes < 10) {
        minutes = "0" + minutes
    }
    var seconds = currentTime.getSeconds();
    if (seconds < 10) {
        seconds = "0" + seconds
    }

    text = day + ". " + months[monthNo] + " " + year + " (" + hours + ":" + minutes + ":" + seconds + ")";

    return "<b>Dato og tid:</b> " + text + "<br>";
}

