DSearch={
CreatingMenu:false,
overIcon:false,
menuOn:false,
selectionTxt:'',
BKColor:'FF9900',
BorderColor:'A0A0A0',
FontColor:'000000',
MouseoverColor:'FAFAFA',

SearchMenu:function(show){
	DSearch.SearchMenuObj=document.getElementById('SearchMenu');
	if(DSearch.SearchMenuObj){
		if(show){
			DSearch.SearchMenuObj.style.visibility='visible';
		}else{
			DSearch.menuOn=false;
			DSearch.SearchMenuObj.style.visibility='hidden';
		}
	}
},
SearchIcon:function(show,x,y){
	DSearch.SearchIconObj=document.getElementById('SearchIcon');
	if(DSearch.SearchIconObj){
		if(show){
			DSearch.SearchIconObj.style.left=x+'px';
			DSearch.SearchIconObj.style.top=y+'px';
			DSearch.SearchIconObj.style.visibility='visible';
		}else{
			DSearch.SearchIconObj.style.visibility='hidden';
		}
	}
},
HandleSelect:function(evt){
	DSearch.mouseY=0;
	DSearch.mouseX=0;
	if(evt){
		if(evt.pageX&&evt.pageY){
			DSearch.mouseX=evt.pageX;
			DSearch.mouseY=evt.pageY;
		}else{
			DSearch.scrollOffset=DSearch.GetScrollXY();
			DSearch.mouseX=evt.clientX+DSearch.scrollOffset[0];
			DSearch.mouseY=evt.clientY+DSearch.scrollOffset[1];
		}
	}
	if(document.selection){
		no_searchFlag=false;
		if(document.selection.createRange().text&&!no_searchFlag){
			DSearch.selectionTxt=document.selection.createRange().text;
			DSearch.SearchIcon(true,DSearch.mouseX+15,DSearch.mouseY-20);
			return;
		}
	}else{
		DSearch.d=window.getSelection()+'';
		if(DSearch.d){
			if(DSearch.d.length>0){
				DSearch.selectionTxt=DSearch.d;
				DSearch.SearchIcon(true,DSearch.mouseX+15,DSearch.mouseY-20);
				return;
			}
		}
	}
	DSearch.SearchIcon(false,0,0);
	DSearch.SearchMenu(false);
},
GetScrollXY:function(){
	var scrOfX=0,scrOfY,d=document;
	if(typeof(window.pageYOffset)=='number'){
		scrOfY=window.pageYOffset;
		scrOfX=window.pageXOffset;
	}else if(d.body&&(d.body.scrollLeft||d.body.scrollTop)){
		scrOfY=d.body.scrollTop;
		scrOfX=d.body.scrollLeft;
	}else if(d.documentElement&&(d.documentElement.scrollLeft||d.documentElement.scrollTop)){
		scrOfY=d.documentElement.scrollTop;
		scrOfX=d.documentElement.scrollLeft;
	}
	return[scrOfX,scrOfY];
},
AddMenu:function(pos){
	DSearch.onClickStr=" onclick="+DSearch.MenuArray[pos][1];
	DSearch.nameStr=DSearch.MenuArray[pos][0];
	DSearch.itemCode='<div '+DSearch.onClickStr+' style="border-bottom:1px solid #808080;padding:2px;padding-left:5px;cursor:pointer;font-family: arial,helvetica,clean,sans-serif;font-size:13px;text-align:left;line-height:16px;" onmouseover="this.style.backgroundColor=\'#'+DSearch.MouseoverColor+'\'" onmouseout="this.style.backgroundColor=\'#'+DSearch.BKColor+'\'">'+DSearch.nameStr+'</div>';
	DSearch.SearchMenuObj.innerHTML+=DSearch.itemCode;
	if(pos<DSearch.MenuArray.length-1){
		DSearch.nextPos=pos;
		DSearch.funcStr='DSearch.AddMenu("'+(++pos)+'")';
		setTimeout(DSearch.funcStr,40);
	}else{
		DSearch.menuOn=true;
		DSearch.CreatingMenu=false;
	}
},
SearchGoogle:function(){
	var gURL='http://pc.nikkeibp.co.jp/cse/?ie=UTF-8&cx=008073503951144861594%3Apmfjofrhtdi&cof=FORID%3A9&q='+encodeURIComponent(DSearch.selectionTxt)+'&lang=ja';
	window.open(gURL);
},
SearchTerm:function(){
	var tURL='http://pc.nikkeibp.co.jp/cse/?ie=UTF-8&cx=008073503951144861594%3Anyyid8k3mxm&cof=FORID%3A9&q='+encodeURIComponent(DSearch.selectionTxt)+'&lang=ja';
	window.open(tURL);
},
SearchConeco:function(){
	var cURL='http://www.coneco.net/PriceList.asp?FREE_WORD='+encodeURIComponent(DSearch.selectionTxt)+'&SEARCHALL=1';
	window.open(cURL);
},
LoadMenu:function(){
	DSearch.MenuArray=new Array();
	DSearch.MenuArray[0]=new Array(' 記事','DSearch.SearchGoogle()');
	DSearch.MenuArray[1]=new Array(' 用語','DSearch.SearchTerm()');
},
CreateMenu:function(x,y){
	if(!DSearch.CreatingMenu&&DSearch.menuOn==false){
		DSearch.CreatingMenu=true;
		DSearch.SearchMenuObj=document.getElementById('SearchMenu');
		if(DSearch.SearchMenuObj){
			DSearch.LoadMenu();
			DSearch.SearchMenuObj.innerHTML='';
			DSearch.SearchMenuObj.style.left=x+'px';
			DSearch.SearchMenuObj.style.top=y+'px';
			DSearch.SearchMenu(true);
			DSearch.AddMenu(0);
		}
	}
},
DoMouseOver:function(obj){
	if(!DSearch.overIcon){
		DSearch.SearchIconObj=document.getElementById('SearchIcon');
		if(DSearch.SearchIconObj){
			DSearch.SearchIconObj.style.backgroundColor='#'+DSearch.MouseoverColor;
			var l=0,t=0;
			while(obj){
				l+=obj.offsetLeft;
				t+=obj.offsetTop;
				obj=obj.offsetParent;
			}
			DSearch.CreateMenu(l+16,t+21);
		}
	}
},
DoMouseOut:function(obj){
	DSearch.SearchIconObj=document.getElementById('SearchIcon');
	if(DSearch.SearchIconObj)DSearch.SearchIconObj.style.backgroundColor='#'+DSearch.BKColor;
},
OnLoadSearchHtml:function(){
	DSearch.SearchIconTxt='<div align="center" name="SearchIcon" id="SearchIcon" style="visibility:hidden;width:70px;position: absolute;border: 1px solid #245EDC;z-index: 100;height: 20px;cursor:pointer;background-color: #'+DSearch.BKColor+';font-size: 13px;color:#'+DSearch.FontColor+';font-family: arial,helvetica,clean,sans-serif;line-height:16px;" onMouseOver="DSearch.DoMouseOver(this)" onMouseOut="DSearch.DoMouseOut(this)"><b> 検索 </b></div>';
	DSearch.SearchMenuTxt='<div ID="SearchMenu" name="SearchMenu" style="visibility:hidden;position:absolute;z-index: 100;font-weight:bold;color:#'+DSearch.FontColor+';font-family: arial,helvetica,clean,sans-serif;font-size: smaller;width:80px;background-color:#'+DSearch.BKColor+';border:1px solid #'+DSearch.BorderColor+';"></div>';
	DSearch.Obj=document.createElement('SPAN');
	DSearch.Obj.setAttribute('id','SearchID');
	DSearch.Obj.setAttribute('name','SearchID');
	DSearch.Obj.innerHTML=DSearch.SearchIconTxt+DSearch.SearchMenuTxt;
	document.body.appendChild(DSearch.Obj);
	DSearch.SearchMenuObj=document.getElementById('SearchMenu');
	if(DSearch.SearchMenuObj.style.MozOpacity!=null){
		DSearch.SearchMenuObj.style.MozOpacity=0.9;
	}else{
		DSearch.SearchMenuObj.style.filter='progid:DXImageTransform.Microsoft.Shadow(color=#CACACA,direction=135,strength=3) alpha(opacity=90)';
	}
	if(typeof window.addEventListener!='undefined'){
		window.addEventListener('click',DSearch.HandleSelect,false);
		window.addEventListener('mouseup',DSearch.HandleSelect,false);
	}else if(typeof document.addEventListener!='undefined'){
		document.addEventListener('click',DSearch.HandleSelect,false);
		document.addEventListener('mouseup',DSearch.HandleSelect,false);
	}else if(typeof window.attachEvent!='undefined'){
		document.body.attachEvent('onclick',DSearch.HandleSelect);
		document.body.attachEvent('ondblclick',DSearch.HandleSelect);
	}
}
};


(function(){
	var ie=!!(window.attachEvent&&!window.opera);
	var wk=/webkit\/(\d+)/i.test(navigator.userAgent)&&(RegExp.$1<525);
	var fn=[];
	var run=function(){
		for(var i=0;i<fn.length;i++)fn[i]();
	};
	var d=document;
	d.ready=function(f){
		if(!ie&&!wk&&d.addEventListener)
			return d.addEventListener('DOMContentLoaded',f,false);
		if(fn.push(f)>1)return;
		if(ie)
			(function(){
				try{
					d.documentElement.doScroll('left');
					run();
				}catch(err){
					setTimeout(arguments.callee,0);
				}
			}
		)();
		else if(wk)
			var t=setInterval(function(){
				if(/^(loaded|complete)$/.test(d.readyState))clearInterval(t),run();
			},0);
	};
})();

