// Hangman Generator Javascript
// copyright 10th June 2005, by Stephen Chapman
var vvv = '';

function stripBlanks(fld) {
var result = "";
var c = 0;
for (i=0; i < fld.length; i++) {if (fld.charAt(i) != " " || c > 0) {
    result += fld.charAt(i);
    if (fld.charAt(i) != " ") c = result.length;
    }
  }
return result.substr(0,c);
}
var numb = '0123456789';
var lwr = 'abcdefghijklmnopqrstuvwxyz';
var upr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
var fold = '.\\/';

function isValid(parm,val) {
  if (parm == "") return true;
  for (i=0; i<parm.length; i++) {
    if (val.indexOf(parm.charAt(i),0) == -1) return false;
  }
  return true;
}
function isAlpha(parm) {return isValid(parm,lwr+upr+' ');}
function isFold(parm) {return isValid(parm,lwr+upr+numb+fold);}

var dc = '7!3@4#1$^5*~:6 +8=`<2-0>_/?9';
function trans1(op) {op = op.toUpperCase();var opn = '';for (var i = 0; i < op.length; i++) {if (op.substr(i,1) == ' ') opn += dc.charAt(0);opn += dc.charAt(op.charCodeAt(i) - 64);}opn += dc.charAt(27);for (var i = opn.length; i < 20; i++) {opn += dc.charAt(Math.floor(Math.random()*28));} return opn;}

function addQ(thisform) {
var gr = stripBlanks(thisform.gr.value);
if (!isFold(gr)) {alert("Invalid character(s) entered in folder name");thisform.gr.focus();return false;}
gr=gr.replace(/\//g,'\\/');
if (gr != '' && gr.substr(gr.length-1,1) != '/') gr += '\\/';
thisform.gr.disabled=true;
var a0 = stripBlanks(thisform.a0.value);
if (a0 == '') {alert("You must enter an answer");thisform.a0.focus();return false;}
if (!isAlpha(a0)) {alert("Answer values must be words or phrases");thisform.a0.focus();return false;}
s = trans1(a0);
vvv += 'opts[r++] = \''+s+'\';\n';
thisform.code.value = 'var img = \''+gr+'\'\nvar opts = new Array(); var r = 0;\n'+vvv;
thisform.a0.value = '';
}