
var clickNext10=0;
var clickNext10Domain=0;
var outerContents=[];
var saitoriOK=false;

function callInProgress (xmlhttp) {
    switch (xmlhttp.readyState) {
    case 1:
    case 2:
    case 3:
	return true;
	break;
    default: // Case 4 and 0
	return false;
	break;
    }
}

Ajax.Responders.register({
	onCreate: function(request) {
	    request['timeoutId'] = window.setTimeout(
		function() {
		    // If we have hit the timeout and the AJAX request is active, abort it and let the user know
		    if (callInProgress(request.transport)) {

			request.transport.abort();

			// Run the onFailure method if we set one up when creating the AJAX object
			if (request.options['onFailure']) {
			    request.options['onFailure'](request.transport, request.json);
			}
		    }
		},
		g_imgwait
		//		15000, // msec
	    );
	},
	onComplete: function(request) {
	    // Clear the timeout, the request completed ok
	    window.clearTimeout(request['timeoutId']);
	}
    });


var sort_domain_complete=false;
var enableNext10=true;
count=20;

var map;
var firstMkr=null;
var t1,t2,tval;

function ImgPrefetch(){
    var list=new Array(
	"/image/judge-to.gif"
	,"/image/judge-na.gif"
	,"/image/judge-safe.gif"
	,"/image/judge-caution.gif"
	,"/image/indicator.gif"
    );
    var im=Array();
    for(var i=0;i<list.length;i++){
	im[i]=new Image();
	im[i].src="http://a002.aguse.jp/"+list[i];
    }
}

function countdown_j(){
    tval=1;
    if(!t1){
	$('subm').innerHTML = "調査中です。しばらくお待ちください。  0";
	$('subm').style.display="list-item";
	t1=setInterval(message_j,1000);
    }

    return true;
}
function message_j(){
	if(tval>499){
		clearInterval(t1);
		t1=null;
	}
    $('subm').innerHTML = "調査中です。しばらくお待ちください。  "+tval;
    tval++;
}

function countdown_j0(){
    return true;
}
function countdown_e(){
    $('submit').innerHTML = "Checking ... wait a moment. <img src=\"http://a002.aguse.jp/image/indicator.gif\" class=\"valign\" /> ";
    return true;
}

function isNull_j(){
	for(i=1;i<document.ask.length;i++){
		if(document.ask.elements[i].value==""){
			alert("未入力項目があります。");
			return false;
		}
	}
	return true;
}

function isNull_e(){
	for(i=1;i<document.ask.length;i++){
		if(document.ask.elements[i].value==""){
			alert("Non-input item exists.");
			return false;
		}
	}
	return true;
}

function jump(){
	location.href="/";
}

function NULLSTR(){
	str=document.verification.url.value;
	if(str==""){
		return false;
	}else{	
		return true;
	}

}
function vm_init(x){
    if(x=='web'){
	$('url').focus();
    }else if(x=='mail'){
	document.verification.header.focus();
    }
}

function opentext(settxt){
    divid="tiptext";
    if(document.all){
	d_div=document.all(divid);
	rx = event.clientX + document.body.scrollLeft +set_x;
	ry = event.clientY + document.body.scrollTop +set_y;
    }else{
	d_div=document.getElementById(divid);
	rx = NNX  + set_x;
	ry = NNY + set_y;
    }
    if(settxt){
	d_div.style.display="block";
	d_div.style.left = rx +"px";
	d_div.style.top = ry +"px";
	d_div.innerHTML = settxt; 
    }else{
	d_div.style.display="none"; 
	d_div.innerHTML = "";
    }
}

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

function resetForm() {
    if ($('mail')) $('mail').value = "";
}


function chklength(x){
    return;
    var len=x.value.length;

    if(len>10){

    }

}


function ignore_return(){
    if(event.keycode==13){
	return false;
    }
}

function goto_gateway(){
    var url=$('realurl').innerHTML;
    window.open("http://gw.aguse.jp/gwjump.php?m=g&url="+url,new Date().getTime(),' menubar=yes, toolbar=yes, resizable=yes, scrollbars=yes');
    return false;
}

// ignoreESC
function ignoreESC(e){
    if (e != null) {
        keycode = e.which; 
    } else { // IE
        keycode = event.keyCode; 
    } 
    keychar = String.fromCharCode(keycode).toUpperCase(); 
    if (keycode == 27) {
	if(t1){
	    clearInterval(t1);
	    t1=null;
	    $('submit').firstChild.nodeValue = "";
	}
	if(t2){
	    clearInterval(t2);
	    t2=null;
	    $('submit').firstChild.nodeValue = "";
	}
    } 
}

document.onkeydown = ignoreESC;

function getElementValue(elements, name)
{
  return (elements.getElementsByTagName(name)[0] == null) ? null : elements.getElementsByTagName(name)[0].firstChild.nodeValue;
}

function genGMapCode(lat,lon,cityName,countryName)
{

    if (lat == '' || lon == ''){
      $("locationInfo").innerHTML += "<p>地図を表示できません。</p>";
      return {map:'', marker:''};
    }

    if(cityName == '' && countryName.toLowerCase() == "japan")
	{ 
	    lon = 139.7514;
	    lat = 35.685;
	}
    else if (lon == '' || lat == '')
	{
	    if (countryName.toLowerCase() == 'japan')
		{
		    lon = 139.7514;
		    lat = 35.685;
		}
	}
    var map = new google.maps.Map2(document.getElementById('googlemap'));
    map.setCenter(new google.maps.LatLng(lat,lon),6 );//9
    var marker = new google.maps.Marker(new google.maps.LatLng(lat,lon));
    map.addOverlay(marker);
    map.addControl(new google.maps.LargeMapControl());
    map.enableContinuousZoom();

    return {map:map, marker:marker};

}

    
function locationInfoReadError(xmlhttp)
{
//	$("locationInfo").innerHTML = "Connection Error." + xmlhttp.statusText;
    if(!$("locationInfo")) return;
	$("locationInfo").innerHTML = "<p>情報を取得できませんでした。</p>";
}

function locationInfoReadException(xmlhttp, exception)
{
    if(!$("locationInfo")) return;

    $("locationInfo").innerHTML = "Connection Exception..";// + exception.message;
}


function locationInfoReadComplete(xmlhttp)
{
    var xmlObj = xmlhttp.responseXML;
  if (xmlObj.getElementsByTagName('location')[0] == null){
      $("locationInfo").innerHTML = "<p>情報を取得できませんでした。</p>";
      return;
  }
      
  var location = xmlObj.getElementsByTagName('location')[0];

//    var hh=null;
//    hh=$("locationInfo").innerHTML = getLocationHTML(location);
//    $("locationInfo").innerHTML = hh['left'];
//    var s="";
//    $("route_btn").innerHTML = hh['right'];

}
function mmmap(){
    // 10分後には押せなくなる
    setTimeout(function(){
	$('go').src="http://a002.aguse.jp/image/btn-trace_off.gif";
	$('go').onclick=function(){};
	goalflag=true;
    },10*60*1000);
    
    var tmp=genGMapCode(location);
    map=tmp['map'];
    firstMkr=tmp['marker'];
}

function getLocatiionHTML(l){
    var result = '<div id="googlemap" style="width: 665px; height: 300px; margin-top: 10px; margin-left: 10px; margin-bottom: 10px; background-color: #aaa; " ></div>';
    result += "<table class=\"country\">";
    result += "<tr><th scope=\"col\">国名</th><th scope=\"col\">地域名</th><th scope=\"col\">都市名</th></tr>";
    result += "<tr>";
    result += "<td class=\"cntry\" >" + ((getElementValue(l, "countryName") == null || getElementValue(l, "countryName") == "(Unknown Country)") ? makeUnknown() : getElementValue(l, "countryName"));
    result += "&nbsp;" + ((getElementValue(l, "countryCode") == null || getElementValue(l, "countryCode") == "XX") ? "" : "<img src=\"http://a002.aguse.jp/flag.php?country_code=" + getElementValue(l, "countryCode") + "\" class=\"valign\" />") + "</td>";
    result += "<td class=\"cntry\" >" + ((getElementValue(l, "regionName") == null || getElementValue(l, "regionName") == "(Unknown Region)") ? makeUnknown() : getElementValue(l, "regionName")) + "</td>";
    result += "<td class=\"cntry\" >" + ((getElementValue(l, "cityName") == null || getElementValue(l, "cityName") == "(Unknown City)") ? makeUnknown() : getElementValue(l, "cityName")) + "</td>";
    result += "</tr>";
    result += "</table>";
    result += '</div>';
    
    var btn="<div id=\"trbtn\"><img id=\"go\" src=\""+button4+"\" onclick=\"starttrc(trkey)\" /><span id=\"msg\"></span></div>";
    return {'left':result,'right':btn};
}


function makeUnknown(){
    return "不明";
}

function setButtonStr(r,th,btn){
    if(r.snapshotLength>th*2){
	$(btn).innerHTML="次の"+th+"個を調べる";
	setTimeout(function(){	$(btn).disabled="";},3000);
    }else if(r.snapshotLength>th){
	$(btn).innerHTML="次の"+(r.snapshotLength-th)+"個を調べる";
	setTimeout(function(){	$(btn).disabled="";},3000);
    }else
	$(btn).innerHTML="これ以上ありません";
}

//他ドメイン
function setAllOtherDomain(th,btn){

    if(clickNext10Domain >0)
	if(pageTracker)pageTracker._trackPageview('/track/nextDomain');
    clickNext10Domain++;

    if(!enableNext10) return;
    enableNext10=false;
    downBtn('b1');
    downBtn('b2');
    downBtn('b3');
    downBtn('b4');
    downBtn(btn);
    if(!$('rrd')) return;

    var r = document.evaluate('//table[@id="rrd"]//tr[@class="later"]', $('rrd'), null, 7, null); 

    if(r.snapshotLength==0) return;

    var l=(r.snapshotLength<th) ? r.snapshotLength : th;

    if(r.snapshotLength<10){
	$(btn).onclick=function(){};
	$(btn).src="http://a002.aguse.jp/image/btn_next_off.gif";
    }else if(r.snapshotLength<20){
	$(btn).src="http://a002.aguse.jp/image/btn_next_off.gif";
    }else{
	$(btn).src="http://a002.aguse.jp/image/btn_next10_off.gif";
    }

    //setButtonStr(r,th,btn);


    for(var i=0;i<l;i++){
	r.snapshotItem(i).className="all";
	if(!(r.snapshotItem(i).childNodes[1])) continue;
	    var d="host="+encodeURIComponent(r.snapshotItem(i).childNodes[1].innerHTML.replace(/\n/g,"")).replace(/%20/g,"")+"&id="+i;	
	// TODO: 並列	
	new Ajax.Request('siteBirth.php', 
			 {   'method': 'get',
			     'parameters': d+"&"+new Date().getTime(),
                             'asynchronous':true,
                             'evalScripts': true,
                             onComplete:function(){
			     },
			     onSuccess: function(res){
				 if($('rrd')){
				     var x=eval("("+res.responseText+")");
 				     r.snapshotItem(x['id']).childNodes[2].innerHTML=x['year'];
 				     var r1= document.evaluate('//table[@id="rrd"]//tr[@class="all"]/descendant::td[3]/img', $('rrd'), null, 7, null); 
				     
// 				     nuha("/"+r1.snapshotLength);
 				     if(r1.snapshotLength==0){
					 sort_domain_complete=true;
					 upBtn('b1');
					 upBtn('b2');
					 upBtn('b3');
					 upBtn('b4');
					 var r2= document.evaluate('//table[@id="rrd"]//tr[@class="later"]', $('rrd'), null, 7, null); 
					 if(r2.snapshotLength>0){
					     upBtn(btn);
					     enableNext10=true;
					 }
				     }
				 }
			     },
			     onFailure:  Function("otherdom_fail("+i+")"),

			     onException: function(e) { 
//				 alert("err=27;"+e);
			     }
			 }

			);
	
    }
}

// functions for Timeout 
function otherdom_fail(i){
    var r = document.evaluate('//table[@id="rrd"]//tr[@class="all"]', $('rrd'), null, 7, null); 
//    r.snapshotItem(i).childNodes[2].innerHTML="<img src=\"/image/judge-noresponse.gif\"/>";
    r.snapshotItem(i).childNodes[2].innerHTML="応答なし";
}
function location_fail(k){
    var r = $('outer').childNodes[0].childNodes;
    for(var i=0;i<10;i++){
	if(i>r.length) break;
	r[i+k+1].childNodes[2].innerHTML="<span></span><img src=\"http://a002.aguse.jp/image/judge-noresponse.gif\"/>";
	lookatKsq(i,k);
    }
    checkNextBtn(k);
}
function virus_fail(i){
    r4--;
    var r = document.evaluate('//table[@id="outer"]//tr[@class="all"]', $('outer'), null, 7, null); 
    r.snapshotItem(i).childNodes[3].childNodes[0].src="http://a002.aguse.jp/image/judge-noresponse.gif";
}
function regdate_fail(i){
    $('regdate').innerHTML="取得できませんでした";
}


function downBtn(p){
    if(typeof p == "string"){
	if($(p)) $(p).src=$(p).src.replace(/_on\.gif/,"_off.gif");
    }else
	p.src=p.src.replace(/_on\.gif/,"_off.gif");
}

function upBtn(p){
    if(typeof p == "string"){
	if($(p)) $(p).src=$(p).src.replace(/_off\.gif/,"_on.gif");
    }else{
	if(p.src) p.src=p.src.replace(/_off\.gif/,"_on.gif");
    }
}
var r4=0;
var r5=0;
function closePanel(p){
    $('pbg').style.display="none";
    $(p).style.display="none";
}

function doModal(){
    if (typeof document.documentElement.style.maxHeight == "undefined") {
	//IE6;
	$('pbg').style.height=document.body.scrollHeight+"px";
	$('pbg').style.width =document.body.scrollWidth +"px";
    }else{
	$('pbg').style.height=document.documentElement.scrollHeight+"px";
	$('pbg').style.width =document.documentElement.scrollWidth +"px";
    }

    $('pbg').style.display="block";
    if(document.all)
	event.cancelBubble=true;
    else
	$('pbg').onclick=function(e){e.stopPropagation();};
}    
String.prototype.Trim = function()
{
    return this.replace(/^\s+|\s+$/g, "");
}
function openPanel(e,dir){

    if(pageTracker)pageTracker._trackPageview('/track/openPanel');
    var u=concatTextNodes(e);

//     if(undefined !== window.opera){
// 	u=u.replace(/<NOBR>/ig,"");
// 	u=u.replace(/<\/NOBR>/ig,"");
//     }

//     u=u.replace(/<WBR>/ig,"");
//     alert(u);

    if( typeof dir == "undefined" ) dir=true;
    if($('floater1').style.display=="block") return;

    doModal();
//    TODO:正規化

    u=u.replace(/\n/g,"");
    u=u.replace(/<wbr>/g,"");


    $('ga1').onclick=function(){closePanel('floater1');window.open("/jump.php?url="+encodeURIComponent(u),new Date().getTime(),' menubar=yes, toolbar=yes, resizable=yes, scrollbars=yes');return false;};
    $('ga2').onclick=function(){closePanel('floater1');window.open("http://gw.aguse.jp/?aguse_charset=UTF-8&aguse_with_form=aguse_with_form&aguse_show_links=false&aguse_show_forms=true&aguse_find_virus=true&aguse_bar_fixed=true&show_forms=on&find_virus=on&aguse_max_wait=60000&aguse_url="+encodeURIComponent(u),new Date().getTime(),' menubar=yes, toolbar=yes, resizable=yes, scrollbars=yes');return false;};

    var Cookie = new Array();
    if (document.cookie) {
	var cookies = document.cookie.split("; ");
	for (var i = 0; i < cookies.length; i++) {
	    var str = cookies[i].split("=");
	    Cookie[str[0]] = unescape(str[1]);
	}
    }
    if (typeof document.documentElement.style.maxHeight == "undefined") {
	//IE6;
	$('floater1').style.marginLeft=(document.body.clientWidth/2-250)+"px";
	$('floater1').style.marginTop=(document.body.clientHeight/2-50)+"px";
	
    }

    // 虫いた :　最優先
    if(!dir){
	$('ga4').src="http://a002.aguse.jp/image/btn-direct_off.gif";
	$('ga4').onclick="";
	$('floater1').style.display="block";
	return;
    }
    if(u.match(/^https?:\/\//i)){
    }else{
	u="http://"+u;
    }
    if($('lv').checked){
	$('ga4').src="http://a002.aguse.jp/image/btn-direct_on.gif";
	$('ga4').onclick=function(){closePanel("floater1");window.open(u,new Date());return false;};
    }else{
	$('ga4').src="http://a002.aguse.jp/image/btn-direct_off.gif";
	$('ga4').onclick="";
    }
    $('floater1').style.display="block";
    return;
}



function openPanel2(p){
    if($(p).style.display=="block") return;
    doModal();
    $(p).style.display="block";
}

// retry manually
function oncemore(cparam){
 
    if(!saitoriOK) return;

    saitoriOK=false;
    closePanel("floater1");
    $('retrying').className="";
    $('retrying').innerHTML="再キャプチャ中...<img src=\"http://a002.aguse.jp/image/indicator.gif\" class=\"valign\" />";
    downBtn('ga8');

    saitori(cparam);
}

/// SAITORI
function saitori(cparam){

    new Ajax.Request('newr1.php', {
	'method': 'post',
//        parameters: cparam+"&"+new Date().getTime()+"&rt=1",
        parameters: cparam+"&"+new Date().getTime()+"&rt=1",
        asynchronous:true ,
        onSuccess:function(){},
        onComplete:function(r){
            $('retrying').innerHTML="&nbsp;";
            var m=eval("("+r.responseText+")");
             $('screenshot').innerHTML=m['ss'];
             $('imgdate').innerHTML=m['tm']; 
	    upBtn('ga8');
	    saitoriOK=true;
        },
        onFailure: function(r) {
        }, 
        onException: function (r) {
        }
    });
}

////

function setLevel(){
    if (!(window.navigator.cookieEnabled)) return;
//     var period=100;
//     var clear_time = new Date(new Date().getTime() + (60 * 60 * 24 * 1000 * period));
//     var expires = clear_time.toGMTString();
// クッキーの発行
    var val=$('lv').checked;
    document.cookie = "LV"+ "=" + escape(val) + "; " ;
}
	
function sort_rd(key,dir){
    if(!sort_domain_complete) return; 
    if(!$('rrd')) return;
    var r = document.evaluate('//table[@id="rrd"]//tr[@class="all"]', $('rd0'), null, 7, null); 

    var arr=[];
    for(var i=0;i<r.snapshotLength;i++){
	arr.push([
	    r.snapshotItem(i).childNodes[0].innerHTML,
	    r.snapshotItem(i).childNodes[1].innerHTML,
	    r.snapshotItem(i).childNodes[2].innerHTML
	]);
    }
    var cur=new Date().getTime();
//    TODO: quicksort
    if(dir==1 && key==1) sort1(arr,1,cur);
    if(dir==0 && key==1) sort1(arr,-1,cur);
    if(dir==1 && key==2) sort2(arr,1,cur);
    if(dir==0 && key==2) sort2(arr,-1,cur);

    for(var i=0;i<r.snapshotLength;i++)
	for(var j=0;j<3;j++)
	    r.snapshotItem(i).childNodes[j].innerHTML=arr[i][j];

}

function sort11(arr){
    return arr.slice().sort(mycmp || cmp_number);
}

function sort1(arr,d,cur){
    return arr.sort(function(a,b){
	if(a[1]>b[1]) return 1*d;
	if(a[1]==b[1]) return 0;
	return -1*d;
    });
}
function sort2(arr,d,cur){
    return arr.sort(function(a,b){

// 	if(isNaN(toVal(a[2]))) setlog(a[1]+"/"+a[2]);
// 	if(isNaN(toVal(b[2]))) setlog(b[1]+"|"+b[2]);

	if(toVal(a[2],cur)>toVal(b[2],cur)) return 1*d;
	if(toVal(a[2],cur)==toVal(b[2],cur)) return 0;
	return -1*d;
    });
}
    // TODO:全フォーマットに対応
function toVal(x,cur){
    if(x.match(/(\d+)年(\d+)月(\d+)日/)) return new Date(RegExp.$1,parseInt(RegExp.$2)-1,RegExp.$3).getTime();
    if(x.match(/(\d+)分前/))  return cur-parseInt(RegExp.$1)*60*1000;
    if(x.match(/(\d+)時間前/)) return cur-parseInt(RegExp.$1)*3600*1000;
    if(x.match(/(\d+)日前/)) return cur-parseInt(RegExp.$1)*86400*1000;
    return new Date(70,1,1).getTime(); // 不明とか異常とか

}


var dir1=1;
var dir2=1;


function setRegDate(){
var h=$('realurl').innerHTML;
    h=h.replace(/^https?:\/\//gi,"");
    var d="host="+encodeURIComponent(h)+"&id=99";
    new Ajax.Request('siteBirth.php', 
		     {   'method': 'get',
			 'parameters': d+"&"+new Date().getTime(),
                         'asynchronous':true,
                         'evalScripts': true,
                         onComplete:function(res){
			 },
			 onSuccess: function(res){
			     var x=eval("("+res.responseText+")");
			     $('regdate').innerHTML=x['year'];
			 },
			 onFailure: function(){
//			     ('regdate').innerHTML="取得できませんでしたi";
			     setTimeout(function(){if($('regdate'))$('regdate').innerHTML="取得できませんでした";}, 5000)
			 },
			 onException: function(res) { 
//			     ('regdate').innerHTML="取得できませんでしたyi";
			     setTimeout(function(){if($('regdate'))$('regdate').innerHTML="取得できませんでした";}, 5000)
			 }
		     }
		    );
}

function initBox(x){if($(x))$(x).focus();}

function countUp(x){if($(x))$(x).focus();}


// 外部コンテンツ
function setAllOuterLinks(st,th,btn){

    if(clickNext10>0)
	if(pageTracker)pageTracker._trackPageview('/track/nextOuterLink');
    clickNext10++;

    var r = document.evaluate('//table[@id="outer"]//tr[@class="later"]', $('outer'), null, 7, null); 
    if(r.snapshotLength==0){
	downBtn('next_10');
	return;
    }
    var l=(r.snapshotLength<th) ? r.snapshotLength : th;

    $(btn).src="http://a002.aguse.jp/image/btn_next_on.gif";
//    $(btn).onclick=function(){};
    if(r.snapshotLength<11){
	$(btn).src="http://a002.aguse.jp/image/btn_next_off.gif";
    }else if(r.snapshotLength<21){
	$(btn).src="http://a002.aguse.jp/image/btn_next_on.gif";
    }else{
	$(btn).src="http://a002.aguse.jp/image/btn_next10_on.gif";
    }

    for(var i=0;i<l;i++) r.snapshotItem(i).className="all";
//    loc_start(st);
}

function ksFail(i,k){
    var r=$('outer').childNodes[0].childNodes;
    r[i+k+1].childNodes[3].childNodes[0].src="http://a002.aguse.jp/image/judge-to.gif";
    r[i+k+1].childNodes[3].childNodes[0].title="応答なし";
    upBtn(r[i+k+1].childNodes[0].childNodes[0]);
    checkNextBtn(k);
}

// 次の10個ボタン
function checkNextBtn(k){
    var f=true;
    var r=$('outer').childNodes[0].childNodes;
    for(var i=0;i<10;i++){
	if(i+k>r.length-1) break;
	if(r[i+k+1])
	    if(r[i+k+1].childNodes[0].childNodes[0].src.match(/off/)){ f=false; break;}
    }
    if(!f) return;

    if(r.length-1>k+10){
	$('next_10').onclick=Function("setAllOuterLinks("+(k+10)+",10,'next_10')");
	upBtn('next_10');
    }
}    

// 左ボタン押せるか
function lookatFlag(i,k){
    var r = $('outer').childNodes[0].childNodes;
    if(r[i+k+1].childNodes[2].childNodes.length != 2) return;

    var r = $('outer').childNodes[0].childNodes;
    var vir=(r[i+k+1].childNodes[3].childNodes[0].src.match(/\/image\/judge-caution.gif/));
    r[i+k+1].childNodes[0].childNodes[0].onclick=Function("openPanel(this.parentNode.parentNode.childNodes[1].childNodes[0],"+!vir+")");
    upBtn(r[i+k+1].childNodes[0].childNodes[0]);
}

function lookatKsq(i,k){
    var r = $('outer').childNodes[0].childNodes;

    if(r[i+k+1].childNodes[3].childNodes[0].src.match(/\/image\/indicator.gif/)) return;
    
    var vir=(r[i+k+1].childNodes[3].childNodes[0].src.match(/\/image\/judge-caution.gif/));
    r[i+k+1].childNodes[0].childNodes[0].onclick=Function("openPanel(this.parentNode.parentNode.childNodes[1].childNodes[0],"+!vir+")");
    upBtn(r[i+k+1].childNodes[0].childNodes[0]);
}

function lookatBirth(i,k){
    var r = $('rrd').childNodes[0].childNodes;
    if(!(r[i+k+1].childNodes[2].childNodes[0].src.match(/\/image\/indicator.gif/))){
        r[i+k+1].childNodes[0].childNodes[0].onclick=Function("openPanel(this.parentNode.parentNode.childNodes[1].childNodes[0],"+!vir+")");
     	upBtn(r[i+k+1].childNodes[0].childNodes[0]);
    }
}
function nuha(s){
    $('nuha').innerHTML=s+$('nuha').innerHTML;
}

function imgset(){
    //   $('shot').childNodes[0].className="imgfin";
}


function calZoomLevel(x,y){
    // x>yにする(lat)
    if(x.getLatLng().lat()<y.getLatLng().lat()){	z=x;	x=y;	y=z;    }
    var plist=Array();
    plist.push(new google.maps.LatLng(parseFloat(x.getLatLng().lat())+0.0005,parseFloat(x.getLatLng().lng())));;
    plist.push(new google.maps.LatLng(parseFloat(y.getLatLng().lat())-0.0005,parseFloat(y.getLatLng().lng())));;
    var plg=new google.maps.Polygon(plist);
    return plg.getBounds();
}

function aguse_popup_callback(x){ // コールバック関数を定義

    if(x['BL_result_Kaspersky']){
        if(x['title']){
            var p=document.getElementById('vi0');
            if(x['BL_result_Kaspersky']=="INFECTED"){
		p.innerHTML ="<span class=\"virusalert\">"+x['virname']+"</span><br />詳しい説明 :  ";
		p.innerHTML+="<a target=\"_blank\" href=\"http://www.viruslistjp.com/find?words="+x['virname']+"&amp;search_mode=full\">日本語</a> | ";
		p.innerHTML+="<a target=\"_blank\" href=\"http://www.viruslist.com/en/find?words="+x['virname']+"\">英語(オリジナル)</a>";
                $('retrying').className="virusalert";
                $('retrying').innerHTML="マルウェアが検出されました。";
	    }else if(x['BL_result_Kaspersky']=="SAFE"){
		p.className = "safe";
		p.innerHTML="マルウェアは検出されませんでした。";
	    }else{
		p.className = "safe";
		p.innerHTML="マルウェアは検出されませんでした。";
	    }
	}
	return;
    }
}

function htmlOpera(s){

    if(undefined == window.opera) return s;
    return s.replace(/<wbr>/g,"</nobr><nobr>");
}

// タグとかを除去してURLの文字列だけを返す
function concatTextNodes(e){
    var t=new Date().getTime();
    var str="";
    for(var i=0;i<e.childNodes.length;i++){
	if(e.childNodes[i].nodeType==3) str+=e.childNodes[i].nodeValue;
    }
//    setlog((new Date().getTime()-t)+"msec");
    return str;
}

function setlog(s){
    $('mylog').innerHTML=s+";"+$('mylog').innerHTML;
}

    
