var i = 0;

var OldXSize = 0;
var OldYSize = 0;


function getWindowSize(docwidth, docheight) {
    myWin = new Object();

    myWin.width = 700;
    myWin.height = 480;
    if (window.innerHeight) {
        myWin.height = window.innerHeight;
        myWin.width = window.innerWidth;
    }
    else if (document.documentElement && document.documentElement.clientHeight) {
        myWin.height = document.documentElement.clientHeight;
        myWin.width = document.documentElement.clientWidth;
    }
    else if (document.body) {
        myWin.height = window.document.body.offsetHeight;
        myWin.width = window.document.body.offsetWidth;
    }
    return myWin;
}
////////////////////////////////////////////////////////////////////////////

function ChangeConstructSnappingMode(e) {
    var fenster = GP_frames_finden(top, "MyMap");

    if (e == true) {
        fenster.SendCallBack("constructsnappingmode$true");
    }
    else {
        fenster.SendCallBack("constructsnappingmode$false");
    }

}


function ChangeConstructTextSize(e) {
    var fenster = GP_frames_finden(top, "MyMap");


    fenster.SendCallBack("constructtextsize$" + e);


}

function ChangeConstructRoutingMode(e) {
    var fenster = GP_frames_finden(top, "MyMap");

    if (e == true) {
        fenster.SendCallBack("constructroutingmode$true");
    }
    else {
        fenster.SendCallBack("constructroutingmode$false");
    }

}
function ExportRedlineToPC() {
    var fenster = GP_frames_finden(top, "MyMap");
    fenster.SendCallBack("exportredlinetopc$bds");
}


function ExportRedlineToPCAsDXF() {
    var fenster = GP_frames_finden(top, "MyMap");
    fenster.SendCallBack("exportredlinetopc$dxf");
}

function ExportSelectToPCAsBDS() {
    var fenster = GP_frames_finden(top, "MyMap");
    fenster.SendCallBack("exportselecttopc$bds");
}


function CopySelectionToRedlining() {
    var fenster = GP_frames_finden(top, "MyMap");
    fenster.waitfenster_open("Kopie der aktuellen Auswahl wird erstellt");
    fenster.CallBackMap.Callback("copyselectiontoredlining$");
}



function closeParentPDFWindow() {
    var fenster = GP_frames_finden(top, "MyMap");
    fenster.parent.CloseInfoDialog();
}

function ExportSelectToPCAsDXF() {
    var fenster = GP_frames_finden(top, "MyMap");
    fenster.SendCallBack("exportselecttopc$dxf");
}

function showPDF() {
    setTimeout("CreateWnd('showPDF.aspx', 600, 400, true)", 1000);
}


function showInfo() {

    showPopUpFrame('info.aspx', "Info", 700, 650);
}




function gisdeleteselektion() {
    //window.frames['MyMap'].location.href='map.aspx?funktion=deleteselektion';
    var fenster = GP_frames_finden(top, "MyMap");
    fenster.Callback_UpdateMap('deleteselektion', '');
}










function gisshowselectinfo() {
    window.frames['MyMap'].location.href = 'map.aspx?funktion=showselectinfo';

}


function gisshowselectinfoSelbst() {
    window.parent.location.href = 'map.aspx?funktion=showselectinfo';

}





function gisshowselectinfofromchild() {
    window.parent.frames['MyMap'].location.href = 'map.aspx?funktion=showselectinfo';

}

function show_hyperlink(file) {
    //show_hyperlink = window.open("http://harmening/promegismapnet/images/abstand.gif","","width=600,height=400,scrollbars,resizable");

    CreateWnd(file, 700, 580, true);

}



function show_quick_print() {

    var fenster = GP_frames_finden(top, "MyMap");
    fenster.parent.showPopUpFrame('quick_print.aspx', "Drucken", 700, 580, false);


}



function show_image_newWindow(x, y) {

    CreateWnd('image_copy.aspx', x, y, true);

}



function show_route_print() {


    showPopUpFrame('printRoute.aspx', "Route", 700, 650);

}






function promptCallLabelText(arg) {

    var fenster = GP_frames_finden(top, "MyMap");
    if ((arg != '') && (arg != ' ') && (arg != null)) {
        fenster.document.getElementById("RedlineLabelText").value = arg;
    }
    else {
        fenster.document.getElementById("RedlineLabelText").value = "";
    }
    if (arg != null) {
        var DISTANCEBOX = fenster.document.getElementById("DISTANCEBOX").value;
        fenster.Callback_UpdateMap("redlining", DISTANCEBOX);
    }

}





function askForLabel() {
    var fenster = GP_frames_finden(top, "MyMap");
    var oldtext = " ";
    radprompt('Bitte geben Sie einen Labeltext an.', promptCallLabelText, 330, 100, null, 'Labeltext erstellen..', oldtext);
    //   return false;


}
function SelectByBuffer() {
    var fenster = GP_frames_finden(top, "MyMap");
    var EncodedString;

    fenster.waitfenster_open("Puffer - Selektion");
    EncodedString = encodeURI("pufferselect$");
    fenster.CallBackMap.Callback(EncodedString);

}
function DelBuffer() {
    var fenster = GP_frames_finden(top, "MyMap");
    var EncodedString;

    fenster.waitfenster_open("Puffer wird geloescht");
    EncodedString = encodeURI("pufferdelete$");
    fenster.CallBackMap.Callback(EncodedString);

}

function promptCallBuffer(arg) {

    if ((arg != '') && (arg != ' ') && (arg != null)) {
        var fenster = GP_frames_finden(top, "MyMap");
        fenster.waitfenster_open("Puffer wird erstellt");
        var EncodedString = encodeURI("createpufferselect$" + arg);
        fenster.CallBackMap.Callback(EncodedString);
    }
}


function CreateBufferSelect() {

    radprompt('Geben Sie bitte die Entfernung des Puffers in Metern an.', promptCallBuffer, 330, 100, null, 'Puffer erstellen..', '100');
    //return false;

}

function promptCallZoomScale(arg) {

    if ((arg != '') && (arg != '0') && (arg != ' ') && (arg != null)) {

        var fenster = GP_frames_finden(top, "MyMap");
        fenster.Callback_UpdateMap('zoomscale', arg);
    }
}


function gisselscale() {
    var selscale;
    var fenster = GP_frames_finden(top, "MyMap");
    var masstab = fenster.document.getElementById("HiddenScale").value;
    radprompt('Bitte geben Sie einen Maßstab ein. \r\n1:', promptCallZoomScale, 330, 100, null, 'Zoomen auf..', masstab);
    //return false;


}


function showAlert(text, title) {
    if (title == null)
    { title = "Hinweis"; }
    var fenster = GP_frames_finden(top, "MyMap");
    fenster.parent.radalert(text, 200, 100, title);
    return false;
}

function gisseldefinedscale(f) {

    if ((f != '') && (f != ' ') && (f != null) && (f != '0')) {

        var fenster = GP_frames_finden(top, "MyMap");
        fenster.Callback_UpdateMap('zoomscale', f);
    }
}



function gisallscale() {
    var fenster = GP_frames_finden(top, "MyMap");
    fenster.Callback_UpdateMap('zoomall', '');
}

function DelLastRedlining() {
    var fenster = GP_frames_finden(top, "MyMap");
    fenster.Callback_UpdateMap("dellastredlining", "");

}

function DelRedlining() {
    var fenster = GP_frames_finden(top, "MyMap");
    fenster.Callback_UpdateMap("delredlining", "");
}

function zoomselect() {
    var fenster = GP_frames_finden(top, "MyMap");
    fenster.Callback_UpdateMap("zoomselect", "");
}


function gishomescale() {
    var fenster = GP_frames_finden(top, "MyMap");
    fenster.Callback_UpdateMap("zoomhome", "");

}
function gislastscale() {
    var fenster = GP_frames_finden(top, "MyMap");
    fenster.Callback_UpdateMap("zoomlast", "");



}



function gisinscale_faktor(faktor) {
    var fenster = GP_frames_finden(top, "MyMap");
    fenster.Callback_UpdateMap("zoomin", faktor);

}
function gisoutscale_faktor(faktor) {
    var fenster = GP_frames_finden(top, "MyMap");
    fenster.Callback_UpdateMap("zoomout", faktor);

}

function gisoutscale() {
    var outscale;

    outscale = window.frames['MyMap'].location.href = 'map.aspx?funktion=zoomout';

}


function show_legende(file) {
    setTimeout("CreateWnd('" + file + "', 600, 400, true)", 1000);

}









function gisshowselectinfofromToolbar() {

    var fenster = GP_frames_finden(top, "MyMap");
    fenster.Callback_UpdateMap("showselectinfo", "");
}




function gotokolibri() {
    var fenster = GP_frames_finden(top, "myfunctions");
    fenster.location.href = 'dummy.aspx?funktion=callkolibri';
}


function gotoanwendung() {
    var fenster = GP_frames_finden(top, "myfunctions");
    fenster.location.href = 'dummy.aspx?funktion=callanwendung';
}


function applicationrequest(url) {
    parent.window.location.href = url;
}


function showhand(e) {
    e.style.cursor = "hand";
}


function remove() {
    parent.window.status = "";
}







function loading_verstecken() {
    document.getElementById("LadeInhalt").style.visibility = "hidden";
    self.focus();
}














function legendeSelectHinweis() {

    showAlert("Der gewählte Overlay kann nicht auf selektierbar gesetzt werden!");

}


function LegendeHinweis() {

    showAlert("Bitte stellen Sie sicher, dass ein Overlay oder Unterknoten in der Legende als aktuell ausgewählt ist !");

}


function LegendeHinweisB() {

    showAlert("Keine Objekte gefunden!");

}


function LegendeHinweisC() {

    showAlert("Der aktuelle Overlay beinhaltet zu viele Objekte für diese Abfrage! (max. 15000 Objekte)");

}


function show_obj_info(web_app, objekte, proweb) {
    var proWebLogin = "";
    var web = "";
    var url = "";
    var gehzuframe;

    //proWebLogin = "<%=Session("proWebLogin")%>";
    proWebLogin = "true";
    gehzuframe = "false";

    if (objekte == "") {
        showAlert("Objekt hat keinen Namen oder wurde nicht ausgewählt!");
        return;
    }


    //prüft, ob das Programm im Frame von promegisNet integriert wird
    //var checkframe=window.parent.parent.parent.document.getElementById("checkframe").value;
    if (window.parent.parent.parent.document.getElementById("checkframe") == null && window.parent.parent.document.getElementById("checkframe") == null)
        gehzuframe = "false";
    else {
        gehzuframe = "true";
        var c;
        if (self.frames.length == 0)
        //wird vom Dummy-Frame aufgerufen
        { c = window.parent.parent.parent; }
        else
        //wird von main.aspx aufgerufen    
        { c = window.parent.parent; }
    }










    switch (web_app) {
        case "ALB":
            if (gehzuframe == "false")
            { url = proweb + "?app=proALBWeb&obj=" + objekte + "&anmeldung=true&proWebLogin=" + proWebLogin; }
            else {
                c.selectaplication("PROALBWEB", "?obj=" + objekte + "&anmeldung=true&proWebLogin=" + proWebLogin);
                return;

            }
            //	url = proalbweb + "?obj=" + objekte + "&anmeldung=true&proWebLogin=" + proWebLogin;

            break;
        case "BPL":
            if (gehzuframe == "false")
            { url = proweb + "?app=proBPLWeb&obj=" + objekte + "&anmeldung=true&proWebLogin=" + proWebLogin; }
            else {
                c.selectaplication("PROBPLWEB", "?obj=" + objekte + "&anmeldung=true&proWebLogin=" + proWebLogin);
                return;
            }
            //	url = probplweb + "?obj=" + objekte + "&anmeldung=true&proWebLogin=" + proWebLogin;

            break;
        case "UNKNOWN":
            showAlert("Es ist keine Web-Anwendung für die\r\n" + "Information über dieses Objekt vorhanden!");
            return;
            break;
    }

    if ((parent.opener != null) && (parent.opener.closed == false)) {

        parent.opener.location = url;
        parent.opener.focus();

    }
    else {
        // geändert Februar 2004 von "web = window.open.........",
        // weil jetzt von Frame auf aufgerufen
        web = window.parent.open(url, "", "width=" + parseInt(screen.availWidth) +
			",height=" + parseInt(screen.availHeight * 0.9) + ",locationbar=yes,menubar=yes,resizable=yes,status=yes");
        parent.opener = web;
    }
}





function button_style_down(e) {
    e.style.borderBottomColor = "white";
    e.style.borderRightColor = "white";
    e.style.borderTopColor = "black";
    e.style.borderLeftColor = "black";
    e.style.borderStyle = "solid";
}

function button_style_out(e) {
    e.style.borderColor = "white";
}

function button_style_over(e) {
    e.style.borderBottomColor = "black";
    e.style.borderRightColor = "black";
    e.style.borderTopColor = "white";
    e.style.borderLeftColor = "white";
    e.style.borderStyle = "solid";
}

function cursor_style_over(e) {
    if (document.getElementById("txtCurFunc") != null) {
        var currentFunc = document.getElementById("txtCurFunc").value;
        if (currentFunc == "drag")
            e.style.cursor = "move";
        else
            e.style.cursor = "crosshair";
    }
}

function cursor_style_out(e) {
    if (document.getElementById("txtCurFunc") != null) {
        var currentFunc = document.getElementById("txtCurFunc").value;

        if ((currentFunc == "drag") || (currentFunc == "zoom"))
            e.style.cursor = "default";
    }
}


function set_focus_window(e) {

    e.focus();
    setTimeout("set_focus_window(this)", 1000);
}



















/*/ THIS FILE CONTAINS FUNCTIONS THAT WILL WRAP THE POP-UP PROCESS /*/

// this variable will hold the window obect
// we only allow one pop-up at a time
var popup = null;

/*/
/ / PURPOSE:
/ /		To create and center a pop-up window.
/ /
/ / COMMENTS:
/ /		It will replace to old pop-up if called
/ / 	without calling DestroyWnd() first..
/*/

function CreateWnd(file, width, height, resize) {
    var doCenter = false;

    if ((popup == null) || popup.closed) {
        attribs = "";

        /*/ there's no popup displayed /*/

        // assemble some params
        if (resize) size = "yes"; else size = "no";

        /*/
        / / We want to center the pop-up; however, to do this we need to know the
        / / screen size.  The screen object is only available in JavaScript 1.2 and
        / / later (w/o Java and/or CGI helping), so we must check for the existance
        / / of it in the window object to determine if we can get the screen size.
        / /
        / / It is safe to assume the window object exists because it was implemented
        / / in the very first version of JavaScript (that's 1.0).
        /*/
        for (var item in window)
        { if (item == "screen") { doCenter = true; break; } }

        if (doCenter) {	/*/ center the window /*/

            // if the screen is smaller than the window, override the resize setting
            if (screen.width <= width || screen.height <= height) size = "yes";

            WndTop = (screen.height - height) / 2;
            WndLeft = (screen.width - width) / 2;

            // collect the attributes
            attribs = "width=" + width + ",height=" + height + ",resizable=" + size + ",scrollbars=" + size + "," +
			"status=no,toolbar=no,directories=no,menubar=no,location=no,top=" + WndTop + ",left=" + WndLeft;
        }
        else {
            /*/
            / / There is still one last thing we can do for JavaScrpt 1.1
            / / users in Netscape.  Using the AWT in Java we can pull the
            / / information we need, provided it is enabled.
            /*/
            if (navigator.appName == "Netscape" && navigator.javaEnabled()) {	/*/ center the window /*/

                var toolkit = java.awt.Toolkit.getDefaultToolkit();
                var screen_size = toolkit.getScreenSize();

                // if the screen is smaller than the window, override the resize setting
                if (screen_size.width <= width || screen_size.height <= height) size = "yes";

                WndTop = (screen_size.height - height) / 2;
                WndLeft = (screen_size.width - width) / 2;

                // collect the attributes
                attribs = "width=" + width + ",height=" + height + ",resizable=" + size + ",scrollbars=" + size + "," +
				"status=no,toolbar=no,directories=no,menubar=no,location=no,top=" + WndTop + ",left=" + WndLeft;
            }
            else {	/*/ use the default window position /*/

                // override the resize setting
                size = "yes";

                // collect the attributes
                attribs = "width=" + width + ",height=" + height + ",resizable=" + size + ",scrollbars=" + size + "," +
				"status=no,toolbar=no,directories=no,menubar=no,location=no";
            }
        }

        // create the window
        popup = open(file, "", attribs);

    }
    else {
        // destory the current window
        DestroyWnd();
        // recurse, just once, to display the new window
        CreateWnd(file, width, height, resize);
    }
}

/*/
/ / PURPOSE:
/ /		To destroy the pop-up window.
/ /
/ / COMMENTS:
/ /		This is available if wish to destroy
/ / 	the pop-up window manually.
/*/

function DestroyWnd() {
    // close the current window
    if (popup != null) {
        popup.close();
        popup = null;
    }
}





var doAlerts = true;
function changeSheets(whichSheet) {
    whichSheet = whichSheet - 1;
    if (document.styleSheets) {
        var c = document.styleSheets.length;
        if (doAlerts) alert('Change to Style ' + (whichSheet + 1));
        for (var i = 0; i < c; i++) {
            if (i != whichSheet) {
                document.styleSheets[i].disabled = true;
            } else {
                document.styleSheets[i].disabled = false;
            }
        }
    }
}



function getCSSDatei() {
    return "'" + 'XPstyles.css' + "'";
}


function clpSet() {
    sel = document.selection.createRange();
    window.clipboardData.setData("Text", sel.text);
}


function clpGet() {
    a = window.clipboardData.getData('Text');
    showAlert(a);
}

function SendPosToClipboard() {
    var currentWert;
    if (msie) {
        currentWert = window.parent.document.getElementById("txtPopupCoordRecalc").value; //
        window.clipboardData.setData("Text", currentWert);
        var a = window.clipboardData.getData('Text');
        showAlert("Folgender Text befindet sich in der Ablage: " + a);
    }
    else {
        currentWert = window.parent.document.getElementById("txtPopupCoordRecalc").value;
        //var f =prompt("Die Funktion Kopieren in die Ablage steht z.Z. nur für Internet Explorer zur Verfügung.",currentWert);
        radprompt('Die Funktion Kopieren in die Ablage steht z.Z. nur für Internet Explorer zur Verfügung.', "", 330, 100, null, 'Hinweis..', currentWert);
        //return false;

    }
}


function showQuickInfo() {
    var EncodedString;

    var PopupXpos = document.getElementById("txtPopupXpos").value;
    var PopupYpos = document.getElementById("txtPopupYpos").value;
    EncodedString = encodeURI("showquickinfo$" + PopupXpos + ";" + PopupYpos);
    CallBack2.Callback(EncodedString);

}

function centerMapToMousePos(scale) {
    var PopupXpos = document.getElementById("txtPopupXpos").value;
    var PopupYpos = document.getElementById("txtPopupYpos").value;

    var fenster = GP_frames_finden(top, "MyMap");
    fenster.Callback_UpdateMap("centertosnap", PopupXpos + ";" + PopupYpos + ";" + scale);

}




function waitfenster_open(meldung) {

    var fenster = GP_frames_finden(top, "MyMap");
    //     var LabelWait = fenster.parent.document.getElementById("LabelWait");
    //     if (LabelWait != null)
    //      LabelWait.value = meldung;
    fenster.parent.showLoadingPanel();


    fenster.parent.document.getElementById("IsReadyForFunctions").value = "false";




}


function HideDialog() {
    var fenster = GP_frames_finden(top, "MyMap");
    fenster.parent.CloseInfoDialog();

}


function DialogExit() {
    var fenster = GP_frames_finden(top, "MyMap");
    fenster.parent.CloseInfoDialog();

}

function StopRedlining() {
    var fenster = GP_frames_finden(top, "MyMap");
    fenster.document.getElementById("GoOn").value = "3";

    fenster.Callback_UpdateMap('stopredlining', '');
}

function ResetMeasuring() {
    var fenster = GP_frames_finden(top, "MyMap");
    fenster.document.getElementById("GoOn").value = "3";

    fenster.Callback_UpdateMap('deletemeasure', '');


}

function CopyMeasuring() {
    var fenster = GP_frames_finden(top, "MyMap");
    fenster.document.getElementById("GoOn").value = "3";

    fenster.Callback_UpdateMap('copymeasuretoredline', '');


}

function MoveMapToDirection(direction, recalc_x, recalc_y) {
    var fenster = GP_frames_finden(top, "MyMap");
    fenster.Callback_UpdateMap('movemaptodirection', direction + ";" + recalc_x + ";" + recalc_y);
}


function undoLastEdit(cfunction, recalc_x, recalc_y) {
    var fenster = GP_frames_finden(top, "MyMap");
    fenster.Callback_UpdateMap('undolastedit', cfunction + ";" + recalc_x + ";" + recalc_y);

}

function popup_close() {
    var fenster = GP_frames_finden(top, "MyMap");
    fenster.parent.closePopUpMessageDock();

}


function GP_frames_finden(f, n) {
    for (var i = 0; i < f.frames.length; i++) {
        if (f.frames[i].frames.length > 0) {
            if (f.frames[i].name == n)
                return f.frames[i];
            var f1 = GP_frames_finden(f.frames[i], n);
            if (f1 != null) {
                return f1;

            }
        } else if (f.frames[i].name == n)
            return f[i];
    }
    return null;
}

function myContextMenu(evt) {
    e = evt || window.event;
    var x;
    var y;
    if (!e) return null;

    if (document.layers) {
        x = e.pageX;
        y = e.pageY;
    } else if (window.opera) {
        x = e.clientX;
        y = e.clienty;
    } else if (document.all) {
        x = e.x + document.body.scrollLeft;
        y = e.y + document.body.scrollTop;
    } else if (document.getElementById) {
        x = e.pageX;
        y = e.pageY;
    }
    inboxMenu.ShowContextMenu(x, y);
}







function showInfoHits() {
    var fenster = GP_frames_finden(top, "myfunctions");
    fenster.location.href = 'dummy.aspx?funktion=anzahlhits';

}

function popup_loadview_to(viewname) {
    var fenster = GP_frames_finden(top, "MyMap");
    fenster.Callback_UpdateMap("showview", viewname);


}

function showNOLS() {

    var f = "gisOptionen.aspx";
    var titel = "Bibliotheken laden:";

    var fenster = GP_frames_finden(top, "MyMap");
    fenster.parent.showPopUpFrame(f, titel, 400, 300, false);

}

function getFileNameWithoutExtension(urlFilename) {
    var myName = "Medium";
    var aURLItems = urlFilename.split('/');
    if (aURLItems.length > 0) {
        myName = aURLItems[aURLItems.length - 1];
        var aFileItems = myName.split('.');
        if (aFileItems.length > 0) {
            myName = aFileItems[0];
        }
    }

    return myName;
}
function OpenPicturesOrFrames(myImages, doFrames) {
    var titel = "Medien:";
    var fenster = GP_frames_finden(top, "MyMap");
    var myDIV = fenster.parent.document.getElementById("hyperDummies");
    myDIV.innerHTML = "";
    var startA;
    var aImages = myImages.split(';');


    // if the myLytebox object exists, start it up!
    if (typeof fenster.parent.myLytebox != 'undefined') {

        if (doFrames) {
            // Es werden Frames geladen!!!!
            for (var i = 0; i < aImages.length; i++) {
                var a = fenster.parent.document.createElement("a");
                a.href = aImages[i];
                a.rel = "lyteframe[photos]";
                a.title = getFileNameWithoutExtension(aImages[i]);
                myDIV.appendChild(a);
                if (i == 0) {
                    startA = a;
                }
            }
            fenster.parent.myLytebox.autoEnd = false;
            fenster.parent.myLytebox.isSlideshow = false;
            fenster.parent.myLytebox.start(startA, false, true);
        }
        else {

            // Es werden Images geladen!!!!
            if (aImages.length > 1) {
                for (var i = 0; i < aImages.length; i++) {
                    var a = fenster.parent.document.createElement("a");
                    a.href = aImages[i];
                    a.rel = "lyteshow[photos]";
                    a.title = getFileNameWithoutExtension(aImages[i]);
                    myDIV.appendChild(a);
                    if (i == 0) {
                        startA = a;
                    }
                }
                fenster.parent.myLytebox.autoEnd = false;
                fenster.parent.myLytebox.isSlideshow = true;
                fenster.parent.myLytebox.start(startA, true, false);
            }

            else {
                var a = fenster.parent.document.createElement("a");
                a.href = myImages;
                a.rel = "lytebox";
                a.title = getFileNameWithoutExtension(myImages);
                fenster.parent.myLytebox.autoEnd = false;
                fenster.parent.myLytebox.start(a, false, false);

            }
        }


    }






}



function OpenSachdaten() {
    var f = "TableWin.aspx";
    var titel = "Sachdaten:";

    var fenster = GP_frames_finden(top, "MyMap");
    fenster.parent.showPopUpFrame(f, titel, null, null, false);

}

function OpenViewInVE() {
    var f = "frmGISServices.aspx?service=VE&function=centerto";
    var titel = "VirtualEarth:";

    var fenster = GP_frames_finden(top, "MyMap");
    fenster.parent.showPopUpFrame(f, titel, null, null, false);

}



function OpenRedlineOptions() {
    var f = "redldialog.aspx";
    var titel = "Optionen:";
    var fenster = GP_frames_finden(top, "MyMap");
    fenster.parent.showPopUpFrame(f, titel, 460, 420, false);

}
function OpenMeasureOptions() {
    var f = "measureOptions.aspx";
    var titel = "Optionen:";

    var fenster = GP_frames_finden(top, "MyMap");
    fenster.parent.showPopUpFrame(f, titel, 450, 250, false);
}
function showBufferQuery() {

    var f = "frmFindNext.aspx";
    var titel = "Im Umkreis suchen..:";
    var fenster = GP_frames_finden(top, "MyMap");
    fenster.parent.showPopUpFrame(f, titel, 300, 360, false);

}


function ShowBufferDialog(dasSuchAttribut, derSuchbegriff, overlaynr) {

    var f = "frmFindNext.aspx?suchattribut=" + dasSuchAttribut + "&suchbegriff=" + derSuchbegriff + "&overlaypos=" + overlaynr;
    var titel = "Im Umkreis suchen..:";

    var fenster = GP_frames_finden(top, "MyMap");
    fenster.parent.showPopUpFrame(f, titel, 300, 250, false);

}




function zoomcoord() {

    var f = "frmCoord.aspx";
    var titel = "Koordinateneingabe:";


    var fenster = GP_frames_finden(top, "MyMap");
    fenster.parent.showPopUpFrame(f, titel, 300, 340, false);

}

function showQuery() {

    var f = "frmQuery.aspx?isdialog=true";
    var titel = "Abfrage erstellen:";


    var fenster = GP_frames_finden(top, "MyMap");
    fenster.parent.showPopUpFrame(f, titel, 300, 400, false);

}
function CallBackPopup(sender) {
    var fenster = GP_frames_finden(top, "MyMap");
    fenster.SendCallBack(sender);
}


function SendCallBackPopup() {

    // wird bei ClientSideOnCallbackComplete vom AJAX-Control aufgerufen!!!

    var fenster = GP_frames_finden(top, "MyMap");
    var dasPopup = fenster.document.getElementById("HiddenPopup").value;
    var titel = fenster.document.getElementById("HiddenPopupTitle").value;
    var message = fenster.document.getElementById("HiddenPopupMessage").value;

    var HiddenFileDownload = fenster.document.getElementById("HiddenFileDownload").value;

    if (HiddenFileDownload != "") {
        fenster.document.getElementById("HiddenFileDownload").value = "";
        fenster = GP_frames_finden(top, "myfunctions");
        fenster.location.href = 'dummy.aspx?funktion=uploadfile&file=' + HiddenFileDownload;
        return true;
    }

    if (dasPopup == "messen") {
        fenster.parent.showPopUpMessageDock(message, titel, -1);
    }



}


function writeCookie(cookiename, cookiewert) {
    var a = new Date();
    a = new Date(a.getTime() + 1000 * 60 * 60 * 24 * 365);
    document.cookie = cookiename + '=' + cookiewert + '; expires=' + a.toGMTString() + ';';

}

function getCookie(name) {
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1) {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    }
    else {
        begin += 2;
    }
    var end = document.cookie.indexOf(";", begin);
    if (end == -1) {
        end = dc.length;
    }
    return unescape(dc.substring(begin + prefix.length, end));
}

function deleteCookie(name, path, domain) {
    if (getCookie(name)) {
        document.cookie = name + "=" +
            ((path) ? "; path=" + path : "") +
            ((domain) ? "; domain=" + domain : "") +
            "; expires=Thu, 01-Jan-70 00:00:01 GMT";
    }
}

function findObjectByID(overlaynr, feld, wert) {
    var fenster = GP_frames_finden(top, "MyMap");
    fenster.Callback_UpdateMap("findobjectbyid", overlaynr + ";" + feld + ";" + wert);


}

function findExternObjectByID(overlaynr, feld, wert) {
    var fenster = GP_frames_finden(top, "MyMap");
    fenster.Callback_UpdateMap("findexternobjectbyid", overlaynr + ";" + feld + ";" + wert);


}



function showPosByCoordinates(x_wert, y_wert) {
    var fenster = GP_frames_finden(top, "MyMap");
    var dieAdresse = fenster.location.href;
    var para = dieAdresse.indexOf("?");

    x_wert = x_wert.replace(".", ",");
    y_wert = y_wert.replace(".", ",");

    fenster.Callback_UpdateMap("showposbycoordinates", x_wert + ";" + y_wert, "Zoome...");
    var EncodedString = encodeURI("showposbyoverview$" + x_wert + ";" + y_wert);
    fenster.CallBack2.Callback(EncodedString);

}

function showPosInOverviewmodus(x_wert, y_wert) {
    var fenster = GP_frames_finden(top, "MyMap");
    var dieAdresse = fenster.location.href;
    var para = dieAdresse.indexOf("?");

    var EncodedString;
    if (fenster.document.getElementById("HiddenIsZoomedAll").value != "true") {


        fenster.Callback_UpdateMap("zoomallandshowpos", x_wert + ";" + y_wert);

        EncodedString = encodeURI("showposbyoverview$" + x_wert + ";" + y_wert);
        fenster.CallBack2.Callback(EncodedString);

    }
    else {

        EncodedString = encodeURI("showposbyoverview$" + x_wert + ";" + y_wert);
        fenster.CallBack2.Callback(EncodedString);

    }
}

function ZoomElement(pos, ElementID) {
    var fenster = GP_frames_finden(top, "MyMap");
    var EncodedString;
    EncodedString = encodeURI("zoomelement$" + pos + ";" + ElementID);
    fenster.CallBackMap.Callback(EncodedString);


}


var tempBufferElementPos;
var tempBufferElementID;
function promptCallBufferElement(arg) {

    if ((arg != '') && (arg != ' ') && (arg != null)) {

        var fenster = GP_frames_finden(top, "MyMap");
        var EncodedString;
        fenster.waitfenster_open("Puffer wird erstellt");
        EncodedString = encodeURI("pufferelement$" + tempBufferElementPos + ";" + tempBufferElementID + ";" + arg);
        fenster.CallBackMap.Callback(EncodedString);


    }
}
function PufferElement(pos, ElementID) {
    tempBufferElementPos = pos;
    tempBufferElementID = ElementID;
    radprompt('Geben Sie bitte eine Entfernung in Metern an.', promptCallBufferElement, 330, 100, null, 'Puffer erstellen..', '500');
    //return false;

}
function PufferLoeschen() {
    var fenster = GP_frames_finden(top, "MyMap");
    var EncodedString;
    fenster.waitfenster_open("Puffer wird geloescht");
    EncodedString = encodeURI("pufferloeschen$");
    fenster.CallBackMap.Callback(EncodedString);

}


function MarkPosition(x_wert, y_wert) {
    var fenster = GP_frames_finden(top, "MyMap");
    var EncodedString;
    EncodedString = encodeURI("showposbyoverview$" + x_wert + ";" + y_wert);
    fenster.CallBack2.Callback(EncodedString);

}


function SetOverview() {
    var fenster = GP_frames_finden(top, "MyMap");
    fenster.parent.Snap1.ToggleMinimize();
    fenster.parent.CallBack1.Callback("overview$");

}


function ShowTooltips() {
    var fenster = GP_frames_finden(top, "MyMap");
    var zustand;
    var newzustand;

    zustand = fenster.document.getElementById("OptionShowTooltip").value;
    if (zustand == "true") {
        fenster.document.getElementById("OptionShowTooltip").value = "false";
        newzustand = "false";
    }
    else {
        fenster.document.getElementById("OptionShowTooltip").value = "true";
        newzustand = "true";
    }

    fenster.parent.CallBack1.Callback("showtooltips$" + newzustand);

}



function ShowPrintingInfo() {
    var fenster = GP_frames_finden(top, "MyMap");
    fenster.CallBackMap.Callback("showprintinginfo$");

}



function ZoomDirectSelect() {
    CallBack1.Callback("ZoomDirectSelect$");
}

function setAdvancedRendering() {
   
    var fenster = GP_frames_finden(top, "MyMap");
    var EncodedString = encodeURI("setadvancedrendering$");
    fenster.CallBackMap.Callback(EncodedString); 
    
    
}

function ShowStatusbar(wert) {
    var fenster = GP_frames_finden(top, "MyMap");
    var zustand;
    var newzustand;

    if (wert == "") {
        zustand = fenster.document.getElementById("DivStatusbar").style.visibility;
        if (zustand == "hidden") {
            fenster.document.getElementById("DivStatusbar").style.visibility = "visible";
            newzustand = "visible";
        }
        else {
            fenster.document.getElementById("DivStatusbar").style.visibility = "hidden";
            newzustand = "hidden";
        }
        CallBack1.Callback("statusbar$" + newzustand);
    }
    else {
        fenster.document.getElementById("DivStatusbar").style.visibility = wert;
    }
}


function setOverlaySelectable(pos) {
    CallBackDummy.Callback("setoverlayselectable$" + pos);
}


function refreshLegendeFromMap() {
    parent.window.CheckForLegendUpdate();
}

function CheckForSelectInfoUpdate() {
    parent.window.CheckForSelectInfoUpdate();
}

function getSymbolStickerHeight() {

    var sticker = document.getElementById("Image1");
    myImage = new Image();
    myImage.src = sticker.src;
    return myImage.height;
}



function ShowPosStickerInMap() {

    var xsticker = document.getElementById("HiddenStickerLeft").value;
    var ysticker = document.getElementById("HiddenStickerTop").value;
    var sticker = document.getElementById("DivPosIcon");

    ysticker = ysticker - getSymbolStickerHeight();

    if (xsticker != "") {
        sticker.style.visibility = "visible";
        sticker.style.left = xsticker + "px";
        sticker.style.top = ysticker + "px";
    }

}



function showOverlays(objoverlay, overlays) {


    var fenster = GP_frames_finden(top, "MyMap");
    fenster.Callback_UpdateMap("makeoverlaysvisible", objoverlay + ";" + overlays);



}



function CheckForLegendUpdate() {

    try {
        var zk;
        var io;
        var fenster;
        var framename;
        for (var i = 0; i < 15; i++) {
            framename = "ShortNavbarIframe" + i;
            fenster = window.frames[framename];
            if (fenster == null) {
                fenster = GP_frames_finden(top, framename);
            }
            if (fenster != null) {
                zk = fenster.location.href;

                io = zk.indexOf('legende.aspx');
                if (io > -1) {
                    // fenster.location.href = 'legende.aspx';
                    fenster.ReloadLegend();
                    return true;
                }
            }
        }
    }
    catch (e) { }
}


function CheckForSelectInfoUpdate() {
    try {
        var zk;
        var io;
        var fenster;
        var framename;
        for (var i = 0; i < 15; i++) {
            framename = "ShortNavbarIframe" + i;
            fenster = window.frames[framename];
            if (fenster == null) {
                fenster = GP_frames_finden(top, framename);
            }
            if (fenster != null) {
                zk = fenster.location.href;

                io = zk.indexOf('selectinfo.aspx');
                if (io > -1) {

                    fenster.ReloadInfo();
                    return true;
                }
            }
        }

    }
    catch (e) { }
}




function resize_map() {
    // setTimeout("doResizeMap()", 800);
    doResizeMap();
}

function resize_map_now() {
    OldXSize = -1;
    doResizeMap();
}

function doResizeMap() {
    var win = getWindowSize();
    var x = win.width;
    var y = win.height;

    var fenster = GP_frames_finden(top, "MyMap");



    if ((OldXSize != x) || (OldYSize != y)) {
        resizeSplitter();
        fenster.Callback_UpdateMap("resize", x + ";" + y, "Karte wird neu positioniert");
    }



    OldXSize = x;
    OldYSize = y;
}


function resizeSplitter() {
    var win = getWindowSize();

    var y = win.height;
    var radSplitterHeightDiff = 32;

    var fenster = GP_frames_finden(top, "MyMap");

    fenster.parent.moveDock();
    fenster.parent.resizeRadsplitterHeight(y - radSplitterHeightDiff);
    fenster.parent.resizeNavabarIframes();



}


function setOnStartWindowSize() {

    var win = getWindowSize();
    var x = win.width;
    var y = win.height;
    OldXSize = x;
    OldYSize = y;
}



function SaveSizes() {
    var x = parseInt(screen.availWidth);
    var y = parseInt(screen.availHeight);


    if (parent.window.innerWidth) {
        x = parseInt(parent.window.innerWidth);
        y = parseInt(parent.window.innerHeight);
    }
    else {
        x = parseInt(parent.document.body.clientWidth);
        y = parseInt(parent.document.body.clientHeight);
    }
    OldXSize = x;
    OldYSize = y;
}





function getParentFrame() {
    var io;
    var frameVater;
    var theheight;

    for (var i = 0; i < parent.frames.length; i++) {
        frameVater = parent.frames[i].location.href;

        io = frameVater.indexOf(this.location.href);
        if (io > -1) {
            var iframeWindow = parent.frames[i];
            var result = { height: 0, width: 0 };
            var hoehe = parent.document.getElementById(iframeWindow.name).style.height;
            var para = hoehe.indexOf("px");
            result.height = hoehe.substring(0, para);
            var breite = parent.document.getElementById(iframeWindow.name).style.width;
            para = breite.indexOf("px");
            result.width = breite.substring(0, para);

            return result;



        }
    }
    return null;
}



function MesseRoute() {



    document.getElementById("CurFuncRoute").value = "YES";



}


function IsNumeric(sText) {
    var ValidChars = "0123456789.";
    var IsNumber = true;
    var Char;


    for (i = 0; i < sText.length && IsNumber == true; i++) {
        Char = sText.charAt(i);
        if (ValidChars.indexOf(Char) == -1) {
            IsNumber = false;
        }
    }
    return IsNumber;

}



function setClickFunction(derModus) {
    var fenster = GP_frames_finden(top, "MyMap");
    fenster.document.getElementById("SpecialMapClick").value = derModus;

}




function AdresseSuchenUndBuffern(gemeinde, strassenname, hausnummer, dasSuchAttribut, derSuchbegriff, overlaynr, radius) {
    //waitfenster_open("Suche: " + derSuchbegriff);
    var fenster = GP_frames_finden(top, "MyMap");
    fenster.Callback_UpdateMap("adressbuffer", gemeinde + ";" + strassenname + ";" + hausnummer + ";" + dasSuchAttribut + ";" + derSuchbegriff + ";" + overlaynr + ";" + radius, "Suche: " + derSuchbegriff)
}


function findeAdresseByExternPlusTheme(gemeinde, strassenname, hausnummer, suchkategorie) {
    // wird vom Stadtplan aufgerufen,
    // wenn eine bestimmte Suchkategorie angezigtr werden soll
    dieSearchAdresse = "Suche: " + strassenname + ", " + hausnummer;
    waitfenster_open(dieSearchAdresse);
    var fenster = GP_frames_finden(top, "MyMap");
    fenster.Callback_UpdateMap("searchBezirkeByAdress", gemeinde + ";" + strassenname + ";" + hausnummer + ";" + suchkategorie);
}


function showPosOfAdresseByExtern(gemeinde, strassenname, hausnummer) {
    dieSearchAdresse = "Suche: " + strassenname + ", " + hausnummer;
    waitfenster_open(dieSearchAdresse);
    var fenster = GP_frames_finden(top, "MyMap");
    fenster.Callback_UpdateMap("showposgebauede", gemeinde + ";" + strassenname + ";" + hausnummer);


}

function findeAdresseByExtern(gemeinde, strassenname, hausnummer) {
    dieSearchAdresse = "Suche: " + strassenname + ", " + hausnummer;
    waitfenster_open(dieSearchAdresse);
    var fenster = GP_frames_finden(top, "MyMap");
    fenster.Callback_UpdateMap("find_gebauede", gemeinde + ";" + strassenname + ";" + hausnummer);


}
function ShowBPL(objektID, rasterpath) {
    dieSearchAdresse = "Suche Plan";
    waitfenster_open(dieSearchAdresse);
    var fenster = GP_frames_finden(top, "MyMap");
    fenster.Callback_UpdateMap("ShowBPL", objektID + ";" + rasterpath);

}
function findeAdresseAndShowBPL(gemeinde, strassenname, hausnummer) {
    dieSearchAdresse = "Suche: " + strassenname + ", " + hausnummer;

    waitfenster_open(dieSearchAdresse);
    var fenster = GP_frames_finden(top, "MyMap");
    fenster.Callback_UpdateMap("findeadresseandshowBPL", gemeinde + ";" + strassenname + ";" + hausnummer);


}

function setdefaultoverlays(objoverlay, overlays) {
    var fenster = GP_frames_finden(top, "MyMap");
    fenster.showOverlays(objoverlay, overlays);
}



function CopyToClip() {
    var div = document.getElementById('MyMap');
    div.contentEditable = 'true';
    var controlRange;
    if (document.body.createControlRange) {

        controlRange = document.body.createControlRange();
        controlRange.addElement(div);
        controlRange.execCommand('Copy');
    }
    else {
        showAlert("Ihr Browser unterstuetzt diese Funktion nicht. Bitte wählen Sie die Funktion Karte ine neuem Fenster öffnen");
    }
    div.contentEditable = 'false';
}







function callbackPrintWizard() {
    CallBackPrint.Callback("print$");
}





function ClosePrintWizard() {
    var fenster = GP_frames_finden(top, "MyMap");
    fenster.parent.closePopUpPrintFrame();


}


function ShowPrintWizard() {

    var fenster = GP_frames_finden(top, "MyMap");
    fenster.parent.showPopUpPrintFrame();

}







function CallBackonCallbackError(sender, eventArgs) {

    var fenster = GP_frames_finden(top, "MyMap");
    var ie = document.all;
    fenster.parent.hideLoadingPanel();




    fenster.parent.DialogError.Show();

    if ((sender == "undefined") || (sender == null)) {
        sender = "";
    }

    fenster.parent.document.getElementById("IFrameError").src = "callbackError.aspx?descr=" + sender;


}
