<!--
///////////////////////////////////////////////////////////
//
// Copyright (C) 2002-2007 Syronex
// http://www.syronex.com/antispam/
//
// All rights reserved. You may use this script
// free of charge from this web server (syronex.com) but you
// may not copy or redistribute it.
//
///////////////////////////////////////////////////////////

//
// v2.1.6
// 


var v1,v2,id;

function initSm() {
  v1="";
  v2="";
  id="";
}

var END_OF_INPUT = -1;

var base64Chars = new Array(
    'A','B','C','D','E','F','G','H',
    'I','J','K','L','M','N','O','P',
    'Q','R','S','T','U','V','W','X',
    'Y','Z','a','b','c','d','e','f',
    'g','h','i','j','k','l','m','n',
    'o','p','q','r','s','t','u','v',
    'w','x','y','z','0','1','2','3',
    '4','5','6','7','8','9','+','/'
);

var reverseBase64Chars = new Array();
for (var i=0; i < base64Chars.length; i++){
    reverseBase64Chars[base64Chars[i]] = i;
}

var base64Str;
var base64Count;
function setBase64Str(str){
    base64Str = str;
    base64Count = 0;
}
function readBase64(){    
    if (!base64Str) return END_OF_INPUT;
    if (base64Count >= base64Str.length) return END_OF_INPUT;
    var c = base64Str.charCodeAt(base64Count) & 0xff;
    base64Count++;
    return c;
}
function encodeBase64(str){
    setBase64Str(str);
    var result = '';
    var inBuffer = new Array(3);
    var lineCount = 0;
    var done = false;
    while (!done && (inBuffer[0] = readBase64()) != END_OF_INPUT){
        inBuffer[1] = readBase64();
        inBuffer[2] = readBase64();
        result += (base64Chars[ inBuffer[0] >> 2 ]);
        if (inBuffer[1] != END_OF_INPUT){
            result += (base64Chars [(( inBuffer[0] << 4 ) & 0x30) | (inBuffer[1] >> 4) ]);
            if (inBuffer[2] != END_OF_INPUT){
                result += (base64Chars [((inBuffer[1] << 2) & 0x3c) | (inBuffer[2] >> 6) ]);
                result += (base64Chars [inBuffer[2] & 0x3F]);
            } else {
                result += (base64Chars [((inBuffer[1] << 2) & 0x3c)]);
                result += ('=');
                done = true;
            }
        } else {
            result += (base64Chars [(( inBuffer[0] << 4 ) & 0x30)]);
            result += ('=');
            result += ('=');
            done = true;
        }
        lineCount += 4;
        if (lineCount >= 76){
            result += ('\n');
            lineCount = 0;
        }
    }
    return result;
}
function readReverseBase64(){   
    if (!base64Str) return END_OF_INPUT;
    while (true){      
        if (base64Count >= base64Str.length) return END_OF_INPUT;
        var nextCharacter = base64Str.charAt(base64Count);
        base64Count++;
        if (reverseBase64Chars[nextCharacter]){
            return reverseBase64Chars[nextCharacter];
        }
        if (nextCharacter == 'A') return 0;
    } 
}

function ntos(n){
    n=n.toString(16);
    if (n.length == 1) n="0"+n;
    n="%"+n;
    return unescape(n);
}

function decodeBase64(str){
    setBase64Str(str);
    var result = "";
    var inBuffer = new Array(4);
    var done = false;
    while (!done && (inBuffer[0] = readReverseBase64()) != END_OF_INPUT
        && (inBuffer[1] = readReverseBase64()) != END_OF_INPUT){
        inBuffer[2] = readReverseBase64();
        inBuffer[3] = readReverseBase64();
        result += ntos((((inBuffer[0] << 2) & 0xff)| inBuffer[1] >> 4));
        if (inBuffer[2] != END_OF_INPUT){
            result +=  ntos((((inBuffer[1] << 4) & 0xff)| inBuffer[2] >> 2));
            if (inBuffer[3] != END_OF_INPUT){
                result +=  ntos((((inBuffer[2] << 6)  & 0xff) | inBuffer[3]));
            } else {
                done = true;
            }
        } else {
            done = true;
        }
    }
    return result;
}


var baseC= new Array(
  'A','8','C','D','B','F',
  'N','S','3','R','P','T',
  'G','K','Z','J','2','M',
  'U','Y','W','X','V','6',
  'Q','H','5','I','4','E');

function enc(v0) {
  var v5=v0.length;var v3="",v6;
  for(var v4=0;v4<v5;v4++) {
    v6=Math.floor(Math.random()*30);
    v2+=baseC[v6];
    v3+=String.fromCharCode(baseC[v6].charCodeAt(0)^v0.charCodeAt(v4));   
  }
  return v3;
}

function chk(v0,v3) {
  var v7=unescape(v0);
  var v5=v2.length;
  var v1="";
  for(var v4=0;v4<v5;v4++) v1+=String.fromCharCode(v2.charCodeAt(v4)^v7.charCodeAt(v4));
  return v1==v3;
}

function show(id, state) { 
  if (document.getElementById) document.getElementById(id).style.display = state ? 'block':'none';
  else if (document.layers) document.id.display = state ? 'block':'none';
  else document.all.id.style.visibility = state ? 'block':'none'; 
}

function prep() {
  var f=document.f;
  var u18=f.u20.value;

  var isDone=false;
  while(!isDone) {
    initSm();
    v1=escape(enc(u18));
    isDone=chk(v1, u18);
  }
  var u24=f.u22.checked;
  var path=lang==""?"":lang+"/";
  var urlbase="http://w2.syronex.com/jmr/safemailto/";
  if (lang == "pt") urlbase = "http://www.syronex.com/antispam/";
  var ltxt=f.u200.value.replace(/'/g,'&#39;');
  if(!u24) {
  f.u21.value="<script type='text/javascript'><!--\nvar v2=\""+v2+"\";var v7=unescape(\""+v1+"\");var v5=v2.length;var v1=\"\";for(var v4=0;v4<v5;v4++){v1+=String.fromCharCode(v2.charCodeAt(v4)^v7.charCodeAt(v4));}document.write('<a href=\"javascript:void(0)\" onclick=\"window.location=\\'mail\\u0074o\\u003a'+v1+'?subject="+escape(f.u201.value)+"\'+'\\'\">'+\'"+ltxt+"<\\/a>');\n//--><\/script><noscript><a href='"+urlbase+path+"#noscript'>"+ltxt+nsMsg+"</a></noscript>\n";
  show("u483", false);
} else {
  for(var i=0;i<4;i++) id+=baseC[Math.floor(Math.random()*30)];
  id=id.toLowerCase();
  f.u21.value="<script type='text/javascript'><!--\nfunction ask"+id+"(){var win=window.open('txt-"+id+".htm','askwin"+id+"',',height=280,width=280,resizable=yes');if(!win.opener)win.opener=self}document.write('<a href=\"javascript:void(0)\" onclick=\"ask"+id+"()\">"+ltxt+"<\\/a>');\n//--><\/script><noscript><a href='"+urlbase+path+"#noscript'>"+ltxt+nsMsg+"</a></noscript>\n";
  show("u483", true);
  }
}
function gf1() {
  var f=document.f;
  window.location="http://w2.syronex.com/jmr/safemailto/ckhsm/gentxt?p="+encodeBase64(v1)+"&c="+v2+"&i="+id+"&l="+lang+"&s="+encodeBase64(escape(f.u201.value));
}
function gf2() {
  var f=document.f;
  window.location="http://w2.syronex.com/jmr/safemailto/ckhsm/genimg?c="+v2+"&i="+id;
}

function updateView() {
  var f = document.f;
  var e = f.u20;  
  if(e.value.length == 0) {
    f.u21.value = ''
    //e.focus();
    return;
  }
  if(f.u200.value.length==0) {
    f.u200.value = defText;
  }
  prep();  
}

//-->

