function mz_Error_Label() {

  return {

    parseFormFields: function( json, prefix ) {

      prefix = ( ( prefix != null ) && ( prefix != undefined ) ) ? prefix : "";
      json = ( typeof json != "object" ) ? eval( "(" + json + ")" ) : json;

      var obj;
      var focusObj = false;

      for( elem in json ) {

        obj = $( "#" + prefix + elem );

        if( !focusObj ) {
          focusObj = obj;

          focusObj.focus();
        }

        obj.addClass( "error" );
        obj[ 0 ].title = json[ elem ];
        obj.tooltip( {
          className: "error_tooltip",
          fadeIn: 500,
          fadeOut: 500
        } );

      }

    },

    reset: function( obj ) {

      var elem;

      if( typeof obj == "string" ) {
        elem = $( obj + ".error," + obj + " .error" );

      } else {
        elem = $( ".error" );

      }

      elem
        .removeClass( "error" )
        .attr( "title", "" );

    }

  };

}

var mz_error = new mz_Error_Label();