google.load("feeds", "1");

function initialize() {
  var feedurl = "http://103.3.48.155/product.xml";

  var feed = new google.feeds.Feed(feedurl);
  feed.setNumEntries(100);//最大件数を下回らないように設定
  feed.load(dispfeed);
  
  

  function dispfeed(result){
    if (!result.error){
    var maxNum = 3;//表示件数
    var maxEntries = result.feed.entries.length;//アイテムの数を取得
	
      var container = document.getElementById("feed_webstore");
      var htmlstr = "";

    function once_rand(min,max){
　　this.cnt=max-min;
　　this.arr=[];
　　//乱数候補を配列に格納
　　for(var i=0;i<this.cnt;i++){
	this.arr[i]=min++;	
	}
}
//乱数を取り出すメソッド
once_rand.prototype.next=function(){
　　if(this.cnt<=maxEntries-maxNum){
　　　　//表示件数を超えた
　　　　return undefined;
　　}
　　//乱数を取り出す位置を決定
　　var idx=Math.floor(Math.random()*(this.cnt));
　　//乱数を取り出す
　　var rand_val=this.arr[idx];

　　//重複しないように最後尾の要素で上書き(今のthis.arr[this.cnt-1]は次回以降使われない)
　　this.arr[idx]=this.arr[this.cnt-1];
　　//残りの乱数候補が減少
　　this.cnt--;
　　return rand_val;
}

function setHTML(){
	var entry = result.feed.entries[j];
        var gazo = entry.link.split("=");//固有商品ナンバーを取り出す
		gazo.shift();
		var shop = gazo.shift().split("&");
        htmlstr += '<li class="' + "list_webstore" +'">'
        htmlstr += '<a href="' + entry.link + '" target="_blank">' + '<img src="http://egoist-store.jp/Contents/ProductImages/' + shop.shift() + '/' + gazo.pop() + '_LL.jpg" width="133" height="200" />' + '</a> ';
        htmlstr += "</li>"
	}
	
var rand1 = new once_rand(0,maxEntries); //乱数設定
var j=rand1.next();
setHTML();
while(1){
　　var rand_val=rand1.next(); //乱数を取り出す
　　if(rand_val == undefined){break;}
　　j = rand_val;
    setHTML();
      }

      container.innerHTML = htmlstr;
    }else{
       alert(result.error.code + ":" + result.error.message);
    }
  }
}

google.setOnLoadCallback(initialize);
