var rakuten_xmlobj;
var rakuten_xtree = [];
var rakuten_items = [];
var RakutenAf = function(){
	// config
	var all = 8;
	var ngwords = ["下着","ランジェリー"];

	var rakuten_xmlobj = new XML.ObjTree();
	var r = [];
	var getResult = function(xmls,keywords){
		for( var i=0; i<xmls.length; i++ ){
			if( typeof(xmls[i])=="undefined" ){ continue; }
			if( typeof(keywords[i])=="undefined" ){ continue; }
			if( !xmls[i] ){ continue; }
			rakuten_xtree[i] = rakuten_xmlobj.parseXML(xmls[i]);
			if( rakuten_xtree[i].parsererror ){ continue; }
			if( rakuten_xtree[i].Response.Header.Status!="Success" ){ continue; }
			rakuten_items[i] = $A(rakuten_xtree[i].Response.Body.ItemSearch.Items.Item);
			var regexp = eval("/"+keywords[i]+"/i");
			rakuten_items[i] = rakuten_items[i].findAll( function(o){ return o.itemName.match(regexp); });
			var regexpNot = eval("/"+ngwords.join("|")+"/");
			rakuten_items[i] = rakuten_items[i].findAll( function(o){ return !o.itemName.match(regexpNot); });
			if( rakuten_items[i].length > 8 ){
				r[i] = rakuten_items[i];
			}else{
				r[i] = $A(rakuten_xtree[i].Response.Body.ItemSearch.Items.Item);
			}
			r[i].each( function(item){
				item.likebrand = keywords[i];
				if( keywords[i]==undefined ){
					i=i;
				}
			} );
		}
	};

	return {
		init : function(){
			if( typeof(rakuten_like_keyword)=="undefined" ){ return; }

			var items = [];
			getResult(rakuten_like,rakuten_like_keyword);
			r = r.findAll( function(a){ return (a && a.length!=0); } );
			if( r.length==0 ){
				getResult(rakuten_reco,rakuten_reco_keyword);
			}
			r.sort( function(a,b){
				if( typeof(a)=="undefined" || !a ){
					return -1;
				}else if( typeof(b)=="undefined" || !b ){
					return 1;
				}
				return a.length - b.length;
			} );
			var len = r.length;
			for( var i=0; i<len; i++ ){
				if(!r[i]){ continue; }
				var num = r[i].length;
				var max = Math.ceil(all/(len-i));
				num = (num>max) ? max : num;
				all = all-num;
				for( var j=0; j<num; j++ ){
					items.push( r[i][j] );
				}
			}
			rendered = Lyase.View.render({element:'rakutenTpl'}, items );
			$('rakutenContainer').innerHTML = rendered;
		}
	};
}();
Event.observe(window, 'load', function(){ RakutenAf.init(); }, false);
