/*
 * Creativyst(R) SoundExR SXRHere.js(.jss) v1.0c
 *
 *    Copyright 2003-2006, Creativyst, Inc.
 *           ALL RIGHTS RESERVED
 *
 * All copyrights are reserved by Creativyst, Inc.
 *
 * Copying, distributing, or making derivative works
 * of this source code is forbidden by U.S. and
 * international copyright law.
 *
 * Do not copy, distribute, or make derivative
 * works from this source code without first obtaining
 * expressed written permission from Creativyst, Inc.
 *
 *
 *    For usage and licensing information
 *       contact: Sales@Creativyst.com
 *       or visit: www.Creativyst.com
 * ------------------------------------------
*/

/* JSCpragma:StartCompress
*/


function outSXR()
{
    document.write(GetSXR());
}




function DoSoundEx()
{ var OutText; var OutSz = 10; OutSz = document.forms.SoundEx.OutSz.value; OutTextZero = SoundEx(document.forms.SoundEx.InText.value, OutSz,0); OutTextOne = SoundEx(document.forms.SoundEx.InText.value, OutSz,1); OutTextTwo = SoundEx(document.forms.SoundEx.InText.value, OutSz,2); document.forms.SoundEx.OutTextZero.value = OutTextZero; document.forms.SoundEx.OutTextOne.value = OutTextOne; document.forms.SoundEx.OutTextTwo.value = OutTextTwo;}
function SXRPop()
{ SXRwin = window.open( 'http://www.Creativyst.com/Doc/Articles/SoundEx1/SoundExR/SoundExR.htm', 'SXRPop', 'Scrollbars=yes,Resizable=yes,top=75,left=110,width=495,height=307'); if(!SXRwin.opener) { SXRwin.opener = self;}
SXRwin.focus();}
function SXRHelpPop()
{ Helpwin = window.open( 'http://www.Creativyst.com/Doc/Articles/SoundEx1/SoundExR/SXRWeb.htm', 'SXRWebHelp', 'Scrollbars=yes,Resizable=yes,Location=yes,Menubar=yes,Toolbar=yes,top=100,left=130,width=650,height=500'); if(!Helpwin.opener) { Helpwin.opener = self;}
Helpwin.focus();}
function SoundEx(WordString, LengthOption, CensusOption)
{ var TmpStr; var WordStr = ""; var CurChar; var LastChar; var SoundExLen = 10; var WSLen; var FirstLetter; if(CensusOption) { LengthOption = 4;}
if(LengthOption != undefined) { SoundExLen = LengthOption;}
if(SoundExLen > 10) { SoundExLen = 10;}
if(SoundExLen < 4) { SoundExLen = 4;}
if(!WordString) { return("");}
WordString = WordString.toUpperCase(); WordStr = WordString; WordStr = WordStr.replace(/[^A-Z]/gi, " "); WordStr = WordStr.replace(/^\s*/g, ""); WordStr = WordStr.replace(/\s*$/g, ""); if(!CensusOption) { WordStr = WordStr.replace(/DG/g, "G"); WordStr = WordStr.replace(/GH/g, "H"); WordStr = WordStr.replace(/GN/g, "N"); WordStr = WordStr.replace(/KN/g, "N"); WordStr = WordStr.replace(/PH/g, "F"); WordStr = WordStr.replace(/MP([STZ])/g, "M$1"); WordStr = WordStr.replace(/^PS/g, "S"); WordStr = WordStr.replace(/^PF/g, "F"); WordStr = WordStr.replace(/MB/g, "M"); WordStr = WordStr.replace(/TCH/g, "CH");}
FirstLetter = WordStr.substr(0,1); TmpStr = WordStr.substr(0,1); if(TmpStr == "H" || TmpStr == "W") { TmpStr = WordStr.substr(1); WordStr = "-"; WordStr += TmpStr;}
if(CensusOption == 1) { WordStr = WordStr.replace(/[HW]/g, ".");}
WordStr = WordStr.replace(/[AEIOUYHW]/g, "0"); WordStr = WordStr.replace(/[BPFV]/g, "1"); WordStr = WordStr.replace(/[CSGJKQXZ]/g, "2"); WordStr = WordStr.replace(/[DT]/g, "3"); WordStr = WordStr.replace(/[L]/g, "4"); WordStr = WordStr.replace(/[MN]/g, "5"); WordStr = WordStr.replace(/[R]/g, "6"); if(CensusOption == 1) { WordStr = WordStr.replace(/\./g, "");}
WSLen = WordStr.length; LastChar = ""; TmpStr = ""; for(i = 0; i < WSLen; i++) { CurChar = WordStr.charAt(i); if(CurChar == LastChar) { TmpStr += " ";}
else { TmpStr += CurChar; LastChar = CurChar;}
}
WordStr = TmpStr; WordStr = WordStr.substr(1); WordStr = WordStr.replace(/\s/g, ""); WordStr = WordStr.replace(/0/g, ""); WordStr += "0000000000"; WordStr = FirstLetter + WordStr; WordStr = WordStr.substr(0,SoundExLen); return(WordStr);}




function GetSXR()
{
    var msg;

msg = "";


msg += '<FORM NAME="SoundEx" ID="SoundEx" ACTION="javascript:DoSoundEx();">\n';

msg += '<table WIDTH="100%" CELLPADDING="1px" CELLSPACING="0" BORDER="0">\n';
msg += '<tr>\n';
msg += '<td WIDTH="2%">&nbsp;</td>\n';
msg += '<td WIDTH="98%" ALIGN="LEFT" BGColor="#000000">\n';

msg += ' <table WIDTH="100%" CELLSPACING="0">\n';
msg += ' <tr><td ALIGN="LEFT" BGColor="#DDDDEE">\n';

msg += ' <!-- ================================= -->\n';
msg += ' <!-- Top portion of form: Input        -->\n';
msg += ' <!-- ================================= -->\n';
msg += ' <TABLE WIDTH="99%" BORDER="0">\n';
msg += ' <TR>\n';
msg += ' <TD ALIGN="LEFT" VALIGN="TOP">\n';
msg += '  <SPAN CLASS="SXRHeader"\n';
msg += '   ><B><A HREF="http://www.Creativyst.com/"\n';
msg += '     TARGET="_blank"\n';
msg += '     TITLE="Visit creativyst.com"\n';
msg += '     >Creativyst&#174;</A> SoundExR</B></SPAN><BR>\n';

msg += '     <SPAN CLASS="SXRLinkMsg">\n';
msg += '      &nbsp;&nbsp;\n';
msg += '      <I><A \n';
msg += '        STYLE="cursor:help"\n';
msg += '      TITLE="Add this converter form to your own website FREE!"\n';
msg += '        HREF="javascript:SXRHelpPop();"\n';
msg += '    >+Add to <B>your</B> site</A></I>\n';
msg += '    &nbsp;&nbsp;&nbsp;\n';
msg += '    <I><A \n';
msg += '        STYLE="cursor:help"\n';
msg += '        TITLE="Pop this form up in a separate window"\n';
msg += '        HREF="javascript:SXRPop();"\n';
msg += '     >^Pop-up</A></I></SPAN>\n';

msg += '  </TD>\n';
msg += '  <TD>\n';
msg += '     <TABLE WIDTH="100%">\n';
msg += '     <TR>\n';
msg += '     <TD ALIGN="RIGHT">\n';
msg += '        Input Word: &nbsp;\n';
msg += '     </TD>\n';
msg += '     <TD ALIGN="LEFT">\n';

msg += '        <Input NAME="InText" ID="InText" TYPE="TEXT"\n';
msg += '         onkeyup="javascript:DoSoundEx();"\n';
msg += '        >\n';

msg += '        <input CLASS="sm" type="button" value="go" \n';
msg += '         onclick="javascript:DoSoundEx();"\n';
msg += '         >\n';
msg += '     </TD>\n';
msg += '     </TR>\n';
     
msg += '     <TR>\n';
msg += '     <TD ALIGN="RIGHT">\n';
msg += '        Size: &nbsp;\n';
msg += '     </TD>\n';
msg += '     <TD ALIGN="LEFT">\n';


//msg += '    <Input SIZE="2" NAME="OutSz" ID="OutSz" TYPE="TEXT" VALUE="4">\n';

msg += '    <Input SIZE="2" NAME="OutSz" ID="OutSz" TYPE="TEXT" VALUE="4"\n';
msg += '         onkeyup="javascript:DoSoundEx();"\n';
msg += '        >\n';


msg += '     </TD>\n';
msg += '     </TR>\n';
msg += '     </TABLE>\n';

msg += ' </TD>\n';
msg += ' </TR>\n';
msg += ' </TABLE>\n';


msg += ' <!-- ================================= -->\n';
msg += ' <!-- Bottom portion of form: Output    -->\n';
msg += ' <!-- ================================= -->\n';
msg += ' <TABLE WIDTH="99%" BORDER="0">\n';
msg += ' <TR>\n';
msg += ' <TD ALIGN="LEFT">\n';
msg += '    <BR>\n';
msg += ' </TD>\n';
msg += ' <TD ALIGN="LEFT">\n';
msg += '    &nbsp;\n';
msg += ' </TD>\n';
msg += ' </TR>\n';

msg += ' <TR>\n';
msg += ' <TD ALIGN="LEFT">\n';
msg += '    <B>0: Enhanced SoundEx:</B><BR>\n';
msg += '    As documented in this\n';
msg += '    <A HREF=\n';
msg += '   "http://www.Creativyst.com/Doc/Articles/SoundEx1/SoundEx1.htm"\n';
msg += '   TITLE="Covers all aspects of SoundEx.  Includes source code."\n';
msg += '       STYLE="cursor:help"\n';
msg += '       TARGET="_blank"\n';
msg += '    >article about<BR>\n';
msg += '     SoundEx</A><P>\n';
msg += ' </TD>\n';
msg += ' <TD ALIGN="LEFT">\n';
msg += '    <Input NAME="OutText" ID="OutTextZero" TYPE="TEXT">\n';
msg += ' </TD>\n';
msg += ' </TR>\n';

msg += ' <TR>\n';
msg += ' <TD ALIGN="LEFT">\n';
msg += '    <B>1: Normal Census</B><BR>\n';
msg += '       Properly calculated SoundEx codes<BR>\n';
msg += '       found in all census years.<P>\n';
msg += ' </TD>\n';
msg += ' <TD ALIGN="LEFT">\n';
msg += '    <Input NAME="OutText" ID="OutTextOne" TYPE="TEXT">\n';
msg += ' </TD>\n';
msg += ' </TR>\n';

msg += ' <TR>\n';
msg += ' <TD ALIGN="LEFT">\n';
msg += '    <B>2: Special Census</B><BR>\n';
msg += '       Improperly calculated SoundEx codes<BR>\n';
msg += '       found in SOME of the censuses performed<BR>\n';
msg += '       in 1880, 1900, and 1910.<P>\n';
msg += ' </TD>\n';
msg += ' <TD ALIGN="LEFT">\n';
msg += '    <Input NAME="OutText" ID="OutTextTwo" TYPE="TEXT">\n';
msg += ' </TD>\n';
msg += ' </TR>\n';



msg += ' </TABLE>\n';
msg += ' </td></tr></table>\n';

msg += '</td>\n';
msg += '<td WIDTH="2%">&nbsp;</td>\n';
msg += '</tr>\n';

msg += '</table>\n';


msg += ' </FORM>\n';


return(msg);


}

outSXR();

