var divid = "popupfield";
var NNX;
var NNY;
var d_div;

function init()
{
  popup_init();
  res_init();
  
  if(typeof(dl_init) == "function"){
    dl_init();
  }
  dlcount_init();
  hide_all();
  snap();
}

function popup_init(){
  var b_color="black";           //枠の色
  var g_color="#ffffee";          //背景の色
  var f_size="9";             //文字サイズ
  var f_color="black";           //文字色

  document.write("<div id=\"" + divid + "\" style=\"position:absolute;border:1px solid;padding:5px;");
  document.write("border-color:"+b_color+";font-size:"+f_size+"pt;background-color:"+g_color+";");
  document.write("color:"+f_color+";");
  document.write("display:none\" onClick=\"hide_popup()\"></div>");
}

function img_popup(img){
  show_popup('<img src="'+img+'" />', 10, -100);
}

function show_info(str){
  var data = info[str]
  var tree = "<h4>マップツリー:</h4>"         + "<p class=\"map_tree\">"       + data[0] + "</p>"
  var pic  = "<h4>タイトルグラフィック:</h4>" + "<p class=\"title_graphics\">" + data[1] + "</p>"
  
  show_popup(tree + pic, -10, -10)
}

function res_init(){
  var zipname;
  
  for(zipname in res){
    element = document.getElementById("res_" + zipname);
    element.innerHTML = res[zipname].length;
  }
}

function dlcount_init(){
  var zipname;
  
  for(zipname in dlcount){
    var element;

    element = document.getElementById("dl_" + zipname + ".zip");
    element.innerHTML = dlcount[zipname];
  }
}


function show_res(str){
  var data = res[str];
  var i;
  var result = new Array();

  for(i in data){
    res_data = data[i].split("<>");
    result[result.length] = "<p>" +
                            "<span class=\"res_num\">"   + res_data[0] + "</span>: " +
                            "<span class=\"res_name\">"  + (res_data[1].match("◆") ? "<b>" + res_data[1]  + "</b>" : res_data[1]) + "</span>" +
                            "<span class=\"res_mail\">[" + res_data[2] + "]</span>"  +
                            "<span class=\"res_date\">"  + res_data[3] + "</span>"   + "<br />" +
                            "<span class=\"res_msg\">"   + res_data[4] + "</span>" +
                            "</p>";
  }
  show_popup(result.join("\n<hr />\n"), -50, -50);
}

function show_popup(popup, dx, dy){
  d_div = document.getElementById(divid);

  // IE
  if(document.all){
    rx = event.clientX + document.body.scrollLeft + dx;
    ry = event.clientY + document.body.scrollTop  + dy;
  // その他
  }else{
    rx = NNX + dx;
    ry = NNY + dy;
  }

  if(popup){
    d_div.style.display = "block";
    d_div.style.left = rx + "px";
    d_div.style.top  = ry + "px";
    d_div.innerHTML  = popup;
  }
}

function hide_popup(){
  d_div.style.display="none"; 
  d_div.innerHTML = ""; 
}

function MouseXY(NNevent){
  NNX = NNevent.pageX;
  NNY = NNevent.pageY;
}
window.onmousemove = MouseXY;

function link_list()
{
  return new Array("link1","link2","link3","link4","link5","link6")
}

function hide_all()
{
  var i;
  
  hide_id_list = link_list()
  for(i in hide_id_list) {
    hide(hide_id_list[i]);
  }
}

function hide(id)
{
  if(document.getElementById(id)){
    document.getElementById(id).style.display = 'none';
  }
}

function show_all()
{
  var i;
  
  show_id_list = link_list()
  for(i in show_id_list) {
    show(show_id_list[i]);
  }
}

function show(id)
{
  document.getElementById(id).style.display = 'block';
}

function display_switch(id){
  document.getElementById(id).style.display = 
    document.getElementById(id).style.display == "block"
    ? 'none'
    : 'block';
}

var SnapTimeoutId;
function snap(){
	if(! document.getElementById("link")){ return; }
	var oElements = document.getElementById("link").getElementsByTagName("a");
	var i;
	
	for(i=0 ; i<oElements.length ; i++){
		if(oElements[i].getAttribute("href") == "" ||
		   oElements[i].getAttribute("href").indexOf("./") == 0 ||
		   oElements[i].getAttribute("href").indexOf("http://jbbs.livedoor.jp/game/33198/") == 0 ){
			continue;
		}
		oElements[i].innerHTML =
		 "<span onMouseOver=\"snapSet(" + i + ",'" + oElements[i].getAttribute("href") + "')\" onMouseOut=\"snapSet("+i+")\">" + oElements[i].innerHTML+"</span><span id=\"snap"+i+"\" style=\"position:relative;z-index:10\"></span>";
	}
}

function snapSet(no,url){
	if(url == undefined){
		clearTimeout(SnapTimeoutId);
		document.getElementById("snap"+no).innerHTML="";
	}else{
		SnapTimeoutId=setTimeout("snapSetExe('"+no+"','"+url+"')",300);
	}
}
function snapSetExe(no,url){
	document.getElementById("snap"+no).innerHTML = 
//	  "<img id=\"snapImg\" src=\"http://spa.snap.com/preview/?key=268624a13c7d48a7eb54e647939fa58a&src=pi.orz.hm&cp=spa_preview!pi.orz.hm&sb=1&v=1.21&act=link&url="+url+"\" alt=\"サムネイル\" style=\"position:absolute;left:-20px;top:-190px;border:5px solid #333;\" />";
	  "<img id=\"snapImg\" src=\"http://img.simpleapi.net/small/" + url +" />";
}

