// This is the bestest javascript ever written, and if you nick it I'll cry! waaa.

// ******************************************** //

// Runs the magic! TA DAA!!
function runTheMagic() {
	if ((document.getElementById('original').value == 'old password here') || (document.getElementById('original').value == '')) {
		document.getElementById('dumbass').style.display = "block";
		document.getElementById('fool').style.display = "none";
	} else {
		passwordReverse(document.getElementById('original').value);
	}
}

// Reverses the password... by magic!
function passwordReverse(password) {
var oldPass = password;
var newPass = "";
var countDown = oldPass.length;

while(countDown >= 0) {
	newPass2 = oldPass.charAt(countDown);
	countDown--;
	newPass = (newPass+newPass2);
}
if (oldPass == newPass) {
		document.getElementById('result').style.display = "none";
		document.getElementById('dumbass').style.display = "none";
		document.getElementById('fool').style.display = "block";
	} else {
		document.getElementById('reversed').value = newPass;
		document.getElementById('result').style.display = "block";
		document.getElementById('dumbass').style.display = "none";
		document.getElementById('fool').style.display = "none";
		document.getElementById('reversed').focus();
		newPassString = oldPass+" > "+newPass;
		addtoArray(newPassString);
		writeArray();
	}
	
}

// Resets the magic.. by magic!
function runAgain() {
	document.getElementById('original').value = 'old password here';
	document.getElementById('reversed').value = '';
	document.getElementById('original').focus();
	document.getElementById('result').style.display = "none";
	document.getElementById('dumbass').style.display = "none";
	document.getElementById('fool').style.display = "none";
	document.getElementById('superSecure').checked = false;
	superSecure();
}

// No more looking over shoulder worries
function superSecure() {
if (document.getElementById('superSecure').checked == true) {
	document.getElementById('reversed').type = 'password';
	document.getElementById('original').type = 'password';
	alert('stop looking over my shoulder, dagnamit!');
} else {
	document.getElementById('reversed').type = 'text';
	document.getElementById('original').type = 'text';
}
}

// oh It's just too rude for me!
function tooRude() {
	if (document.getElementById('toorude').checked == true) {
		allSpans = document.getElementsByTagName('span');
		for (var i = 0; i < allSpans.length; i++) {
			if (allSpans[i].className == 'highlight swear') {
				allSpans[i].className = 'highlight toorude';
			}
			if (allSpans[i].className == 'swear') {
				allSpans[i].className = 'toorude';
			}
		}
	} else {
		for (var i = 0; i < allSpans.length; i++) {
			if (allSpans[i].className == 'highlight toorude') {
				allSpans[i].className = 'highlight swear';
			}
			if (allSpans[i].className == 'toorude') {
				allSpans[i].className = 'swear';
			}
		}
		
	}
}

// runs reverse script when 'enter' button is pressed
function iPressedEnter(keyEvent) {
	if (keyEvent.which == 13) {
		passwordReverse(document.getElementById('original').value);
	}
}

// array functions
var reverses = new Array();

function writeArrayList() {
var x=0;
allArrayList = "<ol>";
for (x=0; x < reverses.length; x++) {
allArrayList = allArrayList+"<li><span>";
allArrayList = allArrayList+reverses[x];
allArrayList = allArrayList+"</span></li>";
	}
allArrayList = allArrayList+"</ol>";
}

function writeArray() {
var allArray = reverses.join(" | ");
writeArrayList();
reversesTitle = '<h3>Reversed Passwords</h3>';
document.getElementById('reversedArray').innerHTML = reversesTitle+allArrayList;
}
// remove last item from array
function popArray() {
popVar = reverses.pop();
}
// add new item to beginning of array
function unshiftArray(newVar) {
unshiftVar = reverses.unshift(newVar);
}
function addtoArray(newVar) {
lastentry =	reverses[0];
if (newVar != lastentry) {
if (reverses.length > 9) { popArray(); }
unshiftArray(newVar);
}
}
	
// ******************************************** //