String.prototype.trim = function()
{
 return this.replace(/(^\s*)|(\s*$)/g, "");
}
String.prototype.left = function(num,mode)
{
	if(!/\d+/.test(num))return(this);
	var str = this.substr(0,num);
	if(!mode) return str;
	var n = str.Tlength() - str.length;num = num - parseInt(n/2);
	return this.substr(0,num);
}
String.prototype.right = function(num,mode)
{
	if(!/\d+/.test(num))return(this);
	var str = this.substr(this.length-num);
	if(!mode) return str;
	var n = str.Tlength() - str.length;num = num - parseInt(n/2);
	return this.substr(this.length-num);
}
function Enigma(str)
{
    var Asck,Key,StrKey,k,Lenf,Strlenf,NRan,StrNran,tag;
	tag="";
	str=str.trim();
	Lenf = str.length;
    Strlenf = ''+Lenf;
	 for (k=1;k<=Lenf;k++)
	 {
	 	StrKey=str.left(k,"");
		StrKey=StrKey.right(1,"");
		Key=StrKey.charCodeAt();
		Rnd=Math.floor(Math.random()*9);
		NRan=Rnd;
		StrNRan=String(Key)+String(NRan);
		Key=StrNRan;
		StrKey=Strlenf.left(1,"");
		Key = Key * str.length;
		Key = Key * parseInt(StrKey);
		Key = Key + str.length;
		Key = Key + parseInt(StrKey);
		StrKey = Key;
		StrKey=StrKey;
		tag = tag + ""+StrKey + " ";
	 }
	 Strlenf=Strlenf+'';
	 NRan=NRan+'';
	 Strlenf=Math.pow((Strlenf + NRan),2);
	 tag = tag + Strlenf;
	return tag;
}