Well, in the code you provided you don't actually have an image anywhere, which is probably the reason you don't see any update when you call the function.
Additionally hyou have the issue that you are sending the parameters to the function as if it was a variable name, not a string. Then you are calling document.image, but that doesn't mean anythin either.
Try something more like so:
CODE
<html>
<head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
<title>velo2</title>
<link rel="stylesheet" href="velo.css" type="text/css">
<script type="text/javascript">
function change(id, newSrc){
obj = document.getElementById(id);
var update_name = "velo/"+newSrc;
obj.src = update_name;
}
</script>
</head>
<body>
<script type="text/javascript">
var test="velo/" + "headerimg_2.jpg"; // THIS CODE DOES NOTHING
</script>
<div class="container">
<img id="TEST_ID" src="" />
<div class="menu">
<ul>
<li><a href="velo2.html" class="about"></a></li>
<li><a href="#" id="menu2" class="menu2" onClick="change('headerimg2_jpg', 'TEST_ID')" ></a></li>
<li><a href="#" id="wine" class="wine"></a></li>
<li><a href="#" id="events" class="events"></a></li>
<li><a href="#" id="press" class="press"></a></li>
<li><a href="#" id="contact" class="contact"></a></li>
<li><a href="#" id="directions" class="directions"></a></li>
</ul>
</div>
HTH