//**** 2009 Antonin Foller
//**** http://www.motobit.com/

//escape function to encode unicode string to windows-1250 URL
//s - unicode string
//return - URL-Encoded data in windows-1250 charset

function escape_windows_1250(s) {
  var out = '';
  
  for(var i = 0; i < s.length; i++) {
    var c = parseFloat(s.charCodeAt(i));
    var part = s.charAt(i);
    if (32 == c) {
      part = '+';
    } else if (c>=48 && c<=57 || c>=65 && c<=90 || c>=97 && c<=122 ) {
      //do not encode numbers and letters
    } else {
      
      switch (c) {
        case 8364: part='%80';break;//€
        case 8218: part='%82';break;//‚
        case 8222: part='%84';break;//„
        case 8230: part='%85';break;//…
        case 8224: part='%86';break;//†
        case 8225: part='%87';break;//‡
        case 8240: part='%89';break;//‰
        case 352: part='%8A';break;//Š
        case 8249: part='%8B';break;//‹
        case 346: part='%8C';break;//Ś
        case 356: part='%8D';break;//Ť
        case 381: part='%8E';break;//Ž
        case 377: part='%8F';break;//Ź
        case 8216: part='%91';break;//‘
        case 8217: part='%92';break;//’
        case 8220: part='%93';break;//“
        case 8221: part='%94';break;//”
        case 8226: part='%95';break;//•
        case 8211: part='%96';break;//–
        case 8212: part='%97';break;//—
        case 8482: part='%99';break;//™
        case 353: part='%9A';break;//š
        case 8250: part='%9B';break;//›
        case 347: part='%9C';break;//ś
        case 357: part='%9D';break;//ť
        case 382: part='%9E';break;//ž
        case 378: part='%9F';break;//ź
        case 711: part='%A1';break;//ˇ
        case 728: part='%A2';break;//˘
        case 321: part='%A3';break;//Ł
        case 260: part='%A5';break;//Ą
        case 350: part='%AA';break;//Ş
        case 379: part='%AF';break;//Ż
        case 731: part='%B2';break;//˛
        case 322: part='%B3';break;//ł
        case 261: part='%B9';break;//ą
        case 351: part='%BA';break;//ş
        case 317: part='%BC';break;//Ľ
        case 733: part='%BD';break;//˝
        case 318: part='%BE';break;//ľ
        case 380: part='%BF';break;//ż
        case 340: part='%C0';break;//Ŕ
        case 258: part='%C3';break;//Ă
        case 313: part='%C5';break;//Ĺ
        case 262: part='%C6';break;//Ć
        case 268: part='%C8';break;//Č
        case 280: part='%CA';break;//Ę
        case 282: part='%CC';break;//Ě
        case 270: part='%CF';break;//Ď
        case 272: part='%D0';break;//Đ
        case 323: part='%D1';break;//Ń
        case 327: part='%D2';break;//Ň
        case 336: part='%D5';break;//Ő
        case 344: part='%D8';break;//Ř
        case 366: part='%D9';break;//Ů
        case 368: part='%DB';break;//Ű
        case 354: part='%DE';break;//Ţ
        case 341: part='%E0';break;//ŕ
        case 259: part='%E3';break;//ă
        case 314: part='%E5';break;//ĺ
        case 263: part='%E6';break;//ć
        case 269: part='%E8';break;//č
        case 281: part='%EA';break;//ę
        case 283: part='%EC';break;//ě
        case 271: part='%EF';break;//ď
        case 273: part='%F0';break;//đ
        case 324: part='%F1';break;//ń
        case 328: part='%F2';break;//ň
        case 337: part='%F5';break;//ő
        case 345: part='%F8';break;//ř
        case 367: part='%F9';break;//ů
        case 369: part='%FB';break;//ű
        case 355: part='%FE';break;//ţ
        case 729: part='%FF';break;//˙
      default :
        if ( c > 255 ) {
          part = '%U' + Right('0000'+c.toString(16).toUpperCase(),4);
        } else {
          part = '%' + c.toString(16).toUpperCase();
        }; 
        
      };
    };
    out += part;
   }; 
  return out;
}

function Right(str, n){
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}
