/* ----------------------------------------------------- */
/* Onload Events */
/* by this API information is recieved */
/* ----------------------------------------------------- */

function onload_library(category,group,part,type){
 gajaxsload(decodeURI(category),decodeURI(group));
 new Ajax.Request('http://www.dlinkbring.com/ajax/apirenew.php?category='+category+'&group='+group+'&part='+part+'&type='+type+'&place=Information',{onSuccess:renewspi});
}

function renewspi(oj){
 var res = oj.responseText;
 var contents=res.split(":::::");
 document.getElementById('cih_mashup').innerHTML=contents[0];
 document.getElementById('cf_related').innerHTML=contents[1];
 if(contents[2]!=""){
  document.getElementById('ci_tracklist').innerHTML=contents[2];
 }
 switch(category){
  case "music" :
   if(tlcheck!="true"){
    document.getElementById('mymusictimeline').innerHTML="有効なデータが見つかりませんでした。";
    document.getElementById('mymusictimeline').style.height="2em";
   }else{
    onLoadmusic();
   }
  break;
  case "art" :
   gmload(placei,placej);
  break;
 }
}

function renewblog(oj){
 var res = oj.responseText;
 document.getElementById('cf_relatedblog').innerHTML=res;
}

function renewrev(oj){
 var res = oj.responseText;
 document.getElementById('ci_review').innerHTML=res;
}

/* ----------------------------------------------------- */
/* Functions for tab sysytem */
/* ----------------------------------------------------- */

function changereview(num){
 select_change(num,"reviews");
}

function changeprog(num){
 select_change(num,"prog");
}

function ktabe_change(num){
/* tab display change */
 select_change(num,"ktabe_eventtag");
/* body display change */
 select_change(num,"ktabe_list");
}

function k4tra_change(num){
/* tab display change */
 select_change(num,"k4tra_eventtag");
/* body display change */
 select_change(num,"k4tra_list");
}

function tech_change(key,lang){
 document.getElementById('tech_list').innerHTML='<img class="loading" src="http://www.dlinkbring.com/picture/ajax-loader.gif" alt="Now Loading!!" />';
 new Ajax.Updater('tech_list','http://www.dlinkbring.com/ajax/technoratirenew.php?key='+key+'&lang='+lang);
 switch(lang){
  case "all" :
   document.getElementById('tech_listtag_all').className="tech_listtag_select";
   document.getElementById('tech_listtag_ja').className="tech_listtag_unselect";
   document.getElementById('tech_listtag_en').className="tech_listtag_unselect";
  break;
  case "ja" :
   document.getElementById('tech_listtag_all').className="tech_listtag_unselect";
   document.getElementById('tech_listtag_ja').className="tech_listtag_select";
   document.getElementById('tech_listtag_en').className="tech_listtag_unselect";
  break;
  case "en" :
   document.getElementById('tech_listtag_all').className="tech_listtag_unselect";
   document.getElementById('tech_listtag_ja').className="tech_listtag_unselect";
   document.getElementById('tech_listtag_en').className="tech_listtag_select";
  break;
 }
}

function musicl_change(top,second){
 select_change(top,"musicl_eventtag");
 select_change(top,"musicl_moretagset");
 select_change_sec(top,second,"musicl_moretag");
 select_change_sec(top,second,"musicl_list");
}

function dicmul_change(num,nt){
 if(nt==0){
  document.getElementById('wptsearch_res').style.visibility='hidden';
  document.getElementById('wptsearch_res').innerHTML='';
  /* side display change */
  /* select_change(num,"side"); */
  if(num==1){
   document.getElementById('relatedword').innerHTML='';
  }
 }
/* tab display change */
 select_change(num,"dicmultag");
/* body display change */
 select_change(num,"dicmulwindow");
}

function raresearch_change(num,mode){
 document.getElementById('hatehotkeys').innerHTML='<img class="loading" src="http://www.dlinkbring.com/picture/ajax-loader.gif" alt="Now Loading!!" />';
/* tab display change */
 select_change(num,"raresearchtag");
 new Ajax.Updater('hatehotkeys','http://www.dlinkbring.com/ajax/Hatehot.php?mode='+mode);
}

function shugoans_change(num){
/* tab display change */
 select_change(num,"shugoans_tab");
/* body display change */
 select_change(num,"shugoans");
}

function target_change(num){
/* way display change */
 select_change(num,"target-way");
}

function rarebures_change(num){
/* tab display change */
 select_change(num,"rarebures_tab");
/* body display change */
 select_change(num,"rarebures");
}

/* tab change engine */
function select_change(num,name){
 var tab_elements_select=getElementsByClass(name+"_select");
 var tab_elements_unselect=getElementsByClass(name+"_unselect");
 for(i=0; i<tab_elements_select.length; i++){
  tab_elements_select[i].className=name+"_unselect";
 }
 for(i=0; i<tab_elements_unselect.length; i++){
  tab_elements_unselect[i].className=name+"_unselect";
 }
 document.getElementById(name+"_"+num).className=name+"_select";
}

function select_change_sec(num,num2,name){
 var tab_elements_select=getElementsByClass(name+"_select");
 var tab_elements_unselect=getElementsByClass(name+"_unselect");
 for(i=0; i<tab_elements_select.length; i++){
  tab_elements_select[i].className=name+"_unselect";
 }
 for(i=0; i<tab_elements_unselect.length; i++){
  tab_elements_unselect[i].className=name+"_unselect";
 }
 document.getElementById(name + "_" + num + "_" + num2).className=name+"_select";
}

/* ----------------------------------------------------- */
/* Functions for display comments */
/* ----------------------------------------------------- */

function commentshow(id,inner,img){
 var comment=document.getElementById('comment');
 var txt=document.getElementById('comment-txt');
 var image=document.getElementById('comment-image');
 
 var id=document.getElementById(id);
 var posLeft=findPosX(id);
 var posTop=findPosY(id);
 //document.getElementById('debug').innerHTML=img;

 if(img==""){
  image.style.width="1px";
  image.style.visibility='hidden';
 }else{
  var imgon=new Image();
  image.style.width="80px";
  imgon.src=img;
  image.src=imgon.src;
  image.style.visibility='visible';
 }

 txt.innerHTML=inner;
 comment.style.left=(posLeft-180)+"px";
 comment.style.top=(posTop-170)+"px";
 comment.style.display='block';
 comment.style.visibility='visible';
}

/* id position calculation */
function findPosX(obj){
 var curleft = 0;
 if (obj.offsetParent)
 {
  while (obj.offsetParent)
  {
   curleft += obj.offsetLeft;
   obj = obj.offsetParent;
  }
 }
 else if (obj.x)
  curleft += obj.x;
 return curleft;
}

function findPosY(obj){
 var curtop = 0;
 if (obj.offsetParent)
 {
  while (obj.offsetParent)
  {
   curtop += obj.offsetTop;
   obj = obj.offsetParent;
  }
 }
 else if (obj.y)
  curtop += obj.y;
 return curtop;
}