var TouchX,TouchY;
var oldTCenterX,oldTCenterY;
var TouchApproved=false;
var Twait=0;
var movedTouch=0;
var tapEvent=null;

//=============================================================================
function stopTouch()
 {
  document.removeEventListener('touchmove',move,false);
  document.removeEventListener('touchend',drop,false);
  return false;
 }
//=============================================================================
function initTouch(e,over,move,drop)
 {
 	if (!e)
 	 {
 	  e = window.event;
 	  targ = e.srcElement;
 	 } else
 	 {
 	  targ = e.target;
 	 }
//	 alert(targ.id);
	 if (targ.nodeType == 3) targ = targ.parentNode;
  if (over)
  if (targ.id!=over.id) return true;

  TouchX=e.touches[0].clientX;
  TouchY=e.touches[0].clientY;

  movedTouch=0;
  document.addEventListener('touchmove',move,false);
  document.addEventListener('touchend',drop,false);

  return false;
 }
//=============================================================================
//=============================================================================
//=============================================================================
//=============================================================================
//=============================================================================
//=============================================================================

function moveTMap(e)
 {
  movedTouch=1;
  if (Twait || !TouchApproved) return false;
  Twait = 1;
 	if (!e) e = window.event;
e.preventDefault();
  setTimeout('Twait = 0;', 1);
  nx= e.touches[0].clientX;
  ny= e.touches[0].clientY;
  setTimeout('centerTo('+(oldTCenterX-nx+TouchX)+','+(oldTCenterY-ny+TouchY)+');',1);
  return false;

 }
//=============================================================================
function dropTMap(e)
 {
  if (!movedTouch) return magnify(tapEvent);
  TouchApproved=false;
  xBasis=0;
  centerTo(centerX,centerY);
  return stopTouch();
 }
//=============================================================================
function touchMap(e)
 {
  tapEvent=e;
  oldTCenterX=centerX;
  oldTCenterY=centerY;
  TouchApproved=true;
  return initTouch(e,over,moveTMap,dropTMap);
 }
//=============================================================================
//=============================================================================
//=============================================================================
//=============================================================================
//=============================================================================
//=============================================================================
//=============================================================================
//=============================================================================

