var trans = [];
for (var i = 0x410; i <= 0x44F; i++)
  trans[i] = i - 0x350; // À-ßà-ÿ
trans[0x401] = 0xA8;    // ¨
trans[0x451] = 0xB8;    // ¸
trans[0x457] = 0xBF;    // ¿
trans[0x407] = 0xAF;    // ¯
trans[0x456] = 0xB3;    // ³
trans[0x406] = 0xB2;    // ²
trans[0x404] = 0xBA;    // º
trans[0x454] = 0xAA;    // ª

var escapeOrig = window.escape;

window.escape = function(str)
{
  var res="";
  //Ñîñòàâëÿåì ìàññèâ êîäîâ ñèìâîëîâ, ïîïóòíî ïåðåâîäèì êèðèëëèöó
  for (var i = 0; i < str.length; i++)
  {
    var n = str.charCodeAt(i);
    if (typeof trans[n] != 'undefined')
    {
      n = trans[n];
      res=res+escapeOrig(String.fromCharCode(n));
    }
    else
    {
      n = str.charAt(i);
      res=res+n;
    }

  }
  return res;
}


function urldecode(code) {
        code = escape(code);
        code = code.replace(/\+/g,' ');
        code = code.replace(/%21/g,'!');
        code = code.replace(/%22/g,'"');
        code = code.replace(/%23/g,'#');
        code = code.replace(/%24/g,'$');
        code = code.replace(/%2D/g,'-');
        code = code.replace(/%5E/g,'^');
        code = code.replace(/%26/g,'&');
        code = code.replace(/%B9/g,'¹');
        code = code.replace(/%3B/g,';');
        code = code.replace(/%25/g,'%');
        code = code.replace(/%3A/g,':');
        code = code.replace(/%3F/g,'?');
        code = code.replace(/%28/g,'(');
        code = code.replace(/%29/g,')');

		code = code.replace(/%BF/g,'¿');
		code = code.replace(/%AF/g,'¯');
		code = code.replace(/%B3/g,'³');
		code = code.replace(/%B2/g,'²');
		code = code.replace(/%BA/g,'º');
		code = code.replace(/%AA/g,'ª');

        code = code.replace(/%C0/g,'À');
        code = code.replace(/%C1/g,'Á');
        code = code.replace(/%C2/g,'Â');
        code = code.replace(/%C3/g,'Ã');
        code = code.replace(/%C4/g,'Ä');
        code = code.replace(/%C5/g,'Å');
        code = code.replace(/%A8/g,'¨');
        code = code.replace(/%C6/g,'Æ');
        code = code.replace(/%C7/g,'Ç');
        code = code.replace(/%C8/g,'È');
        code = code.replace(/%C9/g,'É');
        code = code.replace(/%CA/g,'Ê');
        code = code.replace(/%CB/g,'Ë');
        code = code.replace(/%CC/g,'Ì');
        code = code.replace(/%CD/g,'Í');
        code = code.replace(/%CE/g,'Î');
        code = code.replace(/%CF/g,'Ï');
        code = code.replace(/%D0/g,'Ð');
        code = code.replace(/%D1/g,'Ñ');
        code = code.replace(/%D2/g,'Ò');
        code = code.replace(/%D3/g,'Ó');
        code = code.replace(/%D4/g,'Ô');
        code = code.replace(/%D5/g,'Õ');
        code = code.replace(/%D6/g,'Ö');
        code = code.replace(/%D7/g,'×');
        code = code.replace(/%D8/g,'Ø');
        code = code.replace(/%D9/g,'Ù');
        code = code.replace(/%DA/g,'Ú');
        code = code.replace(/%DB/g,'Û');
        code = code.replace(/%DC/g,'Ü');
        code = code.replace(/%DD/g,'Ý');
        code = code.replace(/%DE/g,'Þ');
        code = code.replace(/%DF/g,'ß');

        code = code.replace(/%E0/g,'à');
        code = code.replace(/%E1/g,'á');
        code = code.replace(/%E2/g,'â');
        code = code.replace(/%E3/g,'ã');
        code = code.replace(/%E4/g,'ä');
        code = code.replace(/%E5/g,'å');
        code = code.replace(/%E6/g,'æ');
        code = code.replace(/%B8/g,'¸');
        code = code.replace(/%E7/g,'ç');
        code = code.replace(/%E8/g,'è');
        code = code.replace(/%E9/g,'é');
        code = code.replace(/%EA/g,'ê');
        code = code.replace(/%EB/g,'ë');
        code = code.replace(/%EC/g,'ì');
        code = code.replace(/%ED/g,'í');
        code = code.replace(/%EE/g,'î');
        code = code.replace(/%EF/g,'ï');
        code = code.replace(/%F0/g,'ð');
        code = code.replace(/%F1/g,'ñ');
        code = code.replace(/%F2/g,'ò');
        code = code.replace(/%F3/g,'ó');
        code = code.replace(/%F4/g,'ô');
        code = code.replace(/%F5/g,'õ');
        code = code.replace(/%F6/g,'ö');
        code = code.replace(/%F7/g,'÷');
        code = code.replace(/%F8/g,'ø');
        code = code.replace(/%F9/g,'ù');
        code = code.replace(/%FA/g,'ú');
        code = code.replace(/%FB/g,'û');
        code = code.replace(/%FC/g,'ü');
        code = code.replace(/%FD/g,'ý');
        code = code.replace(/%FE/g,'þ');
        code = code.replace(/%FF/g,'ÿ');

        return code;
}

