function PageQuery(q) {
	if(q.length > 1) this.q = q.substring(1, q.length);
	else this.q = null;
	this.keyValuePairs = new Array();
	if(q) {
		for(var i=0; i < this.q.split("|").length; i++) {
			this.keyValuePairs[i] = this.q.split("|")[i];
		}
	}
	this.getKeyValuePairs = function() { return this.keyValuePairs; }
	this.getValue = function(s) {
		for(var j=0; j < this.keyValuePairs.length; j++) {
			if(this.keyValuePairs[j].split("=")[0] == s)
				return this.keyValuePairs[j].split("=")[1];
		}
		return false;
	}
	this.getParameters = function() {
		var a = new Array(this.getLength());
		for(var j=0; j < this.keyValuePairs.length; j++) {
			a[j] = this.keyValuePairs[j].split("=")[0];
		}
		return a;
	}
	this.getLength = function() { return this.keyValuePairs.length; }	
}

function queryString(key){
	var page = new PageQuery(window.location.search); 
	return unescape(page.getValue(key)); 
}

function Compass(){}

Compass.Panning = false;
Compass.MaxScrollSpeed = 15;

Compass.MouseDown = function(sender)
{  
    if(sender.setCapture)
    {
        sender.setCapture();
    }
    
    Compass.Panning = true;
    Compass.Pan(sender);
}

Compass.MouseMove = function(sender)
{
    if(Compass.Panning)
    {
        Compass.Pan(sender);
    }
}

Compass.MouseUp = function(sender)
{   
    if(sender.releaseCapture)
    {
        sender.releaseCapture();
    }
    
    Compass.Panning = false;
    map.StopContinuousPan();
}

Compass.Pan = function(sender)
{
    var dx = GetMousePositionX(window.event) - sender.offsetLeft - (sender.offsetWidth / 2);
    var dy = GetMousePositionY(window.event) - sender.offsetTop - (sender.offsetHeight / 2);
    
    dx = Math.min(Math.max(dx, -Compass.MaxScrollSpeed), Compass.MaxScrollSpeed);
    dy = Math.min(Math.max(dy, -Compass.MaxScrollSpeed), Compass.MaxScrollSpeed);
    
    map.ContinuousPan(dx, dy);
}

function GetMousePositionX(e)
{
    var posX=0;
    
    if(e.pageX)
    {
        posX = e.pageX;
    }
    else if(e.clientX)
    {
        posX = e.clientX + document.body.scrollLeft;
    }
    
    return posX;
}

function GetMousePositionY(e)
{
    var posY = 0;
    
    if(e.pageY)
    {
        posY = e.pageY;
    }
    else if(e.clientY)
    {
        posY = e.clientY + document.body.scrollTop;
    }
    
    return posY;
}
