﻿var successimg = null;
var failimg = null;

if (document.images) {
    successimg = new Image(18,18); 
    successimg.src = "img/ok.gif"; 
    failimg = new Image(18,18); 
    failimg.src = "img/error.gif"; 
}


var title = null;
var url = null;
var trimarr = null;
var pingURL = null;
var qsParm = new Array();

function qs() {
var query = window.location.search.substring(1);
var parms = query.split('&');
for (var i=0; i<parms.length; i++) {
   var pos = parms[i].indexOf('=');
   if (pos > 0) {
      var key = parms[i].substring(0,pos);
      var val = parms[i].substring(pos+1);
      qsParm[key] = val;
      }
   }
}

qsParm['title'] = null;
qsParm['url'] = null;
qsParm['rss'] = null;
qsParm['svc'] = null;

function StartPing() {  
        qs();
        title = qsParm['title'];
        url = qsParm['url'];
        rss = qsParm['rss'];
        var arr = qsParm['svc'];
        pingURL = "doping.aspx" + "?title=" + escape(title) + "&url=" + escape(url) + "&rss=" + escape(rss) + "&svc="
        trimarr = arr.substring(0,arr.length-1);
        var arr_svc = trimarr.split("|");
        for (var i = 0; i < arr_svc.length; i++) {
            Ping(arr_svc[i]);
        }
} 

function Ping(svc) { 
    var http = getHTTPObject();
    http.open("GET", pingURL +  svc, true); 
    http.onreadystatechange = function() { 
        if (http.readyState == 4) { 
            updateStatus(svc,http.responseText); 
        } 
    } 
    http.send(null); 
}

function updateStatus(svc,status) { 
    var resp = status;
    var arr_resp = new Array();
    arr_resp = resp.split("|");
    if (arr_resp[1] == "false" || arr_resp[1] == "False") {
        document.getElementById('i_' + svc).src = successimg.src ;
        document.getElementById('t_' + svc).innerHTML = "<b>" + arr_resp[0] + "</b>" ;
    } else {
        document.getElementById('i_' + svc).src = failimg.src ;
        document.getElementById('t_' + svc).innerHTML = "<font color=\"red\"><b>" + arr_resp[0] + "</b></font>";
    }
}

function getHTTPObject() {
  var xmlhttp;
  try {
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
     try {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
     } catch (E) {
        xmlhttp = false;
     }
  }

  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
    try {
      xmlhttp = new XMLHttpRequest();
    } catch (e) {
      xmlhttp = false;
    }
  }

  return xmlhttp;
}

var secs;
var timerID = null;
var timerRunning = false;
var delay = 1000;

function InitializeTimer()
{
    // Set the length of the timer, in seconds
    secs = 1;
    StopTheClock();
    StartTheTimer();
}

function StopTheClock()
{
    if(timerRunning)
        clearTimeout(timerID);
    timerRunning = false;
}

function StartTheTimer()
{
    if (secs==0)
    {
        StopTheClock();
        // Here's where you put something useful that's
        // supposed to happen after the allotted time.
        // For example, you could display a message:
        StartPing();
    }
    else
    {
        //self.status = secs;
        secs = secs - 1;
        timerRunning = true;
        timerID = self.setTimeout("StartTheTimer()", delay);
    }
}


function Bookmark() {
		
	var btitle = "AutoPinger.com - Ping shortcut for " + title;
	var burl = "Http://www.autopinger.com/ping.aspx?url=" + escape(url) + "&title=" + escape(title) + "&svc=" + trimarr;

	if (window.sidebar)
	{
		window.sidebar.addPanel(btitle.replace("+"," "), burl,"");
	}
	else if( document.all )
	{
		window.external.AddFavorite( burl, btitle.replace("+"," "));
	}
	else
	{
        return true;
	}
	return false;
}

window.onload = function() { 
InitializeTimer();
}