// By Kimi@CHT 20100206
var streetviewX;
var streetviewY;
var streetviewYaw;

function drawViewCenter(x, y){
  deleteViewCenter();
  var ITerrainImageLabel = globe.teCore.IObjectManager.CreateImageLabel(x, y, 3, TE_URL + 'GStreetView/p48.png', 0, 0, "sv_viewcenter");
  ITerrainImageLabel.ScaleFactor = 0.3;
}

function deleteViewCenter(){
  var ID = globe.teCore.IInformationTree.FindItem("sv_viewcenter");
  if (ID > 0)
  {
    globe.teCore.IInformationTree.DeleteItem(ID);
  }
}

function moveYaw(Yaw, x, y){
  //只考慮x,y,z,yaw,
  globe.teCore.IPlane.MovePosition(x, y, 350, Yaw, -90, 0, 0, 0, 3104);
}

function deleteYaw(){
  deleteFan();
  return;
  var ID = globe.teCore.IInformationTree.FindItem("sv_yaw");
  if (ID > 0)
  {
    globe.teCore.IInformationTree.DeleteItem(ID);
  }
}

function deleteFan(){
  var ID = globe.teCore.IInformationTree.FindItem("sv_fan");
  if (ID > 0)
  {
    globe.teCore.IInformationTree.DeleteItem(ID);
  }
}

function drawFan(Yaw, x, y){
  var ITerrainPolygon, dx, dy, ceda;
  deleteFan();
  drawViewCenter(x, y);

  //防呆
  if (Yaw >= 360)
  {
    Yaw = Yaw - 360;
  }
  if (Yaw < 0)
  {
    Yaw = Yaw + 360;
  }
  //第2次防呆
  if (Yaw >= 360)
  {
    Yaw = Yaw - 360;
  }
  if (Yaw < 0)
  {
    Yaw = Yaw + 360;
  }

  //偵錯用
  //txtYaw.value=Yaw;

  //判斷方向
  if (Yaw >= 0 && Yaw < 90)
  {
    ceda = 90 - Yaw;

  }else if (Yaw >= 90 && Yaw < 180)
  {
    ceda = -(Yaw - 90);
  }else if (Yaw >= 180 && Yaw < 270)
  {
    ceda = -(Yaw - 90);
  }else if (Yaw >= 270 && Yaw < 360)
  {
    ceda = (360 - Yaw) + 90;
  }

  //txtCeda.value=ceda;
  var angle = 17;
  var cx, cy;

  var pITerrainPolyline;
  pITerrainPolyline = globe.teCore.IObjectManager.Create2DPolygon(0, 16744703, 0.3, 16744703, 0, 0, 'sv_fan');

  for (var i = 0; i < 7; i++)
  {
    dx = 0.0004 * Math.cos((ceda + (i - 3) * angle) / 360 * 2 * 3.1414926);
    dy = 0.0004 * Math.sin((ceda + (i - 3) * angle) / 360 * 2 * 3.1414926);
    cx = parseFloat(x) + dx;
    cy = parseFloat(y) + dy;
    pITerrainPolyline.AddVertex(cx, 2, cy); //X,H,Y
  }

  pITerrainPolyline.AddVertex(x, 2, y); //X,H,Y
}

function ShowGStreetView()
{
  registerSelfWindow();
  var url = TE_URL + 'GStreetView/showgstreetview.asp?x=' + rMenuX + '&y=' + rMenuY + '&yaw=0';
  globe.teCore.IContainer.HTMLPopup(1, 0, 0, 510, 382, "Google StreetView", url, 2, -1);
}

function registerSelfWindow()
{
  //註冊自己
  try
  {
    globe.teCore.IScriptEngine.UnregisterName("TEMainMapWindow");
  }
  catch(e)
  {
  }
  try
  {
    globe.teCore.IScriptEngine.RegisterGlobalName("TEMainMapWindow", window);
  }
  catch(e)
  {
    alert("rigister error");
  }
}


