Index: /extensions/Full_Background/js/full_BG.js
===================================================================
--- /extensions/Full_Background/js/full_BG.js	(revision 25998)
+++ /extensions/Full_Background/js/full_BG.js	(revision 25999)
@@ -1,4 +1,4 @@
-$(document).ready(function(){
-			(function($) {
+(function($) {
+	$(document).ready(function(){
 				$.fn.preload = function(options) {
 					var opts 	= $.extend({}, $.fn.preload.defaults, options);
@@ -17,5 +17,4 @@
 					onComplete	: function(){return false;}
 				};
-			})(jQuery);
 	
 	
@@ -69,5 +68,5 @@
 					
 					//expand and fit the image to the screen
-					$('#tf_zoom').live('click',
+					$(document).on('click', '#tf_zoom',
 						function(){
 						if($tf_bg_img.is(':animated'))
@@ -120,5 +119,5 @@
 						);
 								
-					$('#tf_fullscreen').live('click',
+					$(document).on('click', '#tf_fullscreen',
 						function(){
 						if($tf_bg_img.is(':animated'))
@@ -373,3 +372,4 @@
 					}
 			});
-});
+	});
+})(jQuery);
Index: /extensions/Full_Background/js/jquery.columnizer.js
===================================================================
--- /extensions/Full_Background/js/jquery.columnizer.js	(revision 25999)
+++ /extensions/Full_Background/js/jquery.columnizer.js	(revision 25999)
@@ -0,0 +1,639 @@
+// version 1.6.0
+// http://welcome.totheinter.net/columnizer-jquery-plugin/
+// created by: Adam Wulf @adamwulf, adam.wulf@gmail.com
+
+(function($){
+
+ $.fn.columnize = function(options) {
+
+
+	var defaults = {
+		// default width of columns
+		width: 400,
+		// optional # of columns instead of width
+		columns : false,
+		// true to build columns once regardless of window resize
+		// false to rebuild when content box changes bounds
+		buildOnce : false,
+		// an object with options if the text should overflow
+		// it's container if it can't fit within a specified height
+		overflow : false,
+		// this function is called after content is columnized
+		doneFunc : function(){},
+		// if the content should be columnized into a 
+		// container node other than it's own node
+		target : false,
+		// re-columnizing when images reload might make things
+		// run slow. so flip this to true if it's causing delays
+		ignoreImageLoading : true,
+		// should columns float left or right
+		columnFloat : "left",
+		// ensure the last column is never the tallest column
+		lastNeverTallest : false,
+		// (int) the minimum number of characters to jump when splitting
+		// text nodes. smaller numbers will result in higher accuracy
+		// column widths, but will take slightly longer
+		accuracy : false,
+		// don't automatically layout columns, only use manual columnbreak
+		manualBreaks : false,
+		// previx for all the CSS classes used by this plugin
+		// default to empty string for backwards compatibility
+		cssClassPrefix : ""
+	};
+	options = $.extend(defaults, options);
+
+	if(typeof(options.width) == "string"){
+		options.width = parseInt(options.width,10);
+		if(isNaN(options.width)){
+			options.width = defaults.width;
+		}
+	}
+		
+	/**
+	 * appending a text node to a <table> will
+	 * cause a jquery crash.
+	 * so wrap all append() calls and revert to
+	 * a simple appendChild() in case it fails
+	 */
+	function appendSafe($target, $elem){
+		try{
+			$target.append($elem);
+		}catch(e){
+			$target[0].appendChild($elem[0]);
+		}
+	}
+
+    return this.each(function() {
+		var $inBox = options.target ? $(options.target) : $(this);
+		var maxHeight = $(this).height();
+		var $cache = $('<div></div>'); // this is where we'll put the real content
+		var lastWidth = 0;
+		var columnizing = false;
+		var manualBreaks = options.manualBreaks;
+		var cssClassPrefix = defaults.cssClassPrefix;
+		if(typeof(options.cssClassPrefix) == "string"){
+			cssClassPrefix = options.cssClassPrefix;
+		}
+
+
+		var adjustment = 0;
+
+		appendSafe($cache, $(this).contents().clone(true));
+
+		// images loading after dom load
+		// can screw up the column heights,
+		// so recolumnize after images load
+		if(!options.ignoreImageLoading && !options.target){
+			if(!$inBox.data("imageLoaded")){
+				$inBox.data("imageLoaded", true);
+				if($(this).find("img").length > 0){
+					// only bother if there are
+					// actually images...
+					var func = function($inBox,$cache){ return function(){
+							if(!$inBox.data("firstImageLoaded")){
+								$inBox.data("firstImageLoaded", "true");
+								appendSafe($inBox.empty(), $cache.children().clone(true));
+								$inBox.columnize(options);
+							}
+						};
+					}($(this), $cache);
+					$(this).find("img").one("load", func);
+					$(this).find("img").one("abort", func);
+					return;
+				}
+			}
+		}
+
+		$inBox.empty();
+
+		columnizeIt();
+
+		if(!options.buildOnce){
+			$(window).resize(function() {
+				if(!options.buildOnce){
+					if($inBox.data("timeout")){
+						clearTimeout($inBox.data("timeout"));
+					}
+					$inBox.data("timeout", setTimeout(columnizeIt, 200));
+				}
+			});
+		}
+
+		function prefixTheClassName(className, withDot){
+			var dot = withDot ? "." : "";
+			if(cssClassPrefix.length){
+				return dot + cssClassPrefix + "-" + className;
+			}
+			return dot + className;
+		}
+
+		/**
+		 * this fuction builds as much of a column as it can without
+		 * splitting nodes in half. If the last node in the new column
+		 * is a text node, then it will try to split that text node. otherwise
+		 * it will leave the node in $pullOutHere and return with a height
+		 * smaller than targetHeight.
+		 * 
+         * Returns a boolean on whether we did some splitting successfully at a text point
+         * (so we know we don't need to split a real element). return false if the caller should
+         * split a node if possible to end this column.
+		 *
+		 * @param putInHere, the jquery node to put elements into for the current column
+		 * @param $pullOutHere, the jquery node to pull elements out of (uncolumnized html)
+		 * @param $parentColumn, the jquery node for the currently column that's being added to
+		 * @param targetHeight, the ideal height for the column, get as close as we can to this height
+		 */
+		function columnize($putInHere, $pullOutHere, $parentColumn, targetHeight){
+			//
+			// add as many nodes to the column as we can,
+			// but stop once our height is too tall
+			while((manualBreaks || $parentColumn.height() < targetHeight) &&
+				$pullOutHere[0].childNodes.length){
+				var node = $pullOutHere[0].childNodes[0];
+				//
+				// Because we're not cloning, jquery will actually move the element"
+				// http://welcome.totheinter.net/2009/03/19/the-undocumented-life-of-jquerys-append/
+				if($(node).find(prefixTheClassName("columnbreak", true)).length){
+					//
+					// our column is on a column break, so just end here
+					return;
+				}
+				if($(node).hasClass(prefixTheClassName("columnbreak"))){
+					//
+					// our column is on a column break, so just end here
+					return;
+				}
+				appendSafe($putInHere, $(node));
+			}
+			if($putInHere[0].childNodes.length === 0) return;
+
+			// now we're too tall, so undo the last one
+			var kids = $putInHere[0].childNodes;
+			var lastKid = kids[kids.length-1];
+			$putInHere[0].removeChild(lastKid);
+			var $item = $(lastKid);
+
+			// now lets try to split that last node
+			// to fit as much of it as we can into this column
+			if($item[0].nodeType == 3){
+				// it's a text node, split it up
+				var oText = $item[0].nodeValue;
+				var counter2 = options.width / 18;
+				if(options.accuracy)
+				counter2 = options.accuracy;
+				var columnText;
+				var latestTextNode = null;
+				while($parentColumn.height() < targetHeight && oText.length){
+					//
+					// it's been brought up that this won't work for chinese
+					// or other languages that don't have the same use of whitespace
+					// as english. This will need to be updated in the future
+					// to better handle non-english languages.
+					//
+					// https://github.com/adamwulf/Columnizer-jQuery-Plugin/issues/124
+					var indexOfSpace = oText.indexOf(' ', counter2);
+					if (indexOfSpace != -1) {
+						columnText = oText.substring(0, indexOfSpace);
+					} else {
+						columnText = oText;
+					}
+					latestTextNode = document.createTextNode(columnText);
+					appendSafe($putInHere, $(latestTextNode));
+
+					if(oText.length > counter2 && indexOfSpace != -1){
+						oText = oText.substring(indexOfSpace);
+					}else{
+						oText = "";
+					}
+				}
+				if($parentColumn.height() >= targetHeight && latestTextNode !== null){
+					// too tall :(
+					$putInHere[0].removeChild(latestTextNode);
+					oText = latestTextNode.nodeValue + oText;
+				}
+				if(oText.length){
+					$item[0].nodeValue = oText;
+				}else{
+					return false; // we ate the whole text node, move on to the next node
+				}
+			}
+
+			if($pullOutHere.contents().length){
+				$pullOutHere.prepend($item);
+			}else{
+				appendSafe($pullOutHere, $item);
+			}
+
+			return $item[0].nodeType == 3;
+		}
+
+		/**
+		 * Split up an element, which is more complex than splitting text. We need to create 
+		 * two copies of the element with it's contents divided between each
+		 */
+		function split($putInHere, $pullOutHere, $parentColumn, targetHeight){
+			if($putInHere.contents(":last").find(prefixTheClassName("columnbreak", true)).length){
+				//
+				// our column is on a column break, so just end here
+				return;
+			}
+			if($putInHere.contents(":last").hasClass(prefixTheClassName("columnbreak"))){
+				//
+				// our column is on a column break, so just end here
+				return;
+			}
+			if($pullOutHere.contents().length){
+				var $cloneMe = $pullOutHere.contents(":first");
+				//
+				// make sure we're splitting an element
+				if( typeof $cloneMe.get(0) == 'undefined' || $cloneMe.get(0).nodeType != 1 ) return;
+
+				//
+				// clone the node with all data and events
+				var $clone = $cloneMe.clone(true);
+				//
+				// need to support both .prop and .attr if .prop doesn't exist.
+				// this is for backwards compatibility with older versions of jquery.
+				if($cloneMe.hasClass(prefixTheClassName("columnbreak"))){
+					//
+					// ok, we have a columnbreak, so add it into
+					// the column and exit
+					appendSafe($putInHere, $clone);
+					$cloneMe.remove();
+				}else if (manualBreaks){
+					// keep adding until we hit a manual break
+					appendSafe($putInHere, $clone);
+					$cloneMe.remove();
+				}else if($clone.get(0).nodeType == 1 && !$clone.hasClass(prefixTheClassName("dontend"))){
+					appendSafe($putInHere, $clone);
+					if($clone.is("img") && $parentColumn.height() < targetHeight + 20){
+						//
+						// we can't split an img in half, so just add it
+						// to the column and remove it from the pullOutHere section
+						$cloneMe.remove();
+					}else if($cloneMe.hasClass(prefixTheClassName("dontsplit")) && $parentColumn.height() < targetHeight + 20){
+						//
+						// pretty close fit, and we're not allowed to split it, so just
+						// add it to the column, remove from pullOutHere, and be done
+						$cloneMe.remove();
+					}else if($clone.is("img") || $cloneMe.hasClass(prefixTheClassName("dontsplit"))){
+						//
+						// it's either an image that's too tall, or an unsplittable node
+						// that's too tall. leave it in the pullOutHere and we'll add it to the 
+						// next column
+						$clone.remove();
+					}else{
+						//
+						// ok, we're allowed to split the node in half, so empty out
+						// the node in the column we're building, and start splitting
+						// it in half, leaving some of it in pullOutHere
+						$clone.empty();
+						if(!columnize($clone, $cloneMe, $parentColumn, targetHeight)){
+							// this node may still have non-text nodes to split
+							// add the split class and then recur
+							$cloneMe.addClass(prefixTheClassName("split"));
+							
+							//if this node was ol element, the child should continue the number ordering
+							if($cloneMe.get(0).tagName == 'OL'){
+								var startWith = $clone.get(0).childElementCount + $clone.get(0).start;
+								$cloneMe.attr('start',startWith+1);
+							}
+							
+							if($cloneMe.children().length){
+								split($clone, $cloneMe, $parentColumn, targetHeight);
+							}
+						}else{
+							// this node only has text node children left, add the
+							// split class and move on.
+							$cloneMe.addClass(prefixTheClassName("split"));
+						}
+						if($clone.get(0).childNodes.length === 0){
+							// it was split, but nothing is in it :(
+							$clone.remove();
+							$cloneMe.removeClass(prefixTheClassName("split"));
+						}
+					}
+				}
+			}
+		}
+
+
+		function singleColumnizeIt() {
+			if ($inBox.data("columnized") && $inBox.children().length == 1) {
+				return;
+			}
+			$inBox.data("columnized", true);
+			$inBox.data("columnizing", true);
+
+			$inBox.empty();
+			$inBox.append($("<div class='"
+				+ prefixTheClassName("first") + " "
+				+ prefixTheClassName("last") + " "
+				+ prefixTheClassName("column") + " "
+				+ "' style='width:100%; float: " + options.columnFloat + ";'></div>")); //"
+			$col = $inBox.children().eq($inBox.children().length-1);
+			$destroyable = $cache.clone(true);
+			if(options.overflow){
+				targetHeight = options.overflow.height;
+				columnize($col, $destroyable, $col, targetHeight);
+				// make sure that the last item in the column isn't a "dontend"
+				if(!$destroyable.contents().find(":first-child").hasClass(prefixTheClassName("dontend"))){
+					split($col, $destroyable, $col, targetHeight);
+				}
+
+				while($col.contents(":last").length && checkDontEndColumn($col.contents(":last").get(0))){
+					var $lastKid = $col.contents(":last");
+					$lastKid.remove();
+					$destroyable.prepend($lastKid);
+				}
+
+				var html = "";
+				var div = document.createElement('DIV');
+				while($destroyable[0].childNodes.length > 0){
+					var kid = $destroyable[0].childNodes[0];
+					if(kid.attributes){
+						for(var i=0;i<kid.attributes.length;i++){
+							if(kid.attributes[i].nodeName.indexOf("jQuery") === 0){
+								kid.removeAttribute(kid.attributes[i].nodeName);
+							}
+						}
+					}
+					div.innerHTML = "";
+					div.appendChild($destroyable[0].childNodes[0]);
+					html += div.innerHTML;
+				}
+				var overflow = $(options.overflow.id)[0];
+				overflow.innerHTML = html;
+
+			}else{
+				appendSafe($col, $destroyable.contents());
+			}
+			$inBox.data("columnizing", false);
+
+			if(options.overflow && options.overflow.doneFunc){
+				options.overflow.doneFunc();
+			}
+
+		}
+
+		/**
+		 * returns true if the input dom node
+		 * should not end a column.
+		 * returns false otherwise
+		 */
+		function checkDontEndColumn(dom){
+			if(dom.nodeType == 3){
+				// text node. ensure that the text
+				// is not 100% whitespace
+				if(/^\s+$/.test(dom.nodeValue)){
+						//
+						// ok, it's 100% whitespace,
+						// so we should return checkDontEndColumn
+						// of the inputs previousSibling
+						if(!dom.previousSibling) return false;
+					return checkDontEndColumn(dom.previousSibling);
+				}
+				return false;
+			}
+			if(dom.nodeType != 1) return false;
+			if($(dom).hasClass(prefixTheClassName("dontend"))) return true;
+			if(dom.childNodes.length === 0) return false;
+			return checkDontEndColumn(dom.childNodes[dom.childNodes.length-1]);
+		}
+
+		function columnizeIt() {
+			//reset adjustment var
+			adjustment = 0;
+			if(lastWidth == $inBox.width()) return;
+			lastWidth = $inBox.width();
+
+			var numCols = Math.round($inBox.width() / options.width);
+			var optionWidth = options.width;
+			var optionHeight = options.height;
+			if(options.columns) numCols = options.columns;
+			if(manualBreaks){
+				numCols = $cache.find(prefixTheClassName("columnbreak", true)).length + 1;
+				optionWidth = false;
+			}
+
+//			if ($inBox.data("columnized") && numCols == $inBox.children().length) {
+//				return;
+//			}
+			if(numCols <= 1){
+				return singleColumnizeIt();
+			}
+			if($inBox.data("columnizing")) return;
+			$inBox.data("columnized", true);
+			$inBox.data("columnizing", true);
+
+			$inBox.empty();
+			$inBox.append($("<div style='width:" + (Math.floor(100 / numCols))+ "%; float: " + options.columnFloat + ";'></div>")); //"
+			$col = $inBox.children(":last");
+			appendSafe($col, $cache.clone());
+			maxHeight = $col.height();
+			$inBox.empty();
+
+			var targetHeight = maxHeight / numCols;
+			var firstTime = true;
+			var maxLoops = 3;
+			var scrollHorizontally = false;
+			if(options.overflow){
+				maxLoops = 1;
+				targetHeight = options.overflow.height;
+			}else if(optionHeight && optionWidth){
+				maxLoops = 1;
+				targetHeight = optionHeight;
+				scrollHorizontally = true;
+			}
+
+			//
+			// We loop as we try and workout a good height to use. We know it initially as an average 
+			// but if the last column is higher than the first ones (which can happen, depending on split
+			// points) we need to raise 'adjustment'. We try this over a few iterations until we're 'solid'.
+			//
+			// also, lets hard code the max loops to 20. that's /a lot/ of loops for columnizer,
+			// and should keep run aways in check. if somehow someone has content combined with
+			// options that would cause an infinite loop, then this'll definitely stop it.
+			for(var loopCount=0;loopCount<maxLoops && loopCount<20;loopCount++){
+				$inBox.empty();
+				var $destroyable, className, $col, $lastKid;
+				try{
+					$destroyable = $cache.clone(true);
+				}catch(e){
+					// jquery in ie6 can't clone with true
+					$destroyable = $cache.clone();
+				}
+				$destroyable.css("visibility", "hidden");
+				// create the columns
+				for (var i = 0; i < numCols; i++) {
+					/* create column */
+					className = (i === 0) ? prefixTheClassName("first") : "";
+					className += " " + prefixTheClassName("column");
+					className = (i == numCols - 1) ? (prefixTheClassName("last") + " " + className) : className;
+					$inBox.append($("<div class='" + className + "' style='width:" + (Math.floor(100 / numCols))+ "%; float: " + options.columnFloat + ";'></div>")); //"
+				}
+
+				// fill all but the last column (unless overflowing)
+				i = 0;
+				while(i < numCols - (options.overflow ? 0 : 1) || scrollHorizontally && $destroyable.contents().length){
+					if($inBox.children().length <= i){
+						// we ran out of columns, make another
+						$inBox.append($("<div class='" + className + "' style='width:" + (Math.floor(100 / numCols))+ "%; float: " + options.columnFloat + ";'></div>")); //"
+					}
+					$col = $inBox.children().eq(i);
+					if(scrollHorizontally){
+						$col.width(optionWidth + "px");
+					}
+					columnize($col, $destroyable, $col, targetHeight);
+					// make sure that the last item in the column isn't a "dontend"
+					split($col, $destroyable, $col, targetHeight);
+
+					while($col.contents(":last").length && checkDontEndColumn($col.contents(":last").get(0))){
+						$lastKid = $col.contents(":last");
+						$lastKid.remove();
+						$destroyable.prepend($lastKid);
+					}
+					i++;
+
+					//
+					// https://github.com/adamwulf/Columnizer-jQuery-Plugin/issues/47
+					//
+					// check for infinite loop.
+					//
+					// this could happen when a dontsplit or dontend item is taller than the column
+					// we're trying to build, and its never actually added to a column.
+					//
+					// this results in empty columns being added with the dontsplit item
+					// perpetually waiting to get put into a column. lets force the issue here
+					if($col.contents().length === 0 && $destroyable.contents().length){
+						//
+						// ok, we're building zero content columns. this'll happen forever
+						// since nothing can ever get taken out of destroyable.
+						//
+						// to fix, lets put 1 item from destroyable into the empty column
+						// before we iterate
+						$col.append($destroyable.contents(":first"));
+					}else if(i == numCols - (options.overflow ? 0 : 1) && !options.overflow){
+						//
+						// ok, we're about to exit the while loop because we're done with all
+						// columns except the last column.
+						//
+						// if $destroyable still has columnbreak nodes in it, then we need to keep
+						// looping and creating more columns.
+						if($destroyable.find(prefixTheClassName("columnbreak", true)).length){
+							numCols ++;
+						}
+					}
+				}
+				if(options.overflow && !scrollHorizontally){
+					var IE6 = false /*@cc_on || @_jscript_version < 5.7 @*/;
+					var IE7 = (document.all) && (navigator.appVersion.indexOf("MSIE 7.") != -1);
+					if(IE6 || IE7){
+						var html = "";
+						var div = document.createElement('DIV');
+						while($destroyable[0].childNodes.length > 0){
+							var kid = $destroyable[0].childNodes[0];
+							for(i=0;i<kid.attributes.length;i++){
+								if(kid.attributes[i].nodeName.indexOf("jQuery") === 0){
+									kid.removeAttribute(kid.attributes[i].nodeName);
+								}
+							}
+							div.innerHTML = "";
+							div.appendChild($destroyable[0].childNodes[0]);
+							html += div.innerHTML;
+						}
+						var overflow = $(options.overflow.id)[0];
+						overflow.innerHTML = html;
+					}else{
+						$(options.overflow.id).empty().append($destroyable.contents().clone(true));
+					}
+				}else if(!scrollHorizontally){
+					// the last column in the series
+					$col = $inBox.children().eq($inBox.children().length-1);
+					$destroyable.contents().each( function() {
+						$col.append( $(this) );
+					});
+					var afterH = $col.height();
+					var diff = afterH - targetHeight;
+					var totalH = 0;
+					var min = 10000000;
+					var max = 0;
+					var lastIsMax = false;
+					var numberOfColumnsThatDontEndInAColumnBreak = 0;
+					$inBox.children().each(function($inBox){ return function($item){
+						var $col = $inBox.children().eq($item);
+						var endsInBreak = $col.children(":last").find(prefixTheClassName("columnbreak", true)).length;
+						if(!endsInBreak){
+							var h = $col.height();
+							lastIsMax = false;
+							totalH += h;
+							if(h > max) {
+								max = h;
+								lastIsMax = true;
+							}
+							if(h < min) min = h;
+							numberOfColumnsThatDontEndInAColumnBreak++;
+						}
+					};
+				}($inBox));
+
+					var avgH = totalH / numberOfColumnsThatDontEndInAColumnBreak;
+					if(totalH === 0){
+						//
+						// all columns end in a column break,
+						// so we're done here
+						loopCount = maxLoops;
+					}else if(options.lastNeverTallest && lastIsMax){
+						// the last column is the tallest
+						// so allow columns to be taller
+						// and retry
+						//
+						// hopefully this'll mean more content fits into
+						// earlier columns, so that the last column
+						// can be shorter than the rest
+						adjustment += 5;
+
+						targetHeight = targetHeight + 30;
+						if(loopCount == maxLoops-1) maxLoops++;
+					}else if(max - min > 30){
+						// too much variation, try again
+						targetHeight = avgH + 30;
+					}else if(Math.abs(avgH-targetHeight) > 20){
+						// too much variation, try again
+						targetHeight = avgH;
+					}else {
+						// solid, we're done
+						loopCount = maxLoops;
+					}
+				}else{
+					// it's scrolling horizontally, fix the width/classes of the columns
+					$inBox.children().each(function(i){
+						$col = $inBox.children().eq(i);
+						$col.width(optionWidth + "px");
+						if(i === 0){
+							$col.addClass(prefixTheClassName("first"));
+						}else if(i==$inBox.children().length-1){
+							$col.addClass(prefixTheClassName("last"));
+						}else{
+							$col.removeClass(prefixTheClassName("first"));
+							$col.removeClass(prefixTheClassName("last"));
+						}
+					});
+					$inBox.width($inBox.children().length * optionWidth + "px");
+				}
+				$inBox.append($("<br style='clear:both;'>"));
+			}
+			$inBox.find(prefixTheClassName("column", true)).find(":first" + prefixTheClassName("removeiffirst", true)).remove();
+			$inBox.find(prefixTheClassName("column", true)).find(':last' + prefixTheClassName("removeiflast", true)).remove();
+			$inBox.find(prefixTheClassName("split", true)).find(":first" + prefixTheClassName("removeiffirst", true)).remove();
+			$inBox.find(prefixTheClassName("split", true)).find(':last' + prefixTheClassName("removeiflast", true)).remove();
+			$inBox.data("columnizing", false);
+
+			if(options.overflow){
+				options.overflow.doneFunc();
+			}
+			options.doneFunc();
+		}
+    });
+ };
+})(jQuery);
Index: /extensions/Full_Background/js/jquery.flip.min.js
===================================================================
--- /extensions/Full_Background/js/jquery.flip.min.js	(revision 25999)
+++ /extensions/Full_Background/js/jquery.flip.min.js	(revision 25999)
@@ -0,0 +1,1 @@
+eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(5($){5 L(a){a.3x.1F[a.3r]=3o(a.3n,10)+a.3l}6 j=5(a){3k({3i:"1E.1d.3d 3c 3b",38:a})};6 k=5(){7(/*@2S!@*/19&&(2Q 2N.1w.1F.2K==="2F"))};6 l={2C:[0,4,4],2B:[1u,4,4],2y:[1s,1s,2v],2u:[0,0,0],2t:[0,0,4],2s:[1q,1p,1p],2o:[0,4,4],2n:[0,0,B],2m:[0,B,B],2l:[1b,1b,1b],2j:[0,1c,0],2i:[2h,2g,1o],2e:[B,0,B],2d:[2c,1o,2b],2a:[4,1n,0],27:[24,21,20],1Z:[B,0,0],1Y:[1R,1P,1O],1N:[3s,0,Y],2f:[4,0,4],1Q:[4,2z,0],2E:[0,t,0],22:[26,0,28],29:[1u,1z,1n],2p:[2r,2w,1z],2x:[1h,4,4],2A:[1i,2G,1i],2L:[Y,Y,Y],2M:[4,2O,2W],33:[4,4,1h],34:[0,4,0],35:[4,0,4],36:[t,0,0],39:[0,0,t],3e:[t,t,0],3j:[4,1q,0],3m:[4,W,3t],1H:[t,0,t],1I:[t,0,t],1J:[4,0,0],1K:[W,W,W],1L:[4,4,4],1M:[4,4,0],9:[4,4,4]};6 m=5(a){U(a&&a.1j("#")==-1&&a.1j("(")==-1){7"1S("+l[a].1T()+")"}1U{7 a}};$.1V($.1W.1X,{w:L,x:L,u:L,v:L});$.1k.23=5(){7 V.1l(5(){6 a=$(V);a.1d(a.F(\'1m\'))})};$.1k.1d=5(i){7 V.1l(5(){6 c=$(V),3,$8,C,11,1f,1e=k();U(c.F(\'S\')){7 19}6 e={R:(5(a){2k(a){X"T":7"Z";X"Z":7"T";X"15":7"14";X"14":7"15";2q:7"Z"}})(i.R),y:m(i.A)||"#H",A:m(i.y)||c.z("12-A"),1r:c.N(),D:i.D||1t,Q:i.Q||5(){},K:i.K||5(){},P:i.P||5(){}};c.F(\'1m\',e).F(\'S\',1).F(\'2D\',e);3={s:c.s(),p:c.p(),y:m(i.y)||c.z("12-A"),1v:c.z("2H-2I")||"2J",R:i.R||"T",E:m(i.A)||"#H",D:i.D||1t,o:c.1x().o,n:c.1x().n,1y:i.1r||2P,9:"9",18:i.18||19,Q:i.Q||5(){},K:i.K||5(){},P:i.P||5(){}};1e&&(3.9="#2R");$8=c.z("16","2T").8(2U).F(\'S\',1).2V("1w").N("").z({16:"1g",2X:"2Y",n:3.n,o:3.o,2Z:0,30:31,"-32-1A-1B":"G G G #1C","-37-1A-1B":"G G G #1C"});6 f=5(){7{1D:3.9,1v:0,3a:0,w:0,u:0,v:0,x:0,M:3.9,O:3.9,I:3.9,J:3.9,12:"3f",3g:\'3h\',p:0,s:0}};6 g=5(){6 a=(3.p/1c)*25;6 b=f();b.s=3.s;7{"q":b,"1a":{w:0,u:a,v:a,x:0,M:\'#H\',O:\'#H\',o:(3.o+(3.p/2)),n:(3.n-a)},"r":{x:0,w:0,u:0,v:0,M:3.9,O:3.9,o:3.o,n:3.n}}};6 h=5(){6 a=(3.p/1c)*25;6 b=f();b.p=3.p;7{"q":b,"1a":{w:a,u:0,v:0,x:a,I:\'#H\',J:\'#H\',o:3.o-a,n:3.n+(3.s/2)},"r":{w:0,u:0,v:0,x:0,I:3.9,J:3.9,o:3.o,n:3.n}}};11={"T":5(){6 d=g();d.q.w=3.p;d.q.M=3.y;d.r.x=3.p;d.r.O=3.E;7 d},"Z":5(){6 d=g();d.q.x=3.p;d.q.O=3.y;d.r.w=3.p;d.r.M=3.E;7 d},"15":5(){6 d=h();d.q.u=3.s;d.q.I=3.y;d.r.v=3.s;d.r.J=3.E;7 d},"14":5(){6 d=h();d.q.v=3.s;d.q.J=3.y;d.r.u=3.s;d.r.I=3.E;7 d}};C=11[3.R]();1e&&(C.q.3p="3q(A="+3.9+")");1f=5(){6 a=3.1y;7 a&&a.1E?a.N():a};$8.17(5(){3.Q($8,c);$8.N(\'\').z(C.q);$8.13()});$8.1G(C.1a,3.D);$8.17(5(){3.P($8,c);$8.13()});$8.1G(C.r,3.D);$8.17(5(){U(!3.18){c.z({1D:3.E})}c.z({16:"1g"});6 a=1f();U(a){c.N(a)}$8.3u();3.K($8,c);c.3v(\'S\');$8.13()})})}})(3w);',62,220,'|||flipObj|255|function|var|return|clone|transparent||||||||||||||left|top|height|start|second|width|128|borderLeftWidth|borderRightWidth|borderTopWidth|borderBottomWidth|bgColor|css|color|139|dirOption|speed|toColor|data|0px|999|borderLeftColor|borderRightColor|onEnd|int_prop|borderTopColor|html|borderBottomColor|onAnimation|onBefore|direction|flipLock|tb|if|this|192|case|211|bt||dirOptions|background|dequeue|rl|lr|visibility|queue|dontChangeColor|false|first|169|100|flip|ie6|newContent|visible|224|144|indexOf|fn|each|flipRevertedSettings|140|107|42|165|content|245|500|240|fontSize|body|offset|target|230|box|shadow|000|backgroundColor|jquery|style|animate|purple|violet|red|silver|white|yellow|darkviolet|122|150|gold|233|rgb|toString|else|extend|fx|step|darksalmon|darkred|204|50|indigo|revertFlip|153||75|darkorchid|130|khaki|darkorange|47|85|darkolivegreen|darkmagenta|fuchsia|183|189|darkkhaki|darkgreen|switch|darkgrey|darkcyan|darkblue|cyan|lightblue|default|173|brown|blue|black|220|216|lightcyan|beige|215|lightgreen|azure|aqua|flipSettings|green|undefined|238|font|size|12px|maxHeight|lightgrey|lightpink|document|182|null|typeof|123456|cc_on|hidden|true|appendTo|193|position|absolute|margin|zIndex|9999|webkit|lightyellow|lime|magenta|maroon|moz|message|navy|lineHeight|error|plugin|js|olive|none|borderStyle|solid|name|orange|throw|unit|pink|now|parseInt|filter|chroma|prop|148|203|remove|removeData|jQuery|elem'.split('|'),0,{}))
Index: /extensions/Full_Background/js/jquery.hoverIntent.min.js
===================================================================
--- /extensions/Full_Background/js/jquery.hoverIntent.min.js	(revision 25999)
+++ /extensions/Full_Background/js/jquery.hoverIntent.min.js	(revision 25999)
@@ -0,0 +1,9 @@
+/**
+* hoverIntent r5 // 2007.03.27 // jQuery 1.1.2+
+* <http://cherne.net/brian/resources/jquery.hoverIntent.html>
+* 
+* @param  f  onMouseOver function || An object with configuration options
+* @param  g  onMouseOut function  || Nothing (use configuration options object)
+* @author    Brian Cherne <brian@cherne.net>
+*/
+(function($){$.fn.hoverIntent=function(f,g){var cfg={sensitivity:7,interval:100,timeout:0};cfg=$.extend(cfg,g?{over:f,out:g}:f);var cX,cY,pX,pY;var track=function(ev){cX=ev.pageX;cY=ev.pageY;};var compare=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);if((Math.abs(pX-cX)+Math.abs(pY-cY))<cfg.sensitivity){$(ob).unbind("mousemove",track);ob.hoverIntent_s=1;return cfg.over.apply(ob,[ev]);}else{pX=cX;pY=cY;ob.hoverIntent_t=setTimeout(function(){compare(ev,ob);},cfg.interval);}};var delay=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);ob.hoverIntent_s=0;return cfg.out.apply(ob,[ev]);};var handleHover=function(e){var p=(e.type=="mouseover"?e.fromElement:e.toElement)||e.relatedTarget;while(p&&p!=this){try{p=p.parentNode;}catch(e){p=this;}}if(p==this){return false;}var ev=jQuery.extend({},e);var ob=this;if(ob.hoverIntent_t){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);}if(e.type=="mouseover"){pX=ev.pageX;pY=ev.pageY;$(ob).bind("mousemove",track);if(ob.hoverIntent_s!=1){ob.hoverIntent_t=setTimeout(function(){compare(ev,ob);},cfg.interval);}}else{$(ob).unbind("mousemove",track);if(ob.hoverIntent_s==1){ob.hoverIntent_t=setTimeout(function(){delay(ev,ob);},cfg.timeout);}}};return this.mouseover(handleHover).mouseout(handleHover);};})(jQuery);
Index: /extensions/Full_Background/js/jquery.mousewheel.min.js
===================================================================
--- /extensions/Full_Background/js/jquery.mousewheel.min.js	(revision 25999)
+++ /extensions/Full_Background/js/jquery.mousewheel.min.js	(revision 25999)
@@ -0,0 +1,12 @@
+/*! Copyright (c) 2011 Brandon Aaron (http://brandonaaron.net)
+ * Licensed under the MIT License (LICENSE.txt).
+ *
+ * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
+ * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
+ * Thanks to: Seamus Leahy for adding deltaX and deltaY
+ *
+ * Version: 3.0.6
+ * 
+ * Requires: 1.2.2+
+ */
+(function(a){function d(b){var c=b||window.event,d=[].slice.call(arguments,1),e=0,f=!0,g=0,h=0;return b=a.event.fix(c),b.type="mousewheel",c.wheelDelta&&(e=c.wheelDelta/120),c.detail&&(e=-c.detail/3),h=e,c.axis!==undefined&&c.axis===c.HORIZONTAL_AXIS&&(h=0,g=-1*e),c.wheelDeltaY!==undefined&&(h=c.wheelDeltaY/120),c.wheelDeltaX!==undefined&&(g=-1*c.wheelDeltaX/120),d.unshift(b,e,g,h),(a.event.dispatch||a.event.handle).apply(this,d)}var b=["DOMMouseScroll","mousewheel"];if(a.event.fixHooks)for(var c=b.length;c;)a.event.fixHooks[b[--c]]=a.event.mouseHooks;a.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var a=b.length;a;)this.addEventListener(b[--a],d,!1);else this.onmousewheel=d},teardown:function(){if(this.removeEventListener)for(var a=b.length;a;)this.removeEventListener(b[--a],d,!1);else this.onmousewheel=null}},a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})})(jQuery)
Index: /extensions/Full_Background/js/menu.js
===================================================================
--- /extensions/Full_Background/js/menu.js	(revision 25998)
+++ /extensions/Full_Background/js/menu.js	(revision 25999)
@@ -1,107 +1,71 @@
-/*
- * jQuery Mega Drop Down Menu script by Soh Tanaka
- * http://www.sohtanaka.com/web-design/mega-drop-downs-w-css-jquery/
- * 
- */
 $(document).ready(function(){
+	$('.mcol').columnize({ columns: 4});
+	$.each($('.mcol li'), function() {
+		var $li = $(this),
+			$test=$li.find('a');
+		if($test.length == 0){
+			$li.remove()
+		}
+	})
+	
+	$('li.liSub:last-child dt').addClass('dd_wrapper');
+	$('li.liSub:last-child dd').addClass('sub');
+	$('ul#topnav li .sub').hide();
 
-	$("#page_content #nav_wrapper").css("display", "none");
+	function megaHoverOver(){
+		$(this).find('.sub').stop().slideDown(200);
+	};
+	
+	function megaHoverOut(){
+	 $(this).find('.sub').stop().slideUp(200);
+	};
 
-	$("li.liSub:last-child dt").addClass('dd_wrapper');
-	$("li.liSub:last-child dd").addClass('sub');
+	var $configSub 	= {
+						over	: megaHoverOver,   
+						out		: megaHoverOut 	   
+						};
+
+	$('ul#topnav li').hoverIntent($configSub);
+	$('ul#topnav .sub ul li:last-child a').css('border', 'none');
+
+	
+	$('.cl_wrapper').hover(function(){
+		if($(this).next('div').is(':hidden')){
+			$(this).addClass('activate').next('div').slideDown(200).attr(':visible');
+		}
+	});
+		
+	$('.cl_wrapper').click(function(){
+		if($(this).next('div').is(':visible')){
+			$(this).next('div').slideUp(200, function(){
+				$(this).hide()
+			});
+			$(this).removeClass('activate').next('div').attr(':hidden'); 
+		}
+	});
+	
+	$('.cc_wrapper').click(function(){
+		if($(this).next('div').is(':visible')){
+			$(this).removeClass('activate').next('div').slideUp(200, function(){
+				$(this).hide().attr(':hidden');
+			});
+		} else {
+			$(this).next('div').slideDown(200).attr(':visible');
+		}
+	});
+
+	$('.close').click(function(){
+		$(this).parent().slideUp(200, function(){
+				$(this).hide().attr(':hidden')
+			}).prev().removeClass('activate');
+	});
+		
+});
+	
 
 
 
-	function megaHoverOver(){
-		$(this).find(".sub").stop().fadeTo('slow', 1).show();
-			
-	}
-	
-	function megaHoverOut(){
-	 $(this).find(".sub").stop().fadeTo('slow', 0, function() {
-		  $(this).hide();
-	  });
-	}
 
 
-	var configSub = {
-		 sensitivity: 2,		// number = sensitivity threshold (must be 1 or higher)    
-		 interval: 0, 			// number = milliseconds for onMouseOver polling interval    
-		 over: megaHoverOver,   // function = onMouseOver callback (REQUIRED)    
-		 timeout: 0, 			// number = milliseconds delay before onMouseOut    
-		 out: megaHoverOut 		// function = onMouseOut callback (REQUIRED)    
-	};
-
-	$("ul#topnav li .sub").css({'opacity':'0'});
-	$("ul#topnav li").hoverIntent(configSub);
-	
-	
-	// Delete the border for the last li of the submenu
-	$("ul#topnav .sub ul li:last-child a").css("border", "none");
-
-	/*other menubar script*/
-	//open form login menu		
-	
-
-	
-	$(".cl_wrapper").next("div").hide();
-
-	
-	$(".cl_wrapper").hover(function(){
-	
-		if($(this).next("div").is(":hidden")){
-			$(this).next("div").fadeTo('fast', 1);
-			$(this).addClass('activate');
-			$(this).next("div").attr(":visible")
-		}
-	});
-		
-	
-	$(".cl_wrapper").click(function(){
-		if($(this).next("div").is(":visible")){
-		$(this).next("div").fadeTo('slow', 0, function(){$(this).hide()});
-		$(this).removeClass('activate'); 
-		$(this).next("div").attr(":hidden")
-		}
-	});
-
-	$(".close").click(function(){
-		if($("#loger").is(":visible")){
-			$("#loger").fadeTo('fast', 0, function(){$(this).hide()});
-			$(".cl_wrapper").removeClass('activate');
-			$("#loger").attr(":hidden");
-		}
-	});
-	
-	$(".cc_wrapper").click(function(){
-		if($(this).next("div").is(":visible")){
-			$(this).next("div").fadeTo('slow', 0, function(){$(this).hide()});
-			$(this).removeClass('activate'); 
-			$(this).next("div").attr(":hidden")
-		}
-	});
-	
-	$(".cc_wrapper").click(function(){
-		if($(this).next("div").is(":hidden")){
-			$(this).next("div").fadeTo('fast', 1);
-			$(this).addClass('activate');
-			$(this).next("div").attr(":visible")
-		}
-	});
-	
-		$(".close").click(function(){
-		if($("#loger").is(":visible")){
-			$("#loger").fadeTo('fast', 0, function(){$(this).hide()});
-			$(".cc_wrapper").removeClass('activate');
-			$("#loger").attr(":hidden");
-		}
-		
-	});
-	
-	
-	
 
 
-	// make column menubar_categorie
-	$('.mcol').makeacolumnlists({cols:4, colWidth:155, equalHeight: true, startN: 1});
-});
Index: /extensions/Full_Background/local_head.tpl
===================================================================
--- /extensions/Full_Background/local_head.tpl	(revision 25998)
+++ /extensions/Full_Background/local_head.tpl	(revision 25999)
@@ -1,11 +1,11 @@
 {combine_script id='mousewheel' load='footer' require='jquery' path='themes/Full_Background/js/minified/jquery.mousewheel.min.js'}
-{combine_script id='flip' load='footer' require='jquery' path='themes/Full_Background/js/minified/jquery.flip.min.js'}
-{combine_script id='fullbg' load='footer' require='jquery' path='themes/Full_Background/js/minified/full_BG.min.js'}
+{combine_script id='flip' load='footer' require='jquery' path='themes/Full_Background/js/jquery.flip.min.js'}
+{combine_script id='fullbg' load='footer' require='jquery' path='themes/Full_Background/js/full_BG.js'}
 
-{combine_script id='lytebox' load='header' require='jquery' path='themes/Full_Background/js/minified/lytebox.min.js'}
-{combine_script id='menu' load='header'  path='themes/Full_Background/js/minified/menu.min.js'}
-{combine_script id='hoverIntent' load='header' require='jquery' path='themes/Full_Background/js/minified/jquery.hoverIntent.min.js'}
-{combine_script id='columnizer' load='header' require='jquery' path='themes/Full_Background/js/minified/columnizer.min.js'}
-{combine_script id='fullscreen' load='header' require='jquery' path='themes/Full_Background/js/minified/jquery.fullscreen.min.js'}
+{combine_script id='lytebox' load='header' require='jquery' path='themes/Full_Background/js/lytebox.js'}
+{combine_script id='menu' load='header'  path='themes/Full_Background/js/menu.js'}
+{combine_script id='hoverIntent' load='header' require='jquery' path='themes/Full_Background/js/jquery.hoverIntent.min.js'}
+{combine_script id='columnizer' load='header' require='jquery' path='themes/Full_Background/js/jquery.columnizer.js'}
+{combine_script id='fullscreen' load='header' require='jquery' path='themes/Full_Background/js/jquery.fullscreen.js'}
 
 <link href="{$ROOT_URL}themes/Full_Background/theme_max-width1280.css" type="text/css" rel="stylesheet" media="screen and (max-width:1280px)">
Index: /extensions/Full_Background/template/menubar_categories.tpl
===================================================================
--- /extensions/Full_Background/template/menubar_categories.tpl	(revision 25998)
+++ /extensions/Full_Background/template/menubar_categories.tpl	(revision 25999)
@@ -1,51 +1,44 @@
-	<span class="dd_wrapper">{'Albums'|@translate}</span>
+<span class="dd_wrapper">{'Albums'|@translate}</span>
 	
-		<div class="sub" style="width:700px">
-		{assign var='ref_level' value=0}
-			<div id="menu_cat_act">
-				<div id="nbImg">
-			<p class="totalImages">{$pwg->l10n_dec('%d image', '%d images', $block->data.NB_PICTURE)}</p>
-				</div>
-				<div id="filter">
-					{if isset($U_START_FILTER)}
-						<a href="{$U_START_FILTER}" class="pwg-state-default pwg-button menubarFilter" title="{'display only recently posted photos'|@translate}" rel="nofollow">
-						<span class="pwg-icon pwg-icon-filter"> </span>
-						</a>
-					{/if}
-					{if isset($U_STOP_FILTER)}
-					<a href="{$U_STOP_FILTER}" class="pwg-state-default pwg-button menubarFilter" title="{'return to the display of all photos'|@translate}"><span
-					class="pwg-icon pwg-icon-filter-del"> </span></a>
-					{/if}
-				</div>
-
-			</div>
+<div class="sub" style="width:700px">
+	<div id="menu_cat_act">
+		<div id="nbImg">
+			<p class="totalImages">{$block->data.NB_PICTURE|@translate_dec:'%d photo':'%d photos'}</p>
+		</div>
+		<div id="filter">
+			{if isset($U_START_FILTER)}
+			<a href="{$U_START_FILTER}" class="pwg-state-default pwg-button menubarFilter" title="{'display only recently posted photos'|@translate}" rel="nofollow">
+				<span class="pwg-icon pwg-icon-filter"> </span>
+			</a>
+			{/if}
+			
+			{if isset($U_STOP_FILTER)}
+				<a href="{$U_STOP_FILTER}" class="pwg-state-default pwg-button menubarFilter" title="{'return to the display of all photos'|@translate}">
+				<span class="pwg-icon pwg-icon-filter-del"> </span>
+				</a>
+			{/if}
+		</div>
+	</div>
+	<div class="mcol">
+	{assign var='ref_level' value=0}	
+	{foreach from=$block->data.MENU_CATEGORIES item=cat}
+		{if $cat.LEVEL > $ref_level}
+			<ul>
+		{else}
+			</li>
+			{'</ul></li>'|@str_repeat:($ref_level-$cat.LEVEL)}
+		{/if}
+			<li {if $cat.SELECTED}class="level{$cat.LEVEL} dontsplit selected"{/if}class="level{$cat.LEVEL} dontsplit">
+				<a href="{$cat.URL}" {if $cat.IS_UPPERCAT}rel="up"{/if} title="{$cat.TITLE}" >{$cat.NAME}</a>
+				{if $cat.count_images > 0}
+					<span class="{if $cat.nb_images > 0}menuInfoCat{else}menuInfoCatByChild{/if}" title="{$cat.TITLE}">[{$cat.count_images}]</span>
+				{/if}
 				
-				
-				{foreach from=$block->data.MENU_CATEGORIES item=cat}
-				{if $cat.LEVEL > $ref_level}
-				<ul class="mcol">
-				{else}
-
-						</li>
-							{'</ul></li>'|@str_repeat:$ref_level-$cat.LEVEL}
-						  {/if}
-						   <li {if $cat.SELECTED}class="selected"{/if}class="level{$cat.LEVEL}">
-						   <a href="{$cat.URL}" {if $cat.IS_UPPERCAT}rel="up"{/if} title="{$cat.TITLE}" >{$cat.NAME}   [{$cat.count_images}] </a>
-						  {assign var='ref_level' value=$cat.LEVEL}
-						{/foreach}
-					{'</li></ul>'|@str_repeat:$ref_level}	
-
-						{if isset($block->data.U_UPLOAD)}
-						
-					<ul>
-						
-							<li>
-								<a href="{$block->data.U_UPLOAD}">{'Upload a picture'|@translate}</a>
-							</li>
-
-					</ul>
-						
-					{/if}
-		
-
-		</div>
+				{if !empty($cat.icon_ts)}
+					<img title="{$cat.icon_ts.TITLE}" src="{$ROOT_URL}{$themeconf.icon_dir}/recent{if $cat.icon_ts.IS_CHILD_DATE}_by_child{/if}.png" class="icon" alt="(!)">
+				{/if}
+		{assign var='ref_level' value=$cat.LEVEL}
+	{/foreach}
+	{'</li></ul>'|@str_repeat:$ref_level}	
+	</div>
+</div>
Index: /extensions/Full_Background/template/picture.tpl
===================================================================
--- /extensions/Full_Background/template/picture.tpl	(revision 25998)
+++ /extensions/Full_Background/template/picture.tpl	(revision 25999)
@@ -281,8 +281,14 @@
 			<form method="post" action="{$comment_add.F_ACTION}" id="addComment">
 				{if $comment_add.SHOW_AUTHOR}
-					<p><label for="author">{'Author'|@translate} :</label></p>
+					<p><label for="author">{'Author'|@translate}{if $comment_add.AUTHOR_MANDATORY} ({'mandatory'|@translate}){/if} :</label></p>
 					<p><input type="text" name="author" id="author" value="{$comment_add.AUTHOR}"></p>
-					<p><label for="contentid">{'Comment'|@translate} :</label></p>
 				{/if}
+				{if $comment_add.SHOW_EMAIL}
+					<p><label for="email">{'Email'|@translate}{if $comment_add.EMAIL_MANDATORY} ({'mandatory'|@translate}){/if} :</label></p>
+					<p><input type="text" name="email" id="email" value="{$comment_add.EMAIL}"></p>
+				{/if}
+				<p><label for="website_url">{'Website'|@translate} :</label></p>
+				<p><input type="text" name="website_url" id="website_url" value="{$comment_add.WEBSITE_URL}"></p>
+				<p><label for="contentid">{'Comment'|@translate} ({'mandatory'|@translate}) :</label></p>
 				<p><textarea name="content" id="contentid" rows="5" cols="50">{$comment_add.CONTENT}</textarea></p>
 				<p><input type="hidden" name="key" value="{$comment_add.KEY}">
@@ -290,5 +296,5 @@
 			</form>
 		</div>
-		{/if}
+		{/if}	
 		{if isset($comments)}
 		<div id="pictureCommentList">
Index: /extensions/Full_Background/theme.css
===================================================================
--- /extensions/Full_Background/theme.css	(revision 25998)
+++ /extensions/Full_Background/theme.css	(revision 25999)
@@ -67,4 +67,5 @@
 #fullscreen{position:absolute;left:20px}
 #copyright{position:absolute;right:20px}
+
 /*======================================================Menu======================================================*/
 #nav_wrapper{width:100%;margin:auto;z-index:1000;left:0;background:0% 0% rgba(0, 0, 0, 0.8);height:40px;border-bottom:1px solid #3F3F3F;min-width:1000px;position:fixed}
@@ -98,11 +99,12 @@
 #nbImg{height:30px;float:right;line-height:10px}
 ul#topnav li .sub ul,ul#topnav #loger ul{list-style:none outside none;margin:0 5px 0 8px;padding:0}
-ul#topnav .sub ul li,ul#topnav #loger ul li,ul#topnav .sub #menuTagCloud div{width:95%;color:#757575;background:none repeat scroll 0 0 transparent;font-size:10px;margin-bottom:2px;border-radius:10px 10px 10px 10px}
+ul#topnav .sub ul li,ul#topnav #loger ul li,ul#topnav .sub #menuTagCloud div{width:95%;color:#757575;background:none repeat scroll 0 0 transparent;font-size:10px;margin-bottom:2px;border-radius:10px 10px 10px 10px;border:1px solid}
 ul#topnav li .sub, ul#topnav li #loger{border:1px solid #3f3f3f;border-radius:0;box-shadow:5px 5px 20px #000;background: none repeat scroll 0% 0% rgba(0, 0, 0, 0.8);margin-top:10px}
-ul#topnav .sub ul li.selected{text-decoration:none;border:none;border-radius:10px 10px 10px 10px}
+ul#topnav .sub ul li.selected{text-decoration:none;border:1px solid ;border-radius:10px 10px 10px 10px}
 ul#topnav .sub ul li.selected a,ul#topnav .sub ul li.selected a:hover{color:#FF8A00;text-decoration:none;border:none}
 ul#topnav .sub ul li.selected a{background:url(images/menu/navlist_arrow_select.png) no-repeat 0 5px}
 ul#topnav .sub ul .level1 li,ul#topnav .sub ul .level1 li .selected{border:medium none;background-image:none}
-ul#topnav .sub ul li a,ul#topnav #loger ul li a{border-radius:0;margin-top: 5px;color: #FFF;float:none;text-indent:0;height:auto;margin:0 8px;display:block;text-decoration:none;font-size:1.1em;text-shadow:none;text-transform:none;line-height:17px;padding:0 0 0 12px}
+ul#topnav .sub ul li a,ul#topnav #loger ul li a{border-radius:0;margin-top: 5px;color: #FFF;float:none;text-indent:0;height:auto;margin:0 8px;display:inline;text-decoration:none;font-size:1.1em;text-shadow:none;text-transform:none;line-height:17px;padding:0 0 0 8px;}
+#mbCategories IMG{margin-bottom:8px}
 ul#topnav #loger ul li a:hover{color:#ff8a00}
 ul#topnav .sub ul li a:hover,ul#topnav .sub #menuTagCloud div a:hover{color:#FF8A00;background:url(images/menu/navlist_arrow_hover.png) no-repeat 0 5px;text-decoration:none}
Index: /extensions/Full_Background/themeconf.inc.php
===================================================================
--- /extensions/Full_Background/themeconf.inc.php	(revision 25998)
+++ /extensions/Full_Background/themeconf.inc.php	(revision 25999)
@@ -2,5 +2,5 @@
 /*
 Theme Name: Full_Background
-Version: auto
+Version: 2.3
 Description: theme Full_Background pour Piwigo.
 Theme URI: http://piwigo.org/ext/extension_view.php?eid=649
@@ -26,4 +26,5 @@
 		$user['nb_image_page']=999;
 		$page['nb_image_page']=999;
+		$conf['nb_categories_page']=999;
 	}
 }
