var ver = navigator.appVersion;
var isMSIE=false;
if (ver.indexOf("MSIE") != -1){isMSIE=true;}

var activ_grid="";
var active_row="";
var sel_action=0;
var old_class = '';

function selRow(tr)
 {
  activ_grid = tr.parentNode;
  if(!activ_grid)  {  activ_grid=document.getElementById("list_body");   }
  if(!activ_grid){return true;}
  if(activ_grid.disabled) {return true;}
  //if(tr.parentNode.disabled) {return true;}
  active_row.className = old_class;
  active_row=tr;
  activ_grid=tr.parentNode;
  old_class = active_row.className
  active_row.className="lines";
  if(sel_action){jfOnRowSelect(tr);}
 }

function selDown()
 {
  activ_grid=active_row.parentNode;
  next=active_row.rowIndex;
  all=activ_grid.rows.length
  if(next<all)
   {
    selRow(activ_grid.rows.item(next));
    //active_row.className="ltcells1";
    //active_row=activ_grid.rows.item(next);
    //active_row.className="ltcells2"
   }
 }
function selUp()
 {
  activ_grid=active_row.parentNode;
  prev=active_row.rowIndex-2;
  if(prev>=0)
   {
    selRow(activ_grid.rows.item(prev));
    //active_row.className="ltcells1";
    //active_row=activ_grid.rows.item(prev);
    //active_row.className="ltcells2"
   }
 }
function checkKey(e)
 {
   if(activ_grid.disabled) {return true;}

     if(window.event) // IE
      {
       keynum = e.keyCode
      }
      else
       {
         if(e.which) // Netscape/Firefox/Opera
          {
           keynum = e.which
          }
       }
    if(active_row)
     {
      if((keynum==40)||(keynum==98)){selDown();}
      if((keynum==38)||(keynum==104)){selUp();}
     }
 }

//двигаем строчку заменяя поля order
// id  -  уникальный ключ выборки
// pref  -  префикс контрола
// cmd  -  направление 1 - вверх 2 - вниз
function moveRowScroll(id,pref,cmd)
 {
  //переписываем порядки следующих строк
  var curTR=document.getElementById(pref+"_"+id);
  var grid=curTR.parentNode;
  var rcount=grid.rows.length;
  var lorder=document.getElementById(pref+"_order_"+id).innerHTML;
  //alert(curTR.id+' ind='+curTR.rowIndex);
  var ind=curTR.rowIndex;
  
  //если вверх то опустим предыдущую
  var newIndex=0;
  if(cmd=='1')
   {
    if(ind>1)
     {
      //получим предыдущую строку чтобы поменять порядок
      var pTR=grid.rows.item(ind-2);
//alert(pTR.id);
      var rid=pTR.id.replace(pref+"_","");
      var rorder=document.getElementById(pref+"_order_"+rid).innerHTML;
          //alert("order="+lorder+"  newOrder="+rorder);
      document.getElementById(pref+"_order_"+id).innerHTML=rorder;
      document.getElementById(pref+"_order_"+rid).innerHTML=lorder;
      newIndex=ind-2;
      ord=lorder-1;

      if(isMSIE)
       {
        grid.moveRow(ind-1,newIndex);
       }
      else
       {
        var sTmp=curTR.innerHTML;
        //таки подменяем ID у строчек
        var pID=pTR.id;
        var curID=curTR.id;
        //alert("current row ID="+curID+" prewID="+pID)
        curTR.innerHTML=pTR.innerHTML;
        pTR.innerHTML=sTmp
        //заменим таки ID
        pTR.setAttribute("id",curID);
        curTR.setAttribute("id",pID);
        //alert("current row ID="+curTR.id+" prewID="+pTR.id)
        selRow(pTR);
       }
     }
   }

  if(cmd=='2')
   {
    if(ind<rcount)
     {
      var pTR=grid.rows.item(ind);
      var rid=pTR.id.replace(pref+"_","");
      var rorder=document.getElementById(pref+"_order_"+rid).innerHTML;
      document.getElementById(pref+"_order_"+id).innerHTML=rorder;
      document.getElementById(pref+"_order_"+rid).innerHTML=lorder;
      newIndex=ind;
      ord=lorder+1;
      if(isMSIE)
       {
        grid.moveRow(ind-1,newIndex);
       }
      else
       {
        var sTmp=curTR.innerHTML;
        //таки подменяем ID у строчек
        var pID=pTR.id;
        var curID=curTR.id;
        curTR.innerHTML=pTR.innerHTML;
        pTR.innerHTML=sTmp
        //заменим таки ID
        pTR.setAttribute("id",curID);
        curTR.setAttribute("id",pID);
        //alert("current row ID="+curTR.id+" prewID="+pTR.id)
        selRow(pTR);
       }
     }
   }
   
 }

function delRow(id,pref) {
  var row=document.getElementById(pref+"_"+id);
  if(!row){return 0;}
  //var ind=row.rowIndex - 1;
  var ind=row.rowIndex;
  var cntCells = row.cells.length;
  
  if(document.getElementById(pref+"_order_"+id)){
    var lorder=document.getElementById(pref+"_order_"+id).innerHTML;
    for(i=ind;i<activ_grid.rows.length;i++)  {
      lID=activ_grid.rows.item(i).id.replace(pref+"_","");
      ord=document.getElementById(pref+"_order_"+lID);
      lorder=ord.innerHTML;
      ord.innerHTML=lorder-1;
    }
  }
  //убираем строчку
  activ_grid.deleteRow(ind-1);
  
  //activ_grid.deleteRow(ind);

  //если есть строчки сделаем активной первую
  if(activ_grid.rows.length>0)  {selRow(activ_grid.rows[0]);}
  else {
    //если убили последнюю строку то в парент добувим пустую
    var newRow = activ_grid.parentNode.insertRow(-1);
    newRow.className = 'lineb';
    newRow.setAttribute('id', pref+'_0');
    for(i=0; i<cntCells; i++){
      var cell = newRow.insertCell(-1);
    }
  }
}

function getID(pref) {
  return active_row.id.replace(pref,"");
}
 
function clearTable(id) {
  while($(id).rows.length>0){
    $(id).deleteRow(0);
  }
  return false;
}
