MLC.GenSendKey = function ()
{
  var RandStr = "zaq1ZAQxsw2XSWcde3CDEvfr4VFRbgt5BGTnhy6NHYmju7MJUki8KIlo9LOpP";
  var RandPos = Math.floor(Math.random() * 54);
  var SendKey = MLC.Encode(RandStr.substring(RandPos,6),"");
	return SendKey;
}
MLC.Encode = function (InpText,CryptoKey)
{
 // encode inptext and return as outtext
 	var ValidChrs = "0123456789" +
  						 			 "ABCDEFGHIJKLMNOPQRSTUVWXYZ" +
               			 "abcdefghijklmnopqrstuvwxyz" +           
											"-_|";
  var DoubleQuote = String.fromCharCode(34);
  var DollarSign = String.fromCharCode(36);
  var BackSlash = String.fromCharCode(92);
  var Ascii254 =String.fromCharCode(254);
  var NonStdChrs = " !@#%^&*()+=[]{};:<>,./?|~`'" +
  								    DoubleQuote +
                      DollarSign +
                      BackSlash;
  var CodeBase = "MpLoi8PuOy2lkKjNh_I0JgB3tHreVw4U" +
        			      "YqfdG9s-Cam6FTnXbzRx5DZcEQvW7S1A";
  var CodeChrs = CodeBase;
                              
	CryptoKey = CryptoKey+"1234567890AB";
  CryptoKey = CryptoKey.substring(0,12);
	var KeyLen = CryptoKey.length;
  var CodeLen = CodeChrs.length;
  for (var KeyPos=0; KeyPos < KeyLen; KeyPos++)
  {
    var KeyChr = CryptoKey.substring(KeyPos,KeyPos+1);
    var From = CodeChrs.indexOf(KeyChr);
    if (From < 0)
  	{
			break;
    }

		var To = From + KeyPos + 1;
    if (To > CodeLen+1)
    {
    	To = CodeLen + 1;
      From = To - KeyPos - 1;
    }
    var Str1 = CodeChrs.substring(From,To);
    var Str2 = CodeChrs.substring(0,From);
    var Str3 = CodeChrs.substring(To);
    CodeChrs = Str3+Str2+Str1;
  }  
  var OutText = "";
 	var InpLen = InpText.length;
  for (InpPos=0; InpPos < InpLen; InpPos++) 
  {
    var Chr = InpText.substring(InpPos,InpPos+1);
    var ChrPos = ValidChrs.indexOf(Chr);
    if (ChrPos >= 0)
    {
    	var Fact = (ChrPos * 63) + Math.floor(63 * Math.random());
      var HiPos = Math.floor(Fact/64);
			var LoPos = Fact % 64;     
      OutText = OutText + CodeChrs.charAt(LoPos) + 
      						 CodeChrs.charAt(HiPos);
    }
    else
    {
      ChrPos = NonStdChrs.indexOf(Chr);
      Chr = CodeChrs.substring(ChrPos,ChrPos+1);
      OutText = OutText + Chr + "~";
    }   
  }
  return OutText;
}
