/*!
 * Logdb JavaScript Library v0.0.1
 * http://www.logdb.net/
 *
 */
var htmlEscape = (function(){
  var map = {"<":"&lt;", ">":"&gt;", "&":"&amp;", "'":"&#39;", "\"":"&quot;", " ":"&nbsp;"};
  var replaceStr = function(s){ return map[s]; };
  return function(str){ return str.replace(/<|>|&|'|"|\s/g, replaceStr); };
})();
var jsEscape = (function(){
  var map = {"'":"\\'"};
  var replaceStr = function(s){ return map[s]; };
  return function(str){ return str.replace(/'/g, replaceStr); };
})();

function wapi_taglist(data){
  if( data.length>0 ){
    var tagdata = data.split("\t");
    if( tagdata.length>3 && tagdata[tagdata.length-1]=='' ){
      var tagId = tagdata[0];
      var bbsName = tagdata[1];
      var grpId = tagdata[2];
      var tags = tagdata[3];
      $('tags'+tagId).value = tags;
      $('taglist'+tagId).innerHTML = '';
      for( var i=4;i<tagdata.length-1;i++ ){
        $('taglist'+tagId).innerHTML += ' '+htmlEscape(tagdata[i])+'(<a class="pl" href="#" onclick="javascript:$(\'tags'+tagId+'\').value=\''+jsEscape(tagdata[i])+'\';wapi_tagsdel(\''+tagId+'\',\''+bbsName+'\',\''+grpId+'\');return false;">削除</a>)';
      }
    }
  }
}
function wapi_tagsadd(tagId,bbsName,grpId){
  var tags = $('tags'+tagId).value;
  jQuery.post("/wapi/tags.add",{"tagId":tagId,"bbsName":bbsName,"grpId":grpId,"tags":tags},wapi_taglist);
}
function wapi_tagsdel(tagId,bbsName,grpId){
  var tags = $('tags'+tagId).value;
  jQuery.post("/wapi/tags.del",{"tagId":tagId,"bbsName":bbsName,"grpId":grpId,"tags":tags},wapi_taglist);
}

function wapi_spamcount(data){
  if( data.length>0 ){
    var troubledata = data.split("\t");
    if( troubledata.length>2 && troubledata[troubledata.length-1]=='' ){
      var troubleId = troubledata[0];
      var vote = troubledata[1];
      var reject = troubledata[2];
      $('vote'+troubleId).innerHTML = vote;
      $('reject'+troubleId).innerHTML = reject;
    }
  }
}
function wapi_spamvote(troubleId,type){
  jQuery.post("/wapi/trouble.vote",{"troubleId":troubleId,"type":type},wapi_spamcount);
}
function wapi_spamdata(data){
  if( data.length>0 ){
    var troubledata = data.split("\t");
    if( troubledata.length>1 && troubledata[troubledata.length-1]=='' ){
      var troubleId = troubledata[0];
      var spam = troubledata[1];
      $('text'+troubleId).innerHTML += '<div>' + spam + '</div>';
      $('spam'+troubleId).value = "";
    }
  }
}
function wapi_spamtext(troubleId){
  var spam = $('spam'+troubleId).value;
  jQuery.post("/wapi/trouble.text",{"troubleId":troubleId,"spam":spam},wapi_spamdata);
}

function wapi_replist(data){
  if( data.length>0 ){
    alert(data);
  }
}
function wapi_report(repId,bbsName,grpId){
  var rText = $('rtext'+repId).value;
  jQuery.post("/wapi/report.call",{"repId":repId,"bbsName":bbsName,"grpId":grpId,"rText":rText},wapi_replist);
}
function wapi_ignore(repId,imgId){
  if( confirm("この画像を違反報告してもよろしいですか？") ){
    var rText = $('rtext'+repId).value;
    jQuery.post("/wapi/ignore.call",{"repId":repId,"imgId":imgId,"rText":rText},wapi_replist);
  }
}

function wapi_memolist(data){
  if( data.length>0 ){
    var memodata = data.split("\t");
    if( memodata.length>1 && memodata[memodata.length-1]=='' ){
      var srhId = memodata[0];
      $('memo'+srhId).value = htmlEscape(memodata[1]);
    }
  }
}
function wapi_memoedit(srhId){
  var memo = $('memo'+srhId).value;
  jQuery.post("/wapi/memo.edit",{"srhId":srhId,"memo":memo},wapi_memolist);
}

function enableTooltips(id){
  var links,i,h;
  if(!document.getElementById || !document.getElementsByTagName) return;
  /* <span id="btc" /> */
  h=document.createElement("span");
  h.id="btc"; h.setAttribute("id","btc");
  h.style.position="absolute";
  document.getElementsByTagName("body")[0].appendChild(h);
  /* a links */
  if(id==null){
    links=document.getElementsByTagName("a");
  } else {
    links=$(id).getElementsByTagName("a");
  }
  for(i=0;i<links.length;i++){
    Prepare(links[i]);
  }
}
function Prepare(el){
  var tooltip,t,b,s,l;
  t=el.getAttribute("title");
  if(t==null || t.length==0) return;
  var i=(t+"\t").indexOf("\t");
  l=t.substr(i+1);
  t=t.substr(0,i);
  el.removeAttribute("title");
  /* <span class="tooltip" style="display:block" /> */
  tooltip=document.createElement("span");
  tooltip.className="tooltip";
  tooltip.style.display="block";
  s=document.createElement("span");
  s.className="top";
  s.style.display="block";
  s.appendChild(document.createTextNode(t));
  tooltip.appendChild(s);
  if(l.substr(0,7)=="http://"){
    s.innerHTML += '<br /><img height="80px" width="100px" src="'+l+'" /><br />';
  }
  b=document.createElement("b");
  b.className="bottom";
  b.style.display="block";
  tooltip.appendChild(b);
  setOpacity(tooltip);
  el.tooltip=tooltip;
  el.onmouseover=showTooltip;
  el.onmouseout=hideTooltip;
  el.onmousemove=Locate;
}
function showTooltip(e){
  $('btc').appendChild(this.tooltip);
  Locate(e);
}
function hideTooltip(e){
  var d=document.getElementById("btc");
  if(d.childNodes.length>0) d.removeChild(d.firstChild);
}
function setOpacity(el){
  el.style.filter="alpha(opacity:95)";
  el.style.KHTMLOpacity="0.95";
  el.style.MozOpacity="0.95";
  el.style.opacity="0.95";
}
function Locate(e){
  var posx=0,posy=0;
  if(e==null) e=window.event;
  if(e.pageX || e.pageY){
    posx=e.pageX; posy=e.pageY;
  } else if(e.clientX || e.clientY){
    if(document.documentElement.scrollTop){
      posx=e.clientX+document.documentElement.scrollLeft;
      posy=e.clientY+document.documentElement.scrollTop;
    } else {
      posx=e.clientX+document.body.scrollLeft;
      posy=e.clientY+document.body.scrollTop;
    }
  }
  $('btc').style.top=(posy+10)+"px";
  $('btc').style.left=(posx-20)+"px";
}


