﻿
function decode1(_str1, _maybe1, _title1, _hint1, _hiddenarea1) {
   if (typeof(_maybe1) == 'undefined') { _maybe1=""; }
   if (typeof(_hiddenarea1) == 'undefined') { _hiddenarea1=""; }

   //document.write(_str1);
   var tmp1=""+Math.random();
   tmp1=tmp1.substr(2); //
   document.write('<span id="dcoperator'+tmp1+'">');
   if (typeof(_title1) != 'undefined') {
      document.write('<span class="highlight0">'+_title1+'</span><br/><br/>');
   }
   document.write('<input title="do you know what the secret code is?" maxlength="16" id="dccode'+tmp1+'" value="0000" size="16" type="text"/>');
   document.write('<span style="cursor:pointer;" onclick="decode101('+"'"+tmp1+"', '"+_maybe1+"', '"+_hiddenarea1+"'"+');"> GO! </span><br/>');
   if (typeof(_hint1) != 'undefined') {
      document.write('<br/>Hint: '+_hint1); //+'<br/>'
   }
   document.write('</span>');
 
   document.write('<span id="dcarea'+tmp1+'" style="display:none;"> </span>');
   document.write('<span style="display:none;" id="dcshow'+tmp1+'"> </span>');
   document.getElementById('dcarea'+tmp1).innerHTML=_str1;

   decode101(tmp1, _maybe1);
}

function decode101(_code1, _maybe1, _hiddenarea1) {
	 //alert(_code1+' '+_maybe1);
   var _sentence2=document.getElementById('dcarea'+_code1).innerHTML;
   var _secretcode1=document.getElementById('dccode'+_code1).value;
   var _separate1='|';

   var _doing=true;
   _sentence0='';
   var jc= 0;
   while (_doing) {
      _tmp1=_sentence2.indexOf(_separate1);
      if (_tmp1> 0) {
 	       var _tmp2=jc%_secretcode1.length;
         var _charcode1=Number(_sentence2.substr(0, _tmp1))-Number(_secretcode1.charAt(_tmp2));
         _sentence0=_sentence0+String.fromCharCode(_charcode1);

         _sentence2=_sentence2.substr(_tmp1+ 1);
         jc++;
      }
      else { _doing=false; }
   }
   //alert(_sentence0);

   //document.getElementById('dcarea'+_code1).style.display="none";

   document.getElementById('dcshow'+_code1).innerHTML=_sentence0;

   if (_maybe1.length> 0) {
   	  if (_sentence0.indexOf(_maybe1)> 0) {
         document.getElementById('dcshow'+_code1).style.display="";
         document.getElementById('dcoperator'+_code1).style.display="none";
         if (_hiddenarea1.length> 0) {
            document.getElementById('dcshow'+_code1).style.display="none";
            document.getElementById(_hiddenarea1).style.display="";
         }
      }
      else { document.getElementById('dcshow'+_code1).style.display="none"; }
   }
   else { document.getElementById('dcshow'+_code1).style.display=""; }
}
