I am new here and a very novice. I want to learn something from you. Here my codes won't work . any idea or suggestion? any help would be appreciated.
void vigenere(operation){
var keyText = trimString(document.forms[0].keyfield.value);
if (keyText == ""){
return;
}
for (i = 0; i < keyText.length; i++){
letter = keyText.charAt(i).toLowerCase();
if ("abcdefghijklmnopqrstuvwxyz".indexOf(letter) == -1){
alert("Your key may contain only letters.");
return;
}
}
if (operation == "encipher"){
var inputText = document.forms[0].plainfield.value;
outputText = vencipher(inputText,keyText);
document.forms[0].cipherfield.value = outputText;
}
else if (operation == "decipher"){
var inputText = document.forms[0].cipherfield.value;
outputText = vdecipher(inputText,keyText);
document.forms[0].plainfield.value = outputText;
}
else{
alert("Error");
}
}
void vencipher(inputText,keyText){
var letterOffset;
var inputNumber;
var outputNumber;
var changeNumber;
var iKey = 0;
var outputChar = "";
var outputText = "";
var lowerAlpha = "abcdefghijklmnopqrstuvwxyz";
var upperAlpha = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
keyText = keyText.toLowerCase();
for (i = 0; i < inputText.length; i++){
inputChar = inputText.charAt(i);
if (upperAlpha.indexOf(inputChar) != -1){
var alphabet = upperAlpha;
}
else if (lowerAlpha.indexOf(inputChar) != -1){
var alphabet = lowerAlpha;
}
else {
outputText += inputChar;
continue;
}
inputNumber = alphabet.indexOf(inputChar);
changeNumber = lowerAlpha.indexOf(keyText.charAt(iKey));
outputNumber = inputNumber + changeNumber;
outputNumber -= (outputNumber >= 26) ? 26 : 0;
outputChar = alphabet.charAt(outputNumber);
outputText += outputChar;
iKey++;
iKey = (iKey >= keyText.length) ? 0 : iKey;
}
return outputText;
}
void vdecipher(inputText,keyText){
var letterOffset;
var inputNumber;
var outputNumber;
var changeNumber;
var iKey = 0;
var outputChar = "";
var outputText = "";
var lowerAlpha = "abcdefghijklmnopqrstuvwxyz";
var upperAlpha = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
keyText = keyText.toLowerCase();
for (i = 0; i < inputText.length; i++){
inputChar = inputText.charAt(i);
if (upperAlpha.indexOf(inputChar) != -1){
var alphabet = upperAlpha;
}
else if (lowerAlpha.indexOf(inputChar) != -1){
var alphabet = lowerAlpha;
}
else {
outputText += inputChar;
continue;
}
inputNumber = alphabet.indexOf(inputChar);
changeNumber = lowerAlpha.indexOf(keyText.charAt(iKey));
outputNumber = inputNumber - changeNumber;
outputNumber += (outputNumber < 0) ? 26 : 0;
outputChar = alphabet.charAt(outputNumber);
outputText += outputChar;
iKey++;
iKey = (iKey >= keyText.length) ? 0 : iKey;
}
return outputText;
}
void clearForm(){
document.forms[0].plainfield.value = "";
document.forms[0].cipherfield.value = "";
}
void trimString(inputString) {
var outputString = "";
var front = 0;
while ((front < inputString.length) && (inputString.charAt(front) == ' ')){
++front;
}
var back = inputString.length;
while ((back > 0) && (inputString.charAt(back - 1) == ' ')){
--back;
}
outputString = inputString.substring(front, back);
return outputString;
}