var flagMouseDown = false;

var objectSeating = null;
var objectBackmap = null;
var objectal = null;
var objectau = null;
var objectcl = null;
var objectcu = null;
var objectcb = null;
var objectr1 = null;
var objectr2 = null;
var objectcsl = null;
var objectcsu = null;
var objectControl = null;
var objectCloseUp = null;
var objectFraming = null;
var objectInstructions = null;

var controlTop = 0;
var controlLeft = 0;

var closeUpTop = 0;
var closeUpLeft = 390;
var closeUpClipTop = 0;
var closeUpClipRight = 240;
var closeUpClipBottom = 240;
var closeUpClipLeft = 0;

function init() {
  flagMouseDown = false;

  objectSeating = document.getElementById('seating');
  objectBackmap = document.getElementById('backmap');
  objectal = document.getElementById('al');
  objectau = document.getElementById('au');
  objectcl = document.getElementById('cl');
  objectcu = document.getElementById('cu');
  objectcb = document.getElementById('cb');
  objectr1 = document.getElementById('r1');
  objectr2 = document.getElementById('r2');
  objectcsl = document.getElementById('csl');
  objectcsu = document.getElementById('csu');
  objectControl = document.getElementById('mapping');
  objectCloseUp = document.getElementById('closeup');
  objectFraming = document.getElementById('framing');
  objectInstructions = document.getElementById('instructions');
  /*
  setvisibility('al', 'hidden');
  setvisibility('au', 'hidden');
  setvisibility('cl', 'hidden');
  setvisibility('cu', 'hidden');
  setvisibility('cb', 'hidden');
  setvisibility('r1', 'hidden');
  setvisibility('r2', 'hidden');
  setvisibility('csl', 'hidden');
  setvisibility('csu', 'hidden');
  */
  objectSeating.style.zIndex = 0;
  objectBackmap.style.zIndex = 0;
  objectal.style.zIndex = 10;
  objectau.style.zIndex = 10;
  objectcl.style.zIndex = 10;
  objectcu.style.zIndex = 10;
  objectcb.style.zIndex = 10;
  objectr1.style.zIndex = 10;
  objectr2.style.zIndex = 10;
  objectcsl.style.zIndex = 10;
  objectcsu.style.zIndex = 10;
  objectControl.style.zIndex = 50;
  objectCloseUp.style.zIndex = 4;
  objectFraming.style.zIndex = 3;
  objectInstructions.style.zIndex = 0;
  objectControl.onmousedown = pickIt;
  objectControl.onmousemove = moveIt;
  document.onmouseup = dropIt;
  //  objectControl.onmouseout = dropIt;
}
function setvisibility(objectId, state) {
  var object = document.getElementById(objectId);
  object.style.visibility = state;
}
function setZIndex(objectId, i) {
  var object = document.getElementById(objectId);
  object.style.zIndex = i;
}
function pickIt(evt) {
  evt = (evt) ? evt : ((window.event) ? window.event : null);
  flagMouseDown = true;
  if (flagMouseDown) {
    controlTop = evt.clientY - 60 - objectSeating.offsetTop + document.body.scrollTop;
    controlLeft = evt.clientX - 60 - objectSeating.offsetLeft + document.body.scrollLeft;
    closeUpClipTop = controlTop * 2;
    closeUpClipLeft = controlLeft * 2;
    closeUpClipRight = closeUpClipLeft + 240;
    closeUpClipBottom = closeUpClipTop + 240;
    closeUpTop = - closeUpClipTop;
    closeUpLeft = 390 - closeUpClipLeft;
    objectCloseUp.style.top = closeUpTop + 'px';
    objectCloseUp.style.left = closeUpLeft + 'px';
    objectCloseUp.style.clip = 'rect(' + closeUpClipTop + 'px ' + closeUpClipRight + 'px ' + closeUpClipBottom + 'px ' + closeUpClipLeft + 'px)';
  }
  evt.cancelBubble = true;
  return false;
}
function moveIt(evt) {
  var evt = (evt) ? evt : ((window.event) ? window.event : null);
  if (flagMouseDown) {
    controlTop = evt.clientY - 60 - objectSeating.offsetTop + document.body.scrollTop;
    controlLeft = evt.clientX - 60 - objectSeating.offsetLeft + document.body.scrollLeft;
    if (controlTop < -60 || controlTop > 559 || controlLeft < -60 || controlLeft > 449) {
      flagMouseDown = false;
      evt.cancelBubble = true;
      return false;
    }
    closeUpClipTop = controlTop * 2;
    closeUpClipLeft = controlLeft * 2;
    closeUpClipRight = closeUpClipLeft + 240;
    closeUpClipBottom = closeUpClipTop + 240;
    closeUpTop = - closeUpClipTop;
    closeUpLeft = 390 - closeUpClipLeft;
    objectCloseUp.style.top = closeUpTop + 'px';
    objectCloseUp.style.left = closeUpLeft + 'px';
    objectCloseUp.style.clip = 'rect(' + closeUpClipTop + 'px ' + closeUpClipRight + 'px ' + closeUpClipBottom + 'px ' + closeUpClipLeft + 'px)';
    return false;
  }
  evt.cancelBubble = true;
  return false;
}
function dropIt(evt) {
  var evt = (evt) ? evt : ((window.event) ? window.event : null);
  if (flagMouseDown) {
    flagMouseDown = false;
    evt.cancelBubble = true;
    return false;
  }
  return;
}
