var startOp = .01;
var defTop = 160;
var lastMovElNm;

function divVal(val){
  if (val == 0) return '0'; else
  if (val == 100) return '1'; else
  if (val < 10) return '.0'+val; else
  return '.'+val;
}

function SetA(obj,val) {
 if (obj) {
   var xVal = divVal(val);
   if (obj.filters && obj.filters.alpha) obj.filters.alpha.opacity = val;
   obj.style.opacity = xVal;
   obj.style["-moz-opacity"] = xVal;
 }
}

function ChangeEl(nm) {
 var obj = getObj(nm);

 if (obj) {
   obj.alph += obj.alphAdd;
   obj.y += obj.yAdd;
   obj.style.top = obj.y + 'px';

   obj.steps --;

   if (obj.steps>0 && obj.style.visibility != 'hidden') {
     SetA(obj,parseInt(obj.alph));
     setTimeout("ChangeEl('"+nm+"')",50);
   } else {
     SetA(obj,obj.maxA);
     obj.style.top = obj.mY+'px';
   }
 }
}

function ElementMov(nm, nx, ny, nz, val, steps, maxalpha) {  // if steps>0 - fade
 var obj = getObj(nm);

 if (obj) {
   if (!obj.style.opacity) obj.style.opacity = startOp;
   if (!obj.style.top) obj.style.top = defTop+'px';

   if (nz > -1) obj.style.zIndex = nz;
   obj.alph = parseInt(obj.style.opacity*100);

   obj.y = parseInt(obj.style.top);

   obj.mY = ny;
   obj.steps = steps;
   obj.alphAdd = (maxalpha-obj.alph)/steps;

   obj.yAdd = (ny-obj.y)/steps;
   obj.maxA = maxalpha;

   setTimeout("ChangeEl('"+nm+"')",10);
 }
}

function moveIn(nm) {
 if (lastMovElNm) {
   moveOut(lastMovElNm);
 } else {
   ElementMov('mainTab',-1,20,10,100,4,100);
 }

 lastMovElNm = nm;
 ElementMov(nm,-1,320,4,100,8,100);
}

function moveOut(nm) {
 lastMovElNm = undefined;
 ElementMov(nm,-1,defTop,3,50,8,0);
}


