var nuAnimaElementele = new Array();
var linkDirect = new Array();

function doPaddingChangeMem(elem,startPadding,endPadding,steps,intervals,powr)
{
  //Padding changer with Memory by www.hesido.com
  if (elem.paddingChangeMemInt)
    window.clearInterval(elem.paddingChangeMemInt);
  var actStep = 0;
  elem.paddingChangeMemInt = window.setInterval(
    function() {
      elem.currentPadding = easeInOut(startPadding,endPadding,steps,actStep,powr);
      elem.style.paddingLeft = elem.currentPadding + "px";
      actStep++;
      if (actStep > steps) window.clearInterval(elem.paddingChangeMemInt);
    }
    ,intervals)
}

function paddingChange(obj, vali, valf)
{
  if(nuAnima(obj.id)) return;
  if (!obj.currentPadding)
  {
    obj.currentPadding = vali;
    obj.initialPadding = vali;
  }
  obj.style.color = '#666666';
  //if no memory is set, set it first;
  doPaddingChangeMem(obj,obj.currentPadding,valf,10,10,0.5);
}

function paddingRestore(obj, vali)
{
  if (!obj.currentPadding) return;
  if(!nuAnima(obj.id)) obj.style.color = '#9e9fa1';
  doPaddingChangeMem(obj,obj.currentPadding,obj.initialPadding,10,10,0.5);
}

function easeInOut(minValue,maxValue,totalSteps,actualStep,powr) {
  //Generic Animation Step Value Generator By www.hesido.com
  var delta = maxValue - minValue;
  var stepp = minValue+(Math.pow(((1 / totalSteps) * actualStep), powr) * delta);
  return Math.ceil(stepp)
}

function nuAnima(elem)
{
  var i;
  for(i=0; i<nuAnimaElementele.length; i++)
      if(nuAnimaElementele[i] == elem) return true;
  return false;
}

function stergeNuAnima(elem)
{
  var i;
  elem.style.color = "#9e9fa1";
  for(i=0; i<nuAnimaElementele.length; i++)
      if(nuAnimaElementele[i] == elem.id) nuAnimaElementele.splice(i, 1);
}

function areLink(elem)
{
  var i;
  for(i=0; i<linkDirect.length; i++)
      if(linkDirect[i] == elem) return true;
  return false;
}
