function test() {
	var ans			= checkForm();
	var testForm	= ans.join("<br>");
	document.getElementById("test").innerHTML	= testForm;
}
// *******************************************************************************
// 
// *******************************************************************************
document.captureEvents(Event.MOUSEMOVE);
window.document.onmousemove			= getEventXY;
disp_len	= 30;
var PosTimer;
var Xpos = 0;
var Ypos = 0;

/* イベントの発生座標取得 */
function getEventXY(evt)
{
	Xpos	= evt.pageX;
	Ypos	= evt.pageY;
}

/* イベントの発生座標取得 */
function getEventPoint()
{
	var YY	= document.body.scrollTop - 340;
	if(YY<0)YY	= 0;
	if(document.getElementById("div_sort"))document.getElementById("div_sort").style.top	= YY;
	PosTimer = setTimeout("getEventPoint()",1000);
}

/** Ajaxによるテンプレートの挿入
  * @param	target	: 表示先のid
  * @param	mode	: modeの変更があれば
  * @param	flag	: true innerHTML!="" なら innerHTML=""
  * @return	なし
  */
function doAjax(targetId,mode,flag,url) {
	var ans , sendForm;
	if(!url)			url			= "ctl_new.php";
	if(mode)			changeDom("mode",mode);
	if(document.FORM)	ans			= checkForm();
	if(ans)				sendForm	= ans.join("&");
	if( flag && document.getElementById(targetId).innerHTML!="" ){
		document.getElementById(targetId).innerHTML	= "";
	}else{
		var xmlhttp = new XMLHttpRequest();
		if (xmlhttp) {
			xmlhttp.onreadystatechange = function(){
				if(document.getElementById(targetId)){
					if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
						document.getElementById(targetId).innerHTML = xmlhttp.responseText;
						if(mode=="count"){
							page	= 0;
							doAjaxAll('div_searchlist','searchlist');
							mkButton();
						}
						if(mode=="sort"){
							mkButton();
						}
					}else{
//						document.getElementById(targetId).innerHTML = "しばらくお待ちください";
					}
				}
			}
			xmlhttp.open('POST',url,true);
			xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
			xmlhttp.send(sendForm);
		}
		
	}
}

/** div の innerHTML 削除
  * @param	targetId	: 削除したいid名
  * @return	なし
  */
function dellDiv(targetId) {
	
	document.getElementById(targetId).innerHTML	= "";
}

/** DOMの書き換え
  * @param	domName	: 書き換えたいDOM名
  * @param	value	: 書き換え後の値
  * @return	なし
  */
function changeDom(DomName,value) {
	
	if(document.FORM.elements[DomName]){
		document.FORM.elements[DomName].value	= value;
	}
	
}

/** DOMの書き換え(ORDER専用)
  * @param	domName	: 書き換えたいDOM名
  * @param	value	: 書き換え後の値
  * @return	なし
  */
function changeSort(value) {
	var sort , sort_old , sort_type , sort_type_old;
	
							sort			= value;
							sort_type		= "0"
							sort_old		= document.FORM.elements["ff[sort]"].value;
							sort_type_old	= document.FORM.elements["ff[sort_type]"].value;
	if( sort==sort_old && sort_type==sort_type_old)	sort_type	= "1";
	document.FORM.elements["ff[sort]"].value		= sort;
	document.FORM.elements["ff[sort_type]"].value	= sort_type;
}

/** 検索リセット
  * @param	なし
  * @return	なし
  */
function resetSearch() {
	
	document.FORM.reset();
}

/** FORMの情報を返す
  * @param	なし
  * @return	なし
  */
function checkForm() {
	var i;
	var ans			= new Array();
	var aryForm		= document.FORM;
	var length		= aryForm.length;
	for( i=0;i<length;i++ ){
		if(aryForm[i].name)ans[i]	= aryForm[i].name+"="+aryForm[i].value;
	}
	return ans;
}

page	= 0;
/** div_searchlist_番号 に表示する銘柄を埋め込む（番号指定）
  * @param	なし
  * @return	なし
  */
function doAjaxAll(target,mode) {
	if(!document.FORM.elements["ff[topcode]"])return;
	var i , num=0;
	var code;
	var targetId;
	var strTopCode		= document.FORM.elements["ff[topcode]"].value;
	var aryTopCode		= strTopCode.split(",");
	for( i=page*disp_len;i<(page+1)*disp_len;i++ ){
		code			= aryTopCode[i];
		targetId		= target+"_"+num;
		changeDom('ff[code]',code);
		doAjax(targetId,mode);
		num++;
	}
}

/** topcodeの一括処理
  * @param	なし
  * @return	なし
  */
function doAjaxAllCode(target,mode) {
	if(!document.FORM.elements["ff[topcode]"])return;
	var i;
	var code;
	var targetId;
	var strTopCode		= document.FORM.elements["ff[topcode]"].value;
	var aryTopCode		= strTopCode.split(",");
	for( i=page*disp_len;i<(page+1)*disp_len;i++ ){
		code			= aryTopCode[i];
		targetId		= target+"_"+code;
		changeDom('ff[code]',code);
		doAjax(targetId,mode);
	}
}

/** topcodeの一括削除処理
  * @param	なし
  * @return	なし
  */
function doAjaxAllDell(target) {
	if(!document.FORM.elements["ff[topcode]"])return;
	var i;
	var code;
	var targetId;
	var strTopCode		= document.FORM.elements["ff[topcode]"].value;
	var aryTopCode		= strTopCode.split(",");
	for( i=page*disp_len;i<(page+1)*disp_len;i++ ){
		code			= aryTopCode[i];
		targetId		= target+"_"+code;
		changeDom('ff[code]',code);
		dellDiv(targetId);
	}
	scrollTo(0,0);
}

/** ページボタン生成
  * @param	なし
  * @return	なし
  */
function mkButton() {
	if(!document.FORM.elements["ff[topcode]"])return;
	if(!document.getElementById("button_before"))return;
	var strTopCode		= document.FORM.elements["ff[topcode]"].value;
	var aryTopCode		= strTopCode.split(",");
	
	if(page>0)document.getElementById("button_before").style.display	= "inline";
	if(page==0)document.getElementById("button_before").style.display	= "none";
	if((page+1)*disp_len<aryTopCode.length)document.getElementById("button_next").style.display		= "inline";
	if((page+1)*disp_len>=aryTopCode.length)document.getElementById("button_next").style.display	= "none";
	
	if(!document.getElementById("button_before2"))return;
	if(page>0)document.getElementById("button_before2").style.display	= "inline";
	if(page==0)document.getElementById("button_before2").style.display	= "none";
	if((page+1)*disp_len<aryTopCode.length)document.getElementById("button_next2").style.display	= "inline";
	if((page+1)*disp_len>=aryTopCode.length)document.getElementById("button_next2").style.display	= "none";
}

// ********************************************
/** ランキング
  */
function ranking(type){
	resetSearch();
	changeDom('ff[condition]','');
	changeDom('ff[incode]','');
	changeDom('ff[ranking]',type);
	changeDom('ff[sort]','');
	doAjax('div_count','count');
	changeDom('ff[ranking]','');
}

// ********************************************
/** お気に入り追加
  */
function insertCheck(code,flag){
	
	
	
	
	
	
}

/** お気に入り削除
  */
function dellCheck(code){
	
	
	
	
	
}

/** 非同期通信処理（送信のみ）
  * 
  */
function sendAjax(url,sendForm) {
	var xmlhttp = new XMLHttpRequest();
	if (xmlhttp) {
		xmlhttp.onreadystatechange = function(){
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
				
			}
		}
		xmlhttp.open('POST',url,true);
		xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		xmlhttp.send(sendForm);
	}
}

// ********************************************
ft_over	= 1;
timerID_tooltip	= "";
/** ツールチップ表示
  * @param 
  */
function tooltip(comment_id,width,height)
{
	var comment	= "";
	if(comment_id!="")comment	= document.getElementById(comment_id).innerHTML;
	var obj	= document.getElementById("tooltip");
	clearTimeout(timerID_tooltip);
	if( comment.length>4 && comment_id!="" ){
		ft_down		= 0;
		timerID_tooltip	= setTimeout(function(){
			var left	= Xpos + 10;
			var top		= Ypos - 2;	
			document.getElementById("tooltip_inner").innerHTML	= comment;
			obj.style.display	= "block";
			obj.style.left		= left;
			obj.style.top		= top;
			if(width)obj.style.width	= width;
			if(width)obj.style.height	= height;
			timerID_tooltip	= setTimeout(function(){
				if(ft_over && !ft_down){
					obj.style.display	= "none";
				}
			},2000);
		},500);
	}else{
		timerID_tooltip	= setTimeout(function(){
			if(ft_over && !ft_down){
				obj.style.display	= "none";
			}
		},100);
	}
}

ft_down		= 0;
tooltipX	= 0;
tooltipY	= 0;
tooltipID	= "";
tooltipObj	= "";
tooltipZ	= 1;
/** ツールチップdown
  */
function tooltip_down()
{
	tooltipObj		= document.getElementById(tooltipID);
	tooltipX		= Xpos - parseInt(tooltipObj.style.left);
	tooltipY		= Ypos - parseInt(tooltipObj.style.top);
	ft_down			= 1;
	window.document.addEventListener("mousemove",tooltip_move,true);
}

/** ツールチップmove
  */
function tooltip_move()
{
	if(ft_down){
		tooltipObj.style.left		= Xpos - tooltipX;
		tooltipObj.style.top		= Ypos - tooltipY;
	}
}

/** ツールチップup
  */
function tooltip_up()
{
	tooltipX		= "";
	tooltipY		= "";
	ft_down			= 0;
	window.document.removeEventListener("mousemove",tooltip_move,false);
}

/** backgroundColorの変更
  * @param 
  */
function CBC(obj,flag)
{
	var objclass	= flag.split("_");
	switch(objclass[1]){
		case	'1'		:	obj.original	= obj.className;
							obj.className	="t_"+objclass[0]+"_on";
							break;
		case	'0'		:	obj.className	= obj.original;
							break;
		default			:	break;
	}
}

/** backgroundColorの変更(有料)
  * @param 
  */
function CBC2(obj,flag)
{
	var objclass	= flag.split("_");
	switch(objclass[1]){
		case	'1'		:	obj.original	= obj.className;
							obj.className	="t_"+objclass[0]+"_on";
							break;
		case	'0'		:	obj.className	= obj.original;
							break;
		default			:	break;
	}
}

/** backgroundColorの変更(有料)
  * @param 
  */
function CBC3(obj,flag)
{
	var objclass	= flag.split("_");
	switch(objclass[1]){
		case	'1'		:	obj.original	= obj.className;
							obj.className	="t_"+objclass[0]+"_on";
							break;
		case	'0'		:	obj.className	= obj.original;
							break;
		default			:	break;
	}
	if(objclass[0]==1){
		if(objclass[1]==1){
			obj.oldInner	= obj.innerHTML;
			obj.innerHTML	= "有料";
		}
		if(objclass[1]==0){
			obj.innerHTML	= obj.oldInner;
		}
	}
}