Have you looked at jQuery Tools Expose?
Here is some code using Expose with mouseover... I also posted a sample at this pastebin
$(function() {
$("#test").hover(
function() {
$(this).expose({api: true}).load()
}, function() {
$(this).expose().close();
});
});
Edit: Sorry, here is the code for focus & blur:
$(function() {
$("#test")
.focus(function() {
$(this).expose({api: true}).load();
})
.blur(function() {
$(this).expose().close();
});
});
Edit #3: Just because I have OCD and can't leave things hanging LOL... I worked out a script that does what you want without using Expose (posted at this pastebin as well). You can add a fade in and fade out if you want.
CSS
input, select { width: 200px; }
#expose {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: #444;
z-index: 99;
}
.focused {
position: relative;
top: 0;
left: 0;
z-index: 100;
}
label.focused {
color: #ddd;
}
HTML (I tried to mimic your image)
<fieldset><legend>Fields</legend>
<label for="frespon">Responsibilites:</label><br/>
<input type="text" id="frespon" class="expose" /><br/>
<br/>
<label for="fprojectid">ProjectID:</label><br/>
<select id="fprojectid" class="expose">
<option value='-'>-</option>
</select><br/>
<br/>
<label for="fstatusid">StatusID:</label><br/>
<select id="fstatusid" class="expose">
<option value='-'>-</option>
</select><br/>
<br/>
<label for="ftypeid">TypeID:</label><br/>
<select id="ftypeid" class="expose">
<option value='-'>-</option>
</select><br/>
<br/>
<label for="ftitle">Title:</label><br/>
<input type="text" id="ftitle" class="expose" /><br/>
</fieldset>
Scripting
$(document).ready(function(){
$('.expose').focus(function(){
$('<div></div>')
.attr('id','expose')
.appendTo('body');
$(this).addClass('focused')
.parent().find('label[for="' + this.id + '"]').addClass('focused');
})
$('.expose').blur(function(){
$('.expose').removeClass('focused')
.parent().find('label[for="' + this.id + '"]').removeClass('focused');
$('#expose').remove();
})
})