

// failed...
function jsinfo(){
  var html = '';
  html += "window.innerHeight => "+window.innerHeight+"\n";
  html += "window.innerWidth => "+window.innerWidth+"\n";
  html += "document.body.scrollHeight => "+document.body.scrollHeight+"\n";
  html += "document.body.scrollWidth => "+document.body.scrollWidth+"\n";
  html += "document.body.offsetHeight => "+document.body.offsetHeight+"\n";
  html += "document.body.offsetWidth => "+document.body.offsetWidth+"\n";
  html += "document.body.clientHeight => "+document.body.clientHeight+"\n";
  html += "document.body.clientWidth => "+document.body.clientWidth+"\n";
  html += "document.documentElement.clientHeight => "+document.documentElement.clientHeight+"\n";
  html += "document.documentElement.clientWidth => "+document.documentElement.clientWidth+"\n"
  alert(html);
}

function showTable(id)
{
  var str = document.getElementById(id).innerHTML;
  pat = new RegExp("<");
  while( str.match(pat) ){
    str = str.replace(pat,"&lt;");
  }
  pat = new RegExp(">");
  while( str.match(pat) ){
    str = str.replace(pat,"&gt;");
  }
  document.getElementById('debug').innerHTML = str;
}

function setClipboard(str)
{
  if( window.clipboardData ){ // IE
    window.clipboardData.setData("text",str);
  }else{ // FF
    var url = [
      'data:text/html;charset=utf-8;base64,PGJvZHk+PC9ib2',
      'R5PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKGZ1',
      'bmN0aW9uKGVuY29kZWQpe3ZhciBzd2ZfZGF0YSA9IFsKICdkYX',
      'RhOmFwcGxpY2F0aW9uL3gtc2hvY2t3YXZlLWZsYXNoO2Jhc2U2',
      'NCxRMWRUQjJ3JywKICdBQUFCNG5EUGdZbGpBd01qSTRNejAlMk',
      'YlMkY5JTJGZTJaZkJnYUdhV3dNRE1uNUthJywKICdrTU10TjRH',
      'ZGdaZ1NJTXdaWEZKYW01UUFFJTJCQm9iaTFCTG5uTXlDcFB6RW',
      '9oU0dJJywKICdQRnAlMkZBeHNEREJRa3BGWkRGUUZGQ2d1eVM4',
      'QXlqSTRBRVVCaXkwVndBJTNEJTNEJwpdLmpvaW4oIiIpOwpkb2',
      'N1bWVudC5ib2R5LmlubmVySFRNTCA9IFsKICc8ZW1iZWQgc3Jj',
      'PSInLHN3Zl9kYXRhLCciICcsCiAnRmxhc2hWYXJzPSJjb2RlPS',
      'csZW5jb2RlZCwnIj4nLAogJzwvZW1iZWQ+JwpdLmpvaW4oIiIp',
      'Owp9KSgi',
      base64encode( encodeURIComponent(str) + '")</'+'script>')
    ].join("");
    var tmp = document.createElement("div");
    tmp.innerHTML = [
      '<iframe src="',url,'"'
      ,' width="0" height="0">'
      ,'</iframe>'
    ].join("");
    with(tmp.style){
      position ="absolute";
     left = "-10px";
     top  = "-10px";
     visibility = "hidden";
    };
    document.body.appendChild(tmp);
    setTimeout(function(){document.body.removeChild(tmp)},1000);
  }
}

// need for  clipboard
function base64encode(str){
  var Chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");
  var c1, c2, c3;
  var buf = [];
  var len = str.length;
  var i = 0;
  while(i < len){
    c1 = str.charCodeAt(i) & 0xff;
    c2 = str.charCodeAt(i+1);
    c3 = str.charCodeAt(i+2);
    buf.push(Chars[(c1 >> 2)]);
    if(i+1 == len){
      buf.push(Chars[(c1 & 0x3) << 4],"==");
      break;
    }
    buf.push(Chars[((c1 & 0x3) << 4) | ((c2 & 0xF0) >> 4)]);
    if(i+2 == len){
      buf.push(Chars[(c2 & 0xF) << 2],"=");
      break;
    }
    buf.push(
      Chars[((c2 & 0xF) << 2) | ((c3 & 0xC0) >> 6)],
      Chars[(c3 & 0x3F)]
    );
    i+=3;
  }
  return buf.join("")
}

function setClipboard(str)
{
  if( window.clipboardData ){ // IE
    window.clipboardData.setData("text",str);
  }else{ // FF
    var url = [
      'data:text/html;charset=utf-8;base64,PGJvZHk+PC9ib2',
      'R5PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKGZ1',
      'bmN0aW9uKGVuY29kZWQpe3ZhciBzd2ZfZGF0YSA9IFsKICdkYX',
      'RhOmFwcGxpY2F0aW9uL3gtc2hvY2t3YXZlLWZsYXNoO2Jhc2U2',
      'NCxRMWRUQjJ3JywKICdBQUFCNG5EUGdZbGpBd01qSTRNejAlMk',
      'YlMkY5JTJGZTJaZkJnYUdhV3dNRE1uNUthJywKICdrTU10TjRH',
      'ZGdaZ1NJTXdaWEZKYW01UUFFJTJCQm9iaTFCTG5uTXlDcFB6RW',
      '9oU0dJJywKICdQRnAlMkZBeHNEREJRa3BGWkRGUUZGQ2d1eVM4',
      'QXlqSTRBRVVCaXkwVndBJTNEJTNEJwpdLmpvaW4oIiIpOwpkb2',
      'N1bWVudC5ib2R5LmlubmVySFRNTCA9IFsKICc8ZW1iZWQgc3Jj',
      'PSInLHN3Zl9kYXRhLCciICcsCiAnRmxhc2hWYXJzPSJjb2RlPS',
      'csZW5jb2RlZCwnIj4nLAogJzwvZW1iZWQ+JwpdLmpvaW4oIiIp',
      'Owp9KSgi',
      base64encode( encodeURIComponent(str) + '")</'+'script>')
    ].join("");
    var tmp = document.createElement("div");
    tmp.innerHTML = [
      '<iframe src="',url,'"'
      ,' width="0" height="0">'
      ,'</iframe>'
    ].join("");
    with(tmp.style){
      position ="absolute";
     left = "-10px";
     top  = "-10px";
     visibility = "hidden";
    };
    document.body.appendChild(tmp);
    setTimeout(function(){document.body.removeChild(tmp)},1000);
  }
}

