function getKeyCode(e) {
  var keynum;
  var keychar;
  var numcheck;
  if(window.event) // IE
    return window.event.keyCode;
  else if(e.which) // Netscape/Firefox/Opera
    return e.which
}
function Status(StatusScale,StatusXY,StatusMeasure,StatusArea,Commentar) {
  this.aktScale=0;
  this.StatusScale=StatusScale;
  this.StatusXY=StatusXY;
  this.StatusMeasure=StatusMeasure;
  this.StatusArea=StatusArea;
  this.Commentar=Commentar;
  this.showScale=function(Value){
    this.aktScale=Value;
    if (this.StatusScale) this.StatusScale.value=formatFloat(Value,nk,true);
  }
  this.showMapCoords=function(theWordCoord){
    if (this.StatusScale) this.StatusXY.innerHTML="<table cellpadding=0 cellspacing=2><tr><td>X:</td><td align=right>"+formatFloat(theWordCoord[0],nk,true)+"</td></tr><tr><td>Y:</td><td align=right>"+formatFloat(theWordCoord[1],nk,true)+"</td></tr></table>";
  }
  this.showMeasure=function(sl,gl){
    var slUnit=" m";
    var glUnit=" m"; 
    if (gl>=1000) {
      sl=sl/1000;
      slUnit=" km";    
      gl=gl/1000;
      glUnit=" km";
    }
    if (this.StatusMeasure) this.StatusMeasure.innerHTML="<table cellpadding=0 cellspacing=2><tr><td>Segment:</td><td align=right>"+(sl? formatFloat(sl,nk,true)+slUnit:"")+"</td></tr><tr><td>Gesamt&nbsp;&nbsp;:</td><td align=right>"+(gl? formatFloat(gl,nk,true)+glUnit:"")+"</td></tr></table>";
  }
  this.showArea=function(area){
    var aUnit=" m&sup2";
    if (area>=1000000) {
      area=area/1000000;
      aUnit=" km&sup2";
    }
    if (this.StatusArea) this.StatusArea.innerHTML="<table cellpadding=0 cellspacing=2><tr><td>Fläche:</td><td align=right>"+(area? formatFloat(area ,nk,true)+aUnit:"")+"</td></tr></table>";
  }
  this.showComment=function(msg) {
  if (this.Commentar) {
    if (msg) 
      this.Commentar.innerHTML="<table cellpadding=0 cellspacing=2><tr><td>"+unescape(msg)+"</td></tr></table>";
    else this.Commentar.innerHTML="<table cellpadding=0 cellspacing=2><tr><td>&nbsp;</td></tr></table>";
  }
}  
}
function zoom(factor,pos){
  //pos=ECWVectorLayer.Pixel2Word(x,y,1000);
  var xmin = ECWVectorLayer.ncsView.GetTopLeftWorldCoordinateX();
  var ymin = ECWVectorLayer.ncsView.GetBottomRightWorldCoordinateY();
  var xmax = ECWVectorLayer.ncsView.GetBottomRightWorldCoordinateX();
  var ymax = ECWVectorLayer.ncsView.GetTopLeftWorldCoordinateY();
  var theDifX=xmax-xmin;
  var theDifY=ymax-ymin;
  factor=parseFloat(factor);
  if (factor==0) factor=1;
  var new_DifX=theDifX/factor;
  var new_DifY=theDifY/factor;
  xmin=pos[0]-new_DifX/2;
  ymin=pos[1]-new_DifY/2;
  xmax=pos[0]+new_DifX/2;
  ymax=pos[1]+new_DifY/2;
  setExtent(xmin+','+ymin+','+xmax+','+ymax);
}
function zoomToScale(e){
  if (getKeyCode(e) == 13) {
    if (theStatus){
      aktStatus=unformatieren(theStatus.StatusScale.value);
      theFactor=theStatus.aktScale/parseFloat(aktStatus);
      zoom(theFactor,
          ECWVectorLayer.Pixel2Word(ECWVectorLayer.ncsView.GetViewWidth()/2,
          ECWVectorLayer.ncsView.GetViewHeight()/2,
          1000)
      );
    }
  }
}
