I need some more advice on using the this keyword and passing it through a setTimeout thing.

I'm new to this and made up a simple script to make things clear.

This following script changes style when mousing over a paragraph:
Code:
<html>
<head>
 <script type="text/javascript">
 
   function changeNew(){
     this.style.borderBottom = 'dashed 1px #000000';
   }
 
    function changeOld(){
     this.style.borderBottom = 'solid 3px #0099FF';
   }


    function doMyFunc(){
    var thePars = document.getElementsByTagName('p');
    
    for (var i=0; i<thePars.length; i++){
    thePars[i].onmouseover = changeNew;
    thePars[i].onmouseout = changeOld;
    
    }
   }
 
window.onload = doMyFunc;
 
</script>
<title>coffee</title>
</head>
<body>
 
 <p>test 1 </p>
 <p>test 2 </p>
 <p>test 3 </p>
 <p>test 4 </p>
 
</body>
</html>
I pass the value of the referred paragraph to a new function and it gets loaded in the new function with the "this" keyword.
Works okay.

But then I want to use setTimeout to delay the function.
How can I pass the value of the this keyword through that setTimeout ?

With this code it doesn't work out:
Code:
 function firstChange(){
   setTimeout("changeNew",2000);
}

function secondChange(){
  setTimeout("changeOld()",3000);
} 

// the doMyFunc events are linked to these functions above right now

    function doMyFunc(){
    var thePars = document.getElementsByTagName('p');
    
    for (var i=0; i<thePars.length; i++){
    thePars[i].onmouseover = firstChange;
    thePars[i].onmouseout = secondChange;
    
    }
   }
Does someone have a good tutorial around this issue?