String.prototype.startsWith = function(str) { return (this.indexOf(str) === 0);}

function mistify(dataform, srcField, targetField, hashCode) {
  var passw = document.getElementById(srcField).value;
  var interm = encodeText(passw, hashCode);
  document.getElementById(targetField).value = interm;
  document.getElementById(srcField).value = "";
  return true;
}
  
function dec2hex8(i) {if (i>0 && i<=15){return "0" + i.toString(16);} else if (i>=16 && i<=255){return i.toString(16);}return "00";}
 
function encodeText(text, seed) {
  text = text.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
  var codeline = dec2hex8(text.length);
  for (var i=0; i<text.length; i++) {
    var charCode = text.charCodeAt(i);
    var seedCode = seed.charCodeAt(i % seed.length);
    var bits = ((charCode & 0xaaaa)/2) + ((charCode & 0x5555)*2) ^ seedCode;
    var stxt = bits.toString(16);
    codeline += stxt.length+ stxt;
  }
  return codeline;
}

function decision(message, url){if(confirm(message)) location.href = url;}
