﻿            var mapHeight = 185;
            var mapWidth = 168;


            function GetORBox()
            {
                var BottomRightLatLong = {Latitude: 44.91424936874708,Longitude:-122.09655761718751};
                var TopLeftLatLong = {Latitude: 45.84793427349225,Longitude:-123.50830078125};
                return {TopLeftLatLong:TopLeftLatLong,BottomRightLatLong:BottomRightLatLong};
            }

            function GetWABox()
            {
                
                var BottomRightLatLong = {Latitude: 47.17104415159213,Longitude:-121.62963867187501};
                var TopLeftLatLong = {Latitude: 48.00094957553023,Longitude:-122.98645019531251};
                return {TopLeftLatLong:TopLeftLatLong,BottomRightLatLong:BottomRightLatLong};
            }


            function addEventListener(elem, type, handler)
			{
			
			    if (typeof elem.addEventListener != "undefined")
                {
                    //elem.addEventListener(type, handler, false);
                }
                else if (typeof elem.attachEvent != "undefined")
                {
                    elem.attachEvent("on"+type, handler);
                }
				
			}
			
			function doMOver(event)
			{
				target.style.display = "block";
				CancelEvent(event);
			}
			
			function doMOut(event)
			{
				target.style.display = "none";
				CancelEvent(event);
			}

			function doMMove(event)
			{
							
                var clickX = 0;
                var scrollX = 0;
                var clickY = 0;
                var scrollY = 0;

                if (event.pageX)
                {
                    clickX = event.pageX;
                }
                else if (event.clientX)
                {
                    if(document.documentElement.scrollLeft)
                        scrollX = document.documentElement.scrollLeft;
                    else
                    scrollX = document.body.scrollLeft;
                    clickX = event.clientX + scrollX;
                }
                if (event.pageY)
                {
                    clickY = event.pageY;
                }
                else if (event.clientY)
                {
                    if(document.documentElement.scrollTop)
                        scrollY = document.documentElement.scrollTop;
                    else
                    scrollY = document.body.scrollTop;
                    clickY = event.clientY + scrollY;
                }
                if(clickX < 0){clickX = 0}
                if(clickY < 0){clickY = 0}

				target.style.left = (clickX - 12)+"px";
				target.style.top = (clickY - 12)+"px";
				CancelEvent(event);
			}

			
			
			function CancelEvent(e)
			{
				if (!e) var e = window.event;
				e.returnValue = false;
				e.cancelBubble = true;
				if (e.stopPropagation) e.stopPropagation();
				if (e.preventDefault) e.preventDefault();
			}
			
			

           function getImgXY(evt) {
               var img_x;
               var img_y;
               if (document.all) { // MSIE
                   img_x = evt.offsetX;
                   img_y = evt.offsetY;
               } else { // Netscape, etc.
                   img_x = evt.clientX;
                   img_y = evt.clientY;
                  
                   for (var offMark = evt.target; offMark; offMark = offMark.offsetParent) {
                       img_x -= offMark.offsetLeft;
                   }
                   for (var offMark = evt.target; offMark; offMark = offMark.offsetParent) {
                       img_y -= offMark.offsetTop;
                   }
               }
//               var coordinates = 'x: ' + img_x + ', y: ' + img_y;
//               alert(coordinates);
               
               return {x:img_x,y:img_y};
           }
           
           
            
            
            function pixelToLatLong(pixPosition,mapName)
            {
            
            var x =  pixPosition.x;
            var y = pixPosition.y;
            y = y +10;//used to make result litle bit accurate
            
            if(mapName == 'WA')
                var BBox = GetWABox();
            else
                var BBox = GetORBox();
            
            var lng = x/mapWidth * (BBox.BottomRightLatLong.Longitude - BBox.TopLeftLatLong.Longitude)+BBox.TopLeftLatLong.Longitude;
            var lat = y/mapHeight *(BBox.BottomRightLatLong.Latitude - BBox.TopLeftLatLong.Latitude)+BBox.TopLeftLatLong.Latitude;
            
            
            
            //var coordinates = 'x: ' + x + ', y: ' + y;
            //alert(coordinates);
            
            
            return  {Latitude: lat,Longitude:lng};
            
            }
            
            
            function GetLatLong(evnt,mapName)
            {
            var latlng = pixelToLatLong(getImgXY(evnt),mapName);
            
            return latlng;
            
            }
            
            