var opacing;
var opLepes = new Object();
var opTimeOuts = new Object();


function opaceMe( elem, innen, eddig, lepesszam, hide )
{
  if ( opTimeOuts[elem.getAttribute('id')] )
      clearTimeout( opTimeOuts[elem.getAttribute('id')] );
 if ( hide )
    opacing = elem;
 else
 {
      opacing = null;
 }

 suffix = "%";
 if ( innen.toString().search( '%' ) != -1 )
 {
    innen = parseInt( innen );
    eddig = parseInt( eddig );
 }

    var lepes;
    if ( opLepes[elem.getAttribute('id')] )
        lepes = opLepes[elem.getAttribute('id')];
    else
        lepes = 0;


    var eredeti;


    function opaceMeCore()
    {
     if ( opacing == elem )
     {
       if ( lepesszam > lepes )
       {
        lepes++;
       }
     }
     else
     {
         if ( lepes > 0 )
         {
          --lepes;
         }
     }
     opLepes[elem.getAttribute('id')] = lepes;




     elem.style.filter = "alpha(opacity="+parseInt(innen + ( lepes / lepesszam ) * ( eddig - innen ) ) + ")";
     elem.style.opacity = ( innen + ( lepes/lepesszam ) * ( eddig - innen ) ) / 100;

     if ( lepes > 0 && lepes < lepesszam )
     {
      opTimeOuts[elem.getAttribute('id')] = setTimeout( opaceMeCore, 20 );
     }


    }
    opTimeOuts[elem.getAttribute('id')] = setTimeout( opaceMeCore, 20 );
}

function opaceUs( elemek, innen, eddig, lepesszam, hide )
{
  if ( opTimeOuts[elemek.name] )
      clearTimeout( opTimeOuts[elemek.name] );
 if ( hide )
    opacing = elemek.name;
 else
 {
      opacing = null;
 }

 suffix = "%";
 if ( innen.toString().search( '%' ) != -1 )
 {
    innen = parseInt( innen );
    eddig = parseInt( eddig );
 }

    var lepes;
    if ( opLepes[elemek.name] )
        lepes = opLepes[elemek.name];
    else
        lepes = 0;


    var eredeti;


    function opaceUsCore()
    {
     if ( opacing == elemek.name )
     {
       if ( lepesszam > lepes )
       {
        lepes++;
       }
     }
     else
     {
         if ( lepes > 0 )
         {
          --lepes;
         }
     }
     opLepes[elemek.name] = lepes;

     for ( var i = 0; i < elemek.length; i++ )
     {
       elemek[i].style.filter = "alpha(opacity="+parseInt(innen + ( lepes / lepesszam ) * ( eddig - innen ) ) + ")";
       elemek[i].style.opacity = ( innen + ( lepes/lepesszam ) * ( eddig - innen ) ) / 100;
     }
     if ( lepes > 0 && lepes < lepesszam )
     {
      opTimeOuts[elemek.name] = setTimeout( opaceUsCore, 20 );
     }


    }
    opTimeOuts[elemek.name] = setTimeout( opaceUsCore, 20 );
}