js 开发互联网机顶盒前端之页面逻辑二

Dare.Main = function(){
  this.className = "Dare.Main";
  this.stylePath = "../style/default/";
  this.currentIndex = 2;//当前菜单焦点位置
  this.menuIndex =  0; //当前菜单在数组中位置
  this.menuCount =14;  //菜单总数
  this.menuArray = [];  //菜单项目
 
  this.columnFocus = FocusMode.MENU;
  this.filearray = []; //文件项目
  this.fileIndex = 0;  //当前文件在数组中位置
  this.fileCount = 0;//文件长度0-7
  this.arrowImages = {"up":this.stylePath+"f1.png","down":this.stylePath+"f2.png","right":this.stylePath+"f3.png","left":this.stylePath+"f4.png"};
  this.statusIcon = {"red":this.stylePath + "b1.png","orange":this.stylePath + "b2.png","green":this.stylePath + "b3.png"};
  //操作按钮
 
  this.imgbtns = Operations[1];
  this.operationIndex = 0 ;
  //usb file
  this.usbFileArray = []; //usb file array
  this.usbFileIndex = 0; // 当前usb文件在数组中位置
  this.usbFileCount = 0; //usb文件长度0-7
  this.fileType = 0;// 视频,音频,图片
  this.command = new Dare.Business.Command();
 
  
  this.currentFocus;//imgok 当前焦点
  this.secondLevelMenu = false;//本地播放二级菜单
  this.showUsbProgram = false;//默认显示内置硬盘节目
  this.videoTypepic = [this.stylePath+"q1.png",this.stylePath+"q2.png",this.stylePath+"q3.png",this.stylePath+"q4.png"];
}

Dare.extend(Dare.Main, Dare);

Dare.Main.prototype.init = function(){
  //dareUtil.debug("appCodeName"+navigator.appCodeName +" platform:"+navigator.platform+"userAgent:"+navigator.userAgent);
  //var path = dareUtil.trimPath("/mnt/dell/桌面/红叶/20110322 终端页面迁移图/20110322 终端页面迁移图.files/",50);
  this.menuArray = this.command.getMenuItems();
 
  //alert(this.menuArray);
  this.showUsbProgram = false;
  this.initMenu();
};
Dare.Main.prototype.initMenu = function(){

  this.columnFocus = FocusMode.MENU;
  this.menuCount = this.menuArray.length;
  imgnetstatus.src = this.stylePath+"b3.png";
  for(var i=0;i<5;i++){
    document.getElementById("pic"+i).src=this.stylePath+"c"+this.menuArray[i]+".png";
  }
  document.getElementById("imgarrowup"+2).src = this.arrowImages.up;
  document.getElementById("imgarrowdown"+2).src = this.arrowImages.down;
  document.getElementById("pic2").src = this.stylePath+"c"+(this.menuArray[2])+"a.png";
  //$('picadvimg').src = this.stylePath +"haibao.png";
  this.menuIndex = 2;
 
  //title
  var titleObj = this.command.getWebTitle();
  $('link').innerText = titleObj.text;
  $('link').style.color = titleObj.color;
  $('link').style.fontSize = titleObj.size;
 
  //箭头
  arrowup.src =  this.arrowImages.up;
  arrowdown.src = this.arrowImages.down;
  arrowleft.src = this.arrowImages.left;
  arrowright.src =  this.arrowImages.right;
  arrowleftOper.src =  this.arrowImages.left;
  arrowrightOper.src =   this.arrowImages.right;
  imgokarrow.src = this.stylePath+"f6.png";
  imgcancelarrow.src = this.stylePath+"f7.png"
  //hide file arrow
  this.showMenuArrow();
  //操作菜单
  for(var i=0;i<3;i++){
    if(document.getElementById("btnarrowup"+i))document.getElementById("btnarrowup"+i).src = this.stylePath+"f1.png";
    if(document.getElementById("btnarrowdown"+i))document.getElementById("btnarrowdown"+i).src = this.stylePath+"f2.png";
  }
  if(btnpic0) btnpic0.innerText = this.imgbtns[0].text;
  if(btnpic1) btnpic1.innerText = this.imgbtns[1].text;
  if(btnpic2) btnpic2.innerText = this.imgbtns[2].text;

  //end 操作菜单
  //delete form
  $('imgok').className = 'btnok_over';
  $('imgcancel').className = 'btncancel';
  dareUtil.hideDomObj($("cancelarrow"));
  dareUtil.showDomObj($("okarrow"));
 
  //network status
  var networkStatusConfig = this.command.getNetworkStatus()
  if (networkStatusConfig.length != 0) {
    var json = new Dare.JSObject.JSON();
    var networkStatusObject = json.toObject(networkStatusConfig);
    this.NetWorkStatus = parseInt(networkStatusObject.status);
    //dareUtil.debug(this.NetWorkStatus);
    txtnetworkStatus.innerText = NetWorkStatusMode[this.NetWorkStatus].name;
    imgnetstatus.src = this.statusIcon[NetWorkStatusMode[this.NetWorkStatus].icon];
  }

  //从外置usb节目返回
 
  var  back_from_usb = dareUtil.getGlobalVar("back_from_usb_program");
  if(back_from_usb && back_from_usb == "true"){
    for(var m=0; m < this.menuArray.length;m++){
      if(this.menuArray[m]== MOVING_INFO_MENU){
        this.menuIndex = m;
        this.fileIndex = 0;
        this.listMenu();
        this.focusMenu(2);
        this.showFocusMenuArrow();
        break;
      }
    }
  }

  ////播放返回
  var menuFileIndex = dareUtil.getGlobalVar("global_memu_file_index");
  //test
  //menuFileIndex=  "{menuIndex:2,fileIndex:2 }";
  //test
  var json = new Dare.JSObject.JSON();
  var mf = json.toObject(menuFileIndex);
  if(mf && Math.abs(mf.menuIndex) >= 0){//播放返回
    //dareUtil.debug(mf.menuIndex + "   " +mf.fileIndex);
    this.menuIndex = mf.menuIndex;
    this.fileIndex = mf.fileIndex;
    //start menu
    for(var i=0;i<5;i++){
      var k = this.menuIndex + i -2;
      if(k < 0)  k =  this.menuArray.length +k;
      if(k >= this.menuArray.length) k = k - this.menuArray.length;
      document.getElementById("pic"+i).src=this.stylePath+"c"+(this.menuArray[k])+".png";
    }
    this.secondLevelMenu = false;//显示一级菜单 用于移动信息
    this.hideMenuArrow();
    //end menu
    this.focusMenu(2);
    if (parseInt(this.menuArray[this.menuIndex],10) == MOVING_INFO_MENU) {
      this.secondLevelMenu = true;//移动信息二级菜单
      var usbpath = dareUtil.getGlobalVar("currentUsbPath");
      var usbfiletype = dareUtil.getGlobalVar("currentfileType");
      var currentUsbFileIndex = dareUtil.getGlobalVar("currentUsbFileIndex");
      //test
      //dareUtil.debug("this.currentUsbFileIndex:" + currentUsbFileIndex);
      //dareUtil.debug("usbpath:" + usbpath);
      // dareUtil.debug("usbfiletype:" + usbfiletype);
      if(usbpath != null && usbfiletype != null){
        //end test
        this.currentPath = usbpath;
        this.fileType = usbfiletype;
        //dareUtil.debug("ok----"+this.currentPath+"  path"+ this.fileType);
        this.fileIndex = this.fileType;
        this.usbFileIndex = currentUsbFileIndex;
       
        this.getFileList();
        this.getUsbFileList(true);
        this.columnFocus = FocusMode.USB_FILE;
        this.showUsbFileArrow();
        dareUtil.setGlobalVar("global_memu_file_index","");
        return;
      }
    }


    this.columnFocus = FocusMode.FILE;
    this.showFileArrow();
    dareUtil.setGlobalVar("global_memu_file_index","");
  }
  //dareUtil.debug("166r:"+this.menuIndex + "   " +this.fileIndex);
  this.getFileList();
}
Dare.Main.prototype.focusOk = function(){
  //$('imgok').src = this.stylePath +"bn4.png";
  //$('imgcancel').src = this.stylePath + "bn2a.png";
  $('imgok').className = 'btnok_over';
  $('imgcancel').className = 'btncancel';
 
  dareUtil.hideDomObj($("cancelarrow"));
  dareUtil.showDomObj($("okarrow"));
  this.currentFocus = "imgok";
}
Dare.Main.prototype.focusCancel = function(){
  //$('imgok').src = this.stylePath +"bn4a.png";
  //$('imgcancel').src = this.stylePath + "bn2.png";
  $('imgok').className = 'btnok';
  $('imgcancel').className = 'btncancel_over';

  dareUtil.hideDomObj($("okarrow"));
  dareUtil.showDomObj($("cancelarrow"));
  this.currentFocus = "imgcancel";
 
}
Dare.Main.prototype.keypressHandler = function(event) {
  var keyValue = Dare.getKeyCode(event);//Dare.isiPanel ? event.which : window.event.keyCode;
  //dareUtil.debug(navigator.appName+"  "+navigator.appName);
  //dareUtil.debug(keyValue);
  switch (keyValue) {
    case KeyMap.STB_KEY_DOWN:
      this.keydownHandler();
      break;
    case KeyMap.STB_KEY_UP:
      this.keyupHandler();
      break;
    case KeyMap.STB_KEY_ENTER:
      this.keyenterHandler();
      break;
    case KeyMap.STB_KEY_LEFT:
      this.keyleftHandler();
      break;
    case KeyMap.STB_KEY_RIGHT:
      this.keyrightHandler();
      break;
    case KeyMap.STB_KEY_HOME:
      window.location.href = window.location.href;
      break;
    case KeyMap.STB_KEY_STOP:
      if(this.showUsbProgram == true){//显示usb硬盘节目
        this.showUsbProgram  =  false;//显示内置硬盘节目
        dareUtil.setGlobalVar("back_from_usb_program","true");
        this.init();
      }
      if(this.columnFocus == FocusMode.USB_FILE){//back to upper dir
        this.currentPath =  dareUtil.getUpperPath(this.currentPath);
        if (this.currentPath) {
          this.getUsbFileList(true);
        }
      }
      //window.location.href = '../index.html';
      break;
    case KeyMap.SML_KEY_DELETE://simulativeKey模拟远程删除
      var deletefile = this.command.getRemoteDeleteFile();
      var filename = $("filereal3").innerText;
      if(deletefile === filename){
        this.getFileList();//光标定位节目不变
      }else
      {
        this.filelistdown();//默认光标定位在被删除节目的下一个节目上
      }
      break;
    case KeyMap.SML_KEY_DOWNLOADED:
      this.getFileList();//刷新节目列表 光标定位节目不变
      if(this.columnFocus == FocusMode.OPER){
        this.keyleftHandler();
      }
      break;
    default:
      break;
  }
}
Dare.Main.prototype.keydownHandler = function(){
  if (this.currentFocus == "imgok" || this.currentFocus == "imgcancel") {
    return;
  }
  switch(this.columnFocus){
    case FocusMode.MENU :this.menudown(); break;
    case FocusMode.FILE :this.filelistdown(); break;
    case FocusMode.OPER :this.operationdown();break;
    case FocusMode.USB_FILE: this.usbFileDown();break;
  }
}
Dare.Main.prototype.keyupHandler = function(){
  
  if (this.currentFocus == "imgok" || this.currentFocus == "imgcancel") {
    return;
  }
  switch(this.columnFocus){
    case FocusMode.MENU :this.menuUp(); break;
    case FocusMode.FILE :this.filelistUp(); break;
    case FocusMode.OPER :this.operationUp();break;
    case FocusMode.USB_FILE: this.usbFileUp();break;
  }
}
/**
 * usb本地文件向下滚动
 */
Dare.Main.prototype.usbFileDown = function()
{
  this.usbFileIndex++;
  var length = this.usbFileCount;
  if(this.usbFileIndex >= length) this.usbFileIndex = 0;
  this.getUsbFileList(false);
}
/**
 * usb本地文件向上滚动
 */
Dare.Main.prototype.usbFileUp = function()
{
  this.usbFileIndex--;
  var length = this.usbFileCount;
  if(! length || length.length==0) length = this.usbFileCount;//
  if(this.usbFileIndex < 0 ) this.usbFileIndex = length - 1;
  this.getUsbFileList(false);
}
/**
 * 获取usb本地文件
 */
Dare.Main.prototype.getUsbFileList = function(getdare)
{
  //dareUtil.debug("path:"+this.currentPath);
  //if (getdare) {
    this.usbFileArray = this.command.getDirectories(this.currentPath, this.fileType);
  //}
  //dareUtil.debug("this.usbFileIndex: "+this.usbFileIndex);
  var turingObject = this.turingArray(this.usbFileArray,this.usbFileIndex);
  this.usbFileCount = turingObject.totallength;
  this.usbFileArray = turingObject.data;
 
  var html = "";
  if (this.currentPath == "/") {
     html += this.appendFileRow("topdir", "margin-top:0px;", "u盘根目录");
  }
  else {
    var path = dareUtil.trimPath(this.currentPath,50);
   
    html += this.appendFileRow("topdir", "margin-top:0px;", path);
  }
  //dareUtil.debug("count:"+this.usbFileCount +"dara"+this.usbFileArray.join("|||"));
  // 小于 4 个
  var m = 0;
  var usbFileCounnt = this.usbFileArray.length;
  if(!usbFileCounnt) usbFileCounnt = 0;
  //不足6个补齐前面
  if(usbFileCounnt < 6){
    var buqilength = usbFileCounnt<=4? 2 : usbFileCounnt==5?1:0;
    for (var k = 0; k < buqilength; k++) {
      var fileid = "usbfile"+ (m);
      var realid = "real" + (m);
      m++;
      html += this.appendUsbFileRow(fileid, "margin-top:25px;", "&nbsp;", realid, "&nbsp;");
     
    }
  }
  
  for(var k = 0;k <usbFileCounnt; k++){
    var margintop = "";
    margintop = 'margin-top:25px;';

    filename = dareUtil.trimstr(dareUtil.getFileName(this.usbFileArray[k]),26);
    var fileid = "usbfile"+ (m);
    var realid = "real" + (m);
    m++;
    html+=this.appendUsbFileRow(fileid,margintop,filename,realid,this.usbFileArray[k]);
  }
  if( (!usbFileCounnt ||usbFileCounnt == 0) && this.currentPath != "/"){
    filename = "按确定返回上级目录";
    var fileid = "usbfile"+ (m);
    var realid = "real" + (m);
    m++;
    html+=this.appendUsbFileRow(fileid,"margin-top:25px;",filename,realid,"backparent");

  }
  //不足4个补齐后面
  if(usbFileCounnt < 4){
    for (var k = 0; k < 4 - usbFileCounnt; k++) {
      var fileid = "usbfile"+ (m);
      var realid = "real" + (m);
      m++;
      html += this.appendUsbFileRow(fileid, "margin-top:25px;", "&nbsp;", realid, "&nbsp;");
    }
  }
 
  picadv.style.display = "none";
  document.getElementById('divmove').style.display = "block";
  document.getElementById('divmove').innerHTML = html.toString();
  if($('usbfile2')) $('usbfile2').className = 'filenameHover';
  //dareUtil.debug($('real2').innerText);
}
/**
 * 按钮操作往下
 */
Dare.Main.prototype.operationdown = function(){
 
  if(this.operationIndex == 2 )return;
  if(dareUtil.isHidden($('dmenu1')) && dareUtil.isHidden($('dmenu2')))return; //only one
  this.operationIndex++;
  if(this.operationIndex == 1 && dareUtil.isHidden($('dmenu1')))
     this.operationIndex++; //只有两项,跳过中间
  this.operationShow();
 
}
/**
 * 按钮操作往上
 */
Dare.Main.prototype.operationUp = function(){
  if(this.operationIndex == 0 )return;
  this.operationIndex--;
  if(this.operationIndex == 1 && dareUtil.isHidden($('dmenu1')))
     this.operationIndex--; //只有两项,跳过中间
  //dareUtil.debug(this.index);
 
  this.operationShow();
}
Dare.Main.prototype.operationShow = function(){

  btnpic0.className = 'operation';
  btnpic1.className = 'operation';
  btnpic2.className = 'operation';
 
  dareUtil.hideDomObj($('btnarrowdown0'));
  //dareUtil.hideDomObj($('btnarrowup1'));
  btnarrowup1.src = this.stylePath + "none_h12.png"
  dareUtil.hideDomObj($('btnarrowdown1'));
  dareUtil.hideDomObj($('btnarrowup2'));
  switch(this.operationIndex){
    case 0:
      this.currentFocus = "btnpic0";
      btnpic0.className = 'operationHover';
      dareUtil.showDomObj($('btnarrowdown0'));
      $('divoperationArrowLeft').style.top = "240";
      break;
    case 1:
      this.currentFocus = "btnpic1";
      btnarrowup1.src = this.stylePath + "f1.png"
      btnpic1.className = 'operationHover';
      dareUtil.showDomObj($('btnarrowup1'));
      dareUtil.showDomObj($('btnarrowdown1'));
      $('divoperationArrowLeft').style.top = "310";
      break;
    case 2:
      this.currentFocus = "btnpic2";
      btnpic2.className = 'operationHover';
      dareUtil.showDomObj($('btnarrowup2'));
      if(dareUtil.isHidden($('dmenu1'))) $('divoperationArrowLeft').style.top = "310";
      else $('divoperationArrowLeft').style.top = "380";
      break;
  }
  if(dareUtil.isHidden($('dmenu1')) && dareUtil.isHidden($('dmenu2')))
  {
    dareUtil.hideDomObj($('btnarrowdown0'));
  }
  //dareUtil.debug(this.currentFocus.substr(0,6));
}
/**
 * 文件操作往下
 */
Dare.Main.prototype.filelistdown = function(){
  this.fileIndex++;
  var length = this.command.getFileItemsLength(this.menuIndex,this.showUsbProgram);
  if (!length || length.length==0) {
    length = this.filearray.length;//
  }
  if(this.fileIndex >= length) this.fileIndex = 0;
  this.getFileList();
  var name = $("filereal3").innerText;
  //dareUtil.debug(name);
  if (name == "音频" || name == "视频" || name == "图片") {
      dareUtil.debug("848:"+menuFileIndex);
      this.fileType = this.getFileType(name);//
      this.currentPath = "/";
      this.usbFileIndex = 0;
      this.getUsbFileList(true);
      this.columnFocus = FocusMode.FILE;
      this.showFileArrow();
  }
}
/**
 * 按钮操作往上
 */
Dare.Main.prototype.filelistUp = function(){
  this.fileIndex--;
  var length = this.command.getFileItemsLength(this.menuIndex,this.showUsbProgram);
  if(! length || length.length==0) length = this.filearray.length;//
  if(this.fileIndex < 0 ) this.fileIndex = length - 1;
  this.getFileList();
  //
  var name = $("filereal3").innerText;
   if (name == "音频" || name == "视频" || name == "图片") {
      dareUtil.debug("848:"+menuFileIndex);
      this.fileType = this.getFileType(name);//
      this.currentPath = "/";
      this.usbFileIndex = 0;
      this.getUsbFileList(true);
      this.columnFocus = FocusMode.FILE;
      this.showFileArrow();
  }
}
/**
 * 菜单操作往下
 */
Dare.Main.prototype.menudown= function(){
    this.menuIndex++;
    if (this.menuIndex > this.menuCount - 1) {
      this.menuIndex = 0;
    }
    var index = this.listMenu();
    //焦点
    this.currentIndex = 2;
    this.focusMenu(2);

    this.showFocusMenuArrow();
    this.getFileList();
}
/**
 * 按钮操作往上
 */
Dare.Main.prototype.menuUp = function(){
  this.menuIndex--;
  if (this.menuIndex < 0) {
    this.menuIndex = this.menuCount - 1;
    
  }
  var index = this.listMenu();
  this.currentIndex = 2;
  this.focusMenu(2);
  this.showFocusMenuArrow();
  this.getFileList();
}

/**
 * 列出菜单
 */
Dare.Main.prototype.listMenu = function(){
  //dareUtil.debug("this.menuIndex:"+this.menuIndex);
  this.fileIndex = 0;
  for(var i=0;i<5;i++){
    var k = this.menuIndex + i -2;
    if(k < 0)  k =  this.menuArray.length +k;
    if(k >= this.menuArray.length) k = k - this.menuArray.length;
    //dareUtil.debug("K:"+k+"  "+this.menuArray[k]);
    document.getElementById("pic"+i).src=this.stylePath+"c"+(this.menuArray[k])+".png";
  }
  this.secondLevelMenu = false;//显示一级菜单 用于移动信息
  //hide arrow
  this.hideMenuArrow();
  return 2;
}

/**
 * 显示菜单箭头
 */
Dare.Main.prototype.showFocusMenuArrow = function(){
    var m = document.getElementById("imgarrowup"+this.currentIndex);
    if (m) {
      m.src = this.arrowImages.up;
      //m.style.display = "block";
    }
    m = document.getElementById("arrowdown"+this.currentIndex);
    if (m) {
      m.style.display = "block";
    }

}

/**
 * hide菜单箭头
 */
Dare.Main.prototype.hideMenuArrow = function(){
  
    var m = document.getElementById("imgarrowup2");
   
    if (m) {
      //m.style.display = "none";
      m.src = this.stylePath +"f6.png";
    }
    //dareUtil.debug(m.src);
    m = document.getElementById("arrowdown2");
    if (m) m.style.display = "none";
  
}

/**
 * 菜单失去焦点
 */
Dare.Main.prototype.lostfocusMenu = function(i){
   if(document.getElementById("pic"+i))
     document.getElementById("pic"+i).src = document.getElementById("pic"+i).src.replace('a.png','.png');
}
/**
 * 菜单获取焦点
 */
Dare.Main.prototype.focusMenu = function(i){
   if(document.getElementById("pic"+i))
     document.getElementById("pic"+i).src = document.getElementById("pic"+i).src.replace('.png','a.png');
}
/**
 * 获取文件列表
 */
Dare.Main.prototype.getFileList = function(){
  //dareUtil.debug("553fileIndex:"+this.fileIndex);
  document.getElementById('divmove').style.display = "none";
  picadv.style.display = "block";
  //dareUtil.debug("index:"+this.menuArray[this.menuIndex]);
  if (this.menuArray[this.menuIndex] == MOVING_INFO_MENU)//移动信息
  {
    if (this.secondLevelMenu == false) {
      this.filearray = this.command.getFileItems(this.menuArray[this.menuIndex], this.fileIndex,this.showUsbProgram);//MoveInfo;//global
    }else {
      this.filearray = MoveFileInfo;
    }
  }else{ //帮助和其他
    this.filearray = this.command.getFileItems(this.menuArray[this.menuIndex], this.fileIndex,this.showUsbProgram);
  }
  this.arrangeFileList();
};
Dare.Main.prototype.turingArray =  function(oldarray,turingindex){
  var totallength = 0;
 
  /////////////////testing 移动信息菜单 可以使用, 其他模块从后端动态获取
  var tmparray = new Dare.JSObject.Array();
  if(oldarray && oldarray.length > 0){
    var length = oldarray.length;
    totallength = length;
    //dareUtil.debug("turingindex:"+turingindex);

    //f1
    if (length >= 6) {
      var file1 = turingindex - 2;
      if (file1 < 0)
        file1 = length + file1;//
      if( file1 > length -1) file1 =  file1 - length;//
      // dareUtil.debug("f1:"+file1+" :"+ this.filearray[file1]);
      if (oldarray[file1] && !tmparray.contains(oldarray[file1]))
        tmparray.push(oldarray[file1]);
    }
    //f2
    if (length >= 5) {
      var file2 = turingindex - 1;
      if (file2 < 0)  file2 = length + file2;//
      if( file2 > length -1) file2 =  file2 - length;//
      //dareUtil.debug("f2:"+file2+" :"+ oldarray[file2]);
      if (oldarray[file2] && !tmparray.contains(oldarray[file2]))
        tmparray.push(oldarray[file2]);
    }
    //f3
    var file3 = turingindex;
    if( file3 < 0) file3 = length  + file3;//
    if( file3 > length -1) file3 =  file3 - length;//
    // dareUtil.debug("f3:"+file3+" :"+ this.filearray[file3]);
    if(oldarray[file3] && !tmparray.contains(oldarray[file3]))tmparray.push(oldarray[file3]);
    //f4
    if (length >= 2) {
      var file4 = turingindex + 1;
      if (file4 < 0)  file4 = length + file4;//
      if (file4 > length - 1)
        file4 = file4 - length;//
      // dareUtil.debug("f4:"+file4+" :"+ this.filearray[file4]);
      if (oldarray[file4] && !tmparray.contains(oldarray[file4]))
        tmparray.push(oldarray[file4]);
    }
    //f5
    if (length >= 3) {
      var file5 = turingindex + 2;
      if (file5 < 0)  file5 = length + file5;//
      if (file5 > length - 1)
        file5 = file5 - length;//
      // dareUtil.debug("f5:"+file5+" :"+ this.filearray[file5]);
      if (oldarray[file5] && !tmparray.contains(oldarray[file5]))
        tmparray.push(oldarray[file5]);
    }
    //f6
    if (length >= 4) {
      var file6 = turingindex + 3;
      if (file6 < 0)  file6 = length + file6;//
      if (file6 > length - 1)
        file6 = file6 - length;//
      //dareUtil.debug("f6:"+file6+" :"+ this.filearray[file6]);
      if (oldarray[file6] && !tmparray.contains(oldarray[file6]))
        tmparray.push(oldarray[file6]);
    }
    //oldarray = tmparray;
  }
  var   a   =   new   Object(); 
  a.data   =   tmparray; 
  a.totallength   =   totallength;  
  //dareUtil.debug("data:"+tmparray.join("~~"));
  return   a;  
}
Dare.Main.prototype.turingArray7 =  function(oldarray,turingindex){
  var totallength = 0;
  /////////////////testing 移动信息菜单 可以使用, 其他模块从后端动态获取
  var tmparray = new Dare.JSObject.Array();
  if(oldarray && oldarray.length > 0){
    var length = oldarray.length;
    totallength = length;
    //dareUtil.debug("turingindex:"+turingindex);
    //f0
    if (length >= 7) {
      var file0 = turingindex - 1;
      if (file0 < 0)
        file0 = length + file0;//
     
      if (oldarray[file0] && !tmparray.contains(oldarray[file0]))
        tmparray.push(oldarray[file0]);
    }
    //f1
    if (length >= 6) {
      var file1 = turingindex - 2;
      if (file1 < 0)
        file1 = length + file1;//
      // dareUtil.debug("f1:"+file1+" :"+ this.filearray[file1]);
      if (oldarray[file1] && !tmparray.contains(oldarray[file1]))
        tmparray.push(oldarray[file1]);
    }
    //f2
    if (length >= 5) {
      var file2 = turingindex - 1;
      if (file2 < 0)  file2 = length + file2;//
      //dareUtil.debug("f2:"+file2+" :"+ oldarray[file2]);
      if (oldarray[file2] && !tmparray.contains(oldarray[file2]))
        tmparray.push(oldarray[file2]);
    }
    //f3
    var file3 = turingindex;
    if( file3 < 0) file3 = length  + file3;//
    if( file3 > length -1) file3 =  file3 - length;//
    // dareUtil.debug("f3:"+file3+" :"+ this.filearray[file3]);
    if(oldarray[file3] && !tmparray.contains(oldarray[file3]))tmparray.push(oldarray[file3]);
    //f4
    if (length >= 2) {
      var file4 = turingindex + 1;
      if (file4 > length - 1)
        file4 = file4 - length;//
      // dareUtil.debug("f4:"+file4+" :"+ this.filearray[file4]);
      if (oldarray[file4] && !tmparray.contains(oldarray[file4]))
        tmparray.push(oldarray[file4]);
    }
    //f5
    if (length >= 3) {
      var file5 = turingindex + 2;
      if (file5 > length - 1)
        file5 = file5 - length;//
      // dareUtil.debug("f5:"+file5+" :"+ this.filearray[file5]);
      if (oldarray[file5] && !tmparray.contains(oldarray[file5]))
        tmparray.push(oldarray[file5]);
    }
    //f6
    if (length >= 4) {
      var file6 = turingindex + 3;
      if (file6 > length - 1)
        file6 = file6 - length;//
      //dareUtil.debug("f6:"+file6+" :"+ this.filearray[file6]);
      if (oldarray[file6] && !tmparray.contains(oldarray[file6]))
        tmparray.push(oldarray[file6]);
    }
    //oldarray = tmparray;
  }
  var   a   =   new   Object(); 
  a.data   =   tmparray; 
  a.totallength   =   totallength;  
  //dareUtil.debug("data:"+tmparray.join("~~"));
  return   a;  
}
/**
 * 文件列表排列
 */
Dare.Main.prototype.arrangeFileList = function(){
  var totallength = 0;
  //dareUtil.debug("711fileIndex:"+this.fileIndex);
  /////////////////testing 移动信息菜单 可以使用, 其他模块从后端动态获取
  var tmparray = new Dare.JSObject.Array();
  if(this.filearray && this.filearray.length > 0){
     var turingObject = this.turingArray(this.filearray,this.fileIndex);
     this.fileCount = turingObject.totallength;
     totallength = this.fileCount;
     //link.innerText = ("totallength:"+turingObject.data.join(',,,'));
     this.filearray = turingObject.data;
     dareUtil.showDomObj($('divarrowright'));
  }else{
    dareUtil.hideDomObj($('divarrowright'));
  }
 
  ////////////////testing end
 
  this.listFile(totallength);
  ///////////////////////show 海报
 
  var filename = ($("filereal3")) ? $("filereal3").innerText : "";
 
  var pic;
  if(this.filearray.length > 0){
    pic = this.command.getVideoAdvPic(filename);
    if(pic && pic.length > 1)return pic;
    else if(!pic || pic.length == 0) pic =  this.stylePath + "tu4.png";
  }else{
    pic = this.stylePath + "tu1.png";
  }
  //picadvimg.src = pic;
  /////////////////////end 海报
 
  // for testing 实际使用删除
  if($('picadvimg'))$('picadvimg').src = this.stylePath +"haibao.png";
  else $('picadvimg').src =  this.stylePath + "tu1.png";
  //end testing
 
  ///////////////////视频类型图片
  var type;
  if (this.filearray.length > 0) {
    type = this.command.getVideoType(filename);
  }
  if ($('(picvideoType')) {
    if (type && type > 0) {
      $('(picvideoType').src = this.videoTypepic[type];
    //dareUtil.debug(picvideoType.src);
    }
    else {
      $('(picvideoType').src = this.stylePath + "none_h12.png";
    }
  }
  ///////////////////视频类型图片 end
}
Dare.Main.prototype.getTrimFileName = function(name,k,length){
  var WORD_LENGTH  = length;
  var fontsize = 25;
  if (k != 0) {
    filename = dareUtil.getFileTitleName(name, WORD_LENGTH + 4);
  }
  else {
    filename = dareUtil.getFileTitleName(name, WORD_LENGTH);
    fontsize = 31;
  }
  var c_name = this.command.trimFileName(dareUtil.getFileName(name),fontsize,220);
  if(c_name) filename = c_name;
  return filename;
}
Dare.Main.prototype.listFile = function(totallength){
  this.fileCount = totallength;

  var html = "";
 // picadv.innerText ="length:"+this.filearray.length+"  <br>"+ this.filearray.join(',');
  var m = 0;
  var fileCount = this.filearray.length;
  if(this.filearray.length < 7){
    var buqilength = fileCount<=4? 3 : fileCount==5?2:fileCount==6?1:0;
    for (var k = 0; k < buqilength; k++) {
      margintop = 'margin-top:25px;';
      if(m==0)margintop = 'margin-top:0px;';
      var fileid = "file"+ (m);
      var realid = "filereal" + (m);
      m++;
      html += this.appendFileRow(fileid, margintop, "&nbsp;", realid, "&nbsp;");
     
    }
  }
  
  for(var k = 0;k < this.filearray.length; k++){
    var margintop = "";
    margintop = 'margin-top:25px;';
    if(m==0)margintop = 'margin-top:0px;';

    filename = this.getTrimFileName(this.filearray[k],k,12);
   
    var fileid = "file"+ (m);
    var realid = "filereal" + (m);
    m++;
    html+=this.appendFileRow(fileid,margintop,filename,realid,this.filearray[k]);
  }
  //不足4个补齐后面
  if(fileCount < 4){
    for (var k = 0; k < 4 - fileCount; k++) {
      var fileid = "file"+ (m);
      var realid = "filereal" + (m);
      m++;
      html += this.appendFileRow(fileid, "margin-top:25px;", "&nbsp;", realid, "&nbsp;");
    }
  }
  document.getElementById('filelist').innerHTML = html.toString();
  if($('file3')) $('file3').className = 'filenameHover';
  if (this.columnFocus == FocusMode.FILE) {
    dareUtil.hideDomObj($('divarrowright'));
  }
 
  var name = $("filereal3").innerText;
  //dareUtil.debug(name);
  if (name == "音频" || name == "视频" || name == "图片") {
    var menuFileIndex = dareUtil.getGlobalVar("global_memu_file_index");
    //dareUtil.debug("846:"+menuFileIndex);
    if ( !menuFileIndex) { //不是播放返回
      //dareUtil.debug("848:"+menuFileIndex);
      this.fileType = this.getFileType(name);//
      this.currentPath = "/";
      this.usbFileIndex = 0;
      this.getUsbFileList(true);
      this.columnFocus = FocusMode.FILE;
      this.showFileArrow();
    }
  }

};
/**
 * 追加文件条目
 */
Dare.Main.prototype.appendFileRow = function(fileid,margintop,filename,realfileid,realname){
  var paddingheight = "13px;";
  if(fileid == "file3") paddingheight = "10px;";
  return ('<div id="'+fileid+'" style="'+margintop+'margin-left:15px;margin-right:15px;height:50px;background-color:transparent"><div style="display:none" id="'+ realfileid+'">'+realname+'</div><div style="height:'+paddingheight+';"><img id="a1" src="../style/default/none_h12.png" ></img></div>'+filename+'</div>');
};
/**
 * 追加usb文件条目
 */
Dare.Main.prototype.appendUsbFileRow = function(fileid,margintop,filename,realfileid,realname){
  return ('<div id="'+fileid+'" style="'+margintop+'margin-left:15px;margin-right:15px;height:50px;background-color:transparent;"><div style="display:none" id="'+ realfileid+'">'+realname+'</div><div style="height:13px;"><img id="a1" src="../style/default/none_h12.png" ></img></div>'+filename+'</div>');
};
Dare.Main.prototype.playMedia = function(filename){
  var str = "{menuIndex:" + this.menuIndex + ",fileIndex:" + this.fileIndex + "}";
  //alert(str);
  dareUtil.setGlobalVar("global_memu_file_index",str);
  dareUtil.setGlobalVar('movieBookList',filename);
  window.location.href = "movieplay.html";
};
Dare.Main.prototype.playMusic = function(filename){
  var str = "{menuIndex:" + this.menuIndex + ",fileIndex:" + this.fileIndex + "}";
  dareUtil.setGlobalVar("global_memu_file_index",str);
  dareUtil.setGlobalVar('musicBookList',filename);
  window.location.href = "musicplay.html";
};
Dare.Main.prototype.playPic = function(filename){
  //your code here
  dareUtil.debug('not implement now');
};
Dare.Main.prototype.getFileType = function(filename){
  switch(filename){
    case "视频" : return 0;
    case "音频" : return 1;
    case "图片" : return 2;
    default : return 0;
  }
}
Dare.Main.prototype.keyenterHandler = function(){
  //dareUtil.debug(window.console);
  //dareUtil.debug(this.filearray.join(","));

  var filename = $("filereal3").innerText;
  //dareUtil.debug(filename);
  switch (this.columnFocus) {
    case FocusMode.USB_FILE:
      if("backparent" == $('real2').innerText){
        this.currentPath =  dareUtil.getUpperPath(this.currentPath);
        this.getUsbFileList(true);
        return;
      }
      this.currentPath = $('real2').innerText;
      //dareUtil.debug(this.currentPath);
      if (dareUtil.isDirectory(this.currentPath)) {//dir目录
        this.usbFileIndex = 0 ;
        this.getUsbFileList(true);
        return;
      }else{//文件
        var usbfilename = $("real2").innerText;
        this.currentPath = dareUtil.getFilePath(usbfilename);
        dareUtil.setGlobalVar("currentUsbPath",this.currentPath);
        //dareUtil.debug("this.usbFileIndex:"+this.usbFileIndex);
        dareUtil.setGlobalVar("currentUsbFileIndex",this.usbFileIndex);
        dareUtil.setGlobalVar("currentfileType",this.fileType);
        //dareUtil.debug("currentfileType"+this.fileType);
        switch(this.fileType){
          case 0 : this.playMedia(usbfilename);break;
          case 1 : this.playMusic(usbfilename);break;//play music
          case 2 : this.playPic(usbfilename); break;
        }
      
      }
      break;
    case FocusMode.MENU:
      //播放
      //alert("957:"+parseInt(this.menuArray[this.menuIndex]));
      if(parseInt(this.menuArray[this.menuIndex])== MOVING_INFO_MENU){//移动
        this.secondLevelMenu = false;
        this.getFileList();
      }
      else if(parseInt(this.menuArray[this.menuIndex]) == HELP_INFO_MENU){//帮助
        this.getFileList();
      }
      else if (filename) {//记忆点 默认第一条
        this.playMedia(filename);
      }
      break;
    case FocusMode.FILE:
      var str = "{menuIndex:" + this.menuIndex + ",fileIndex:" + this.fileIndex + "}";
      dareUtil.setGlobalVar("global_memu_file_index",str);

      //dareUtil.debug("this.menuIndex:"+this.menuIndex +" value;"+this.menuArray[this.menuIndex]);
      //播放
      if(this.menuArray[this.menuIndex]=="9"){//动听世界
         this.playMusic(filename);
      }
      else if (filename && filename.indexOf('/mnt/') != -1) {
         this.playMedia(filename);
      }
     
      if(filename == "下载状态"){
       
        var current = this.command.GetCurrentDownFile();
        var html = "<div class='download'>"+current.status+"<br><br>";
        html += "文件名称:"+current.name +"<br><br>文件大小:"+current.size+"<br><br>"+
                "下载速度:"+current.speed + "<br><br>下载百分比:"+current.percent +"<br><br>"+
                "文件已下载:"+current.downedsize+"</div>";
       
        divmove.innerHTML = html;
        divmove.style.display = "block";
        dareUtil.hideDomObj($('picadv'));
      }
      else if(filename == "设置"){
        var str = "{menuIndex:" + this.menuIndex + ",fileIndex:" + this.fileIndex + "}";
        dareUtil.setGlobalVar("global_memu_file_index",str);
        window.location.href = "../setting/audiosetting.html"
      }
      else if(filename == "外置文件"){
        this.filearray = MoveFileInfo;//global
        this.secondLevelMenu = true;
        this.getFileList();
      }
      else if(filename === "外置节目"){
        var str = "{menuIndex:2,fileIndex:0}";
        dareUtil.setGlobalVar("global_memu_file_index",str);
        this.showUsbProgram = true;
        var menus = this.command.getMenuItems();//this.menuArray  new Dare.JSObject.Array
        //dareUtil.debug(menus.join(",")); 删除移动信息菜单 MOVING_INFO_MENU
        for (var i in menus) {
          if (menus[i] == MOVING_INFO_MENU) {
            menus.splice(i, 1);
            break;
          }
        }
        this.menuArray = menus;
        this.initMenu();
        this.showUsbProgram = true;//默认显示内置硬盘节目
      }
      else if (filename == "音频" || filename == "视频" || filename == "图片") {
          this.columnFocus = FocusMode.USB_FILE;
          this.fileType = this.getFileType(filename); //不显示磁盘,只认一个
          this.currentPath = "/";
          this.getUsbFileList(true);
          this.showUsbFileArrow();
      }
      break;
    case FocusMode.OPER:
     
      //播放
      //dareUtil.debug("this.menuIndex:"+this.menuIndex +" value;"+this.menuArray[this.menuIndex]);
      if(this.operationIndex > this.imgbtns.length-1)this.operationIndex = this.imgbtns.length-1;
      //dareUtil.debug(this.operationIndex +"  this.currentFocus:"+ this.currentFocus );
      //动听世界
      if(this.imgbtns[this.operationIndex].name =="play" && this.menuArray[this.menuIndex]=="9"){
          var str = "{menuIndex:" + this.menuIndex + ",fileIndex:" + this.fileIndex + "}";
          dareUtil.setGlobalVar("global_memu_file_index",str);
       
         dareUtil.setGlobalVar('musicBookList',filename);
         window.location.href = "musicplay.html?name="+filename;
        
      }
      else if(this.imgbtns[this.operationIndex].name =="play" && (this.currentFocus =="btnpic0" || this.currentFocus =="btnpic1")){
      
        this.playMedia(filename);
        break;
      }
     
      //删除确认
      if(this.imgbtns[this.imgbtns.length -1].name =="delete" && this.currentFocus =="btnpic2"){
        deletefrm.style.display ="block";
        this.focusOk();
        break;
      }
      //选集
      if (this.imgbtns[this.operationIndex].name == "subitems" ) {
        var str = "{menuIndex:" + this.menuIndex + ",fileIndex:" + this.fileIndex + "}";
        dareUtil.setGlobalVar("global_memu_file_index",str);
        iframe.src = "drama.html?name="+filename+"&menu_file_index=" + str;
        iframesubitems.className ="iframe";
        $('iframe').focus();
        break;
      }
      //我的专区选集
      if (this.imgbtns[this.operationIndex].name == "mysubitems" ) {
        var str = "{menuIndex:" + this.menuIndex + ",fileIndex:" + this.fileIndex + "}";
        dareUtil.setGlobalVar("global_memu_file_index",str);
        iframe.src = "myspecial.html?name="+filename+"&menu_file_index=" + escape(str);
        iframesubitems.className ="iframe";
        $('iframe').focus();
        break;
      }
      //订购
      if(this.imgbtns[this.operationIndex].name == "order" )
      {
        dareUtil.iFrameResize("iframe",689,413);
        //window.open("order.html", 'height=100,width=400,top=0,left=0,toolbar=no') ;
        iframe.src = "order.html?name="+filename;
        iframesubitems.className ="iframe";
         $('iframe').focus();
         break;
      }
      //选择浏览
      if (this.imgbtns[this.operationIndex].name == "choosebrower" ) {
        var str = "{menuIndex:" + this.menuIndex + ",fileIndex:" + this.fileIndex + "}";
        iframe.src = "infospace.html?name="+filename+"&menu_file_index=" + str;
        iframesubitems.className ="iframe";
        $('iframe').focus();
        break;
      }
      //浏览
      if (this.imgbtns[this.operationIndex].name == "brower" ) {
        var ispic = this.command.isPicMedia(this.name);
        if(ispic){
          this.command.openMedia(this.name);//终端播放图片
        }else{
          //html 播放
          //TERMINAL_LOCALPATH_RELATIVE
          //window.open(this.name);
          //window.open("testspace.html");
        }
        break;
      }
      //片花
      if (this.imgbtns[this.operationIndex].name == "slice") {
        this.command.openMedia(this.name);//终端播放片花
        break;
      }
      else {
       
        if (this.currentFocus == "imgcancel") {//取消删除
          deletefrm.style.display = "none";
          this.currentFocus = "btnpic2";
        }
        else if (this.currentFocus == "imgok")
        {//删除
            deletefrm.style.display = "none";
            this.currentFocus = "btnpic2";
            //删除节目,
            this.command.deleteFile(filename);
            var length = this.command.getFileItemsLength(this.menuIndex,this.showUsbProgram);
            if (length == 0) {//删除后节目列表为空时
              this.columnFocus = FocusMode.MENU;
              this.showMenuArrow();
            }
            else {//刷新节目列表,光标定位在被删除节目的下一个节目上
              this.filelistdown();
            }
            // 远程删除节目的光标定位?使用模拟按键
          }
      }
      break;
  }
}

/**
 * 显示文件箭头
 */
Dare.Main.prototype.showFileArrow = function()
{
  this.hideMenuArrow();
  //this.hideArrow(ArrowType.RIGHT);

  //if($('file3')) $('file3').className = 'filenameHover';
  $('arrowleftOper').style.display = 'none';
  $('arrowrightOper').style.display = 'block';
  dareUtil.showDomObj($('divarrowdown'));
  dareUtil.showDomObj($('divarrowup'));
  dareUtil.showDomObj($('divarrowleft'));
  dareUtil.hideDomObj($('divarrowright'));
 
}
/**
 * 显示菜单箭头
 */
Dare.Main.prototype.showMenuArrow = function(){
  this.showFocusMenuArrow();
  this.showArrow(ArrowType.RIGHT);
  //if($('file3')) $('file3').className = '';
  $('diviframe').style.display = 'none';
  $('arrowleftOper').style.display = 'none';
  $('arrowrightOper').style.display = 'none';
  dareUtil.hideDomObj($('divarrowdown'));
  dareUtil.hideDomObj($('divarrowup'));
  dareUtil.hideDomObj($('divarrowleft'));
  dareUtil.showDomObj($('divarrowright'));
 
}
/**
 * 显示操作箭头
 */
Dare.Main.prototype.showOperationArrow = function(){
  
  if (this.filearray.length == 0) {
    $('diviframe').style.display = 'none';
    return;
  }
 
  this.imgbtns = Operations[this.menuArray[this.menuIndex]];
  //var json = new Dare.JSObject.JSON();
  //alert("1156:"+this.menuIndex);
  if(!this.imgbtns){
    this.imgbtns = this.command.getUserDefineOperations(this.menuArray[this.menuIndex]);
  }
  var statusconfig = this.command.getNetworkStatus();
  var json = new Dare.JSObject.JSON();
  var statusobj = json.toObject(statusconfig);
  if(statusobj && statusobj.status != "3" && statusobj.status != "7"){//没有连接
    for(var m in this.imgbtns){
      if(this.imgbtns[m].name == "order"){
        this.imgbtns.splice(m, 1);
      }
    }
  }
  //dareUtil.debug(this.imgbtns.length);
  $('diviframe').style.display = 'block';
  if (!this.imgbtns || this.imgbtns.length == 0){
    $('diviframe').style.display = 'none';
    this.columnFocus = FocusMode.FILE;
    return;
  }
  else if (this.imgbtns.length == 3) {
    dareUtil.showDomObj($('dmenu1'));
    dareUtil.showDomObj($('dmenu2'));
    if (btnpic0)
      btnpic0.innerText = this.imgbtns[0].text;
    if (btnpic1)
      btnpic1.innerText = this.imgbtns[1].text;
    if (btnpic2)
      btnpic2.innerText = this.imgbtns[2].text;
  }else if(this.imgbtns.length == 2){
     if (btnpic0)
        btnpic0.innerText = this.imgbtns[0].text;
     dareUtil.hideDomObj($('dmenu1'));
     dareUtil.showDomObj($('dmenu2'));
     if (btnpic2)
        btnpic2.innerText = this.imgbtns[1].text;
  }
  else if(this.imgbtns.length == 1){
     if (btnpic0)
        btnpic0.innerText = this.imgbtns[0].text;
     dareUtil.hideDomObj($('dmenu1'));
     dareUtil.hideDomObj($('dmenu2'));
     dareUtil.hideDomObj($('btnarrowdown0'));
  }
  ///////
  dareUtil.hideDomObj($('divarrowdown'));
  dareUtil.hideDomObj($('divarrowup'));
  dareUtil.hideDomObj($('divarrowleft'));

  $('arrowrightOper').style.display = 'none';
  $('arrowleftOper').style.display = 'block';
  this.operationIndex = 0;
  this.operationShow();
  this.currentFocus = "btnpic0";
}
Dare.Main.prototype.showUsbFileArrow = function(){
  //this.hideMenuArrow();
  var paddingleft = 200;
  divarrowup.className = "usbarrowup";
  divarrowdown.className = "usbarrowdown";
  divarrowleft.className = "usbarrowleft";
  //if($('usbfile0')) $('usbfile0').className = 'filenameHover';
  $('arrowleftOper').style.display = 'none';
  $('arrowrightOper').style.display = 'none';
  dareUtil.showDomObj($('divarrowdown'));
  dareUtil.showDomObj($('divarrowup'));
  dareUtil.showDomObj($('divarrowleft'));
  dareUtil.hideDomObj($('divarrowright'));

}
Dare.Main.prototype.keyleftHandler = function(){
  switch (this.columnFocus) {
    case FocusMode.FILE:
      this.columnFocus = FocusMode.MENU;
      this.showMenuArrow();
      break;
    case FocusMode.OPER:
     
      if(this.currentFocus == "imgcancel"){
        this.focusOk();
      }else if(this.currentFocus.substr(0,6) == "btnpic"){
        $('diviframe').style.display = 'none';
        this.columnFocus = FocusMode.FILE;
        this.showFileArrow();
      }
      break;
     
    case FocusMode.USB_FILE:
      $('diviframe').style.display = 'none';
      this.columnFocus = FocusMode.FILE;
      var paddingleft = 200;

      divarrowup.className = "arrowup";
      divarrowdown.className =  "arrowdown";
      divarrowleft.className =  "arrowleft";
      this.showFileArrow();
      break;
  }
}
/**
 * 按右键
 */
Dare.Main.prototype.keyrightHandler = function(){
 
  switch (this.columnFocus) {
    case FocusMode.MENU:
      if(this.filearray && this.filearray.length > 0){
        this.columnFocus = FocusMode.FILE;
        this.showFileArrow();
      }
      if($("filereal3")){
        var name = $("filereal3").innerText;
        if(name == "外置节目"  ||
           name == "外置文件"  ||
           name == "设置"      ||
           name == "下载状态"  ||
           name == "帮助"){
           $('arrowrightOper').style.display = 'none';
        }
      }
     
      break;
    case FocusMode.FILE:
     
      if (this.menuArray[this.menuIndex] != MOVING_INFO_MENU
          && this.menuArray[this.menuIndex] != HELP_INFO_MENU) {
        $('diviframe').style.display = 'block';
        this.columnFocus = FocusMode.OPER;
        this.showOperationArrow();
      } else {//usb 移动信息
        var name = $("filereal3").innerText;
        //dareUtil.debug(name);
        if (name == "音频" || name == "视频" || name == "图片") {
          //dareUtil.debug("this.usbFileCount"+this.usbFileCount);
          if (this.usbFileCount != 0 ) {
            this.columnFocus = FocusMode.USB_FILE;
            this.showUsbFileArrow();
          }
        }
       
      }
      break;
    case FocusMode.OPER:
      if (this.currentFocus == "imgok") {
        this.focusCancel();
      }
  }

}
/**
 * hide文件箭头
 * @param {Object} type
 */
Dare.Main.prototype.hideArrow = function(type)
{
  switch(type){
    case ArrowType.UP : dareUtil.hideDomObj($('divarrowup'));break;
    case ArrowType.DOWN : dareUtil.hideDomObj($('divarrowdown')); break;
    case ArrowType.RIGHT : dareUtil.hideDomObj($('divarrowright')); break;
    case ArrowType.LEFT : dareUtil.hideDomObj($('divarrowleft'));break;
  }
}
/**
 * show 文件箭头
 * @param {Object} type
 */
Dare.Main.prototype.showArrow = function(type)
{
  switch(type){
    case ArrowType.UP : dareUtil.showDomObj($('divarrowup')); break;
    case ArrowType.DOWN : dareUtil.showDomObj($('divarrowdown')); break;
    case ArrowType.RIGHT : dareUtil.showDomObj($('divarrowright'));break;
    case ArrowType.LEFT : dareUtil.showDomObj($('divarrowleft'));;break;
  }
}
var daremain = new Dare.Main();
//daremain.setiPanel(1, '#111111');
document.onkeypress = function(event) {
  daremain.keypressHandler(event);
}

posted @ 2011-08-20 15:58  火腿骑士  阅读(227)  评论(0编辑  收藏  举报