jQuery.fn.DefaultValue = function(text,hidden_password_field){

return this.each(function(){
var mInputName = this.id;
//Store field reference
var fld_current=this;
//Make sure we're dealing with text-based form fields
if(fld_current.type != 'text' && fld_current.type != 'password' && fld_current.type != 'textarea')
return;

//Set value initially if none are specified
if(fld_current.value=='') {
fld_current.value=text;
if(fld_current.type=='password' && hidden_password_field!=''){
jQuery("#"+hidden_password_field).show();
jQuery("#"+hidden_password_field).val(text);
jQuery("#"+mInputName).val('');
jQuery("#"+mInputName).hide();
}
} else {
//Other value exists – ignore
return;
}

//Remove values on focus
jQuery(fld_current).focus(function() {
if(fld_current.value==text || fld_current.value==''){
fld_current.value='';
}
});

if(fld_current.type=='password' && hidden_password_field!=''){
jQuery("#"+hidden_password_field).focus(function() {
jQuery("#"+hidden_password_field).hide();
jQuery("#"+mInputName).show();
jQuery("#"+mInputName).focus();
});
}

//Place values back on blur
jQuery(fld_current).blur(function() {
if(fld_current.value==text || fld_current.value=='')
fld_current.value=text;
if(fld_current.type=='password' && hidden_password_field!=''){
jQuery("#"+hidden_password_field).show();
jQuery("#"+mInputName).hide();
jQuery("#"+mInputName).val('');
}
});

//Capture parent form submission
//Remove field values that are still default
jQuery(fld_current).parents("form").each(function() {
//Bind parent form submit
jQuery(fld_current).submit(function() {
if(fld_current.value==text) {
fld_current.value='';
}
});
});
});
};
