// JavaScript Document
function getHttp() {
  var http;
  if (window.XMLHttpRequest) { // Mozilla, Safari,...
    http = new XMLHttpRequest();
    if (http.overrideMimeType) {
      // set type accordingly to anticipated content type
      http.overrideMimeType('text/html');
    }
  } else if (window.ActiveXObject) { // IE
    try {
      http = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        http = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) {}
    }
  }
  if (!http) {
    alert('Cannot create XMLHTTP instance');
  }
  return http;
}
function get_response_text ( req ) {
  var text = req.responseText;
  if ( navigator.appVersion.indexOf( "KHTML" ) > -1 ) {
    var esc = escape( text );
    if ( esc.indexOf("%u") < 0 && esc.indexOf("%") > -1 ) {
      text = decodeURIComponent( esc );
    }
  }
  return text;
}
function read(url, id) {
	if (document.getElementById(id)) {
		var http = getHttp();
		http.open('get', url, true);
		
		http.onreadystatechange = function() {
		  if (http.readyState == 4) {
		    // XXX: why does status return 0?
		    if (http.status == 200 || http.status == 0) {
		      document.getElementById(id).innerHTML = get_response_text(http);
		    } else {
		      document.getElementById(id).innerHTML = '読み込みに失敗しました。';
		    }
		  }
		}
		http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
		http.send(null);
	}
}

function registerInit(callback) {
    /* for Mozilla */

    if (document.addEventListener) {
        document.addEventListener("DOMContentLoaded", callback, false);
    }

    /* for Internet Explorer */

    if (document.getElementById) {
        var deferScript = document.getElementById('__init_script');
        if (deferScript) {
            deferScript.onreadystatechange = function() {
                if (this.readyState == 'complete') {
                    callback();
                }
            };

            /* check whether script has already completed */
            deferScript.onreadystatechange();

            /* clear reference to prevent leaks in IE */
            deferScript = null;
        }
    }

    /* for other browsers */
    window.onload = callback;
}

function init() {
    // quit if this function has already been called
    if (arguments.callee.done) return;

    // flag this function so we don't do the same thing twice
    arguments.callee.done = true;

	read('/blog/blogNew.php', 'blogRss');
};

registerInit(init);
