/*
   Cyberz_ERIKO

   Source License & Copyright:
     Cyberz Inc. 2006
       http://www.cyberz.co.jp/
       manager@cyberz.co.jp

*/

var ERIKO_list_size = 25;
var ERIKOProgressAbortTime = 30000; //ms

var JsonFileurl = 'http://eriko.cyberz.co.jp/?type=htmljson&idd=';
var CSSFileurl = 'http://eriko.cyberz.co.jp/eriko_list.css';

var preProgress = new Image();
preProgress.src = "http://srv.cyberz.co.jp/eriko.cyberz.co.jp/load.gif";

var ERIKOProgress;
var ERIKOProgressCnt;
var ERIKOProgressFlag = 0;

function getMsg(e,oj) {
  if(getKEYC(e)!=13) return;
  RequestData(oj);
}
function getKEYC(e){
  if(e.which) return e.which;
  else return event.keyCode;
}
function existHttpRequest () {
  try{
    if(window.XMLHttpRequest) 
      ERIKOHTTPObj=new XMLHttpRequest();
    else if(window.ActiveXObject)
      ERIKOHTTPObj=new window.ActiveXObject("Microsoft.XMLHTTP");
    else
      ERIKOHTTPObj=false;
  } catch(e) {
    ERIKOHTTPObj=false;
  };
  if(!ERIKOHTTPObj) return false;
  return true;
}
function isPlayStation() {
  var pattern = /PLAYSTATION/i;
  var res = navigator.appName.match(pattern);
  if(res != null) return true;
  else return false;
}
function ERIKOProgressTimer() {
  ERIKOProgressFlag = -1;
  clearTimeout(ERIKOProgress); 
  tdiv = document.getElementById("eriko_list_main_window");
  tdiv.innerHTML=decodeURIComponent('%E3%82%BF%E3%82%A4%E3%83%A0%E3%82%A2%E3%82%A6%E3%83%88%E3%81%97%E3'
                                   +'%81%BE%E3%81%97%E3%81%9F%E3%80%82%E9%96%93%E3%82%92%E7%A9%BA%E3%81'
                                   +'%91%E3%81%A6%E3%81%8A%E8%A9%A6%E3%81%97%E4%B8%8B%E3%81%95%E3%81%84');
}
function RequestData(oj) {
  ERIKOResultPreLoader( JsonFileurl+oj.form.data.value, 'eriko_list_window');
}
function closeChildWindow(target_div) {
  var target=document.getElementById(target_div)
  target.style.visibility = 'hidden';
  target.innerHTML = '';
}
function isNaturalNumber (elem) {
  var oneChar = 0;
  if(elem==undefined) return false;
  str = elem.toString();
  for (var i =0; i < str.length; i++) {
    oneChar = str.charAt(i).charCodeAt(0);
    if((oneChar<48)||(oneChar>57)) {
      return false;
    }
  }
  return true;
}
function ERIKOResultPreLoader (search_value,target_div,akey,w_width,w_height) {
  var cannotload=false;
  if((!existHttpRequest ())||isPlayStation()) cannotload=true;
  var tdiv;
  var akey_string = "";
  if(!isNaturalNumber(w_width)) w_width = 640;
  if(!isNaturalNumber(w_height)) w_height = 480;
  if(akey!=undefined) {
    var str = akey.toString();
    if(str.length>0) akey_string = str;
    else akey_string = "";
  }
  var sc = document.getElementsByTagName("head")[0].appendChild(document.createElement("link"));
  sc.rel = "stylesheet";
  sc.type = "text/css";
  sc.href = CSSFileurl;
  tdiv=document.getElementById(target_div);
  if(document.all&&!(window.opera)) {
    tdiv.style.cssText = "width:"+w_width+"px;";
  } else {
    tdiv.setAttribute("style","width:"+w_width+"px;");
  }
  tdiv.innerHTML = '<div id="eriko_list_wrap"><div id="eriko_list_main_bar">'
      +'<input style="width:60px; height: 20px;text-decoration: none;" type="button" value="close" '
      +'onclick="javascript:closeChildWindow(\''+target_div+'\')" /></div>'
      +'<div id="eriko_list_main_window" width="100%">'
      +'<img src="http://srv.cyberz.co.jp/eriko.cyberz.co.jp/load.gif" alt="loading" height="15px" width="100%"/>'
      +'</div><div id="eriko_list_ad">Powered by <a target="ERIKO" href="http://eriko.cyberz.co.jp/">'
      +'<img src="http://srv.cyberz.co.jp/eriko.cyberz.co.jp/eriko104x16.gif" width="104" height="16" border="0" alt="ERIKO" /></a></div></div>';
  tdiv.style.visibility = 'visible';
  if(cannotload) {
    tdiv = document.getElementById("eriko_list_main_window");
    tdiv.innerHTML = decodeURIComponent('%E3%81%8A%E4%BD%BF%E3%81%84%E3%81%AE%E3%83%96%E3%83%A9'
                                      +'%E3%82%A6%E3%82%B6%E3%81%AF%E3%83%A2%E3%82%B6%E3%82%A4'
                                      +'%E3%82%AF%E8%A1%A8%E7%A4%BA%E3%81%AB%E5%AF%BE%E5%BF%9C'
                                      +'%E3%81%97%E3%81%A6%E3%81%8A%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93');
    
    return true;
  }
  ERIKOProgressCnt = 0;
  ERIKOProgress = setTimeout('ERIKOProgressTimer()',ERIKOProgressAbortTime);
  
  var sc = document.getElementsByTagName("head")[0].appendChild(document.createElement("script"));
  sc.type = "text/javascript";
  sc.charset = "utf-8";
  sc.src = JsonFileurl+search_value;
}
function onLoadedERIKOEncodeTextResult(text) {
  var w_height = 350;
  if(ERIKOProgressFlag==-1) return false;
  clearTimeout(ERIKOProgress);
  tdiv = document.getElementById("eriko_list_main_window");
  tdiv.innerHTML = decodeURIComponent(text);
  if(document.all&&!(window.opera)) {
    tdiv.style.cssText = "height:"+w_height+"px;overflow-y: scroll;";
  } else if(document.all&&(window.opera)) {
    tdiv.setAttribute("style","height:"+w_height+"px;overflow:scroll;");
  } else {
    tdiv.setAttribute("style","height:"+w_height+"px;overflow-y: scroll;");
  }
  return true;
}
function onLoadedERIKOResult(json) {
  var i,tdiv,ul,li,a_table,tbody,tr,th,td,div,val,aelem,img,imga;
  tdiv = document.getElementById("eriko_list_main_window");
  if(ERIKOProgressFlag==-1) return false;
  clearTimeout(ERIKOProgress);
  if((json.eriko != undefined)&&(json.eriko.channel != undefined)&&(json.eriko.channel.item != undefined)) {
    if(isNaturalNumber(json.eriko.w_width)) w_width = json.eriko.w_width; else w_width = 600;
    if(isNaturalNumber(json.eriko.w_height)) w_height = json.eriko.w_height; else w_height = 480;
    if(document.all&&!(window.opera)) {
      tdiv.style.cssText = "height:"+w_height+"px;overflow-y: scroll;";
    } else if(document.all&&(window.opera)) {
      tdiv.setAttribute("style","height:"+w_height+"px;overflow:scroll;");
    } else {
      tdiv.setAttribute("style","height:"+w_height+"px;overflow-y: scroll;");
    }
    ul = document.createElement("ul");
    if(document.all&&!(window.opera)) {
      ul.setAttribute("className","eriko_list_ul");
    } else {
      ul.setAttribute("class","eriko_list_ul");
    }
    if(json.eriko.channel.item.length==undefined) {
      var tmp = json.eriko.channel.item;
      json.eriko.channel.item = new Array(1);
      json.eriko.channel.item[0] = tmp;
    }
    if(json.eriko.channel.item.length<ERIKO_list_size) ERIKO_list_size=json.eriko.channel.item.length;
    for(i=0;i<ERIKO_list_size;i++) {
      oneItem = json.eriko.channel.item[i];
      if((oneItem.link == undefined)||(oneItem.link.length<=3)) continue;
      li = document.createElement("li");
      if(document.all&&!(window.opera)) {
        li.setAttribute("className","eriko_list_li");
        li.style.cssText = "margin:10px;";
      } else {
        li.setAttribute("class","eriko_list_li");
        li.setAttribute("style","margin:10px;");
      }
      li.innerHTML = '<table width="'+w_width+'px" border="0px"  class="_wrap"></table>';
      a_table = li.getElementsByTagName('table')[0];
      tbody = document.createElement("tbody");
      tr = document.createElement("tr");
      aelem = document.createElement("a");
      if(document.all&&!(window.opera)) {
        aelem.setAttribute("className","eriko_list_title");
      } else {
        aelem.setAttribute("class","eriko_list_title");
      }

      // 2lines is original
      aelem.setAttribute("target","_blank");
      //aelem.setAttribute("href",oneItem.link);
      aelem.setAttribute("rel","nofollow");
      aelem.setAttribute("href","http://eriko.cyberz.co.jp/r.d/cyberz.jp/"+oneItem.link_enc);

      // 2lines is modified
      //aelem.setAttribute("target","_parent");
      //aelem.setAttribute("href", "javascript:opener.window.location.href=\""+oneItem.link+"\"");

      // 2lines for inline frame
      //aelem.setAttribute("target","_top");
      //aelem.setAttribute("href", oneItem.link+"&AK="+akey);

      if((oneItem.title != undefined )&&(oneItem.title.length>0)) {
        aelem.setAttribute("title",decodeURIComponent(oneItem.title));
        aelem.innerHTML = decodeURIComponent(oneItem.title);
      } else {
        aelem.setAttribute("title",decodeURIComponent(oneItem.link));
        aelem.innerHTML = decodeURIComponent(oneItem.link);
      }
      td = document.createElement("td");
      if(document.all&&!(window.opera)) {
        td.setAttribute("className","eriko_list_data");
      } else {
        td.setAttribute("class","eriko_list_data");
      }
      td.appendChild(aelem);
      if(oneItem.description != undefined) {
        div = document.createElement("div");
        if(document.all&&!(window.opera)) {
          div.setAttribute("className","eriko_list_description");
        } else {
          div.setAttribute("class","eriko_list_description");
        }
        if(oneItem.description.length>0) div.innerHTML = decodeURIComponent(oneItem.description).substring(0,256)+'...';
        td.appendChild(div);
      }
      if(oneItem.date != undefined) {
        div = document.createElement("div");
        if(document.all&&!(window.opera)) {
          div.setAttribute("className","eriko_list_date");
        } else {
          div.setAttribute("class","eriko_list_date");
        }
        div.innerHTML = decodeURIComponent(oneItem.date);
        td.appendChild(div);
      }
      tr.appendChild(td);
      if((oneItem.image != undefined )&&(oneItem.image.length>0)) { 

        imga = document.createElement("a");
        imga.setAttribute("target","_blank");
        imga.setAttribute("href",oneItem.link);
        imga.innerHTML = '<img class="eriko_list_thumb_img" src="'+decodeURIComponent(oneItem.image)+'" width="48px" />';

        td = document.createElement("td");
        td.appendChild(imga);
	td.setAttribute("valign","top");
	td.setAttribute("align","right");
        tr.appendChild(td);
      }
      tbody.appendChild(tr);

      a_table.appendChild(tbody);
      li.appendChild(a_table);
      ul.appendChild(li);
    }
    tdiv.innerHTML = "";
    tdiv.appendChild(ul);
  } else {
    if(document.all&&!(window.opera)) {
      tdiv.style.cssText = "height:60px;";
    } else {
      tdiv.setAttribute("style","height:60px;");
    }
    if((json.eriko!=undefined)&&
       (json.eriko.channel!=undefined)&&
       (json.eriko.channel.emessage!=undefined)) {
      tdiv.innerHTML=json.eriko.channel.emessage;
    }else {
      tdiv.innerHTML=decodeURIComponent('%E9%96%A2%E9%80%A3%E8%A8%98%E4%BA%8B%E3%81%8C%E8%A6%8B%E3%81%A4%E3%81'
                        +'%8B%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%81%A7%E3%81%97%E3%81%9F');
    }
  }
  div = document.createElement("div");
  div.innerHTML = "";
  tdiv.appendChild(div);
    
  return true;
}
