var ver = navigator.appVersion;
var isMSIE=false;
if (ver.indexOf("MSIE") != -1){isMSIE=true;}

var activ_grid="";
var active_row="";
var sel_action=0;

function selRow(tr)
 {
  if(activ_grid.disabled) {return true;}
  //if(tr.parentNode.disabled) {return true;}
  active_row.className="ltcells1";
  active_row=tr;
  activ_grid=tr.parentNode;
  active_row.className="ltcells2";
  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;
  var ind=0;
  ind=curTR.rowIndex;

  //если вверх то опустим предыдущую
  var newIndex=0;
  if(cmd=='1')
   {
    if(ind>1)
     {
      //получим предыдущую строку чтобы поменять порядок
      var pTR=grid.rows.item(ind-2);
      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;
  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);

  //если есть строчки сделаем активной первую
  if(activ_grid.rows.length>0)  {selRow(activ_grid.rows[0]);}
}
 
function getID(pref)
 {
  return active_row.id.replace(pref,"");
 }
