var viewareas = 1;
var currentarea = 0;
var areas = new Array();
var draggable_showing = 0;
var draggable_dragging = 0;

function showareas() {
  if( draggable_showing || draggable_dragging ) {
    return;
  }
  if( viewareas == 0 ) {
    viewareas = 1;
    currentarea = 0;
    for( i = 0; i < areas.length; i++ ) {
      document.getElementById('area_'+areas[i]).style.visibility = "visible";
    }
  }
}

function hideareas() {
  if( viewareas == 1 ) {
    viewareas = 0;
    if( currentarea != 0 ) {
      hidetext( currentarea );
    }
    currentarea = 0;
    for( i = 0; i < areas.length; i++ ) {
      document.getElementById('area_'+areas[i]).style.visibility = "hidden";
    }
  }
}

function showtext( id ) {
  currentarea = id;
  document.getElementById('area_'+id).style.border = "solid #ffff00 1px";
  document.getElementById('areatext_'+id).style.visibility = "visible";
}

function hidetext( id ) {
  currentarea = 0;
  document.getElementById('area_'+id).style.border = "solid #000000 1px";
  document.getElementById('areatext_'+id).style.visibility = "hidden";
}

function startarea(event) {
  if( justclosed || draggable_showing ) {
    return;
  }
  if( ! event ) {
    mousex = window.event.x;
    mousey = window.event.y;
  } else {
    mousex = event.layerX;
    mousey = event.layerY;
  }
  if( draggable_dragging == 0 ) {
    hideareas();
    dragstartx = mousex;
    dragstarty = mousey;
    document.getElementById("newareatext").style.visibility = "hidden";
    document.getElementById("newarea").style.left = dragstartx + 'px';
    document.getElementById("newarea").style.top = dragstarty + 'px';
    document.getElementById("newarea").style.width = checkvalue( 0, minxsize, maxxsize ) + 'px';
    document.getElementById("newarea").style.height = checkvalue( 0, minysize, maxysize ) + 'px';
    document.getElementById("newarea").style.visibility = "visible";
    draggable_dragging = 1;
  }
}

function resizearea(event) {
  if( draggable_showing ) {
    return;
  }
  if( ! event ) {
    mousex = window.event.x;
    mousey = window.event.y;
  } else {
    mousex = event.layerX;
    mousey = event.layerY;
  }
  dragstopx = mousex;
  dragstopy = mousey;

  if( draggable_dragging ) {
    document.getElementById("newarea").style.width = checkvalue( dragstopx - dragstartx, minxsize, maxxsize ) + 'px';
    document.getElementById("newarea").style.height = checkvalue( dragstopy - dragstarty, minysize, maxysize ) + 'px';
    document.getElementById("newareainner").style.width = document.getElementById("newarea").style.width;
    document.getElementById("newareainner").style.height = document.getElementById("newarea").style.height;
  }
}

function stoparea(event) {
  if( justclosed ) {
    justclosed = 0;
    return;
  }
  draggable_showing = 1;
  document.getElementById("newareatext").style.left = dragstartx + 'px';
  document.getElementById("newareatext").style.top = dragstarty + 8 + checkvalue( dragstopy - dragstarty, minysize, maxysize ) + 'px';
  document.getElementById("newareatext").style.visibility = "visible";
  document.newtextareaform.xpos.value = dragstartx + 'px';
  document.newtextareaform.ypos.value = dragstarty + 'üx';
  document.newtextareaform.xsize.value = checkvalue( dragstopx - dragstartx, minxsize, maxxsize ) + 'px';
  document.newtextareaform.ysize.value = checkvalue( dragstopy - dragstarty, minysize, maxysize ) + 'px';

  draggable_dragging = 0;
}

function hideareatext() {
  document.getElementById("newareatext").style.visibility = "hidden";
  document.getElementById("newarea").style.visibility = "hidden";
  draggable_dragging = 0;
  justclosed = 1;
  draggable_showing = 0;
  showareas();
}
