function my_unescape(str) {
    var i, s, c, out;

    if(navigator.appName != "Microsoft Internet Explorer")
	return str.replace(/%[0-9A-Za-z][0-9A-Za-z]|%u[0-9A-Za-z][0-9A-Za-z][0-9A-Za-z][0-9A-Za-z]/g, function(s) {
	    if(s.charAt(1) != "u")
		return String.fromCharCode(parseInt(s.substr(1), 16));
	    return String.fromCharCode(parseInt(s.substr(2), 16));
	});

    out = "";
    i = 0;
    while(i < str.length) {
	s = str.charAt(i++);
	if(s != "%")
	    out += s;
	else {
	    if(str.charAt(i) != "u") {
		out += String.fromCharCode(parseInt(str.substr(i, 2), 16));
		i += 2;
	    } else {
		out += String.fromCharCode(parseInt(str.substr(i+1, 4), 16));
		i += 5;
	    }
	}
    }
    return out;
}
