var char_set = '$%^NOZ1&PQR(./~`"CDEFG!@STUVWZghij}:<pHB*#8uvwx>?[]\',ef34590qrklmnoIJ)_+{st67 abcdAyzKLM2Y';
var algorithm = 8;

function encrypt_data(passwd) {
  var char_code;
  var output = "";

  algorithm++;

  var alpha_length = char_set.length - algorithm;
  var space;

//begin for loop to cycle through input
  for (loop=0; loop<passwd.length; loop++) {

//if conditional detects unknown characters
    if (char_set.indexOf(passwd.charAt(loop)) == -1) {
      alert("Program Error: Unknown Character!");
    }

//search char_set string for character and set char_code variable...
    char_code = char_set.indexOf(passwd.charAt(loop));

//actual text encoding algorithm goes here
    if (char_code + algorithm >= char_set.length) {
      space = char_set.length - char_code;
      char_code = algorithm - space;
    } else {
      char_code += algorithm;
    }

//set output variable in accordance to char_set
    output += char_set.charAt(char_code);
  }
//dump contents of output variable into textarea
  return output;
}


function decrypt_data(passwd) {
  var output = "";
  var char_code;

//get algorithm from pull down select
//  algorithm++;

  var alpha_length = char_set.length - algorithm;
  var space;

//begin for loop to cycle through input
  for (loop=0; loop<passwd.length; loop++) {

//if conditional detects unknown characters
    if (char_set.indexOf(passwd.charAt(loop)) == -1) {
      alert("Program Error: Unknown Character!");
    }

//search char_set string for character and set char_code variable...
    char_code = char_set.indexOf(passwd.charAt(loop));

//oppisite of encrypt algorithm goes here
    if (char_code - algorithm < 0) {
      space = algorithm - char_code;
      char_code = char_set.length - space;
    } else {
      char_code -= algorithm;
    }
//set output variable in accordance to char_set
    output += char_set.charAt(char_code);
  }
//dump contents of output variable into textarea
  return output;
}
