$(function(){
  
  var mousePos  = {x:0, y:0};
  var mapPos    = {x:0, y:0};
  
  var main = {

    findMousePos: function(e){
      if (!e) var e = window.event;
      // http://www.quirksmode.org/dom/w3c_cssom.html#mousepos
    	if (e.pageX || e.pageY) {
    		mousePos.x = e.pageX;
    		mousePos.y = e.pageY;
    	}
    	else if (e.clientX || e.clientY){
    		mousePos.x = e.clientX + document.body.scrollLeft
    			         + document.documentElement.scrollLeft;
    		mousePos.y = e.clientY + document.body.scrollTop
    			         + document.documentElement.scrollTop;
    	}
    	//return true;
    },

    addEvent: function(obj, type, fn){ 
      	if (obj.addEventListener)
      		obj.addEventListener(type, fn, false);
      	else if (obj.attachEvent)	{
      		obj["e"+type+fn] = fn;
      		obj[type+fn] = function() { obj["e"+type+fn](window.event) };
      		obj.attachEvent("on"+type, obj[type+fn]);
      	}
    },
    
    update: function(){
      mapPos.x = $('#map').position().left;
      var diff = (mousePos.x - mapPos.x)/4;
      $('#map').css({position:"relative",left:diff});
    }
  };
  
  main.addEvent(document, "mousemove", main.findMousePos);
  main.addEvent(document, "mousemove", main.update);
  
});