﻿    var actionType = "";
    var contentconstant = false;
    var contentimage = false;

    function setMode(mode) {
        var css = "filter:alpha(opacity=50);-moz-opacity:.49;opacity:.49;-khtml-opacity:0.49;background-color:#ff0000;border:solid 1px #000000;";
        
        if(!contentconstant) contentconstant = document.getElementById("MapArea").innerHTML;
        var content = contentconstant;
        if(!contentimage) contentimage = document.getElementById("MapBitmap").src;
        var image = contentimage;
        
        content = content.replace(/<input[^>]+>/i,"");
        
        document.getElementById("MapArea").style.width = "380px";
        document.getElementById("MapArea").style.height = "380px";
        
        content += "<div id=\"track\" onmousemove=\"mouseTrack(event)\" onmousedown=\"if(actionType=='box') createBox(event); else createHand(event);\" onmouseup=\"loadResult(event);\" style=\"position:absolute;top:0px;left:0px;width:380px;height:380px;z-index:4;overflow:hidden;\">";
        if(mode == "hand") {
            content += "<img src=\"" + image + "\" alt=\"\" id=\"bgimagejul\" style=\"position:absolute;top:0px;left:0px;z-index:1;\">";
            content += "<div style=\"position:absolute;top:0px;left:0px;width:380px;height:380px;z-index:2;background-color:white;filter:alpha(opacity=0);-moz-opacity:.0;opacity:.0;-khtml-opacity: 0.0;\"></div></div>";
        }//if
        if(mode == "box") {
            content += "<div id=\"box\" style=\"" + css + "font-size:1px;position:absolute;top:0px;left:0px;display:none;z-index:3;\"></div>";
            document.getElementById("MapArea").style.backgroundImage = "url('" + image + "')";
            document.getElementById("MapArea").style.backgroundRepeat = "no-repeat";
        }//if
        document.getElementById("MapArea").innerHTML = content;
    }

    function getCoord(e,c) {
        if(e.layerX) {
            if(c=="x") return e.layerX;
            if(c=="y") return e.layerY;                        
        } else {
            if(c=="x") return e.x;
            if(c=="y") return e.y;
        }//else                    
    }//getCoord

    function mouseTrack(e) {
        try {
            if(boxCreate) {
                //document.getElementById("ZoomArea").src = "gfx/navigation/ZoomAreaOn.gif";
                var regexp = new RegExp("MSIE");
                if(regexp.test(navigator.appVersion)) {
                    document.getElementById("box").style.width = getCoord(e,"x") - (boxOffsetLeft + 20) + "px";
                    document.getElementById("box").style.height = getCoord(e,"y") - (boxOffsetTop + 20) + "px"; 
                } else {
                    document.getElementById("box").style.width = getCoord(e,"x") - (boxOffsetLeft + 4) + "px";
                    document.getElementById("box").style.height = getCoord(e,"y") - (boxOffsetTop + 4) + "px";                 
                }
            }
            if(moveHand) {
                //document.getElementById("Pan").src = "gfx/navigation/dragOn.gif";
                var bgX = getCoord(e,"x") - handOffsetLeft;
                var bgY = getCoord(e,"y") - handOffsetTop;
                var newpos = bgX + "px " + bgY + "px";
                document.getElementById("bgimagejul").style.left = bgX + "px";
                document.getElementById("bgimagejul").style.top = bgY + "px";
            }
        } catch(d) {

        }
    }//mouseTrack
    
    var regexp = new RegExp("MSIE");
    if(regexp.test(navigator.appVersion)) {
        var boxOffsetLeft = -20;
        var boxOffsetTop = -20;
    } else {
        var boxOffsetLeft = -4;
        var boxOffsetTop = -4;    
    }
    var boxCreate = false;
    function createBox(e) {
        if(!boxCreate) {
            boxCreate = true;
            document.getElementById("box").style.width = "1px";
            document.getElementById("box").style.height = "1px"; 
            boxOffsetLeft += getCoord(e,"x");
            boxOffsetTop += getCoord(e,"y");
            document.getElementById("box").style.top = boxOffsetTop + "px";
            document.getElementById("box").style.left = boxOffsetLeft + "px";
            document.getElementById("box").style.display = "block";
        }//if
    }//createBox

    var handOffsetLeft = 0;
    var handOffsetTop = 0;
    var moveHand = false;
    
    function createHand(e) {
        moveHand = true;
        handOffsetLeft = getCoord(e,"x");
        handOffsetTop = getCoord(e,"y");
    }//moveHand
    
    function loadResult(e) {
        if(boxCreate) {
            boxCreate = false;
            var iX = boxOffsetLeft;
            var iY = boxOffsetTop;
            var eX = parseInt(document.getElementById("box").style.width) + boxOffsetLeft;
            var eY = parseInt(document.getElementById("box").style.height) + boxOffsetTop;
            //alert("(" + iX + "," + iY + ") og (" + eX + "," + eY + ")");
            if ((Math.abs(eX - iX) < 5) && (Math.abs(eY - iY) < 5))
            {
		        SubmitMapEvent('pan', eX, eY, 0, 0); 
		    }
		    else 
		    {
	        	SubmitMapEvent('zoomtobox', boxOffsetLeft, boxOffsetTop, eX, eY); 
            }
            
            //alert("(" + iX + "," + iY + ") og (" + eX + "," + eY + ")");
        }//if
        if(moveHand) {
            moveHand = false;
            var bgXcoord = getCoord(e,"x");
            var bgYcoord = getCoord(e, "y");
            var bgX = bgXcoord - handOffsetLeft;
            var bgY = bgYcoord - handOffsetTop;
            //alert(bgX + " og " + bgY);
            // Pan Movement equals Click on these Pixelcoords
		    if ((Math.abs(parseInt(bgX)) < 5) && (Math.abs(parseInt(bgY)) < 5)) 
			{
			    // the move is too small => Pan as Click on new Map Center
			    SubmitMapEvent('pan', bgXcoord, bgYcoord, 0, 0); 
			}
		    else 
			{
			    var clickLeft =  (380/2)- bgX;
			    var clickTop = (380/2) - bgY;
			    // -- > define Pan --> 
    		    SubmitMapEvent('pan', parseInt(clickLeft), parseInt(clickTop), 0, 0); 
            }
            //alert(bgX + " og " + bgY);
        }
    }//loadResult 
    
    function SubmitMapEvent(strEventType, intClickX, intClickY, intBoxClickX, intBoxClickY){
	    with (document.MapToWeb){
	        EventType.value = strEventType;
	        ClickX.value = intClickX;
	        ClickY.value = intClickY;
	        BoxClickX.value = intBoxClickX;
	        BoxClickY.value = intBoxClickY;
	        submit();
	    } 
    }

