function initXMLHTTP()
{
    var xmlhttp=false

    /*@cc_on @*/
    /*@if (@_jscript_version >= 5)
     try 
     {
      xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
     } 
     catch(e) 
     {
      try 
      {
       xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      } 
      catch(e) 
      {
       xmlhttp=false;
      }
     }
    @end @*/

    if (!xmlhttp && typeof XMLHttpRequest!="undefined") 
    {
        try 
        {
          xmlhttp=new XMLHttpRequest();
        } 
        catch(e) 
        {
          xmlhttp=false;
        }
    }
    if (!xmlhttp && window.createRequest) 
    {
        try 
        {
          xmlhttp=window.createRequest();
        } 
        catch(e) 
        {
          xmlhttp=false;
        }
    }

    return xmlhttp;
}

function contents(sourceUrl, destinationDiv) 
{

    var xmlhttp=initXMLHTTP();
    if(!xmlhttp) return;
    xmlhttp.open("GET", sourceUrl, true);
    xmlhttp.onreadystatechange=function() 
    {
        if(xmlhttp.readyState==4) 
        {
            try{
                var r=xmlhttp.responseText;
                r=r.replace(/\x3C!--(.|\n)+?--\x3E/gim, "");

                var rand="?sid="+new Date().getTime();
                r=r.replace(/(.jpg|.jpeg|.gif|.png|.bmp)/gim, "$1"+rand);
            
            	document.getElementById(destinationDiv).innerHTML=r;
            }catch(e){}
        }
    }

    xmlhttp.send(null);
}

function olderPosts(feed, destLabel, destDiv, startPost, endPost, addMoreLnk, summaryLen)
{
    var months = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");

    var dest=document.getElementById(destDiv);
    if(dest==null) return;
			
    var xmlhttp=initXMLHTTP();
    if(!xmlhttp) return;

    xmlhttp.open("GET", feed, true);
    xmlhttp.onreadystatechange=function() 
    {
        if(xmlhttp.readyState==4) {

            var r=xmlhttp.responseText;
            if(r=="") return;
            
            var ret="<div class=\"feedburnerFeedBlock\"><p class=\"feedTitle\">"+destLabel+"</p><ul>";
            var i=1;
            var ii=1;
            var re=/<published>(.+?)-(.+?)-(.+?)T(.|\n)+?<content.+?>((.|\n)+?)<\/content><link.+?rel='alternate'.+?href='(.+?)'.+?title='(.+?)'\/>/gim;
            var ar;

            while ((ar=re.exec(r))!=null)
            {
            	if(ii>endPost) break;
            	if(ii>=startPost)
            	{
            		if (i>2)
            		{
            			i=1;
            			ret+="</ul><ul>";
            		}
            		ret+="<li><span class=\"headline\"><a href=\""+ar[7]+"\">"+ar[8]+"</a></span>" +
            			 "<p class=\"date\">"+months[parseInt(ar[2],10)-1]+" "+ar[3]+", "+ar[1]+"</p>";

					try{ if(summaryLen>0){ 
        		        var src=ar[5].replace(/&lt;(.|\n)+?&gt;/igm,"");
        		        if(src.length>summaryLen)
        		            src=src.substring(0,summaryLen)+"...";
        		        ret+="<div>"+src+"</div>";
        		    }}catch(e){}	
        		    	
            		i++;
            	}
				
				ii++;
			}
			
			ret+="</ul>";
								  
			if(addMoreLnk)
			{
			    var archives=document.getElementsByTagName("link");
			    for (i=archives.length-1;i>=0;i--)
			    {
	                if(archives[i].rel=="archives")
	                {
	                    ret+="<p class=\"monthlynews\">&nbsp;<br /><a href=\""+archives[i].href+"\">アーカイブ</a></p>";
	                    break;
	                }
                }

			    
		    }		
		    
		    ret+="</div>";
		    
      		try{ dest.innerHTML=ret; }catch(e){}
        }
    }
    xmlhttp.send(null);
}

function loadScript(src)
{
	var s = document.createElement("script");
	s.type = "text/javascript";
	s.src = src;
	document.getElementsByTagName("body")[0].appendChild(s);
}

function addLoadEvent(func) 
{
  var oldonload = window.onload;
  if (typeof window.onload != 'function') 
    window.onload = func;
  else 
  {
    window.onload = function() 
    {
      if (oldonload) oldonload();
      func();
    }
  }
}

addLoadEvent(function(){
	contents("http://www.virtualization.info/jp/sidebar_jp.txt", "sidebar_content");
	olderPosts("http://www.virtualization.info/jp/feed.xml","最新の記事","recent_articles",1,14,true,220); 
    olderPosts("http://www.virtualization.info/jp/feed.xml","過去の記事","older_articles",11,24,true,220);
});

function splitPost(bin, url)
{
    var rm="<a href='"+url+"' class='more'>続きはこちら...</a>";
    document.write("<span id='m"+bin+"'></span>"); 
    var dv= document.getElementById("m"+bin).parentNode;
    if (dv.innerHTML.search(/<\!-- MORE -->/gim) > -1)
    	dv.innerHTML=dv.innerHTML.replace(/<\!-- MORE -->(.|\n)+?<\!-- ENDMORE -->/gim, rm);
}