// Copyright 2006 Dean Layton-James and Digital Marmalade Ltd // dean _at_ digitalmarmalade _dot_ co _dot_ uk // Define the array of phrases to search for function doPRAKGlossary( ) { var aGlossary = new Array() ; aGlossary[0] = new Array() ; aGlossary[0][0] = 'apprenticeship::=::2' ; aGlossary[0][1] = 'apprentice::=::2' ; aGlossary[0][2] = 'JTL apprentice::=::2' ; aGlossary[0][3] = 'JTL apprenticeship::=::2' ; aGlossary[0][4] = 'Advanced Apprenticeship::=::2' ; aGlossary[1] = new Array() ; aGlossary[1][0] = 'LSC::=::29' ; aGlossary[1][1] = 'Learning Skills Council::=::29' ; aGlossary[1][2] = 'Learning & Skills Council::=::29' ; aGlossary[1][3] = 'Learning and Skills Council::=::29' ; aGlossary[2] = new Array() ; aGlossary[2][0] = 'Amicus::=::173' ; aGlossary[3] = new Array() ; aGlossary[3][0] = 'ECA::=::174' ; aGlossary[3][1] = 'Electrical Contractors Association::=::174' ; aGlossary[3][2] = 'The Electrical Contractors’ Association::=::174' ; aGlossary[4] = new Array() ; aGlossary[4][0] = 'Breaking the Mould::=::179' ; aGlossary[5] = new Array() ; aGlossary[5][0] = 'HSE::=::180' ; var iLength = aGlossary.length ; var iPos = 0 ; var iTmp = 0 ; var iFound = -1; var sBodyText = '' ; var sLCBodyText = '' ; var newText = '' ; var sSearchTerm = '' ; var iFoundID = -1 ; var sLookFor = '' ; var iGlossaryID = -1 ; var aArraySplit = new Array() ; var regex=/[0-9A-Za-z]*/; sBodyText = '
' ; // 01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 //sBodyText = 'this is jtl prog progress in apprenticeships for all jtl apprentices and any apprentice' ; // 162 for (var iLoop = 0; iLoop < iLength; iLoop++) { // get size of nested array var iInnerLength = aGlossary[iLoop].length ; // get the pages html sBodyText = document.body.innerHTML ; iPos = -1 ; iFoundID = -1 ; sSearchTerm = '' ; iGlossaryID = -1 ; aArraySplit = new Array() ; for (var iInnerLoop = 0; iInnerLoop < iInnerLength; iInnerLoop++) { // get lower case copy of the page html sLCBodyText = sBodyText.toLowerCase() ; // reset found and TmpTot counter for this word iFound = -1 ; iTmp = -1 ; // extract searchPhrase and Glossary ID from array value aArraySplit = aGlossary[iLoop][iInnerLoop].split('::=::') ; sLookFor = jsStripSlashes(aArraySplit[0]) ; iGlossaryID = aArraySplit[1] ; // loop through the whole page looking for the matchphrase while( iFound < 0 ) { // find next occurance further down the string iTmp = sLCBodyText.indexOf(sLookFor.toLowerCase(), iTmp + 1 ); // alert( 'iTmp = '+iTmp+' when searching for :: ' + sLookFor.toLowerCase() + ' :: in :: ' + sLCBodyText ); // iTmp == -1 means not found if( iTmp < 0 ) { // Not found so return the original Body Text iFound++ ; // alert( 'String Not Found :: ' + sLookFor.toLowerCase() ) ; } else { // string found // alert( 'String Found at :: ' + iTmp + ' :: ' + sLookFor.toLowerCase() ) ; // string has been found, is it a whole word? // Get Previous and next Chars to check for word boundry if( iTmp >= 0 ) { var sPrevChar = sLCBodyText.substr((iTmp - 1), 1) ; } else { var sPrevChar = '' ; } if( iTmp + sLookFor.length < sLCBodyText ) { var sNextChar = '' ; } else { var sNextChar = sLCBodyText.substr(iTmp + sLookFor.length, 1) ; } // is the search string a whole word and not part of another word? if( iTmp >= 0 && !isAlphaNum( sNextChar ) && !isAlphaNum( sPrevChar ) ) { // is the search stringpart of a tag e.g. ', iTmp) >= sLCBodyText.lastIndexOf('<', iTmp) ) { // is the search string not already in an anchor/link if( sLCBodyText.lastIndexOf('/a>', iTmp) >= sLCBodyText.lastIndexOf('', iTmp) >= sLCBodyText.lastIndexOf('