/* Copyright (c) 2001 Jock Dempsey, anvilfire.com ALL RIGHTS RESERVED */
/* ================================================================== */
/*   Any unauthorized use of this code or components of the code      */
/* including the methods of the algorithims is copyright ingringement */
/*      and invasion of privacy under international law.              */
/* ================================================================== */

var codelevel = '010'

function AF_encrypt01(newword) {

var Finalstring = "";
var coded = "";

var mailonly = newword
var extended = newword.indexOf("?",1); 
if (extended != -1) {mailonly = newword.substring(0, extended)};

if (IsEmailValid(mailonly) == true) {

	var ucodeword = "";
    var coded1 = "";
    var errorflag = false
	
	var user_parts_array = newword.split("@");
	
    if (user_parts_array.length > 1)
    {
        var coded1 = user_parts_array[1];
        var coded2pos = user_parts_array[1].indexOf(".",1) ; 
        user_parts_array[2] = user_parts_array[1].substring(0, coded2pos) 
        user_parts_array[3] = user_parts_array[1].substring(coded2pos, user_parts_array[1].length) 
        var coded3pos = user_parts_array[1].indexOf("?",1) ; 

        if (coded3pos > 6) {
	        user_parts_array[4] = user_parts_array[1].substring(coded3pos + 9, user_parts_array[1].length) 
	        user_parts_array[3] = user_parts_array[1].substring(coded2pos, coded3pos)         
	        }
    }
   
	    coded = user_parts_array[2]+ "." + user_parts_array[0] + user_parts_array[3];
        if (coded3pos > 6) { coded = coded + "," + user_parts_array[4]; }

        var code = enumerate(coded)

        codedx = "'" + code + "'";

//        Finalstring = '<A HREF="#" OnClick="' + 'AF_sendIt(' + codedx + ')"; TARGET="_top">' + 'UserName</A>';  

        //Finalstring = 'AF_sendIt(' + codedx + ')"; TARGET="_top">';  

        Finalstring = code;

    } // end error test

        document.UserForm.decodedoutput.value = Finalstring;
        
        return Finalstring ;
}
    
function enumerate(word)
	{
	
	numword = ""
    tempword = word
	var l = tempword.length
    var i = 0
    var nval = ""

    if (codelevel == '010') var sumnum = 171;
	if (codelevel == '020') var sumnum = 255;

	for (i=0; i<l; i++)
	{

    nval = String(sumnum - tempword.charCodeAt(i));  //get ASCII val and reverse

    if (nval.length < 3) nval = "0" + nval;          // pad numbers less than 100

	numword = numword + nval;                       // build string

	nval = "";                                      // clear val

	}
    
    coded = codelevel + numword;                    //add code version to coded string
    return coded;
}


function IsEmailValid(word)
    {
        var EmailOk  = true;
        var Temp     = word;
        var AtSym    = Temp.indexOf('@');
        var Period   = Temp.lastIndexOf('.');
        var Space    = Temp.indexOf(' ');
        var Length   = Temp.length - 1;   // Array is from 0 to length-1

        if ((AtSym < 1) ||                // '@' cannot be in first position
        (Period <= AtSym+1) ||            // Must be atleast one valid char btwn '@' and '.'
        (Period == Length ) ||            // Must be atleast one valid char after '.'
        (Space  != -1))                   // No empty spaces permitted
   {  
        EmailOk = false;

   }
    return EmailOk
}

