if ( navigator.userAgent.substr( 0, 34 ) == 'Mozilla/4.0 (compatible; MSIE 6.0;'
  || navigator.userAgent.substr( 0, 34 ) == 'Mozilla/4.0 (compatible; MSIE 7.0;'
  || navigator.userAgent.match( /Firefox\/1\.5/ )
  || navigator.userAgent.match(/Firefox\/2\.0/)
  || navigator.userAgent.match(/Firefox\/3\.0/) 
  || navigator.userAgent.substr( 0, 6 ) == 'Opera/' ) {


var watermarkFocus = function( event ) {
  var input = event.srcElement || event.target;
  if ( !input.isWatermark && input.value != input.watermark ) 
    return;
  input.isWatermark = false;
  input.value = '';
  input.className = input.originalClassName;
};


var watermarkBlur = function( event ) {
  var input = event.srcElement || event.target;
  input.isWatermark = input.value == '' || input.value == input.watermark;
  if ( input.isWatermark ) {
    input.className = input.watermarkStyle || input.originalClassName;
    input.value = input.watermark;
  }
};


var watermarkStart = function() {
  var inputs = document.getElementsByTagName( "input" );
  for ( var i = inputs.length - 1; i >= 0; i-- ) {
    var input = inputs[ i ];
    input.watermark = input.getAttribute( "watermark" );
    input.watermarkStyle = input.getAttribute( "watermarkStyle" );
    if ( !input.watermark && !input.watermarkStyle )
      continue;
    if ( input.addEventListener ) {
      input.addEventListener( "focus", watermarkFocus, false );
      input.addEventListener( "blur", watermarkBlur, false );
    } else {
      input.attachEvent( "onfocus", watermarkFocus );
      input.attachEvent( "onblur", watermarkBlur );
    }
    input.originalClassName = input.className;
    input.isWatermark = input.value == '' || input.value == input.watermark;
    if ( input.isWatermark ) {
      input.value = input.watermark;
      input.className = input.watermarkStyle || input.originalClassName;
    }
  }
}


var validatorSubmit = function() {
  var form = typeof event == 'object' ? ( event.srcElement || event.target ) : this;
  var elements = form.elements;
  for ( var i = 0; i < elements.length; i++ ) {
    var element = elements[ i ];
    var minlength = parseInt( element.getAttribute( "minlength" ), 10 );
    if ( typeof minlength == 'number' && element.value.length < minlength ) {
      element.focus();
      var message = element.getAttribute( "requiredMessage" ) || form.getAttribute( "requiredMessage" ) 
        || document.getElementsByTagName( "body" )[ 0 ].getAttribute( "requiredMessage" );
      if ( message )
        alert( message );
      return false;
    }
  }
  return true;
}


var validatorStart = function() {
  var forms = document.getElementsByTagName( "form" );
  for ( var i = forms.length - 1; i >= 0; i-- ) {
    var form = forms[ i ];
    if ( form.addEventListener )
      form.addEventListener( "submit", validatorSubmit, false );
    else
      form.attachEvent( "onsubmit", validatorSubmit );
  }
}


if ( window.addEventListener ) {
  window.addEventListener( "load", watermarkStart, false );
  window.addEventListener( "load", validatorStart, false );
} else {
  window.attachEvent( "onload", watermarkStart );
  window.attachEvent( "onload", validatorStart );
}


}

