// UTF-8 -> CP1251
function encode_cp1251(sValue)
{
  var text = "", Ucode, ExitValue, s;
  for (var i = 0; i < sValue.length; i++)
  {
    s = sValue.charAt(i);
    Ucode = s.charCodeAt(0);
    var Acode = Ucode;
    if (Ucode > 1039 && Ucode < 1104)
    {
      Acode -= 848;
      ExitValue = "%" + Acode.toString(16);
    }
    else if (Ucode == 1025)
    {
      Acode = 168;
      ExitValue = "%" + Acode.toString(16);
    }
    else if (Ucode == 1105)
    {
      Acode = 184;
      ExitValue = "%" + Acode.toString(16);          
    } 
    else if (Ucode == 32)
    {
      Acode = 32;
      ExitValue = "%" + Acode.toString(16);          
    } 
    else if (Ucode == 10)
    {
      Acode = 10;
      ExitValue = "%0A";
    }
    else
      ExitValue = s;          
    text = text + ExitValue; 
  }      
  return text; 
}

// UTF-8 -> ISO-8859-1
function encode_iso8859_1(value)
{
  // XXX TODO
  return value;
}

function encode(value, culture)
{
  // CP1251 для русского интерфейса, ISO-8859-1 для остальных
  if (culture.toLowerCase() == 'ru')
    return encode_cp1251(value);
  else
    return encode_iso8859_1(value);
}


