It would be pretty cool to decrypt this and make it into a keygen 
title name is wrong its realy suposrt to be "This wow promotion key's, algorithm?"
Code:
<script language="javascript">
<!--
function confirmRedeem(){
if(confirm('Are you sure you want to redeem an item in region [' + document.petForm.regionName.value + '] realm [' + document.petForm.realmName.value + "]?" )){
return true;
}
else{
return false;
}
}
// Check to see if the key is in the query string, if it is, replace the value with the new value, if not, put in the key/value pair
function queryStringAppend(theName,theValue){
var params = new Object();
var queryString = document.location.search.substring(1,document.location.search.length);
if(queryString != ''){
var pairs = queryString.split('&');
for (var i=0; i < pairs.length; i++) {
var pair = pairs[i].split('=');
var name = pair[0];
var value;
if (pair.length == 2){
value = pair[1];
}
else{
value = name;
}
params[name] = value;
}
}
// update the name/value pair if it is found in the current query string
var found = 0;
for (var name in params)
{
if(name == theName){
found = 1;
params[name] = theValue;
}
}
// if the name/value pair is not found in the current query string, add it
if(found == 0){
params[theName] = theValue;
}
// rebuild query string
var newQueryString;
var first = 1;
for (var a in params)
{
if(first == 1){
newQueryString = a + "=" + params[a];
first = 0;
}else{
newQueryString = newQueryString + '&' + a + "=" + params[a];
}
}
var newUrl = document.location.protocol + '../index.htm' + document.location.host + document.location.pathname + '?' + newQueryString;
document.location.href = newUrl;
}
function inputLengthCheck(fieldNum) {
if( document.captureEvents ) {
if( Event.KEYUP ) {
document.captureEvents( Event.KEYUP );
}
}
document.onkeyup = alertkey;
function alertkey(e) {
if( !e ) {
if( window.event ) {
e = window.event;
} else {
return;
}
}
if( typeof( e.which ) == 'number' ) {
e = e.which;
} else if( typeof( e.keyCode ) == 'number' ) {
e = e.keyCode;
} else if( typeof( e.charCode ) == 'number' ) {
e = e.charCode;
} else {
return;
}
if (fieldNum == 1) {
var boxString = document.petForm.redemptionCode1.value;
if ((e >= 65 && e <= 122) || (e >= 48 && e <= 57)) {
if (boxString.length == 4 && fieldNum < 5) {
document.petForm.redemptionCode2.focus();
}
}
}
if (fieldNum == 2) {
var boxString = document.petForm.redemptionCode2.value;
if ((e >= 65 && e <= 122) || (e >= 48 && e <= 57)) {
if (boxString.length == 6 && fieldNum < 5) {
document.petForm.redemptionCode3.focus();
}
}
}
if (fieldNum == 3) {
var boxString = document.petForm.redemptionCode3.value;
if ((e >= 65 && e <= 122) || (e >= 48 && e <= 57)) {
if (boxString.length == 5 && fieldNum < 5) {
document.petForm.redemptionCode4.focus();
}
}
}
if (fieldNum == 4) {
var boxString = document.petForm.redemptionCode4.value;
if ((e >= 65 && e <= 122) || (e >= 48 && e <= 57)) {
if (boxString.length == 6 && fieldNum < 5) {
document.petForm.redemptionCode5.focus();
}
}
}
if (fieldNum == 5) {
var boxString = document.petForm.redemptionCode5.value;
}
}
}
-->
</script>