function vwrit( element ){
  if( element.getElementsByTagName("*").length == 0 ){
    element.innerHTML = vwrit1( element.innerText );
  }else{
    vwrit2( element.getElementsByTagName("*") );
  }
}

function vwrit1( strSource ){
  var srcLine;
  var rltLine;

  srcLine = strSource;
  rltLine = "";

  for( var cnt=0 ; cnt<srcLine.length ; cnt++ ){
    rltLine += srcLine.charAt(cnt) + "<br />";
  }

  return rltLine;
}

function vwrit2( aryElements ){
  var srcLine;
  var rltLine;
  var intLen;
  var result;

  for( var cntElm=0 ; cntElm<aryElements.length ; cntElm++ ){
try{
    srcLine = aryElements.item(cntElm).innerText.split("\n");
    intLen = 0;
    for( var cnt=0 ; cnt<srcLine.length ; cnt++ ){
      srcLine[cnt] = srcLine[cnt].replace("\r","");
      if( intLen < srcLine[cnt].length ){
        intLen = srcLine[cnt].length;
      }
    }

    rltLine = new Array( intLen+1 );
    result = "";

    for( var cnt1=0 ; cnt1<rltLine.length ; cnt1++ ){
      rltLine[cnt1] = "";

      for( var cnt2=srcLine.length-1 ; 0<=cnt2 ; cnt2-- ){
        if( srcLine[cnt2].length <= cnt1 ){
          rltLine[cnt1] += "@";
        }else{
          rltLine[cnt1] += srcLine[cnt2].charAt(cnt1);
        }
      }
    }

    result = rltLine.join("\n");
    aryElements.item(cntElm).style.display = "block";
    aryElements.item(cntElm).innerText = result;
}catch( ex ){
//alert( ex.message)
}
  }
}
