function searchItAll(){
var keyword = "";
if (document.searchFormHeader.searchNameHeader != null && document.searchFormHeader.searchNameHeader.value != ""){
keyword = document.searchFormHeader.searchNameHeader.value;
if (keyword.length < 3){
alert("Please enter at least 3 characters in order to do a search.");
} else {
top.location.href = "http://www.JimmyBeansWool.com/secure-html/onlineec/grouplist.asp?keyword=" + changeIt(keyword,"urlenc");
}
}
}
function goToPage(newValue){
if (newValue != null && newValue != ""){
if (newValue != "shop by manufacturer"){
top.location.href="http://www.JimmyBeansWool.com/knitting/yarn/" + newValue + "/" + newValue + ".asp";
}
}
}
function isUnsafe(compareChar){
var unsafeString = "\"<>%\\^[]`\+\$\,/&?";
if (unsafeString.indexOf(compareChar) == -1 && compareChar.charCodeAt(0) > 32 && compareChar.charCodeAt(0) < 123){
return false;
} else { 
return true;
}
}
function decToHex(num, radix){
var hexVals = new Array("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F");
var hexString = "";
while (num >= radix){
temp = num % radix;
num = Math.floor(num / radix);
hexString += hexVals[temp];
}
hexString += hexVals[num];
return reversal(hexString);
}
function reversal(s){
var len = s.length;
var trans = "";
for (i=0; i<len; i++){
trans = trans + s.substring(len-i-1, len-i);
}
s = trans;
return s;
}
function convert(val){
return  "%" + decToHex(val.charCodeAt(0), 16);
}
function changeIt(val, enc){
var state   = enc;
var len     = val.length;
var backlen = len;
var i       = 0;

var newStr  = "";
var frag    = "";
var encval  = "";
var original = val;

if (state == "none"){
while (backlen > 0){
lastpercent = val.lastIndexOf("%");
if (lastpercent != -1){
frag = val.substring(lastpercent+1,val.length);
val  = val.substring(0,lastpercent);
if (frag.length >= 2){
encval = frag.substring(0,2);
newStr = frag.substring(2,frag.length) + newStr;
if ("01234567890abcdefABCDEF".indexOf(encval.substring(0,1)) != -1 && "01234567890abcdefABCDEF".indexOf(encval.substring(1,2)) != -1){
encval = String.fromCharCode(parseInt(encval, 16));
newStr = encval + newStr;
}
}
backlen = lastpercent;
} else {
newStr = val + newStr; backlen = 0;
}
}
} else {
for (i=0;i<len;i++){
if (val.substring(i,i+1).charCodeAt(0) < 255){
if (isUnsafe(val.substring(i,i+1)) == false){
newStr = newStr + val.substring(i,i+1);
} else {
newStr = newStr + convert(val.substring(i,i+1));
}
} else {
newStr = original; i=len;
}
}
}
return newStr;
}