function ASSign( f )
{
  var t = f.comment.value.replace(/^\s+|\s+$/g, ""), l = t.length, s = 0,
      a = new Array() ;
  for( var i = 0 ; a.length < 8 && i < l ; i++ ) {
    var c = t.charCodeAt( i ) ;
    if( c < 0x80 ) a.push( c ) ;
    else if( c < 0x800 ) a.push( ( c >> 6 ) | 0xC0 ), a.push( ( c & 0x3F ) | 0x80 ) ;
    else a.push( ( c >> 12 ) | 0xE0 ), a.push( ( ( c >> 6 ) & 0x3F ) | 0x80 ), a.push( ( c & 0x3F ) | 0x80 ) ;
  }
  l = ( a.length > 8 ) ? 8 : a.length ;
  for( var i = 0, j = 0 ; i < l ; i++, j += 4 ) {
     s = ( s + ( a[ i ] << j ) ) & 0xFFFFFFFF ;
  }
  s ^= parseInt( f.sync.value, 16 ) ;
  f.sign.value = ( ( s >> 16 ) & 0xFFFF ).toString( 16 ) + 
      ( s & 0xFFFF ).toString( 16 ) ;  
}

