var mouse_x, mouse_y;

function update_mouse(ev)
{
	if( ev )
	{
		mouse_x = ev.pageX;
		mouse_y = ev.pageY;		
	}
	else
	{
		mouse_x = event.clientX + document.documentElement.scrollLeft;
		mouse_y = event.clientY + document.documentElement.scrollTop;
	}
}

document.onmousemove = update_mouse;


function LoadXMLFile(url, callback)
{
	var xml = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();

	if( xml == null )
		return false;									
	
	xml.onreadystatechange = function()
	{
		if( xml.readyState==4 )
		{
			var xmlDoc = null;
			
			if( window.ActiveXObject )
			{
				xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
				xmlDoc.async = false;
				xmlDoc.loadXML(xml.responseText);
			}
			else
			{
				var dp = new DOMParser();
				xmlDoc = dp.parseFromString(xml.responseText, "text/xml");
			}
			
			callback(xmlDoc);
		}
	}
	
	xml.open("GET", url, true);
	xml.send(null);
	
	return true;
}


function LoadMap(id, latitude, longitude, message)
{
	if( GBrowserIsCompatible() )
	{
		var c = document.createElement('div');
		c.className = 'mapContainer';

		c.style.left = (mouse_x - 512) + 'px';
		c.style.top = (mouse_y) + 'px';
				
		var div = document.createElement('div');
		div.className = 'map';
		
		var p = document.createElement('p');
		p.innerHTML = '<button onclick="var p = this.parentNode.parentNode; p.parentNode.removeChild(p);">Close</button>' + message + '<br/><a href="http://maps.google.ca/maps?f=d&hl=en&geocode=&saddr=&daddr='+latitude+',+'+longitude+'&doflg=ptk&ie=UTF8&t=h&z=16">Get Directions</a>';
		
		var btn = document.createElement('button');
		btn.innerHTML = 'Close';
		
		c.appendChild(div);
		c.appendChild(p);
		document.getElementById(id).appendChild(c);
		
		var map = new GMap2(div);
		
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());					
		
		var center = new GLatLng(latitude, longitude);
		
		map.setCenter(center, 13);
		
		var marker = new GMarker(center);
		map.addOverlay(marker);		
	}
}



var transparentImage = "images/transparent.gif";

function fixTrans()
{
	if( typeof document.body.style.maxHeight == 'undefined' )
	{
		var imgs = document.getElementsByTagName("img");
		
		for (i = 0; i < imgs.length; i++)
		{
			var img = imgs[i];

			if( img.src.indexOf(transparentImage) == -1 && img.src.indexOf(".png") != -1 )
			{
				var src = img.src;
				img.src = transparentImage;
				img.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='scale')";
			}
		}
	}
}

if (document.all && !window.opera)
{
	attachEvent("onload", fixTrans);
}