﻿//2012
(function(){
	if(!window.m){window['m']={}};
	function $(id){
		return document.getElementById(id);
	};
	window['m']['$']=$;
	function bind(obj,func){
		return function(){
			return func.apply(obj,arguments);
		};
	};
	window['m']['bind']=bind;
	function addEvent(obj,type,hd){
		if(obj.addEventListener){
			return obj.addEventListener(type,hd,false);
		}
		else if(obj.attachEvent){
			return obj.attachEvent('on'+type,hd);
		}
		else{
			return false;
		}
	};
	window['m']['addEvent']=addEvent;
	function getTop(obj){
		var top=obj.offsetTop;
		while(obj.offsetParent){
			top+=obj.offsetParent.offsetTop;
			obj=obj.offsetParent;
		}
		return top;
	};
	window['m']['getTop']=getTop;
})();
function s(){
	this.tagA=m.$("l_gamelist").getElementsByTagName('li');
	this.tagB=m.$("gamelist").getElementsByTagName('li');
	this.fns=m.bind(this,this.search);
	this.c=0;
	this.defaultValue();
	this.s_tip();
	m.addEvent(m.$('s_input'),'keyup',this.fns);
};
s.prototype={
	search:function(){
		value=m.$('s_input').value;
		m.$('s_ac').innerHTML='';
		m.$('s_ac').style.display="none";
		var n=this.get_n();
		if(value=='')return false;
		var reg=new RegExp("^("+value+")",'i');
		for(var i=0;i<n.length;i++){
			var text=n[i];
			if(reg.test(text.getElementsByTagName('a')[0].innerHTML)){
				m.$('s_ac').style.display="block";
				this.create(text);
			}
		}
		if(m.$('s_ac').style.display=="block"){
			this.cd();
			m.$('cd').onclick=function(){
				m.$('s_ac').style.display="none";
			}
		}
	},
	get_n:function(){
		var n=[];
		for(var i=0;i<this.tagA.length;i++){
			n.push(this.tagA[i]);
		};
		for(var j=0;j<this.tagB.length;j++){
			n.push(this.tagB[j])
		};
		return n;
	},
	create:function(text){
		var li=document.createElement('li');
		var a=document.createElement('a');
		var href=text.getElementsByTagName('a')[0].href;
		var t=text.getElementsByTagName('a')[0].innerHTML.replace(/(<em class="tip_new01">&nbsp;<\/em>|<em class=tip_new01>&nbsp;<\/em>)/ig,"");;
		var inner=document.createTextNode(t);
		a.setAttribute('href',href);
		a.appendChild(inner);
		li.appendChild(a);
		m.$('s_ac').appendChild(li);
		li.onclick=function(){	
			m.$('s_ac').innerHTML="";
			m.$("serach").innerHTML="";
			var n_span=document.createElement("span");
			n_span.className="load_span";
			var n_span_t=document.createTextNode("検索している少々お待ちください ！");
			n_span.appendChild(n_span_t);
			m.$("serach").appendChild(n_span);
		}
	},
	cd:function(){
		var cd=document.createElement('div');
		cd.setAttribute('id','cd');
		cd.className="cd";
		m.$('s_ac').appendChild(cd);
	},
	defaultValue:function(){
		m.$('s_input').onfocus=function(){
			if(this.value==this.defaultValue){
				this.value="";
			}
			setTimeout(function(){m.$('s_tip').style.display="none";},500);
		};
		m.$('s_input').onblur=function(){
			this.value=this.defaultValue;
		};
	},
	s_tip:function(){
		m.$("s_tip").onclick=function(){
			this.style.display="none";
		}
	}
};
function lazyload(){
	this.img=m.$("right").getElementsByTagName('img');
	this.load();
	this.fns=m.bind(this,this.load);
	m.addEvent(window,'scroll',this.fns);
};
lazyload.prototype={
	load:function(){
		var top=document.documentElement.scrollTop||document.body.scrollTop;
		var height=document.documentElement.clientHeight+top;
		if(this.loaded(1).length!=this.img.length){
			var n=this.loaded(0);
			for(var i=0;i<n.length;i++){
				var parent=n[i].parentNode;
				var itop=m.getTop(parent);
				var ibottom=parent.offsetHeight+itop;
				if(itop<height&&ibottom>top){
					var isrc=n[i].getAttribute('data-src');
					n[i].setAttribute('src',isrc);
					n[i].className="loaded";
				}
			}
		}
	},
	loaded:function(sta){
		var array = [];
		var i = 0;
		for(i = 0; i < this.img.length; i++){
			eval("this.img[i].calssName==\"loaded\"" + (sta ? "&&" : "||") + "array.push(this.img[i])");
		}
		return array
	}
};
