www.thescooterprofessor.proboards.com/index.cgiI've been trying to add a few things to my forum and have done quite a few things lately with good success but these two old codes from the Proboards data base just will not work on my forum?
One id add spell check to the quick reply box and the other put the age of your forum in the Info center. I checked to make sure I had put them in the right place and didn't miss anything with no luck.
The spell check code is very long. I took both of these codes out after they didn't work but if I need to put them back in for you to look at I will. I would appreciate if you could look at these two codes.
<script type="text/javascript">
<!--
function spellChecker( textObject ) {
this.popUpUrl = '/speller/spellchecker.html';
this.popUpName = 'spellchecker';
this.popUpProps = "menu=no,width=440,height=350,top=70,left=120,resizable=yes,status=yes";
this.spellCheckScript = '/speller/server-scripts/spellchecker.pl';
this.replWordFlag = "R";
this.ignrWordFlag = "I";
this.replAllFlag = "RA";
this.ignrAllFlag = "IA";
this.fromReplAll = "~RA";
this.fromIgnrAll = "~IA";
this.wordFlags = new Array();
this.currentTextIndex = 0;
this.currentWordIndex = 0;
this.spellCheckerWin = null;
this.controlWin = null;
this.wordWin = null;
this.textArea = textObject;
this.textInputs = arguments;
this._spellcheck = _spellcheck;
this._getSuggestions = _getSuggestions;
this._setAsIgnored = _setAsIgnored;
this._getTotalReplaced = _getTotalReplaced;
this._setWordText = _setWordText;
this._getFormInputs = _getFormInputs;
this.openChecker = openChecker; this.startCheck = startCheck;
this.checkTextBoxes = checkTextBoxes;
this.checkTextAreas = checkTextAreas;
this.spellCheckAll = spellCheckAll;
this.ignoreWord = ignoreWord;
this.ignoreAll = ignoreAll;
this.replaceWord = replaceWord;
this.replaceAll = replaceAll;
this.terminateSpell = terminateSpell;
this.undo = undo;
window.speller = this;
}
function checkTextBoxes() {
this.textInputs = this._getFormInputs( "^text$" );
this.openChecker();
}
function checkTextAreas() {
this.textInputs = this._getFormInputs( "^textarea$" );
this.openChecker();
}
function spellCheckAll() {
this.textInputs = this._getFormInputs( "^text(area)?$" );
this.openChecker();
}
function openChecker() {
this.spellCheckerWin = window.open( this.popUpUrl, this.popUpName, this.popUpProps );
if( !this.spellCheckerWin.opener ) {
this.spellCheckerWin.opener = window;
}
}
function startCheck( wordWindowObj, controlWindowObj ) {
this.wordWin = wordWindowObj;
this.controlWin = controlWindowObj;
this.wordWin.resetForm();
this.controlWin.resetForm();
this.currentTextIndex = 0;
this.currentWordIndex = 0;
this.wordFlags = new Array( this.wordWin.textInputs.length );
for( var i=0; i<this.wordFlags.length; i++ ) {
this.wordFlags = [];
}
this._spellcheck();
return true;
}
function ignoreWord() {
var wi = this.currentWordIndex;
var ti = this.currentTextIndex;
if( !this.wordWin ) {
alert( 'Error: Word frame not available.' );
return false;
}
if( !this.wordWin.getTextVal( ti, wi )) {
alert( 'Error: "Not in dictionary" text is missing.' );
return false;
}
if( this._setAsIgnored( ti, wi, this.ignrWordFlag )) {
this.currentWordIndex++;
this._spellcheck();
}
}
function ignoreAll() {
var wi = this.currentWordIndex;
var ti = this.currentTextIndex; if( !this.wordWin ) {
alert( 'Error: Word frame not available.' );
return false;
}
var s_word_to_repl = this.wordWin.getTextVal( ti, wi );
if( !s_word_to_repl ) {
alert( 'Error: "Not in dictionary" text is missing' );
return false;
}
this._setAsIgnored( ti, wi, this.ignrAllFlag );
for( var i = ti; i < this.wordWin.textInputs.length; i++ ) {
for( var j = 0; j < this.wordWin.totalWords( i ); j++ ) {
if(( i == ti && j > wi ) || i > ti ) {
if(( this.wordWin.getTextVal( i, j ) == s_word_to_repl ) && ( !this.wordFlags[j] )) {
this._setAsIgnored( i, j, this.fromIgnrAll ); }
} } }
this.currentWordIndex++;
this._spellcheck();}function replaceWord() {
var wi = this.currentWordIndex; var ti = this.currentTextIndex; if( !this.wordWin ) {
alert( 'Error: Word frame not available.' );
return false; }
if( !this.wordWin.getTextVal( ti, wi )) {
alert( 'Error: "Not in dictionary" text is missing' );
return false; } if( !this.controlWin.replacementText ) {
return; } var txt = this.controlWin.replacementText;
if( txt.value ) { var newspell = new String( txt.value );
if( this._setWordText( ti, wi, newspell, this.replWordFlag )) {
this.currentWordIndex++; this._spellcheck();
}
}}function replaceAll() {
var ti = this.currentTextIndex;
var wi = this.currentWordIndex; if( !this.wordWin ) {
alert( 'Error: Word frame not available.' ); return false; }
var s_word_to_repl = this.wordWin.getTextVal( ti, wi ); if( !s_word_to_repl ) {
alert( 'Error: "Not in dictionary" text is missing' );
return false;
}
var txt = this.controlWin.replacementText;
if( !txt.value ) return;
var newspell = new String( txt.value ); this._setWordText( ti, wi, newspell, this.replAllFlag );
for( var i = ti; i < this.wordWin.textInputs.length; i++ ) {
for( var j = 0; j < this.wordWin.totalWords( i ); j++ ) {
if(( i == ti && j > wi ) || i > ti ) {
if(( this.wordWin.getTextVal( i, j ) == s_word_to_repl ) && ( !this.wordFlags[j] )) {
this._setWordText( i, j, newspell, this.fromReplAll );
}
}
}
}
this.currentWordIndex++;
this._spellcheck();}function terminateSpell() {
var msg = "Spell check complete:\n\n";
var numrepl = this._getTotalReplaced(); if( numrepl == 0 ) {
if( !this.wordWin ) {
msg = "";
} else {
if( this.wordWin.totalMisspellings() ) {
msg += "No words changed.";
} else {
msg += "No misspellings found.";
}
} } else if( numrepl == 1 ) {
msg += "One word changed.";
} else {
msg += numrepl + " words changed.";
}
if( msg ) {
msg += "\n"; alert( msg );
}
if( numrepl > 0 ) {
for( var i = 0; i < this.textInputs.length; i++ ) {
if( this.wordWin ) {
if( this.wordWin.textInputs ) {
this.textInputs.value = this.wordWin.textInputs;
}
}
}
}
this.spellCheckerWin.close();
return true;
}function undo() {
var ti = this.currentTextIndex;
var wi = this.currentWordIndex;
if( this.wordWin.totalPreviousWords( ti, wi ) > 0 ) {
this.wordWin.removeFocus( ti, wi ); do {
if( this.currentWordIndex == 0 && this.currentTextIndex > 0 ) {
this.currentTextIndex--;
this.currentWordIndex = this.wordWin.totalWords( this.currentTextIndex )-1;
if( this.currentWordIndex < 0 ) this.currentWordIndex = 0;
} else { if( this.currentWordIndex > 0 ) {
this.currentWordIndex--;
}
}
} while (
this.wordWin.totalWords( this.currentTextIndex ) == 0 || this.wordFlags[this.currentTextIndex][this.currentWordIndex] == this.fromIgnrAll || this.wordFlags[this.currentTextIndex][this.currentWordIndex] == this.fromReplAll );
var text_idx = this.currentTextIndex;
var idx = this.currentWordIndex;
var preReplSpell = this.wordWin.originalSpellings[text_idx][idx];
if( this.wordWin.totalPreviousWords( text_idx, idx ) == 0 ) {
this.controlWin.disableUndo(); }
switch( this.wordFlags[text_idx][idx] ) {
case this.replAllFlag :
for( var i = text_idx; i < this.wordWin.textInputs.length; i++ ) {
for( var j = 0; j < this.wordWin.totalWords( i ); j++ ) {
if(( i == text_idx && j >= idx ) || i > text_idx ) {
var origSpell = this.wordWin.originalSpellings[j];
if( origSpell == preReplSpell ) {
this._setWordText ( i, j, origSpell, undefined );
}
}
}
}
break;
case this.ignrAllFlag :
for( var i = text_idx; i < this.wordWin.textInputs.length; i++ ) {
for( var j = 0; j < this.wordWin.totalWords( i ); j++ ) {
if(( i == text_idx && j >= idx ) || i > text_idx ) {
var origSpell = this.wordWin.originalSpellings[j];
if( origSpell == preReplSpell ) {
this.wordFlags[j] = undefined;
}
}
}
}
break;
case this.replWordFlag :
this._setWordText ( text_idx, idx, preReplSpell, undefined );
break; }
this.wordFlags[text_idx][idx] = undefined;
this._spellcheck(); }}function _spellcheck() {
var ww = this.wordWin;
if( this.currentWordIndex == ww.totalWords( this.currentTextIndex) ) {
this.currentTextIndex++;
this.currentWordIndex = 0;
if( this.currentTextIndex < this.wordWin.textInputs.length ) {
this._spellcheck();
return;
} else {
this.terminateSpell();
return;
}
}
if( this.currentWordIndex > 0 ) {
this.controlWin.enableUndo();
}
if( this.wordFlags[this.currentTextIndex][this.currentWordIndex] ) {
this.currentWordIndex++;
this._spellcheck();
} else {
var evalText = ww.getTextVal( this.currentTextIndex, this.currentWordIndex );
if( evalText ) {
this.controlWin.evaluatedText.value = evalText;
ww.setFocus( this.currentTextIndex, this.currentWordIndex );
this._getSuggestions( this.currentTextIndex, this.currentWordIndex );
}
}
}function _getSuggestions( text_num, word_num ) {
this.controlWin.clearSuggestions();
var a_suggests = this.wordWin.suggestions[text_num][word_num];
if( a_suggests ) {
for( var ii = 0; ii < a_suggests.length; ii++ ) {
this.controlWin.addSuggestion( a_suggests[ii] );
}
}
this.controlWin.selectDefaultSuggestion();
}
function _setAsIgnored( text_num, word_num, flag ) {
this.wordWin.removeFocus( text_num, word_num );
this.wordFlags[text_num][word_num] = flag;
return true;
}
function _getTotalReplaced() {
var i_replaced = 0;
for( var i = 0; i < this.wordFlags.length; i++ ) {
for( var j = 0; j < this.wordFlags.length; j++ ) {
if(( this.wordFlags[j] == this.replWordFlag ) || ( this.wordFlags[j] == this.replAllFlag ) || ( this.wordFlags[j] == this.fromReplAll )) {
i_replaced++; } } }
return i_replaced;
}
function _setWordText( text_num, word_num, newText, flag ) {
this.wordWin.setText( text_num, word_num, newText );
this.wordFlags[text_num][word_num] = flag;
return true;
}
function _getFormInputs( inputPattern ) {
var inputs = new Array();
for( var i = 0; i < document.forms.length; i++ ) {
for( var j = 0; j < document.forms.elements.length; j++ ) {
if( document.forms.elements[j].type.match( inputPattern )) {
inputs[inputs.length] = document.forms.elements[j];
}
}
}
return inputs;
}
function openSpellCheck(){
if(document.postForm)
var speller = new spellChecker(document.postForm.subject,document.postForm.message);
else
var speller = new spellChecker(document.getElementsByName('message')[0]);
speller.openChecker();
}
// -->
</script>
<script type="text/javascript">
<!--
/* spell check with quick reply */
var mes = document.getElementsByName('message');
if(mes[0] && !document.postForm) {
var qrForm = mes[0].parentNode;
var pre = document.createElement('font');
pre.innerHTML = '<input type="button" value="Spell Check" onclick="openSpellCheck();">';
qrForm.insertBefore(pre, qrForm.lastChild.previousSibling)
}
//-->
</script>
Second one is forum age in the Info center.
<script type="text/javascript">
<!--
/* add "forum age" to the info center
101support.proboards43.com - ross */
var startDate = ['28','06','2005']; // Forum start date in the form ['day','month','year']
// no need to edit below
if(pb_action == 'home') {
var td = document.getElementsByTagName('td');
var sta = new Date();
sta.setDate(startDate[0]);
sta.setMonth(startDate[1]-1);
sta.setYear(startDate[2]);
var cur = new Date();
var dif = cur - sta;
var totalMonth = 0;
var totalYear = 0;
var totalDay = Math.floor(dif/(60 * 60 * 24 * 1000)) + 1;
while(totalDay >= 365) {
totalDay -= 365;
totalYear++;
}
var nDay=365/12;
while(totalDay >= nDay) {
totalDay -= nDay;
totalMonth++;
}
totalDay=Math.round(totalDay);
var age = totalDay+' days';
if(totalMonth > 0)
age += ', '+ totalMonth +' months';
if(totalYear > 0)
age += ', '+ totalYear +' year';
age += '.';
for (i=td.length-1; i>0; i--) {
if(td.width == '40%' && td[i-1].width == '60%') {
td.firstChild.innerHTML += '<br />Forum Age: '+age;
break;
}
}
}
//-->
</script>
--------------------------------------------------------------------------------
Or to have it in the form years, months, days use:
<script type="text/javascript">
<!--
/* add "forum age" to the info center
101support.proboards43.com - ross */
var startDate = ['28','06','2005']; // Forum start date in the form ['day','month','year']
// no need to edit below
if(pb_action == 'home') {
var td = document.getElementsByTagName('td');
var sta = new Date();
sta.setDate(startDate[0]);
sta.setMonth(startDate[1]-1);
sta.setYear(startDate[2]);
var cur = new Date();
var dif = cur - sta;
var totalMonth = 0;
var totalYear = 0;
var totalDay = Math.floor(dif/(60 * 60 * 24 * 1000)) + 1;
while(totalDay >= 365) {
totalDay -= 365;
totalYear++;
}
var nDay=365/12;
while(totalDay >= nDay) {
totalDay -= nDay;
totalMonth++;
}
totalDay=Math.round(totalDay);
var age = "";
if(totalYear > 1)
age += totalYear +' years, ';
else if(totalYear > 0)
age += totalYear +' year, ';
if(totalMonth > 0)
age += totalMonth +' months, ';
age += totalDay+' days.';
for (i=td.length-1; i>0; i--) {
if(td.width == '40%' && td[i-1].width == '60%') {
td.firstChild.innerHTML += '<br />Forum Age: '+age;
break;
}
}
}
//-->
</script>
[M�D:annoyed]