(function ($) {
	$.fn.fadeTransition = function(options) {
		var transitionObject,
		options = $.extend({pauseTime: 5000,
			transitionTime: 2000,
			ignore: "#nav-container",
			delayStart: 0,
			pauseOnMouseOver: false,
			manualNavigation: false,
			createNavButtons: false}, options
		);

		function fader(obj) {
			var timer = null,
			current = 0;
			els = (options.ignore)?$("> *:not(" + options.ignore + ")", obj):$("> *", obj);

			function setup() {
				$(obj).css("position", "relative");
				els.css("display", "none").css("left", "0").css("top", "0").css("position", "absolute");
				if (options.createNavButtons) {
					createNavButtons();
				}
				$("#nav-container").css("display", "block");
				if (options.pauseOnMouseOver) {
					$(obj).mouseover(pause).mouseout(queue);
				}

				if (options.delayStart > 0) {
					setTimeout(showFirst, options.delayStart);
				}
				else {
					showFirst();
				}
			}

			setup();

			function createNavButtons() {
				var i, nav = $('<div class="fadenav"></div>');
				for (i=0; i<els.length; i++)
					$('<a href="#">&nbsp;</a>').click(manualNav).appendTo(nav);

				nav.appendTo($("#nav-container"));
			}	

			function manualNav(e) {
				var item;
				e = e || window.event;
				$(e.target).blur();
				item = $('.fadenav a', obj).index(e.target);
				if (timer) {
					clearTimeout(timer);
				}
				transition(item);
				return false;
			}

			function pause() {
				if (timer)
					clearTimeout(timer);
			}

			function highlightNav() {
				if (options.createNavButtons) {
					$('.fadenav a', obj).removeClass('current');
					$('.fadenav a:nth-child(' + (1 + current) + ')', obj).addClass('current');
				}
			}

			function showFirst() {
				var first = Math.floor(Math.random()*5);
				if (options.ignore) {
					$(options.ignore, obj).fadeOut(options.transitionTime);
					$(els[first]).fadeIn(options.transitionTime, queue);
				}
				else {
					$(els[first]).css("display", "block");
				}
				current=first;
				$("#transitionEffect").removeClass("r1").addClass("r"+(first+1));
				highlightNav();
			}

			function transition(next) {
				$(els[current]).fadeOut(options.transitionTime);
				var add = (next==0) ? 1 : next+1;
				$("#transitionEffect").removeClass("r"+(current+1)).addClass("r"+add);
				$(els[next]).fadeIn(options.transitionTime);				
				current = next;
				highlightNav();
				queue();
			}

			function queue() {
				if ($("> *", obj).length < 2) {
					return false;
				}

				if (timer) {
					clearTimeout(timer);
				}

				if (!options.manualNavigation) {
					timer = setTimeout(function() { transition((current + 1) % els.length | 0)} , options.pauseTime);
				}
			}
		}

		return this.each(function() {
			new fader(this);
		});
	}
})(jQuery);

function AddToFavorites()  
{  
    var title = document.title; var url = location.href;  
    if (window.sidebar) // Firefox  
        window.sidebar.addPanel(title, url, '');  
    else if(window.opera && window.print) // Opera  
    {  
        var elem = document.createElement('a');  
        elem.setAttribute('href',url);  
        elem.setAttribute('title',title);  
        elem.setAttribute('rel','sidebar'); // required to work in opera 7+  
        elem.click();  
    }   
    else if(document.all) // IE  
        window.external.AddFavorite(url, title);  
}



