/*
*
*  JQuery fieldFocus 1.0
*  
*  http://wdevblog.net.ru
*
*/


jQuery.fn.fieldFocus = function(){
  function formCheeck(form,field,val){
    jQuery(form).bind('submit',function(){
      if(jQuery(field).val()==val){
        jQuery(field).val('');
      }
      return true;
    });
  }
  function findForm(elem){
    var form = jQuery(elem).parent();
    if(jQuery(form).is('form')==false){
      return findForm(form);
    }else{
      return form;
    }
  }
  jQuery(this).each(function(i){
    var value = jQuery(this).attr('title');
    if(jQuery(this).is(':password')){
      var passInput = jQuery(this);
      var inputStyle = jQuery(this).attr('style') ? jQuery(this).attr('style') : '';
      jQuery(passInput).after('<input type="text" class="'+jQuery(passInput).attr('class')+'" value="'+value+'" title="'+jQuery(passInput).attr('title')+'" style="'+inputStyle+'" size="'+jQuery(passInput).attr('size')+'" maxlength="'+jQuery(passInput).attr('maxlength')+'">');
      var textInput = jQuery(this).next();
      if(jQuery(passInput).val()==''){
        jQuery(passInput).val("").hide();
      }else{
        jQuery(textInput).hide();
      }
      jQuery(textInput).focus(function(){
        if(jQuery(this).val()==value || jQuery(this).val()==''){
          jQuery(passInput).show().focus();
          jQuery(this).hide();
        }
      });
      jQuery(passInput).blur(function(){
        if(jQuery(this).val()==""){
          jQuery(this).hide();
          jQuery(textInput).show();
        }
      });
    }else{
      if(jQuery(this).val()=='')
        jQuery(this).val(value);
      jQuery(this)
      .focus(function(){
        if(jQuery(this).val()==value || jQuery(this).val()==''){
          jQuery(this).val("");
        }
      })
      .blur(function(){
        if(jQuery(this).val()=="")
          jQuery(this).val(value);
      });
    }
    var thisForm = findForm(jQuery(this));
    formCheeck(thisForm,jQuery(this),value);
  });
  return this;
}
