/*
	jQuery Plugin spy (leftlogic.com/info/articles/jquery_spy)
	(c) 2006 Remy Sharp (leftlogic.com) jquery[at]leftlogic[dot]com
	$Id: spy.js,v 1.2 2006/08/14 10:07:18 remy Exp $
*/
var spyRunning = 1;

$.fn.spy = function(settings) {
    if (!settings['ajax']) {
        alert("An AJAX/AJAH URL must be set for the spy to work.");
        return;
    }

    $("#loading").hide();

    var o = {
        limit: (settings['limit'] || 10),
        fadeLast: (settings['fadeLast'] || 5),
        ajax: settings['ajax'],
        timeout: (settings['timeout'] || 3000),
        push: (settings['push'] || -1),
        fadeInSpeed: (settings['fadeInSpeed'] || 'slow')
    };

    return this.each(function() {
        var e = this;
        var lr = '';
        var epoch = new Date(1970, 1, 1);
        var now = new Date();
        var timestamp = Math.floor((now - epoch) / 1000);
        e.timer = window.setInterval(function() {
            if (spyRunning) {

                var LastKeyID = $("#LastKeyID").attr("value");
                $("#loading").show();
                $.ajax({
                    type: "get",
                    ifModified: true,
                    url: "/ajax/getlive.aspx?t=" + new Date().getTime() + "&tab=" + $('#tab').attr('value') + "&lastkeyid=" + LastKeyID,
                    dataType: "html",
                    data: "",
                    success: function(result) {
                        $("#loading").hide();
                        if (result == "") {
                            return;
                        }
                        else {
                            var temp = result.split('@');
                            $("#LastKeyID").attr("value", temp[0])
                            if ($("#spy" + temp[0]) != null) {
                                $("#spy" + LastKeyID).before(temp[1]);
                                $("#spy" + temp[0]).hide();
                                $("#spy" + temp[0]).slideDown("slow"); $("#spy" + temp[0]).fadeOut("slow"); $("#spy" + temp[0]).fadeIn("slow");
                                for (var i = LastKeyID - 20; i > LastKeyID - 60; i--) {
                                    if ($("#spy" + i) != null) $("#spy" + i).fadeEachDown();
                                }
                                for (var i = LastKeyID - 30; i > LastKeyID - 60; i--) {
                                    if ($("#spy" + i) != null) $("#spy" + i).fadeOut();
                                }
                            }

                        }

                    }
                });


                now = new Date();
                timestamp = Math.floor((now - epoch) / 1000);
            }
        }, o['timeout']);
    });
};

$.fn.fadeEachDown = function() {
	var s = this.size();
	return this.each(function(i) {
		var o = 1 - (s == 1 ? 0.5 : 0.85/s*(i+1));
		var e = this.style;
		if (window.ActiveXObject)
			e.filter = "alpha(opacity=" + o*100 + ")";
		e.opacity = o;
	});
};

function pauseSpy() {
	spyRunning = 0; return false;
}

function playSpy() {
	spyRunning = 1; return false;
}

