function m_stradd (str1, str2)
{
  maxlen = (str1.length>str2.length) ? str1.length : str2.length;
  str_1 = m_makelen(str1,maxlen,'a');
  str_2 = m_makelen(str2,maxlen,'a');
  strres = "";
  for(m=0;m<maxlen;m++) {
    c = m_charadd(str_1.charAt(m),str_2.charAt(m));
    strres = strres + c;
  }
  return strres.toString();
}

function m_charadd (char1, char2)
{
 intLen = 36;
 chars = new Array('a','b','c','d','e','f','g','h','i','j','k','l',
                   'm','n','o','p','q','r','s','t','u','v','w','x',
                   'y','z','0','1','2','3','4','5','6','7','8','9');
 for(i=0;i<intLen;i++) {
   if(chars[i]==char1) {
     pos1 = i;
     break;
   }
 }
 for(i=0;i<intLen;i++) {
   if(chars[i]==char2) {
     pos2 = i;
     break;
   }
 }
 posres = (pos1+pos2)%intLen;
 return chars[posres];
}

function m_makelen (str,len,chr)
{
   strlen = str.length;
   if (strlen<len)   {
     for (k=len; k>strlen; k--)     {
        str = chr+str;
     }
   }
   return str;
}
