_pyaPonit = function(pyaImg, point_data, img_zIndex){
	var nID, nID2;
	var hdnFlg = 1;
	var cmt_zIndex = 500;
	var top_zIndex = null;
	var end_zIndex = null;
	var img_w = 0;
	var img_h = 0;
	var mx = 0;
	var my = 0;
	var imgObj = null;
	var ToolTip = "ToolTip_" + pyaImg;
	this.setPointer = function(obj){
		if(!document.getElementById(pyaImg)) return;
		var i, val, tagObj;
		document.getElementById(pyaImg).style.position = "relative";
		document.getElementById(pyaImg).style.zIndex = img_zIndex;
		document.getElementById(pyaImg).style.cursor = "pointer";
		var ele = document.getElementById(pyaImg).getElementsByTagName("img");
		if(ele[0].src.match(/board[_a-z0-9]*\.(gif|jpg)$/i)) hdnFlg = 0;
		if(!document.getElementById(pyaImg).style.width){
			imgObj = ele[0];
			img_w = parseInt(ele[0].width);
			document.getElementById(pyaImg).style.width = img_w + "px";
		}else{
			img_w = parseInt(document.getElementById(pyaImg).style.width);
		}
		if(!document.getElementById(pyaImg).style.height){
			img_h = parseInt(ele[0].height);
			document.getElementById(pyaImg).style.height = img_h + "px";
		}else{
			img_h = parseInt(document.getElementById(pyaImg).style.height);
		}
		tagObj = document.createElement("div");
		tagObj.setAttribute("id", pyaImg + "pointsheet");
		tagObj.style.position = "absolute";
		tagObj.style.left = "0px";
		tagObj.style.top = "0px";
		tagObj.style.width = img_w + "px";
		tagObj.style.height = img_h + "px";
		tagObj.style.visibility = "visible";
		document.getElementById(pyaImg).appendChild(tagObj);

		if(document.body.addEventListener){
			for(val in point_data){
				tagObj = document.createElement("img");
				tagObj.setAttribute("id", val);
				tagObj.setAttribute("src", "/bgimg/spacer.gif");
				tagObj.className = point_data[val]['cn'] + " po_share";
				tagObj.style.left = point_data[val]['x'] + "px";
				tagObj.style.top = point_data[val]['y'] + "px";
				tagObj.style.zIndex = point_data[val]['z'];
				tagObj.addEventListener("mouseover", function(){ obj.dispOn(this.id, obj);}, false);
				tagObj.addEventListener("mouseout", function(){ obj.dispOff(obj);}, false);
				tagObj.addEventListener("click", function(event){ event.stopPropagation(); obj.zIndexChange(this.id);}, false);
				tagObj.addEventListener("dblclick", function(event){ event.stopPropagation();}, false);
				document.getElementById(pyaImg + "pointsheet").appendChild(tagObj);
				if(top_zIndex === null || top_zIndex > point_data[val]['z']) top_zIndex = point_data[val]['z'];
				if(end_zIndex === null || end_zIndex < point_data[val]['z']) end_zIndex = point_data[val]['z'];
			}
		}else{
			for(val in point_data){
				tagObj = document.createElement("img");
				tagObj.setAttribute("id", val);
				tagObj.setAttribute("src", "/bgimg/spacer.gif");
				tagObj.className = point_data[val]['cn'] + " po_share";
				tagObj.style.left = point_data[val]['x'] + "px";
				tagObj.style.top = point_data[val]['y'] + "px";
				tagObj.style.zIndex = point_data[val]['z'];
				tagObj.attachEvent("onmouseover", function(){ obj.dispOn(event.srcElement.id, obj);});
				tagObj.attachEvent("onmouseout", function(){ obj.dispOff(obj);});
				tagObj.attachEvent("onclick", function(event){ event.cancelBubble=true; obj.zIndexChange(event.srcElement.id);});
				tagObj.attachEvent("ondblclick", function(event){ event.cancelBubble=true;});
				document.getElementById(pyaImg + "pointsheet").appendChild(tagObj);
				if(top_zIndex === null || top_zIndex > point_data[val]['z']) top_zIndex = point_data[val]['z'];
				if(end_zIndex === null || end_zIndex < point_data[val]['z']) end_zIndex = point_data[val]['z'];
			}
		}

		var tagDiv1 = document.createElement("div");
		tagDiv1.setAttribute("id", ToolTip);
		tagDiv1.style.position = "absolute";
		tagDiv1.style.width = "510px";
		tagDiv1.style.left = "-10000px";
		tagDiv1.style.top = "-10000px";
		tagDiv1.style.zIndex = cmt_zIndex;
		tagDiv1.style.textAlign = "left";
		tagDiv1.style.cursor = "auto";
		tagDiv1.innerHTML = "<div id='" + ToolTip + "act1' style='width:10px; height:12px; position:relative; top:2px;'></div><div id='" + ToolTip + "act2' style='width:510px;'><img src='/pyaimg/img/fukidashi_t.gif'><div style='width:510px; background:url(/pyaimg/img/fukidashi_m.gif) scroll repeat-y 0 0;'><div id='" + ToolTip + "cmt' style='margin:0 10px; width:490px; overflow:hidden; font-size:9pt; color:#003000; text-align:left; line-height:1.2;'></div></div><img src='/pyaimg/img/fukidashi_b.gif'></div>";
		document.getElementById(pyaImg).appendChild(tagDiv1);

		tagDiv1 = document.createElement("div");
		tagDiv1.setAttribute("id", ToolTip + "COMMENTBOX");
		tagDiv1.style.textAlign = "left";
		tagDiv1.style.position = "absolute";
		tagDiv1.style.width = "510px";
		tagDiv1.style.left = "-10000px";
		tagDiv1.style.top = "-10000px";
		tagDiv1.style.zIndex = cmt_zIndex;
		tagDiv1.style.cursor = "auto";
		tagDiv1.innerHTML = "<div id='" + ToolTip + "COMMENTBOXact1' style='width:10px; height:12px; position:relative; top:2px;'></div><div id='" + ToolTip + "COMMENTBOXact2' style='width:510px;'><img src='/pyaimg/img/fukidashi_t.gif'><div style='width:510px; background:url(/pyaimg/img/fukidashi_m.gif) scroll repeat-y 0 0;'><div id='" + ToolTip + "COMMENTBOXcmt' style='margin:0 10px; width:490px; overflow:hidden;'></div></div><img src='/pyaimg/img/fukidashi_b.gif'></div>";
		document.getElementById(pyaImg).appendChild(tagDiv1);

		if(document.body.addEventListener){
			document.getElementById(ToolTip + "act1").addEventListener("mouseover", function(){ obj.dispOffclear();}, false);
			document.getElementById(ToolTip + "act1").addEventListener("mouseout", function(){ obj.dispOff(obj);}, false);
			document.getElementById(ToolTip + "act1").addEventListener("click", function(event){ event.stopPropagation();}, false);
			document.getElementById(ToolTip + "act2").addEventListener("mousemove", function(){ obj.dispOffclear();}, false);
			document.getElementById(ToolTip + "act2").addEventListener("mouseover", function(){ obj.dispOffclear();}, false);
			document.getElementById(ToolTip + "act2").addEventListener("mouseout", function(){ obj.dispOff(obj);}, false);
			document.getElementById(ToolTip + "act2").addEventListener("click", function(event){ event.stopPropagation();}, false);
			document.getElementById(ToolTip + "COMMENTBOX").addEventListener("click", function(event){ event.stopPropagation();}, false);
			document.getElementById(pyaImg).addEventListener("click", function(event){ obj.openCmt(event, pyaImg);}, false);
			document.getElementById(pyaImg).addEventListener("mouseover", function(){ clearTimeout(nID2); nID2=setTimeout(function(){ document.getElementById(pyaImg + "pointsheet").style.visibility="visible";}, 500);}, false);
			document.getElementById(pyaImg).addEventListener("mousemove", function(){ if(document.getElementById(pyaImg + "pointsheet").style.visibility != "visible"){ clearTimeout(nID2); nID2=setTimeout(function(){ document.getElementById(pyaImg + "pointsheet").style.visibility="visible";}, 500);}}, false);
			document.getElementById(pyaImg).addEventListener("mouseout", function(){ clearTimeout(nID2); nID2=setTimeout(function(){ if(hdnFlg){ document.getElementById(pyaImg + "pointsheet").style.visibility="hidden";}}, 100);}, false);
		}else{
			document.getElementById(ToolTip + "act1").attachEvent("onmouseover", function(){ obj.dispOffclear();});
			document.getElementById(ToolTip + "act1").attachEvent("onmouseout", function(){ obj.dispOff(obj);});
			document.getElementById(ToolTip + "act1").attachEvent("onclick", function(event){ event.cancelBubble=true;});
			document.getElementById(ToolTip + "act2").attachEvent("onmouseover", function(){ obj.dispOffclear();});
			document.getElementById(ToolTip + "act2").attachEvent("onmouseout", function(){ obj.dispOff(obj);});
			document.getElementById(ToolTip + "act2").attachEvent("onclick", function(event){ event.cancelBubble=true;});
			document.getElementById(ToolTip + "COMMENTBOX").attachEvent("onclick", function(event){ event.cancelBubble=true;});
			document.getElementById(pyaImg).attachEvent("onclick", function(event){ obj.openCmt(event, pyaImg);});
			document.getElementById(pyaImg).attachEvent("onmouseover", function(){ clearTimeout(nID2); nID2=setTimeout(function(){ document.getElementById(pyaImg + "pointsheet").style.visibility="visible";}, 500);});
			document.getElementById(pyaImg).attachEvent("onmousemove", function(){ if(document.getElementById(pyaImg + "pointsheet").style.visibility != "visible"){ clearTimeout(nID2); nID2=setTimeout(function(){ document.getElementById(pyaImg + "pointsheet").style.visibility="visible";}, 500);}});
			document.getElementById(pyaImg).attachEvent("onmouseout", function(){ clearTimeout(nID2); nID2=setTimeout(function(){ if(hdnFlg){ document.getElementById(pyaImg + "pointsheet").style.visibility="hidden";}}, 100);});
		}

		nID2 = setTimeout(function(){ if(hdnFlg){ document.getElementById(pyaImg + "pointsheet").style.visibility="hidden";}}, 1000);
	};
	this.dispOn = function(id, obj){
		clearTimeout(nID);
		var z = parseInt(document.getElementById(id).style.zIndex);
		document.getElementById(id).style.zIndex = end_zIndex;
		for(obj = document.getElementById(pyaImg + "pointsheet").firstChild; obj; obj=obj.nextSibling){
			if(obj.nodeType == 1 && obj.id != id && z < parseInt(obj.style.zIndex)){
				obj.style.zIndex--;
			}
		}

		var px = parseInt(document.getElementById(id).style.left);
		var py = parseInt(document.getElementById(id).style.top);
		setComment(id + "cmt", ToolTip);
		var ws = ( img_w ) ? img_w : parseInt( imgObj.width );
		if(px < ws / 2){
			document.getElementById(ToolTip + "act1").style.left = "30px";
			document.getElementById(ToolTip + "act1").innerHTML = "<img src='/pyaimg/img/fukidashi_l.gif'>";
			px -= 32;
			py += 18;
		}else{
			document.getElementById(ToolTip + "act1").style.left = "460px";
			document.getElementById(ToolTip + "act1").innerHTML = "<img src='/pyaimg/img/fukidashi_r.gif'>";
			px -= 454;
			py += 18;
		}
		document.getElementById(ToolTip).style.left = px + "px";
		document.getElementById(ToolTip).style.top = py + "px";
	};
	this.dispOff = function(obj){
		nID = setTimeout(function(){ obj.dispOffrun();}, 300);
	};
	this.dispOffclear = function(){
		clearTimeout(nID);
	};
	this.dispOffrun = function(){
		clearTimeout(nID);
		document.getElementById(ToolTip + "cmt").innerHTML = "";
		document.getElementById(ToolTip).style.left = "-1000px";
		document.getElementById(ToolTip).style.top = "-1000px";
	};
	this.zIndexChange = function(id){
		var z = parseInt(document.getElementById(id).style.zIndex);
		document.getElementById(id).style.zIndex = top_zIndex;
		for(obj = document.getElementById(pyaImg + "pointsheet").firstChild; obj; obj=obj.nextSibling){
			if(obj.nodeType == 1 && obj.id != id && z > parseInt(obj.style.zIndex)){
				obj.style.zIndex++;
			}
		}
	};
	this.openCmt = function(e, id){
		if(pya_commentbox_falg) return;
		var form_x = 0;
		var form_y = 0;
		pya_commentbox_falg = 1;
		var ToolTipCmt = ToolTip + "COMMENTBOX";
		mx = parseInt(e.clientX) - parseInt(document.getElementById(id).offsetLeft) + parseInt(document.body.scrollLeft || document.documentElement.scrollLeft);
		my = parseInt(e.clientY) - parseInt(document.getElementById(id).offsetTop) + parseInt(document.body.scrollTop || document.documentElement.scrollTop);
		var ws = ( img_w ) ? img_w : parseInt( imgObj.width );
		if(mx < ws / 2){
			document.getElementById(ToolTipCmt + "act1").style.left = "30px";
			document.getElementById(ToolTipCmt + "act1").innerHTML = "<img src='/pyaimg/img/fukidashi_l.gif'>";
			form_x = mx - 38;
			form_y = my - 2;
		}else{
			document.getElementById(ToolTipCmt + "act1").style.left = "460px";
			document.getElementById(ToolTipCmt + "act1").innerHTML = "<img src='/pyaimg/img/fukidashi_r.gif'>";
			form_x = mx - 460;
			form_y = my - 2;
		}
		document.getElementById(ToolTipCmt).style.left = form_x + "px";
		document.getElementById(ToolTipCmt).style.top = form_y + "px";
		document.getElementById(ToolTipCmt + "cmt").innerHTML = cmtForm(ToolTipCmt, id, mx, my);
	};
	cmtForm = function(ToolTipCmt, id, form_x, form_y){
		var html = "<div style='text-align:right;'><a href='javascript:void(0);' onclick=\"document.getElementById('" + ToolTipCmt + "').style.left='-20000px';document.getElementById('" + ToolTipCmt + "').style.top='-20000px';pya_commentbox_falg=0;\"><img src='/bgimg/spacer.gif' title='閉じる' alt='×' class='closebt'></a></div>";
		html += "<form action='imgmsg.php?" + pya_query_string + "' method='POST'>";
		html += "<img src='/bgimg/come1.gif'><b class='f13px hfc'>&nbsp;コメントを書込む</b> <input type='submit' value='書込み' onclick=\"if(" + pya_kakuhin_flag + "){ return;} if(!confirm('書込みますか？')){ return false;}\" class='kakibt'>";
		html += "<div class='f13px hfc'>お名前：<input name='name' type='text'  maxlength='10' value='" + pya_handle_name + "' class='inpName'>　トリップ：<input name='pswd' type='password' maxlength='20' value='" + pya_handle_trip + "' class='inpTrip'></div>";
		html += "<div><textarea name='cmtdata' class='inpCmt'></textarea></div>";
		html += "<input type='hidden' name='cmt_x' value='" + form_x + "'>";
		html += "<input type='hidden' name='cmt_y' value='" + form_y + "'>";
		html += "<input type='hidden' name='cmt_pic_id' value='" + id + "'>";
		html += "</form>";
		return html;
	};
	setComment = function(id, id2){
		var ToolTip_cmt = id2 + "cmt";
		var ajax_id = id2 + "AJAXMODOKI";
		var div_id = id2 + "RESCMT";
		if(document.getElementById(id).childNodes[0].nodeName.toUpperCase() !== "TABLE"){
			var node_No  = document.getElementById(id).childNodes[0].cloneNode(true);
			var node_Pu  = document.getElementById(id).childNodes[1].cloneNode(true);
			var node_Hn  = document.getElementById(id).childNodes[2].cloneNode(true);
			var node_Ic  = document.getElementById(id).childNodes[3].cloneNode(true);
			var node_Cmt = document.getElementById(id).childNodes[4].cloneNode(true);
			var node_Pbt = document.getElementById(id).childNodes[5].cloneNode(true);
			var node_Cnt = document.getElementById(id).childNodes[6].cloneNode(true);
			node_No.setAttribute("width", "40"); node_No.style.background = "none";
			node_Pu.setAttribute("width", "50");
			node_Ic.setAttribute("width", "50");
			node_Hn.setAttribute("width", "150");
			node_Pbt.setAttribute("width", "40");
			node_Cnt.setAttribute("width", "160");
			node_Hn.setAttribute("align", "left");
			node_Pbt.setAttribute("id", "U" + node_Pbt.id);
			node_Cnt.setAttribute("id", "U" + node_Cnt.id);
			node_Cmt.lastChild.innerHTML = node_Cmt.lastChild.innerHTML.replace(/resInput\.openPanel\(/, "_pyaPointRes.openPanel('" + ajax_id + "', '" + div_id + "', ");
			var tagTABLE = document.createElement("table");
			tagTABLE.setAttribute("cellspacing", "0");
			tagTABLE.setAttribute("cellpadding", "0");
			tagTABLE.setAttribute("border", "0");
			tagTABLE.style.backgroundColor = "#303030";
			var tagTBODY = document.createElement("tbody");
			var tagTR = document.createElement("tr");
			tagTR.setAttribute("align", "center");
			tagTR.setAttribute("valign", "middle");
			tagTR.appendChild(node_No);
			tagTR.appendChild(node_Pu);
			tagTR.appendChild(node_Ic);
			tagTR.appendChild(node_Hn);
			tagTR.appendChild(node_Pbt);
			tagTR.appendChild(node_Cnt);
			tagTBODY.appendChild(tagTR);
			tagTABLE.appendChild(tagTBODY);
			var tagDIV = document.createElement("div");
			tagDIV.style.fontSize = "9pt";
			tagDIV.style.color = "#d0d0d0";
			tagDIV.style.lineHeight = "1.2";
			tagDIV.style.paddingTop = "5px";
			tagDIV.innerHTML = node_Cmt.innerHTML;
			document.getElementById(ToolTip_cmt).innerHTML = "";
			document.getElementById(ToolTip_cmt).appendChild(tagTABLE);
			document.getElementById(ToolTip_cmt).appendChild(tagDIV);
		}else{
			var tagTABLE = document.getElementById(id).cloneNode(true);
			var node_Pbt = tagTABLE.getElementsByTagName("tr")[2].childNodes[1];
			var node_Cnt = tagTABLE.getElementsByTagName("tr")[2].childNodes[2];
			node_Pbt.setAttribute("id", "U" + node_Pbt.id);
			node_Cnt.setAttribute("id", "U" + node_Cnt.id);
			tagTABLE.innerHTML = tagTABLE.innerHTML.replace(/resInput\.openPanel\(/, "_pyaPointRes.openPanel('" + ajax_id + "', '" + div_id + "', ");
			document.getElementById(ToolTip_cmt).innerHTML = "";
			document.getElementById(ToolTip_cmt).appendChild(tagTABLE);
		}
		document.getElementById(ToolTip_cmt).innerHTML += document.getElementById(ToolTip_cmt).innerHTML = "<div id='" + ajax_id + "' style='position:absolute; left:-10000px; top:-10000px; visibility:hidden;'></div><div id='" + div_id + "' style='width:350px; margin-left:100px;' class='bbs2'></div>";
	};
};

_pyaPointRes = new function(){
	this.openPanel = function(ajax_id, div_id, e, id){
		var div_id_cmt = div_id + "cmt";
		var html = "<div style='margin:10px 0;'><hr class='hr1'></div>";
		html += "<form action='javascript:void(0);' method='post'>";
		html += "<div class='f13px hfc'><img src='/bgimg/come1.gif' alt='■' title='レスコメ'> このコメントにレスする</div>";
		html += "<div class='f13px hfc'>お名前：<input name='name' type='text' maxlength='10' value='" + pya_handle_name + "' class='inpName'>　トリップ：<input name='pswd' type='password' maxlength='20' value='" + pya_handle_trip + "' class='inpTrip'></div>";
		html += "<input type='text' name='resdata' style='margin:3px;' maxlength='200' class='inpCmt'><button type='button' onclick='_pyaPointRes.sendData(this.form," + id + ");'>レス送信</button>";
		html += "<div class='f13px hfc'>※レスは100件まで保持されます。<br>※吹き出しからマウスカーソルが外れると閉じてしまうので注意して下さい。</div><br>";
		html += "</form>";
		html+= "<div id='" + div_id_cmt + "'><div style='color:#ffffff; font-size:12pt; text-align:center;'>レス読み込み中</div></div>";
		document.getElementById(div_id).innerHTML = html;
		document.getElementById(ajax_id).innerHTML = "<iframe src='rescome_ajaxmodoki.php?" + pya_query_string + "&id=" + id + "&div=" + div_id_cmt + "&dmy=" + Math.floor(Math.random() * 1000000) + "' scrolling='no' frameborder='0' style='width:0;height:0;border:0 none #888888'></iframe>";
	};
	this.sendData = function(objForm, id){
		if(!pya_kakuhin_flag){
			if(!confirm("書込みますか？")) return;
		}
		objForm.action = "imgmsg_res.php?" + pya_query_string + "&id=" + id + "&qstr=" + encodeURIComponent(pya_query_string);
		objForm.target = "_top";
		objForm.submit();
	};
}
