﻿/*
    JAVASCRIPT FUNKTIONEN FÜR DIE MAPSERVER-ENGINE.
    
    | Allgemeine Funktionen >> 2010-01-15 by Stefan Kowalczyk |
    
    Diese Code-Datei enthält allgemeine Funktione, welche auch unabhängig vom MapServer in anderen Projekten verwendet werden
    können. Um innerhalb des MapServer-Kontext zu bleiben, sollten die hier aufgeführten Funktionnamen grunsätzlich mit
    dem Zusatz "MS_Common_" beginnen.
*/

function MS_Common_GetRadWindow() {
    ///<summary>Liefert das Fenster-Objekt des aktuell geöffneten RadWindows.</summary>
    ///<returns>RadWindow-Objekt.</returns>
    var oWindow = null;
    if (window.radWindow)
        oWindow = window.radWindow;
    else
        if (window.frameElement.radWindow)
        oWindow = window.frameElement.radWindow;

    return oWindow;
}

function MS_Common_OpenRadWindow(cWindowName, cURL) {
    ///<summary>Alternative Funktion zum Öffnen eines neues Browser-Fensters.</summary>
    ///<param name="cWindowName">Name des RadWindows. Wenn im RadWindow-Manager ein Fenster definiert wurde, muss der entsprechend deklarierte Name verwendet werden.</param>
    ///<param name="cURL">Pfad zur Datei.</param>
    var oManager = GetRadWindowManager();
    if (oManager != null) {
        var oWnd = oManager.GetWindowByName(cWindowName);
        if (oWnd != null) {
            if (cURL != null && cURL != "")
                oWnd.SetUrl(cURL);

            oWnd.Show();
        }
    }
}

function MS_Common_IsBrowserIE() {
    ///<summary>Liefert 'true', wenn der aktuelle Browser als Internet Explorer oder Opera-Browser identifiziert wurde.</summary>
    var lIE = false;
    var cagent = navigator.userAgent;

    if (cagent.search("MSIE") > -1 || cagent.search("Opera") > -1)
        lIE = true;

    return lIE;
}

function MS_Common_GetRandomWindowID() {
    ///<summary>Generiert eine zufällige Nummer, die beim Öffnen mehrerer Fenster mit Hilfe der "NewWindow_Funktion"</summary>    
    var nNumber = Math.random();
    var aNumArray = nNumber.toString().split('.');

    return "WinID" + aNumArray[1].toString();
}

var win = null;
function MS_Common_NewWindow(mypage, myname, w, h, scroll, pos) {
    ///<summary>Alternative Funktion zum Öffnen eines neues Browser-Fensters.</summary>
    ///<param name="mypage">Pfad zur Datei.</param>
    ///<param name="myname">Name oder Titel des Fensters. Darf keine Leer- oder Sonderzeichen enthalten.</param>
    ///<param name="w">Breite des Fensters.</param>
    ///<param name="h">Höhe des Fenster.</param>
    ///<param name="scroll">Scrollfähigkeit des Fensters. "yes" oder "no".</param>
    ///<param name="pos">Position des Fensters. "center" usw.</param>
    if (pos == "random") { LeftPosition = (screen.width) ? Math.floor(Math.random() * (screen.width - w)) : 100; TopPosition = (screen.height) ? Math.floor(Math.random() * ((screen.height - h) - 75)) : 100; }
    if (pos == "center") { LeftPosition = (screen.width) ? (screen.width - w) / 2 : 100; TopPosition = (screen.height) ? (screen.height - h) / 2 : 100; }
    else if ((pos != "center" && pos != "random") || pos == null) { LeftPosition = 0; TopPosition = 20 }
    settings = 'width=' + w + ',height=' + h + ',top=' + TopPosition + ',left=' + LeftPosition + ',scrollbars=' + scroll + ',location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=no';
    win = window.open(mypage, myname, settings);
    if (win.focus) { win.focus(); }
}

