var $jx = jQuery.noConflict();
$jx(document).ready(function(){

$jx('ul.daspy').simpleSpy();

$jx('ul.daspy li').reverseOrder();


});



(function ($jx) {
$jx.fn.reverseOrder = function() {
return this.each(function() {
$jx(this).prependTo( $jx(this).parent() );
});
};


$jx.fn.simpleSpy = function (limit, interval) {
limit = limit || 2;
interval = interval || 6000;

return this.each(function () {
// 1. setup
// capture a cache of all the Interesting title s
// chomp the list down to limit li elements
var $jxlist = $jx(this),
items = [], // uninitialised
currentItem = limit,
total = 0, // initialise later on
start = 0,//when the effect first starts
startdelay = 4000;
height = $jxlist.find('> li:first').height();

// capture the cache
$jxlist.find('> li').each(function () {
items.push('<li>' + $jx(this).html() + '</li>');
});

total = items.length;

$jxlist.wrap('<div class="spyWrapper" />').parent().css({ height : 150 });

$jxlist.find('> li').filter(':gt(' + (limit - 1) + ')').remove();

// 2. effect
function spy() {
// insert a new item with opacity and height of zero
var $jxinsert = $jx(items[currentItem]).css({
height : 0,
opacity : 0,
display : 'none'
}).prependTo($jxlist);

// fade the LAST item out
$jxlist.find('> li:last').animate({ opacity : 0}, 500, function () {
// increase the height of the NEW first item
$jxinsert.animate({ height : height }, 500).animate({ opacity : 1 }, 500);

// AND at the same time - decrease the height of the LAST item
// $jx(this).animate({ height : 0 }, 1000, function () {
// finally fade the first item in (and we can remove the last)
$jx(this).remove();
// });
});

currentItem++;
if (currentItem >= total) {
currentItem = 0;
}

setTimeout(spy, interval)
}

if (start < 1) {
setTimeout(spy,startdelay);
start++;
} else {
spy();
}

});
};

})(jQuery); 
