// mapping table as global
var CM = new Array();
CM[0]=new Object(); CM[0][0] =65; CM[0][1] =".com";
CM[1]=new Object(); CM[1][0] =66; CM[1][1] =".net";
CM[2]=new Object(); CM[2][0] =67; CM[2][1] =".ch";
CM[3]=new Object(); CM[3][0] =68; CM[3][1] =".de";
CM[4]=new Object(); CM[4][0] =69; CM[4][1] ="@";
CM[5]=new Object(); CM[5][0] =70; CM[5][1] =".";
CM[6]=new Object(); CM[6][0] =71; CM[6][1] ="er";
CM[7]=new Object(); CM[7][0] =72; CM[7][1] ="en";
CM[8]=new Object(); CM[8][0] =73; CM[8][1] ="em";
CM[9]=new Object(); CM[9][0] =74; CM[9][1] ="et";
CM[10]=new Object(); CM[10][0] =75; CM[10][1] ="ep";
CM[11]=new Object(); CM[11][0] =76; CM[11][1] ="el";
CM[12]=new Object(); CM[12][0] =77; CM[12][1] ="ei";
CM[13]=new Object(); CM[13][0] =78; CM[13][1] ="es";
CM[14]=new Object(); CM[14][0] =79; CM[14][1] ="eg";
CM[15]=new Object(); CM[15][0] =80; CM[15][1] ="ae";
CM[16]=new Object(); CM[16][0] =81; CM[16][1] ="an";
CM[17]=new Object(); CM[17][0] =82; CM[17][1] ="am";
CM[18]=new Object(); CM[18][0] =83; CM[18][1] ="as";
CM[19]=new Object(); CM[19][0] =84; CM[19][1] ="ar";
CM[20]=new Object(); CM[20][0] =85; CM[20][1] ="oe";
CM[21]=new Object(); CM[21][0] =86; CM[21][1] ="on";
CM[22]=new Object(); CM[22][0] =87; CM[22][1] ="om";
CM[23]=new Object(); CM[23][0] =88; CM[23][1] ="os";
CM[24]=new Object(); CM[24][0] =89; CM[24][1] ="ie";
CM[25]=new Object(); CM[25][0] =90; CM[25][1] ="in";
CM[26]=new Object(); CM[26][0] =91; CM[26][1] ="im";
CM[27]=new Object(); CM[27][0] =92; CM[27][1] ="it";
CM[28]=new Object(); CM[28][0] =93; CM[28][1] ="ue";
CM[29]=new Object(); CM[29][0] =94; CM[29][1] ="us";
CM[30]=new Object(); CM[30][0] =95; CM[30][1] ="ur";


function nexecm(ip,pt)
  {
  var op='';  
  ip=ip.toLowerCase();
  for (var i=0; i<ip.length; i++)
    {
    var r=(ip.length-i);
    var c=ip.charCodeAt(i)
      
    // combination replacement
    if(r>1)
      {
      for(var ac=0; ac<CM.length; ac++) 
        {
        var lc='';
        for(var t=0; t<CM[ac][1].length; t++) 
          {
          if(t>0) {lc+=ip.charAt(i+t)} else {lc=ip.charAt(i);}
          }
        
        if(lc==CM[ac][1]) 
          {
          c=CM[ac][0]; 
          i=i+(lc.length-1);
          break;
          }
        }
        
        if(c>=70 && c<90 || c>=100 && c<120)
        {
        // var fl=(Math.floor(c/10)*10);
        var cs=(String(c).charAt(String(c).length-1));
        var c=c+(9-(2*cs));
        }
      }
      op+=String.fromCharCode(c);
    }
  return(op);
  }




function nexdcm(ip,type)
  {
  var op='';
  for (var i=0; i<ip.length; i++)
    {
    var r=(ip.length-i);
    var c=ip.charCodeAt(i)
      
    if(c>=70 && c<90 || c>=100 && c<120)
      {
      var lc=(String(c).charAt(String(c).length-1));
	  var c=(9-(2*lc))+c;
      }
      
    var st=String.fromCharCode(c);
    if(r>=1)
       {
       for(var ac=0; ac<CM.length; ac++) 
         {
         if(c==CM[ac][0]) {st=CM[ac][1];}
         }
       }
    
    op+=st;
    }
    // browsercheck vor dem ausfŸhren ?
    if(type=='link') {location.href="mailto:"+op;}
    if(type=='text') {return op;}
  }

