You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by se...@apache.org on 2011/12/18 14:24:43 UTC

svn commit: r1220391 [3/4] - in /incubator/openmeetings/trunk/singlewebapp: docs/ docs/images/ docs/js/ docs/source/ docs/source/helpers/ xdocs/ xdocs/images/ xdocs/stylesheets/

Modified: incubator/openmeetings/trunk/singlewebapp/docs/license.html
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/docs/license.html?rev=1220391&r1=1220390&r2=1220391&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/docs/license.html (original)
+++ incubator/openmeetings/trunk/singlewebapp/docs/license.html Sun Dec 18 13:24:41 2011
@@ -40,6 +40,55 @@ limitations under the License.
             
             <title>Apache OpenMeetings - License</title>
             <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});		
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
         </head>
 
         <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  

Modified: incubator/openmeetings/trunk/singlewebapp/docs/mail-lists.html
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/docs/mail-lists.html?rev=1220391&r1=1220390&r2=1220391&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/docs/mail-lists.html (original)
+++ incubator/openmeetings/trunk/singlewebapp/docs/mail-lists.html Sun Dec 18 13:24:41 2011
@@ -40,6 +40,55 @@ limitations under the License.
             
             <title>Apache OpenMeetings - Mailing Lists</title>
             <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});		
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
         </head>
 
         <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  

Added: incubator/openmeetings/trunk/singlewebapp/docs/source/blank.gif
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/docs/source/blank.gif?rev=1220391&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/openmeetings/trunk/singlewebapp/docs/source/blank.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/openmeetings/trunk/singlewebapp/docs/source/fancybox_loading.gif
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/docs/source/fancybox_loading.gif?rev=1220391&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/openmeetings/trunk/singlewebapp/docs/source/fancybox_loading.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/openmeetings/trunk/singlewebapp/docs/source/fancybox_sprite.png
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/docs/source/fancybox_sprite.png?rev=1220391&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/openmeetings/trunk/singlewebapp/docs/source/fancybox_sprite.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/openmeetings/trunk/singlewebapp/docs/source/helpers/fancybox_buttons.png
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/docs/source/helpers/fancybox_buttons.png?rev=1220391&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/openmeetings/trunk/singlewebapp/docs/source/helpers/fancybox_buttons.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/openmeetings/trunk/singlewebapp/docs/source/helpers/jquery.fancybox-buttons.css
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/docs/source/helpers/jquery.fancybox-buttons.css?rev=1220391&view=auto
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/docs/source/helpers/jquery.fancybox-buttons.css (added)
+++ incubator/openmeetings/trunk/singlewebapp/docs/source/helpers/jquery.fancybox-buttons.css Sun Dec 18 13:24:41 2011
@@ -0,0 +1,85 @@
+#fancybox-buttons {
+	position: fixed;
+	left: 0;
+	width: 100%;
+	z-index: 1005;
+}
+
+#fancybox-buttons.top {
+	top: 10px;
+}
+
+#fancybox-buttons.bottom {
+	bottom: 10px;
+}
+
+#fancybox-buttons ul {
+	display: block;
+	width: 170px;
+	height: 30px;
+	margin: 0 auto;
+	padding: 0;
+	list-style: none;
+	background: #111;
+	-webkit-box-shadow: 0 1px 3px #000,0 0 0 1px rgba(0,0,0,.7),inset 0 0 0 1px rgba(255,255,255,.05);
+	-moz-box-shadow: 0 1px 3px #000,0 0 0 1px rgba(0,0,0,.7),inset 0 0 0 1px rgba(255,255,255,.05);
+	background: #111 -webkit-gradient(linear,0% 0%,0% 100%,from(rgba(255,255,255,.2)),color-stop(.5,rgba(255,255,255,.15)),color-stop(.5,rgba(255,255,255,.1)),to(rgba(255,255,255,.15)));
+	background: #111 -moz-linear-gradient(top,rgba(255,255,255,.2) 0%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.1) 50%,rgba(255,255,255,.15) 100%);
+	border-radius: 3px;
+}
+
+#fancybox-buttons ul li {
+	float: left;
+	margin: 0;
+	padding: 0;
+}
+
+#fancybox-buttons a {
+	display: block;
+	width: 30px;
+	height: 30px;
+	text-indent: -9999px;
+	background-image: url('fancybox_buttons.png');
+	background-repeat: no-repeat;
+	outline: none;
+}
+
+#fancybox-buttons a.btnPrev {
+	width: 32px;
+	background-position: 6px 0;
+}
+
+#fancybox-buttons a.btnNext {
+	background-position: -33px 0;
+	border-right: 1px solid #3e3e3e;
+}
+
+#fancybox-buttons a.btnPlay {
+	background-position: 0 -30px;
+}
+
+#fancybox-buttons a.btnPlayOn {
+	background-position: -30px -30px;
+}
+
+#fancybox-buttons a.btnToggle {
+	background-position: 3px -60px;
+	border-left: 1px solid #111;
+	border-right: 1px solid #3e3e3e;
+	width: 35px
+}
+
+#fancybox-buttons a.btnToggleOn {
+	background-position: -27px -60px;
+}
+
+#fancybox-buttons a.btnClose {
+	border-left: 1px solid #111;
+	width: 38px;
+	background-position: -57px 0px;
+}
+
+#fancybox-buttons a.btnDisabled {
+	opacity : 0.5;
+	cursor: default;
+}
\ No newline at end of file

Added: incubator/openmeetings/trunk/singlewebapp/docs/source/helpers/jquery.fancybox-buttons.js
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/docs/source/helpers/jquery.fancybox-buttons.js?rev=1220391&view=auto
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/docs/source/helpers/jquery.fancybox-buttons.js (added)
+++ incubator/openmeetings/trunk/singlewebapp/docs/source/helpers/jquery.fancybox-buttons.js Sun Dec 18 13:24:41 2011
@@ -0,0 +1,115 @@
+ /*!
+ * Buttons helper for fancyBox
+ * version: 1.0.2
+ * @requires fancyBox v2.0 or later
+ *
+ * Usage: 
+ *     $(".fancybox").fancybox({
+ *         buttons: {
+ *             position : 'top'
+ *         }
+ *     });
+ * 
+ * Options:
+ *     tpl - HTML template
+ *     position - 'top' or 'bottom'
+ * 
+ */
+(function ($) {
+	//Shortcut for fancyBox object
+	var F = $.fancybox;
+
+	//Add helper object
+	F.helpers.buttons = {
+		tpl: '<div id="fancybox-buttons"><ul><li><a class="btnPrev" title="Previous" href="javascript:;"></a></li><li><a class="btnPlay" title="Start slideshow" href="javascript:;"></a></li><li><a class="btnNext" title="Next" href="javascript:;"></a></li><li><a class="btnToggle" title="Toggle size" href="javascript:;"></a></li><li><a class="btnClose" title="Close" href="javascript:jQuery.fancybox.close();"></a></li></ul></div>',
+		list: null,
+		buttons: {},
+
+		update: function () {
+			var toggle = this.buttons.toggle.removeClass('btnDisabled btnToggleOn');
+
+			//Size toggle button
+			if (F.current.canShrink) {
+				toggle.addClass('btnToggleOn');
+
+			} else if (!F.current.canExpand) {
+				toggle.addClass('btnDisabled');
+			}
+		},
+
+		beforeLoad: function (opts) {
+			//Remove self if gallery do not have at least two items
+			if (F.group.length < 2) {
+				F.coming.helpers.buttons = false;
+				F.coming.closeBtn = true;
+
+				return;
+			}
+
+			//Increase top margin to give space for buttons
+			F.coming.margin[ opts.position === 'bottom' ? 2 : 0 ] += 30;
+		},
+
+		onPlayStart: function () {
+			if (this.list) {
+				this.buttons.play.attr('title', 'Pause slideshow').addClass('btnPlayOn');
+			}
+		},
+
+		onPlayEnd: function () {
+			if (this.list) {
+				this.buttons.play.attr('title', 'Start slideshow').removeClass('btnPlayOn');
+			}
+		},
+
+		afterShow: function (opts) {
+			var buttons;
+
+			if (!this.list) {
+				this.list = $(opts.tpl || this.tpl).addClass(opts.position || 'top').appendTo('body');
+
+				this.buttons = {
+					prev : this.list.find('.btnPrev').click( F.prev ),
+					next : this.list.find('.btnNext').click( F.next ),
+					play : this.list.find('.btnPlay').click( F.play ),
+					toggle : this.list.find('.btnToggle').click( F.toggle )
+				}
+			}
+
+			buttons = this.buttons;
+
+			//Prev
+			if (F.current.index > 0 || F.current.loop) {
+				buttons.prev.removeClass('btnDisabled');
+			} else {
+				buttons.prev.addClass('btnDisabled');
+			}
+
+			//Next / Play
+			if (F.current.loop || F.current.index < F.group.length - 1) {
+				buttons.next.removeClass('btnDisabled');
+				buttons.play.removeClass('btnDisabled');
+
+			} else {
+				buttons.next.addClass('btnDisabled');
+				buttons.play.addClass('btnDisabled');
+			}
+
+			this.update();
+		},
+
+		onUpdate: function () {
+			this.update();
+		},
+
+		beforeClose: function () {
+			if (this.list) {
+				this.list.remove();
+			}
+
+			this.list = null;
+			this.buttons = {};
+		}
+	};
+
+}(jQuery));
\ No newline at end of file

Added: incubator/openmeetings/trunk/singlewebapp/docs/source/helpers/jquery.fancybox-thumbs.css
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/docs/source/helpers/jquery.fancybox-thumbs.css?rev=1220391&view=auto
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/docs/source/helpers/jquery.fancybox-thumbs.css (added)
+++ incubator/openmeetings/trunk/singlewebapp/docs/source/helpers/jquery.fancybox-thumbs.css Sun Dec 18 13:24:41 2011
@@ -0,0 +1,54 @@
+#fancybox-thumbs {
+	position: fixed;
+	left: 0px;
+	width: 100%;
+	overflow: hidden;
+	z-index: 1005;
+}
+
+#fancybox-thumbs.bottom {
+	bottom: 2px;
+}
+
+#fancybox-thumbs.top {
+	top: 2px;
+}
+
+#fancybox-thumbs ul {
+	position: relative;
+	list-style: none;
+	margin: 0;
+	padding: 0;
+}
+
+#fancybox-thumbs ul li {
+	float: left;
+	padding: 1px;
+	opacity: 0.5;
+}
+
+#fancybox-thumbs ul li.active {
+	opacity: 0.75;
+	padding: 0;
+	border: 1px solid #fff;
+}
+
+#fancybox-thumbs ul li:hover {
+	opacity: 1;
+}
+
+#fancybox-thumbs ul li a {
+	display: block;
+	position: relative;
+	overflow: hidden;
+	border: 1px solid #222;
+	background: #111;
+	outline: none;
+}
+
+#fancybox-thumbs ul li img {
+	display: block;
+	position: relative;
+	border: 0;
+	padding: 0;
+}
\ No newline at end of file

Added: incubator/openmeetings/trunk/singlewebapp/docs/source/helpers/jquery.fancybox-thumbs.js
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/docs/source/helpers/jquery.fancybox-thumbs.js?rev=1220391&view=auto
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/docs/source/helpers/jquery.fancybox-thumbs.js (added)
+++ incubator/openmeetings/trunk/singlewebapp/docs/source/helpers/jquery.fancybox-thumbs.js Sun Dec 18 13:24:41 2011
@@ -0,0 +1,151 @@
+ /*!
+ * Thumbnail helper for fancyBox
+ * version: 1.0.2
+ * @requires fancyBox v2.0 or later
+ *
+ * Usage: 
+ *     $(".fancybox").fancybox({
+ *         thumbs: {
+ *             width	: 50,
+ *             height	: 50
+ *         }
+ *     });
+ * 
+ * Options:
+ *     width - thumbnail width
+ *     height - thumbnail height
+ *     source - function to obtain the URL of the thumbnail image
+ *     position - 'top' or 'bottom'
+ * 
+ */
+(function ($) {
+	//Shortcut for fancyBox object
+	var F = $.fancybox;
+
+	//Add helper object
+	F.helpers.thumbs = {
+		wrap: null,
+		list: null,
+		width: 0,
+
+		//Default function to obtain the URL of the thumbnail image
+		source: function (el) {
+			var img = $(el).find('img');
+
+			return img.length ? img.attr('src') : el.href;
+		},
+
+		init: function (opts) {
+			var that = this,
+				list,
+				thumbWidth = opts.width || 50,
+				thumbHeight = opts.height || 50,
+				thumbSource = opts.source || this.source;
+
+			//Build list structure
+			list = '';
+
+			for (var n = 0; n < F.group.length; n++) {
+				list += '<li><a style="width:' + thumbWidth + 'px;height:' + thumbHeight + 'px;" href="javascript:jQuery.fancybox.jumpto(' + n + ');"></a></li>';
+			}
+
+			this.wrap = $('<div id="fancybox-thumbs"></div>').addClass(opts.position || 'bottom').appendTo('body');
+			this.list = $('<ul>' + list + '</ul>').appendTo(this.wrap);
+
+			//Load each thumbnail
+			$.each(F.group, function (i) {
+				$("<img />").load(function () {
+					var width = this.width,
+						height = this.height,
+						widthRatio, heightRatio, parent;
+
+					if (!that.list || !width || !height) {
+						return;
+					}
+
+					//Calculate thumbnail width/height and center it
+					widthRatio = width / thumbWidth;
+					heightRatio = height / thumbHeight;
+					parent = that.list.children().eq(i).find('a');
+
+					if (widthRatio >= 1 && heightRatio >= 1) {
+						if (widthRatio > heightRatio) {
+							width = Math.floor(width / heightRatio);
+							height = thumbHeight;
+
+						} else {
+							width = thumbWidth;
+							height = Math.floor(height / widthRatio);
+						}
+					}
+
+					$(this).css({
+						width: width,
+						height: height,
+						top: Math.floor(thumbHeight / 2 - height / 2),
+						left: Math.floor(thumbWidth / 2 - width / 2)
+					});
+
+					parent.width(thumbWidth).height(thumbHeight);
+
+					$(this).hide().appendTo(parent).fadeIn(300);
+
+				}).attr('src', thumbSource(this));
+			});
+
+			//Set initial width
+			this.width = this.list.children().eq(0).outerWidth();
+
+			this.list.width(this.width * (F.group.length + 1)).css('left', Math.floor($(window).width() * 0.5 - (F.current.index * this.width + this.width * 0.5)));
+		},
+
+		//Center list
+		update: function (opts) {
+			if (this.list) {
+				this.list.stop(true).animate({
+					'left': Math.floor($(window).width() * 0.5 - (F.current.index * this.width + this.width * 0.5))
+				}, 150);
+			}
+		},
+
+		beforeLoad: function (opts) {
+			//Remove self if gallery do not have at least two items 
+			if (F.group.length < 2) {
+				F.coming.helpers.thumbs = false;
+
+				return;
+			}
+
+			//Increase bottom margin to give space for thumbs
+			F.coming.margin[ opts.position === 'top' ? 0 : 2 ] = opts.height + 30;
+		},
+
+		afterShow: function (opts) {
+			//Check if exists and create or update list
+			if (this.list) {
+				this.update(opts);
+
+			} else {
+				this.init(opts);
+			}
+
+			//Set active element
+			this.list.children().removeClass('active').eq(F.current.index).addClass('active');
+		},
+
+		onUpdate: function () {
+			this.update();
+		},
+
+		beforeClose: function () {
+			if (this.wrap) {
+				this.wrap.remove();
+			}
+
+			this.wrap = null;
+			this.list = null;
+			this.width = 0;
+		}
+	}
+
+}(jQuery));
\ No newline at end of file

Added: incubator/openmeetings/trunk/singlewebapp/docs/source/jquery.fancybox.css
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/docs/source/jquery.fancybox.css?rev=1220391&view=auto
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/docs/source/jquery.fancybox.css (added)
+++ incubator/openmeetings/trunk/singlewebapp/docs/source/jquery.fancybox.css Sun Dec 18 13:24:41 2011
@@ -0,0 +1,224 @@
+/*! fancyBox v2.0.4 fancyapps.com | fancyapps.com/fancybox/#license */
+.fancybox-tmp iframe, .fancybox-tmp object {
+	vertical-align: top;
+	padding: 0;
+	margin: 0;
+}
+
+.fancybox-wrap {
+	position: absolute;
+	top: 0;
+	left: 0;
+	z-index: 1002;
+}
+
+.fancybox-outer {
+	padding: 0;
+	margin: 0;
+	background: #f9f9f9;
+	color: #444;
+	text-shadow: none;
+	-webkit-border-radius: 4px;
+	   -moz-border-radius: 4px;
+			border-radius: 4px;
+}
+
+.fancybox-opened {
+	z-index: 1003;	
+}
+
+.fancybox-opened .fancybox-outer {
+	-webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
+	   -moz-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
+	        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
+}
+
+.fancybox-inner {
+	width: 100%;
+	height: 100%;
+	padding: 0;
+	margin: 0;
+	position: relative;
+	outline: none;
+	overflow: hidden;
+}
+
+.fancybox-error {
+	color: #444;
+    font: 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
+    margin: 0;
+    padding: 10px;
+}
+
+.fancybox-image, .fancybox-iframe {
+	display: block;
+	width: 100%;
+	height: 100%;
+	border: 0;
+	padding: 0;
+	margin: 0;
+	vertical-align: top;
+}
+
+.fancybox-image {
+	max-width: 100%;
+	max-height: 100%;
+}
+
+#fancybox-loading {
+	position: fixed;
+	top: 50%;
+	left: 50%;
+	margin-top: -21px;
+	margin-left: -21px;
+	width: 42px;
+	height: 42px;
+	background: url('fancybox_loading.gif');
+	opacity: 0.8;
+	cursor: pointer;
+	z-index: 1010;
+}
+
+.fancybox-close, .fancybox-prev span, .fancybox-next span {
+	background-image: url('fancybox_sprite.png');
+}
+
+.fancybox-close {
+	position: absolute;
+	top: -18px;
+	right: -18px;
+	width: 36px;
+	height: 36px;
+	cursor: pointer;
+	z-index: 1004;
+}
+
+.fancybox-prev, .fancybox-next {
+	position: absolute;
+	top: 0;
+	width: 40%;
+	height: 100%;
+	cursor: pointer;
+	background: transparent url('blank.gif'); /* helps IE */
+	z-index: 1003;
+}
+
+.fancybox-prev {
+	left: 0;	
+}
+
+.fancybox-next {
+	right: 0;
+}
+
+.fancybox-prev span, .fancybox-next span {
+	position: absolute;
+	top: 50%;
+	left: -9999px;
+	width: 36px;
+	height: 36px;
+	margin-top: -18px;
+	cursor: pointer;
+	z-index: 1003;
+}
+
+.fancybox-prev span {
+	background-position: 0 -36px;
+}
+
+.fancybox-next span {
+	background-position: 0 -72px;
+}
+
+.fancybox-prev:hover, .fancybox-next:hover {
+	visibility: visible;
+}
+
+.fancybox-prev:hover span {
+	left: 20px;
+}
+
+.fancybox-next:hover span {
+	left: auto;
+	right: 20px;
+}
+
+.fancybox-tmp {
+	position: absolute;
+	top: -9999px;
+	left: -9999px;
+	padding: 0;
+	overflow: visible;
+	visibility: hidden;
+}
+
+/* Overlay helper */
+
+#fancybox-overlay {
+	position: absolute;
+	top: 0;
+	left: 0;
+	overflow: hidden;
+	display: none;
+	z-index: 1001;
+	background: #000;
+}
+
+/* Title helper */
+
+.fancybox-title {
+	visibility: hidden;	
+	font: normal 13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
+	position: relative;
+	text-shadow: none;
+	z-index: 1005;
+}
+
+.fancybox-opened .fancybox-title {
+	visibility: visible;
+}
+
+.fancybox-title-float-wrap {
+	position: absolute;
+	bottom: 0;
+	right: 50%;
+	margin-bottom: -35px;
+	z-index: 1003;
+	text-align: center;
+}
+
+.fancybox-title-float-wrap .child {
+	display: inline-block;
+	margin-right: -100%;
+	padding: 2px 20px;
+	background: transparent; /* Fallback for web browsers that doesn't support RGBa */
+	background: rgba(0, 0, 0, 0.8);
+	-webkit-border-radius: 15px;
+	   -moz-border-radius: 15px;
+			border-radius: 15px;
+	text-shadow: 0 1px 2px #222;
+	color: #FFF;
+	font-weight: bold;
+	line-height: 24px;
+	white-space: nowrap;
+}
+
+.fancybox-title-outside-wrap {
+	position: relative;
+	margin-top: 10px;
+	color: #fff;
+}
+
+.fancybox-title-inside-wrap {
+	margin-top: 10px;
+}
+
+.fancybox-title-over-wrap {
+	position: absolute;
+	bottom: 0;
+	left: 0;	
+	color: #fff;
+	padding: 10px;
+	background: #000;
+	background: rgba(0, 0, 0, .8);
+}
\ No newline at end of file

Added: incubator/openmeetings/trunk/singlewebapp/docs/source/jquery.fancybox.js
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/docs/source/jquery.fancybox.js?rev=1220391&view=auto
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/docs/source/jquery.fancybox.js (added)
+++ incubator/openmeetings/trunk/singlewebapp/docs/source/jquery.fancybox.js Sun Dec 18 13:24:41 2011
@@ -0,0 +1,1310 @@
+ /*!
+ * fancyBox - jQuery Plugin
+ * version: 2.0.4 (12/12/2011)
+ * @requires jQuery v1.6 or later
+ *
+ * Examples at http://fancyapps.com/fancybox/
+ * License: www.fancyapps.com/fancybox/#license
+ *
+ * Copyright 2011 Janis Skarnelis - janis@fancyapps.com
+ *
+ */
+(function (window, document, $) {
+	var W = $(window),
+		D = $(document),
+		F = $.fancybox = function () {
+			F.open.apply( this, arguments );
+		},
+		didResize = false,
+		resizeTimer = null;
+
+	$.extend(F, {
+		// The current version of fancyBox
+		version: '2.0.4',
+
+		defaults: {
+			padding: 15,
+			margin: 20,
+
+			width: 800,
+			height: 600,
+			minWidth: 200,
+			minHeight: 200,
+			maxWidth: 9999,
+			maxHeight: 9999,
+
+			autoSize: true,
+			fitToView: true,
+			aspectRatio: false,
+			topRatio: 0.5,
+
+			fixed: !$.browser.msie || $.browser.version > 6 || !document.documentElement.hasOwnProperty('ontouchstart'),
+			scrolling: 'auto', // 'auto', 'yes' or 'no'
+			wrapCSS: 'fancybox-default',
+
+			arrows: true,
+			closeBtn: true,
+			closeClick: false,
+			nextClick : false,
+			mouseWheel: true,
+			autoPlay: false,
+			playSpeed: 3000,
+
+			modal: false,
+			loop: true,
+			ajax: {},
+			keys: {
+				next: [13, 32, 34, 39, 40], // enter, space, page down, right arrow, down arrow
+				prev: [8, 33, 37, 38], // backspace, page up, left arrow, up arrow
+				close: [27] // escape key
+			},
+
+			// Override some properties
+			index: 0,
+			type: null,
+			href: null,
+			content: null,
+			title: null,
+
+			// HTML templates
+			tpl: {
+				wrap: '<div class="fancybox-wrap"><div class="fancybox-outer"><div class="fancybox-inner"></div></div></div>',
+				image: '<img class="fancybox-image" src="{href}" alt="" />',
+				iframe: '<iframe class="fancybox-iframe" name="fancybox-frame{rnd}" frameborder="0" hspace="0" ' + ($.browser.msie ? 'allowtransparency="true""' : '') + ' scrolling="{scrolling}" src="{href}"></iframe>',
+				swf: '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%"><param name="wmode" value="transparent" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="{href}" /><embed src="{href}" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="100%" height="100%" wmode="transparent"></embed></object>',
+				error: '<p class="fancybox-error">The requested content cannot be loaded.<br/>Please try again later.</p>',
+				closeBtn: '<div title="Close" class="fancybox-item fancybox-close"></div>',
+				next: '<a title="Next" class="fancybox-item fancybox-next"><span></span></a>',
+				prev: '<a title="Previous" class="fancybox-item fancybox-prev"><span></span></a>'
+			},
+
+			// Properties for each animation type
+			// Opening fancyBox
+			openEffect: 'fade', // 'elastic', 'fade' or 'none'
+			openSpeed: 250,
+			openEasing: 'swing',
+			openOpacity: true,
+			openMethod: 'zoomIn',
+
+			// Closing fancyBox
+			closeEffect: 'fade', // 'elastic', 'fade' or 'none'
+			closeSpeed: 250,
+			closeEasing: 'swing',
+			closeOpacity: true,
+			closeMethod: 'zoomOut',
+
+			// Changing next gallery item
+			nextEffect: 'elastic', // 'elastic', 'fade' or 'none'
+			nextSpeed: 300,
+			nextEasing: 'swing',
+			nextMethod: 'changeIn',
+
+			// Changing previous gallery item
+			prevEffect: 'elastic', // 'elastic', 'fade' or 'none'
+			prevSpeed: 300,
+			prevEasing: 'swing',
+			prevMethod: 'changeOut',
+
+			// Enabled helpers
+			helpers: {
+				overlay: {
+					speedIn: 0,
+					speedOut: 300,
+					opacity: 0.8,
+					css: {
+						cursor: 'pointer'
+					},
+					closeClick: true
+				},
+				title: {
+					type: 'float' // 'float', 'inside', 'outside' or 'over'
+				}
+			},
+
+			// Callbacks
+			onCancel: $.noop, // If canceling
+			beforeLoad: $.noop, // Before loading
+			afterLoad: $.noop, // After loading
+			beforeShow: $.noop, // Before changing in current item
+			afterShow: $.noop, // After opening
+			beforeClose: $.noop, // Before closing
+			afterClose: $.noop // After closing
+		},
+
+		//Current state
+		group: {}, // Selected group
+		opts: {}, // Group options
+		coming: null, // Element being loaded
+		current: null, // Currently loaded element
+		isOpen: false, // Is currently open
+		isOpened: false, // Have been fully opened at least once
+		wrap: null,
+		outer: null,
+		inner: null,
+
+		player: {
+			timer: null,
+			isActive: false
+		},
+
+		// Loaders
+		ajaxLoad: null,
+		imgPreload: null,
+
+		// Some collections
+		transitions: {},
+		helpers: {},
+
+		/*
+		 *	Static methods
+		 */
+
+		open: function (group, opts) {
+			// Normalize group
+			if (!$.isArray(group)) {
+				group = [group];
+			}
+
+			if (!group.length) {
+				return;
+			}
+
+			//Kill existing instances
+			F.close(true);
+
+			//Extend the defaults
+			F.opts = $.extend(true, {}, F.defaults, opts);
+			F.group = group;
+
+			F._start(F.opts.index || 0);
+		},
+
+		cancel: function () {
+			if (F.coming && false === F.trigger('onCancel')) {
+				return;
+			}
+
+			F.coming = null;
+
+			F.hideLoading();
+
+			if (F.ajaxLoad) {
+				F.ajaxLoad.abort();
+			}
+
+			F.ajaxLoad = null;
+
+			if (F.imgPreload) {
+				F.imgPreload.onload = F.imgPreload.onabort = F.imgPreload.onerror = null;
+			}
+		},
+
+		close: function (a) {
+			F.cancel();
+
+			if (!F.current || false === F.trigger('beforeClose')) {
+				return;
+			}
+
+			F.unbindEvents();
+
+			//If forced or is still opening then remove immediately
+			if (!F.isOpen || (a && a[0] === true)) {
+				$(".fancybox-wrap").stop().trigger('onReset').remove();
+
+				F._afterZoomOut();
+
+			} else {
+				F.isOpen = F.isOpened = false;
+
+				$(".fancybox-item").remove();
+
+				F.wrap.stop(true).removeClass('fancybox-opened');
+				F.inner.css('overflow', 'hidden');
+
+				F.transitions[F.current.closeMethod]();
+			}
+		},
+
+		// Start/stop slideshow
+		play: function (a) {
+			var clear = function () {
+					clearTimeout(F.player.timer);
+				},
+				set = function () {
+					clear();
+
+					if (F.current && F.player.isActive) {
+						F.player.timer = setTimeout(F.next, F.current.playSpeed);
+					}
+				},
+				stop = function () {
+					clear();
+
+					$('body').unbind('.player');
+
+					F.player.isActive = false;
+
+					F.trigger('onPlayEnd');
+				},
+				start = function () {
+					if (F.current && (F.current.loop || F.current.index < F.group.length - 1)) {
+						F.player.isActive = true;
+
+						$('body').bind({
+							'afterShow.player onUpdate.player': set,
+							'onCancel.player beforeClose.player': stop,
+							'beforeLoad.player': clear
+						});
+
+						set();
+
+						F.trigger('onPlayStart');
+					}
+				};
+
+			if (F.player.isActive || (a && a[0] === false)) {
+				stop();
+			} else {
+				start();
+			}
+		},
+
+		next: function () {
+			if (F.current) {
+				F.jumpto(F.current.index + 1);
+			}
+		},
+
+		prev: function () {
+			if (F.current) {
+				F.jumpto(F.current.index - 1);
+			}
+		},
+
+		jumpto: function (index) {
+			if (!F.current) {
+				return;
+			}
+
+			index = parseInt(index, 10);
+
+			if (F.group.length > 1 && F.current.loop) {
+				if (index >= F.group.length) {
+					index = 0;
+
+				} else if (index < 0) {
+					index = F.group.length - 1;
+				}
+			}
+
+			if (typeof F.group[index] !== 'undefined') {
+				F.cancel();
+
+				F._start(index);
+			}
+		},
+
+		reposition: function (a) {
+			if (F.isOpen) {
+				F.wrap.css(F._getPosition(a));
+			}
+		},
+
+		update: function () {
+			if (F.isOpen) {
+				// It's a very bad idea to attach handlers to the window scroll event, run this code after a delay
+				if (!didResize) {
+					resizeTimer = setInterval(function () {
+						if (didResize) {
+							didResize = false;
+
+							clearTimeout(resizeTimer);
+
+							if (F.current) {
+								if (F.current.autoSize) {
+									F.inner.height('auto');
+									F.current.height = F.inner.height();
+								}
+
+								F._setDimension();
+
+								if (F.current.canGrow) {
+									F.inner.height('auto');
+								}
+
+								F.reposition();
+
+								F.trigger('onUpdate');
+							}
+						}
+					}, 100);
+				}
+
+				didResize = true;
+			}
+		},
+
+		toggle: function () {
+			if (F.isOpen) {
+				F.current.fitToView = !F.current.fitToView;
+
+				F.update();
+			}
+		},
+
+		hideLoading: function () {
+			$("#fancybox-loading").remove();
+		},
+
+		showLoading: function () {
+			F.hideLoading();
+
+			$('<div id="fancybox-loading"></div>').click(F.cancel).appendTo('body');
+		},
+
+		getViewport: function () {
+			return {
+				x: W.scrollLeft(),
+				y: W.scrollTop(),
+				w: W.width(),
+				h: W.height()
+			};
+		},
+
+		// Unbind the keyboard / clicking actions
+		unbindEvents: function () {
+			if (F.wrap) {
+				F.wrap.unbind('.fb');	
+			}
+
+			D.unbind('.fb');
+			W.unbind('.fb');
+		},
+
+		bindEvents: function () {
+			var current = F.current,
+				keys = current.keys;
+
+			if (!current) {
+				return;
+			}
+
+			W.bind('resize.fb, orientationchange.fb', F.update);
+
+			if (keys) {
+				D.bind('keydown.fb', function (e) {
+					var code;
+
+					// Ignore key combinations and key events within form elements
+					if (!e.ctrlKey && !e.altKey && !e.shiftKey && !e.metaKey && $.inArray(e.target.tagName.toLowerCase(), ['input', 'textarea', 'select', 'button']) < 0) {
+						code = e.keyCode;
+
+						if ($.inArray(code, keys.close) > -1) {
+							F.close();
+							e.preventDefault();
+
+						} else if ($.inArray(code, keys.next) > -1) {
+							F.next();
+							e.preventDefault();
+
+						} else if ($.inArray(code, keys.prev) > -1) {
+							F.prev();
+							e.preventDefault();
+						}
+					}
+				});
+			}
+
+			if ($.fn.mousewheel && current.mouseWheel && F.group.length > 1) {
+				F.wrap.bind('mousewheel.fb', function (e, delta) {
+					var target = $(e.target).get(0);
+
+					if (target.clientHeight === 0 || target.scrollHeight === target.clientHeight) {
+						e.preventDefault();
+
+						F[delta > 0 ? 'prev' : 'next']();
+					}
+				});
+			}
+		},
+
+		trigger: function (event) {
+			var ret, obj = F[ $.inArray(event, ['onCancel', 'beforeLoad', 'afterLoad']) > -1 ? 'coming' : 'current' ];
+
+			if (!obj) {
+				return;
+			}
+
+			if ($.isFunction( obj[event] )) {
+				ret = obj[event].apply(obj, Array.prototype.slice.call(arguments, 1));
+			}
+
+			if (ret === false) {
+				return false;
+			}
+
+			if (obj.helpers) {
+				$.each(obj.helpers, function (helper, opts) {
+					if (opts && typeof F.helpers[helper] !== 'undefined' && $.isFunction(F.helpers[helper][event])) {
+						F.helpers[helper][event](opts, obj);
+					}
+				});
+			}
+
+			$.event.trigger(event + '.fb');
+		},
+
+		isImage: function (str) {
+			return str && str.match(/\.(jpg|gif|png|bmp|jpeg)(.*)?$/i);
+		},
+
+		isSWF: function (str) {
+			return str && str.match(/\.(swf)(.*)?$/i);
+		},
+
+		_start: function (index) {
+			var coming = {},
+				element = F.group[index] || null,
+				isDom,
+				href,
+				type,
+				rez;
+
+			if (typeof element === 'object' && (element.nodeType || element instanceof $)) {
+				isDom = true;
+
+				if ($.metadata) {
+					coming = $(element).metadata();
+				}
+			}
+
+			coming = $.extend(true, {}, F.opts, {index : index, element : element}, ($.isPlainObject(element) ? element : coming));
+
+			// Re-check overridable options
+			$.each(['href', 'title', 'content', 'type'], function(i,v) {
+				coming[v] = F.opts[ v ] || (isDom && $(element).attr( v )) || coming[ v ] || null;
+			});
+
+			// Convert margin property to array - top, right, bottom, left
+			if (typeof coming.margin === 'number') {
+				coming.margin = [coming.margin, coming.margin, coming.margin, coming.margin];
+			}
+
+			// 'modal' propery is just a shortcut
+			if (coming.modal) {
+				$.extend(true, coming, {
+					closeBtn : false,
+					closeClick: false,
+					nextClick : false,
+					arrows : false,
+					mouseWheel : false,
+					keys : null,
+					helpers: {
+						overlay : {
+							css: {
+								cursor : 'auto'
+							},
+							closeClick : false
+						}
+					}
+				});
+			}
+
+			//Give a chance for callback or helpers to update coming item (type, title, etc)
+			F.coming = coming;
+
+			if (false === F.trigger('beforeLoad')) {
+				F.coming = null;
+				return;
+			}
+
+			type = coming.type;
+			href = coming.href;
+
+			///Check if content type is set, if not, try to get
+			if (!type) {
+				if (isDom) {
+					rez = $(element).data('fancybox-type');
+
+					if (!rez && element.className) {
+						rez = element.className.match(/fancybox\.(\w+)/);
+						type = rez ? rez[1] : null;
+					}
+				}
+
+				if (!type && href) {
+					if (F.isImage(href)) {
+						type = 'image';
+
+					} else if (F.isSWF(href)) {
+						type = 'swf';
+
+					} else if (href.match(/^#/)) {
+						type = 'inline';
+					}
+				}
+
+				// ...if not - display element itself
+				if (!type) {
+					type = isDom ? 'inline' : 'html';
+				}
+
+				coming.type = type;
+			}
+
+			// Check before try to load; 'inline' and 'html' types need content, others - href
+			if (type === 'inline' || type === 'html') {
+				coming.content = coming.content || (type === 'inline' && href ? $(href) : element);
+
+				if (!coming.content.length) {
+					type = null;
+				}
+
+			} else {
+				coming.href = href || element;
+
+				if (!coming.href) {
+					type = null;
+				}
+			}
+
+			/*
+				Add reference to the group, so it`s possible to access from callbacks, example:
+
+				afterLoad : function() {
+					this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+				}
+
+			*/
+
+			coming.group = F.group;
+
+			if (type === 'image') {
+				F._loadImage();
+
+			} else if (type === 'ajax') {
+				F._loadAjax();
+
+			} else if (type) {
+				F._afterLoad();
+
+			} else {
+				F._error( 'type' );
+			}
+		},
+
+		_error: function ( type ) {
+			$.extend(F.coming, {
+				type : 'html',
+				autoSize : true,
+				minHeight : '0',
+				hasError : type,
+				content : F.coming.tpl.error
+			});
+
+			F._afterLoad();
+		},
+
+		_loadImage: function () {
+			// Reset preload image so it is later possible to check "complete" property
+			F.imgPreload = new Image();
+
+			F.imgPreload.onload = function () {
+				this.onload = this.onerror = null;
+
+				F.coming.width = this.width;
+				F.coming.height = this.height;
+
+				F._afterLoad();
+			};
+
+			F.imgPreload.onerror = function () {
+				this.onload = this.onerror = null;
+
+				F._error( 'image' );
+			};
+
+			F.imgPreload.src = F.coming.href;
+
+			if (!F.imgPreload.complete) {
+				F.showLoading();
+			}
+		},
+
+		_loadAjax: function () {
+			F.showLoading();
+
+			F.ajaxLoad = $.ajax($.extend({}, F.coming.ajax, {
+				url: F.coming.href,
+				error: function (jqXHR, textStatus) {
+					if (textStatus !== 'abort') {
+						F._error( 'ajax', jqXHR );
+
+					} else {
+						F.hideLoading();
+					}
+				},
+				success: function (data, textStatus) {
+					if (textStatus === 'success') {
+						F.coming.content = data;
+
+						F._afterLoad();
+					}
+				}
+			}));
+		},
+
+		_preload : function() {
+			var group = F.group,
+				index = F.current.index,
+				load = function(href) {
+					if (href && F.isImage(href)) {
+						new Image().src = href;
+					}
+				};
+
+			if (group.length > 1) {
+				load( $( group[ index + 1 ] || group[ 0 ] ).attr('href') );
+				load( $( group[ index - 1 ] || group[ group.length - 1 ] ).attr('href') );
+			}
+		},
+
+		_afterLoad: function () {
+			F.hideLoading();
+
+			if (!F.coming || false === F.trigger('afterLoad', F.current)) {
+				F.coming = false;
+
+				return;
+			}
+
+			if (F.isOpened) {
+				$(".fancybox-item").remove();
+
+				F.wrap.stop(true).removeClass('fancybox-opened');
+				F.inner.css('overflow', 'hidden');
+
+				F.transitions[F.current.prevMethod]();
+
+			} else {
+				$(".fancybox-wrap").stop().trigger('onReset').remove();
+
+				F.trigger('afterClose');
+			}
+
+			F.unbindEvents();
+
+			F.isOpen = false;
+			F.current = F.coming;
+			F.coming = false;
+
+			//Build the neccessary markup
+			F.wrap = $(F.current.tpl.wrap).addClass('fancybox-tmp ' + F.current.wrapCSS).appendTo('body');
+			F.outer = $('.fancybox-outer', F.wrap).css('padding', F.current.padding + 'px');
+			F.inner = $('.fancybox-inner', F.wrap);
+
+			F._setContent();
+
+			//Give a chance for helpers or callbacks to update elements
+			F.trigger('beforeShow');
+
+			//Set initial dimensions and hide
+			F._setDimension();
+
+			F.wrap.hide().removeClass('fancybox-tmp');
+
+			F.bindEvents();
+			F._preload();
+
+			F.transitions[ F.isOpened ? F.current.nextMethod : F.current.openMethod ]();
+		},
+
+		_setContent: function () {
+			var content, loadingBay, current = F.current,
+				type = current.type;
+
+			switch (type) {
+				case 'inline':
+				case 'ajax':
+				case 'html':
+					content = current.content;
+
+					if (type === 'inline' && content instanceof $) {
+						content = content.show().detach();
+
+						if (content.parent().hasClass('fancybox-inner')) {
+							content.parents('.fancybox-wrap').trigger('onReset').remove();
+						}
+
+						$(F.wrap).bind('onReset', function () {
+							content.appendTo('body').hide();
+						});
+					}
+
+					if (current.autoSize) {
+						loadingBay = $('<div class="fancybox-tmp"></div>').appendTo($("body")).append(content);
+
+						current.width = loadingBay.outerWidth();
+						current.height = loadingBay.outerHeight(true);
+
+						content = loadingBay.contents().detach();
+
+						loadingBay.remove();
+					}
+
+				break;
+
+				case 'image':
+					content = current.tpl.image.replace('{href}', current.href);
+
+					current.aspectRatio = true;
+				break;
+
+				case 'swf':
+					content = current.tpl.swf.replace(/\{width\}/g, current.width).replace(/\{height\}/g, current.height).replace(/\{href\}/g, current.href);
+				break;
+
+				case 'iframe':
+					content = current.tpl.iframe.replace('{href}', current.href).replace('{scrolling}', current.scrolling).replace('{rnd}', new Date().getTime());
+				break;
+			}
+
+			if ($.inArray(type, ['image', 'swf', 'iframe']) > -1) {
+				current.autoSize = false;
+				current.scrolling = false;
+			}
+
+			F.inner.append(content);
+		},
+
+		_setDimension: function () {
+			var wrap = F.wrap,
+				outer = F.outer,
+				inner = F.inner,
+				current = F.current,
+				viewport = F.getViewport(),
+				margin = current.margin,
+				padding2 = current.padding * 2,
+				width = current.width + padding2,
+				height = current.height + padding2,
+				ratio = current.width / current.height,
+
+				maxWidth = current.maxWidth,
+				maxHeight = current.maxHeight,
+				minWidth = current.minWidth,
+				minHeight = current.minHeight,
+				height_,
+				space;
+
+			viewport.w -= (margin[1] + margin[3]);
+			viewport.h -= (margin[0] + margin[2]);
+
+			if (width.toString().indexOf('%') > -1) {
+				width = ((viewport.w * parseFloat(width)) / 100);
+			}
+
+			if (height.toString().indexOf('%') > -1) {
+				height = ((viewport.h * parseFloat(height)) / 100);
+			}
+
+			if (current.fitToView) {
+				maxWidth = Math.min(viewport.w, maxWidth);
+				maxHeight = Math.min(viewport.h, maxHeight);
+			}
+
+			minWidth = Math.min(width, minWidth);
+			minHeight = Math.min(width, minHeight);
+
+			maxWidth = Math.max(minWidth, maxWidth);
+			maxHeight = Math.max(minHeight, maxHeight);
+
+			if (current.aspectRatio) {
+				if (width > maxWidth) {
+					width = maxWidth;
+					height = ((width - padding2) / ratio) + padding2;
+				}
+
+				if (height > maxHeight) {
+					height = maxHeight;
+					width = ((height - padding2) * ratio) + padding2;
+				}
+
+				if (width < minWidth) {
+					width = minWidth;
+					height = ((width - padding2) / ratio) + padding2;
+				}
+
+				if (height < minHeight) {
+					height = minHeight;
+					width = ((height - padding2) * ratio) + padding2;
+				}
+
+			} else {
+				width = Math.max(minWidth, Math.min(width, maxWidth));
+				height = Math.max(minHeight, Math.min(height, maxHeight));
+			}
+
+			width = Math.round(width);
+			height = Math.round(height);
+
+			//Reset dimensions
+			$(wrap.add(outer).add(inner)).width('auto').height('auto');
+
+			inner.width(width - padding2).height(height - padding2);
+			wrap.width(width);
+
+			height_ = wrap.height(); // Real wrap height
+
+			//Fit wrapper inside
+			if (width > maxWidth || height_ > maxHeight) {
+				while ((width > maxWidth || height_ > maxHeight) && width > minWidth && height_ > minHeight) {
+					height = height - 10;
+
+					if (current.aspectRatio) {
+						width = Math.round(((height - padding2) * ratio) + padding2);
+
+						if (width < minWidth) {
+							width = minWidth;
+							height = ((width - padding2) / ratio) + padding2;
+						}
+
+					} else {
+						width = width - 10;
+					}
+
+					inner.width(width - padding2).height(height - padding2);
+					wrap.width(width);
+
+					height_ = wrap.height();
+				}
+			}
+
+			current.dim = {
+				width: width,
+				height: height_
+			};
+
+			current.canGrow = current.autoSize && height > minHeight && height < maxHeight;
+			current.canShrink = false;
+			current.canExpand = false;
+
+			if ((width - padding2) < current.width || (height - padding2) < current.height) {
+				current.canExpand = true;
+
+			} else if ((width > viewport.w || height_ > viewport.h) && width > minWidth && height > minHeight) {
+				current.canShrink = true;
+			}
+
+			space = height_ - padding2;
+
+			F.innerSpace = space - inner.height();
+			F.outerSpace = space - outer.height();
+		},
+
+		_getPosition: function (a) {
+			var current = F.current,
+				viewport = F.getViewport(),
+				margin = current.margin,
+				width = F.wrap.width() + margin[1] + margin[3],
+				height = F.wrap.height() + margin[0] + margin[2],
+				rez = {
+					position: 'absolute',
+					top: margin[0] + viewport.y,
+					left: margin[3] + viewport.x
+				};
+
+			if (current.fixed && (!a || a[0] === false) && height <= viewport.h && width <= viewport.w) {
+				rez = {
+					position: 'fixed',
+					top: margin[0],
+					left: margin[3]
+				};
+			}
+
+			rez.top = Math.ceil(Math.max(rez.top, rez.top + ((viewport.h - height) * current.topRatio))) + 'px';
+			rez.left = Math.ceil(Math.max(rez.left, rez.left + ((viewport.w - width) * 0.5))) + 'px';
+
+			return rez;
+		},
+
+		_afterZoomIn: function () {
+			var current = F.current;
+
+			F.isOpen = F.isOpened = true;
+
+			F.wrap.addClass('fancybox-opened').css('overflow', 'visible');
+
+			F.update();
+
+			F.inner.css('overflow', current.scrolling === 'auto' ? 'auto' : (current.scrolling === 'yes' ? 'scroll' : 'hidden'));
+
+			//Assign a click event
+			if (current.closeClick || current.nextClick) {
+				F.inner.css('cursor', 'pointer').bind('click.fb', current.nextClick ? F.next : F.close);
+			}
+
+			//Create a close button
+			if (current.closeBtn) {
+				$(current.tpl.closeBtn).appendTo(F.wrap).bind('click.fb', F.close);
+			}
+
+			//Create navigation arrows
+			if (current.arrows && F.group.length > 1) {
+				if (current.loop || current.index > 0) {
+					$(current.tpl.prev).appendTo(F.wrap).bind('click.fb', F.prev);
+				}
+
+				if (current.loop || current.index < F.group.length - 1) {
+					$(current.tpl.next).appendTo(F.wrap).bind('click.fb', F.next);
+				}
+			}
+
+			F.trigger('afterShow');
+
+			if (F.opts.autoPlay && !F.player.isActive) {
+				F.opts.autoPlay = false;
+
+				F.play();
+			}
+		},
+
+		_afterZoomOut: function () {
+			F.trigger('afterClose');
+
+			F.wrap.trigger('onReset').remove();
+
+			$.extend(F, {
+				group: {},
+				opts: {},
+				current: null,
+				isOpened: false,
+				isOpen: false,
+				wrap: null,
+				outer: null,
+				inner: null
+			});
+		}
+	});
+
+	/*
+	 *	Default transitions
+	 */
+
+	F.transitions = {
+		getOrigPosition: function () {
+			var element = F.current.element,
+				pos = {},
+				width = 50,
+				height = 50,
+				image, viewport;
+
+			if (element && element.nodeName && $(element).is(':visible')) {
+				image = $(element).find('img:first');
+
+				if (image.length) {
+					pos = image.offset();
+					width = image.outerWidth();
+					height = image.outerHeight();
+
+				} else {
+					pos = $(element).offset();
+				}
+
+			} else {
+				viewport = F.getViewport();
+				pos.top = viewport.y + (viewport.h - height) * 0.5;
+				pos.left = viewport.x + (viewport.w - width) * 0.5;
+			}
+
+			pos = {
+				top: Math.ceil(pos.top) + 'px',
+				left: Math.ceil(pos.left) + 'px',
+				width: Math.ceil(width) + 'px',
+				height: Math.ceil(height) + 'px'
+			};
+
+			return pos;
+		},
+
+		step: function (now, fx) {
+			var ratio, innerValue, outerValue;
+
+			if (fx.prop === 'width' || fx.prop === 'height') {
+				innerValue = outerValue = Math.ceil(now - (F.current.padding * 2));
+
+				if (fx.prop === 'height') {
+					ratio = (now - fx.start) / (fx.end - fx.start);
+
+					if (fx.start > fx.end) {
+						ratio = 1 - ratio;
+					}
+
+					innerValue -= F.innerSpace * ratio;
+					outerValue -= F.outerSpace * ratio;
+				}
+
+				F.inner[fx.prop](innerValue);
+				F.outer[fx.prop](outerValue);
+			}
+		},
+
+		zoomIn: function () {
+			var wrap = F.wrap,
+				current = F.current,
+				startPos,
+				endPos,
+				dim = current.dim;
+
+			if (current.openEffect === 'elastic') {
+				endPos = $.extend({}, dim, F._getPosition(true));
+
+				//Remove "position" property
+				delete endPos.position;
+
+				startPos = this.getOrigPosition();
+
+				if (current.openOpacity) {
+					startPos.opacity = 0;
+					endPos.opacity = 1;
+				}
+
+				wrap.css(startPos).show().animate(endPos, {
+					duration: current.openSpeed,
+					easing: current.openEasing,
+					step: this.step,
+					complete: F._afterZoomIn
+				});
+
+			} else {
+				wrap.css($.extend({}, dim, F._getPosition()));
+
+				if (current.openEffect === 'fade') {
+					wrap.fadeIn(current.openSpeed, F._afterZoomIn);
+
+				} else {
+					wrap.show();
+					F._afterZoomIn();
+				}
+			}
+		},
+
+		zoomOut: function () {
+			var wrap = F.wrap,
+				current = F.current,
+				endPos;
+
+			if (current.closeEffect === 'elastic') {
+				if (wrap.css('position') === 'fixed') {
+					wrap.css(F._getPosition(true));
+				}
+
+				endPos = this.getOrigPosition();
+
+				if (current.closeOpacity) {
+					endPos.opacity = 0;
+				}
+
+				wrap.animate(endPos, {
+					duration: current.closeSpeed,
+					easing: current.closeEasing,
+					step: this.step,
+					complete: F._afterZoomOut
+				});
+
+			} else {
+				wrap.fadeOut(current.closeEffect === 'fade' ? current.closeSpeed : 0, F._afterZoomOut);
+			}
+		},
+
+		changeIn: function () {
+			var wrap = F.wrap,
+				current = F.current,
+				startPos;
+
+			if (current.nextEffect === 'elastic') {
+				startPos = F._getPosition(true);
+				startPos.opacity = 0;
+				startPos.top = (parseInt(startPos.top, 10) - 200) + 'px';
+
+				wrap.css(startPos).show().animate({
+					opacity: 1,
+					top: '+=200px'
+				}, {
+					duration: current.nextSpeed,
+					complete: F._afterZoomIn
+				});
+
+			} else {
+				wrap.css(F._getPosition());
+
+				if (current.nextEffect === 'fade') {
+					wrap.hide().fadeIn(current.nextSpeed, F._afterZoomIn);
+
+				} else {
+					wrap.show();
+					F._afterZoomIn();
+				}
+			}
+		},
+
+		changeOut: function () {
+			var wrap = F.wrap,
+				current = F.current,
+				cleanUp = function () {
+					$(this).trigger('onReset').remove();
+				};
+
+			wrap.removeClass('fancybox-opened');
+
+			if (current.prevEffect === 'elastic') {
+				wrap.animate({
+					'opacity': 0,
+					top: '+=200px'
+				}, {
+					duration: current.prevSpeed,
+					complete: cleanUp
+				});
+
+			} else {
+				wrap.fadeOut(current.prevEffect === 'fade' ? current.prevSpeed : 0, cleanUp);
+			}
+		}
+	};
+
+	/*
+	 *	Overlay helper
+	 */
+
+	F.helpers.overlay = {
+		overlay: null,
+
+		update: function () {
+			var width, scrollWidth, offsetWidth;
+
+			//Reset width/height so it will not mess
+			this.overlay.width(0).height(0);
+
+			if ($.browser.msie) {
+				scrollWidth = Math.max(document.documentElement.scrollWidth, document.body.scrollWidth);
+				offsetWidth = Math.max(document.documentElement.offsetWidth, document.body.offsetWidth);
+
+				width = scrollWidth < offsetWidth ? W.width() : scrollWidth;
+
+			} else {
+				width = D.width();
+			}
+
+			this.overlay.width(width).height(D.height());
+		},
+
+		beforeShow: function (opts) {
+			if (this.overlay) {
+				return;
+			}
+
+			this.overlay = $('<div id="fancybox-overlay"></div>').css(opts.css || {
+				background: 'black'
+			}).appendTo('body');
+
+			this.update();
+
+			if (opts.closeClick) {
+				this.overlay.bind('click.fb', F.close);
+			}
+
+			W.bind("resize.fb", $.proxy(this.update, this));
+
+			this.overlay.fadeTo(opts.speedIn || "fast", opts.opacity || 1);
+		},
+
+		onUpdate: function () {
+			//Update as content may change document dimensions
+			this.update();
+		},
+
+		afterClose: function (opts) {
+			if (this.overlay) {
+				this.overlay.fadeOut(opts.speedOut || "fast", function () {
+					$(this).remove();
+				});
+			}
+
+			this.overlay = null;
+		}
+	};
+
+	/*
+	 *	Title helper
+	 */
+
+	F.helpers.title = {
+		beforeShow: function (opts) {
+			var title, text = F.current.title;
+
+			if (text) {
+				title = $('<div class="fancybox-title fancybox-title-' + opts.type + '-wrap">' + text + '</div>').appendTo('body');
+
+				if (opts.type === 'float') {
+					//This helps for some browsers
+					title.width(title.width());
+
+					title.wrapInner('<span class="child"></span>');
+
+					//Increase bottom margin so this title will also fit into viewport
+					F.current.margin[2] += Math.abs(parseInt(title.css('margin-bottom'), 10));
+				}
+
+				title.appendTo(opts.type === 'over' ? F.inner : (opts.type === 'outside' ? F.wrap : F.outer));
+			}
+		}
+	};
+
+	// jQuery plugin initialization
+	$.fn.fancybox = function (options) {
+		var opts = options || {},
+			selector = this.selector || '';
+
+		function run(e) {
+			var group = [], relType, relVal, rel = this.rel;
+
+			if (!(e.ctrlKey || e.altKey || e.shiftKey || e.metaKey)) {
+				e.preventDefault();
+
+				relVal = $(this).data('fancybox-group');
+
+				// Check if element has 'data-fancybox-group' attribute, if not - use 'rel'
+				if (typeof relVal !== 'undefined') {
+					relType = relVal ? 'data-fancybox-group' : false;
+
+				} else if (rel && rel !== '' && rel !== 'nofollow') {
+					relVal = rel;
+					relType = 'rel';
+				}
+
+				if (relType) {
+					group = selector.length ? $(selector).filter('[' + relType + '="' + relVal + '"]') : $('[' + relType + '="' + relVal + '"]');
+				}
+
+				if (group.length) {
+					opts.index = group.index(this);
+
+					F.open(group.get(), opts);
+
+				} else {
+					F.open(this, opts);
+				}
+			}
+		}
+
+		if (selector) {
+			D.undelegate(selector, 'click.fb-start').delegate(selector, 'click.fb-start', run);
+
+		} else {
+			$(this).unbind('click.fb-start').bind('click.fb-start', run);
+		}
+
+		return this;
+	};
+
+}(window, document, jQuery));
\ No newline at end of file

Added: incubator/openmeetings/trunk/singlewebapp/docs/source/jquery.fancybox.pack.js
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/docs/source/jquery.fancybox.pack.js?rev=1220391&view=auto
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/docs/source/jquery.fancybox.pack.js (added)
+++ incubator/openmeetings/trunk/singlewebapp/docs/source/jquery.fancybox.pack.js Sun Dec 18 13:24:41 2011
@@ -0,0 +1,32 @@
+/*! fancyBox v2.0.4 fancyapps.com | fancyapps.com/fancybox/#license */
+(function(u,q,e){var l=e(u),r=e(q),a=e.fancybox=function(){a.open.apply(this,arguments)},s=!1,t=null;e.extend(a,{version:"2.0.4",defaults:{padding:15,margin:20,width:800,height:600,minWidth:200,minHeight:200,maxWidth:9999,maxHeight:9999,autoSize:!0,fitToView:!0,aspectRatio:!1,topRatio:0.5,fixed:!e.browser.msie||6<e.browser.version||!q.documentElement.hasOwnProperty("ontouchstart"),scrolling:"auto",wrapCSS:"fancybox-default",arrows:!0,closeBtn:!0,closeClick:!1,nextClick:!1,mouseWheel:!0,autoPlay:!1,
+playSpeed:3E3,modal:!1,loop:!0,ajax:{},keys:{next:[13,32,34,39,40],prev:[8,33,37,38],close:[27]},tpl:{wrap:'<div class="fancybox-wrap"><div class="fancybox-outer"><div class="fancybox-inner"></div></div></div>',image:'<img class="fancybox-image" src="{href}" alt="" />',iframe:'<iframe class="fancybox-iframe" name="fancybox-frame{rnd}" frameborder="0" hspace="0" '+(e.browser.msie?'allowtransparency="true""':"")+' scrolling="{scrolling}" src="{href}"></iframe>',swf:'<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%"><param name="wmode" value="transparent" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="{href}" /><embed src="{href}" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="100%" height="100%" wmode="transparent"></embed></object>',
+error:'<p class="fancybox-error">The requested content cannot be loaded.<br/>Please try again later.</p>',closeBtn:'<div title="Close" class="fancybox-item fancybox-close"></div>',next:'<a title="Next" class="fancybox-item fancybox-next"><span></span></a>',prev:'<a title="Previous" class="fancybox-item fancybox-prev"><span></span></a>'},openEffect:"fade",openSpeed:250,openEasing:"swing",openOpacity:!0,openMethod:"zoomIn",closeEffect:"fade",closeSpeed:250,closeEasing:"swing",closeOpacity:!0,closeMethod:"zoomOut",
+nextEffect:"elastic",nextSpeed:300,nextEasing:"swing",nextMethod:"changeIn",prevEffect:"elastic",prevSpeed:300,prevEasing:"swing",prevMethod:"changeOut",helpers:{overlay:{speedIn:0,speedOut:300,opacity:0.8,css:{cursor:"pointer"},closeClick:!0},title:{type:"float"}}},group:{},opts:{},coming:null,current:null,isOpen:!1,isOpened:!1,wrap:null,outer:null,inner:null,player:{timer:null,isActive:!1},ajaxLoad:null,imgPreload:null,transitions:{},helpers:{},open:function(b,c){e.isArray(b)||(b=[b]);if(b.length)a.close(!0),
+a.opts=e.extend(!0,{},a.defaults,c),a.group=b,a._start(a.opts.index||0)},cancel:function(){if(!(a.coming&&!1===a.trigger("onCancel"))&&(a.coming=null,a.hideLoading(),a.ajaxLoad&&a.ajaxLoad.abort(),a.ajaxLoad=null,a.imgPreload))a.imgPreload.onload=a.imgPreload.onabort=a.imgPreload.onerror=null},close:function(b){a.cancel();if(a.current&&!1!==a.trigger("beforeClose"))a.unbindEvents(),!a.isOpen||b&&!0===b[0]?(e(".fancybox-wrap").stop().trigger("onReset").remove(),a._afterZoomOut()):(a.isOpen=a.isOpened=
+!1,e(".fancybox-item").remove(),a.wrap.stop(!0).removeClass("fancybox-opened"),a.inner.css("overflow","hidden"),a.transitions[a.current.closeMethod]())},play:function(b){var c=function(){clearTimeout(a.player.timer)},d=function(){c();if(a.current&&a.player.isActive)a.player.timer=setTimeout(a.next,a.current.playSpeed)},g=function(){c();e("body").unbind(".player");a.player.isActive=!1;a.trigger("onPlayEnd")};if(a.player.isActive||b&&!1===b[0])g();else if(a.current&&(a.current.loop||a.current.index<
+a.group.length-1))a.player.isActive=!0,e("body").bind({"afterShow.player onUpdate.player":d,"onCancel.player beforeClose.player":g,"beforeLoad.player":c}),d(),a.trigger("onPlayStart")},next:function(){a.current&&a.jumpto(a.current.index+1)},prev:function(){a.current&&a.jumpto(a.current.index-1)},jumpto:function(b){a.current&&(b=parseInt(b,10),1<a.group.length&&a.current.loop&&(b>=a.group.length?b=0:0>b&&(b=a.group.length-1)),"undefined"!==typeof a.group[b]&&(a.cancel(),a._start(b)))},reposition:function(b){a.isOpen&&
+a.wrap.css(a._getPosition(b))},update:function(){a.isOpen&&(s||(t=setInterval(function(){if(s&&(s=!1,clearTimeout(t),a.current)){if(a.current.autoSize)a.inner.height("auto"),a.current.height=a.inner.height();a._setDimension();a.current.canGrow&&a.inner.height("auto");a.reposition();a.trigger("onUpdate")}},100)),s=!0)},toggle:function(){if(a.isOpen)a.current.fitToView=!a.current.fitToView,a.update()},hideLoading:function(){e("#fancybox-loading").remove()},showLoading:function(){a.hideLoading();e('<div id="fancybox-loading"></div>').click(a.cancel).appendTo("body")},
+getViewport:function(){return{x:l.scrollLeft(),y:l.scrollTop(),w:l.width(),h:l.height()}},unbindEvents:function(){a.wrap&&a.wrap.unbind(".fb");r.unbind(".fb");l.unbind(".fb")},bindEvents:function(){var b=a.current,c=b.keys;b&&(l.bind("resize.fb, orientationchange.fb",a.update),c&&r.bind("keydown.fb",function(b){var g;if(!b.ctrlKey&&!b.altKey&&!b.shiftKey&&!b.metaKey&&0>e.inArray(b.target.tagName.toLowerCase(),["input","textarea","select","button"]))g=b.keyCode,-1<e.inArray(g,c.close)?(a.close(),b.preventDefault()):
+-1<e.inArray(g,c.next)?(a.next(),b.preventDefault()):-1<e.inArray(g,c.prev)&&(a.prev(),b.preventDefault())}),e.fn.mousewheel&&b.mouseWheel&&1<a.group.length&&a.wrap.bind("mousewheel.fb",function(b,c){var f=e(b.target).get(0);if(0===f.clientHeight||f.scrollHeight===f.clientHeight)b.preventDefault(),a[0<c?"prev":"next"]()}))},trigger:function(b){var c,d=a[-1<e.inArray(b,["onCancel","beforeLoad","afterLoad"])?"coming":"current"];if(d){e.isFunction(d[b])&&(c=d[b].apply(d,Array.prototype.slice.call(arguments,
+1)));if(!1===c)return!1;d.helpers&&e.each(d.helpers,function(c,f){if(f&&"undefined"!==typeof a.helpers[c]&&e.isFunction(a.helpers[c][b]))a.helpers[c][b](f,d)});e.event.trigger(b+".fb")}},isImage:function(a){return a&&a.match(/\.(jpg|gif|png|bmp|jpeg)(.*)?$/i)},isSWF:function(a){return a&&a.match(/\.(swf)(.*)?$/i)},_start:function(b){var c={},d=a.group[b]||null,g,f,k;if("object"===typeof d&&(d.nodeType||d instanceof e))g=!0,e.metadata&&(c=e(d).metadata());c=e.extend(!0,{},a.opts,{index:b,element:d},
+e.isPlainObject(d)?d:c);e.each(["href","title","content","type"],function(b,f){c[f]=a.opts[f]||g&&e(d).attr(f)||c[f]||null});if("number"===typeof c.margin)c.margin=[c.margin,c.margin,c.margin,c.margin];c.modal&&e.extend(!0,c,{closeBtn:!1,closeClick:!1,nextClick:!1,arrows:!1,mouseWheel:!1,keys:null,helpers:{overlay:{css:{cursor:"auto"},closeClick:!1}}});a.coming=c;if(!1===a.trigger("beforeLoad"))a.coming=null;else{f=c.type;b=c.href;if(!f)g&&(k=e(d).data("fancybox-type"),!k&&d.className&&(f=(k=d.className.match(/fancybox\.(\w+)/))?
+k[1]:null)),!f&&b&&(a.isImage(b)?f="image":a.isSWF(b)?f="swf":b.match(/^#/)&&(f="inline")),f||(f=g?"inline":"html"),c.type=f;"inline"===f||"html"===f?(c.content=c.content||("inline"===f&&b?e(b):d),c.content.length||(f=null)):(c.href=b||d,c.href||(f=null));c.group=a.group;"image"===f?a._loadImage():"ajax"===f?a._loadAjax():f?a._afterLoad():a._error("type")}},_error:function(b){e.extend(a.coming,{type:"html",autoSize:!0,minHeight:"0",hasError:b,content:a.coming.tpl.error});a._afterLoad()},_loadImage:function(){a.imgPreload=
+new Image;a.imgPreload.onload=function(){this.onload=this.onerror=null;a.coming.width=this.width;a.coming.height=this.height;a._afterLoad()};a.imgPreload.onerror=function(){this.onload=this.onerror=null;a._error("image")};a.imgPreload.src=a.coming.href;a.imgPreload.complete||a.showLoading()},_loadAjax:function(){a.showLoading();a.ajaxLoad=e.ajax(e.extend({},a.coming.ajax,{url:a.coming.href,error:function(b,c){"abort"!==c?a._error("ajax",b):a.hideLoading()},success:function(b,c){if("success"===c)a.coming.content=
+b,a._afterLoad()}}))},_preload:function(){var b=a.group,c=a.current.index,d=function(b){if(b&&a.isImage(b))(new Image).src=b};1<b.length&&(d(e(b[c+1]||b[0]).attr("href")),d(e(b[c-1]||b[b.length-1]).attr("href")))},_afterLoad:function(){a.hideLoading();!a.coming||!1===a.trigger("afterLoad",a.current)?a.coming=!1:(a.isOpened?(e(".fancybox-item").remove(),a.wrap.stop(!0).removeClass("fancybox-opened"),a.inner.css("overflow","hidden"),a.transitions[a.current.prevMethod]()):(e(".fancybox-wrap").stop().trigger("onReset").remove(),
+a.trigger("afterClose")),a.unbindEvents(),a.isOpen=!1,a.current=a.coming,a.coming=!1,a.wrap=e(a.current.tpl.wrap).addClass("fancybox-tmp "+a.current.wrapCSS).appendTo("body"),a.outer=e(".fancybox-outer",a.wrap).css("padding",a.current.padding+"px"),a.inner=e(".fancybox-inner",a.wrap),a._setContent(),a.trigger("beforeShow"),a._setDimension(),a.wrap.hide().removeClass("fancybox-tmp"),a.bindEvents(),a._preload(),a.transitions[a.isOpened?a.current.nextMethod:a.current.openMethod]())},_setContent:function(){var b,
+c,d=a.current,g=d.type;switch(g){case "inline":case "ajax":case "html":b=d.content;"inline"===g&&b instanceof e&&(b=b.show().detach(),b.parent().hasClass("fancybox-inner")&&b.parents(".fancybox-wrap").trigger("onReset").remove(),e(a.wrap).bind("onReset",function(){b.appendTo("body").hide()}));if(d.autoSize)c=e('<div class="fancybox-tmp"></div>').appendTo(e("body")).append(b),d.width=c.outerWidth(),d.height=c.outerHeight(!0),b=c.contents().detach(),c.remove();break;case "image":b=d.tpl.image.replace("{href}",
+d.href);d.aspectRatio=!0;break;case "swf":b=d.tpl.swf.replace(/\{width\}/g,d.width).replace(/\{height\}/g,d.height).replace(/\{href\}/g,d.href);break;case "iframe":b=d.tpl.iframe.replace("{href}",d.href).replace("{scrolling}",d.scrolling).replace("{rnd}",(new Date).getTime())}if(-1<e.inArray(g,["image","swf","iframe"]))d.autoSize=!1,d.scrolling=!1;a.inner.append(b)},_setDimension:function(){var b=a.wrap,c=a.outer,d=a.inner,g=a.current,f=a.getViewport(),k=g.margin,i=2*g.padding,h=g.width+i,j=g.height+
+i,l=g.width/g.height,o=g.maxWidth,m=g.maxHeight,n=g.minWidth,p=g.minHeight;f.w-=k[1]+k[3];f.h-=k[0]+k[2];-1<h.toString().indexOf("%")&&(h=f.w*parseFloat(h)/100);-1<j.toString().indexOf("%")&&(j=f.h*parseFloat(j)/100);g.fitToView&&(o=Math.min(f.w,o),m=Math.min(f.h,m));n=Math.min(h,n);p=Math.min(h,p);o=Math.max(n,o);m=Math.max(p,m);g.aspectRatio?(h>o&&(h=o,j=(h-i)/l+i),j>m&&(j=m,h=(j-i)*l+i),h<n&&(h=n,j=(h-i)/l+i),j<p&&(j=p,h=(j-i)*l+i)):(h=Math.max(n,Math.min(h,o)),j=Math.max(p,Math.min(j,m)));h=Math.round(h);
+j=Math.round(j);e(b.add(c).add(d)).width("auto").height("auto");d.width(h-i).height(j-i);b.width(h);k=b.height();if(h>o||k>m)for(;(h>o||k>m)&&h>n&&k>p;)j-=10,g.aspectRatio?(h=Math.round((j-i)*l+i),h<n&&(h=n,j=(h-i)/l+i)):h-=10,d.width(h-i).height(j-i),b.width(h),k=b.height();g.dim={width:h,height:k};g.canGrow=g.autoSize&&j>p&&j<m;g.canShrink=!1;g.canExpand=!1;if(h-i<g.width||j-i<g.height)g.canExpand=!0;else if((h>f.w||k>f.h)&&h>n&&j>p)g.canShrink=!0;b=k-i;a.innerSpace=b-d.height();a.outerSpace=b-
+c.height()},_getPosition:function(b){var c=a.current,d=a.getViewport(),e=c.margin,f=a.wrap.width()+e[1]+e[3],k=a.wrap.height()+e[0]+e[2],i={position:"absolute",top:e[0]+d.y,left:e[3]+d.x};if(c.fixed&&(!b||!1===b[0])&&k<=d.h&&f<=d.w)i={position:"fixed",top:e[0],left:e[3]};i.top=Math.ceil(Math.max(i.top,i.top+(d.h-k)*c.topRatio))+"px";i.left=Math.ceil(Math.max(i.left,i.left+0.5*(d.w-f)))+"px";return i},_afterZoomIn:function(){var b=a.current;a.isOpen=a.isOpened=!0;a.wrap.addClass("fancybox-opened").css("overflow",
+"visible");a.update();a.inner.css("overflow","auto"===b.scrolling?"auto":"yes"===b.scrolling?"scroll":"hidden");if(b.closeClick||b.nextClick)a.inner.css("cursor","pointer").bind("click.fb",b.nextClick?a.next:a.close);b.closeBtn&&e(b.tpl.closeBtn).appendTo(a.wrap).bind("click.fb",a.close);b.arrows&&1<a.group.length&&((b.loop||0<b.index)&&e(b.tpl.prev).appendTo(a.wrap).bind("click.fb",a.prev),(b.loop||b.index<a.group.length-1)&&e(b.tpl.next).appendTo(a.wrap).bind("click.fb",a.next));a.trigger("afterShow");
+if(a.opts.autoPlay&&!a.player.isActive)a.opts.autoPlay=!1,a.play()},_afterZoomOut:function(){a.trigger("afterClose");a.wrap.trigger("onReset").remove();e.extend(a,{group:{},opts:{},current:null,isOpened:!1,isOpen:!1,wrap:null,outer:null,inner:null})}});a.transitions={getOrigPosition:function(){var b=a.current.element,c={},d=50,g=50,f;b&&b.nodeName&&e(b).is(":visible")?(f=e(b).find("img:first"),f.length?(c=f.offset(),d=f.outerWidth(),g=f.outerHeight()):c=e(b).offset()):(b=a.getViewport(),c.top=b.y+
+0.5*(b.h-g),c.left=b.x+0.5*(b.w-d));return c={top:Math.ceil(c.top)+"px",left:Math.ceil(c.left)+"px",width:Math.ceil(d)+"px",height:Math.ceil(g)+"px"}},step:function(b,c){var d,e,f;if("width"===c.prop||"height"===c.prop)e=f=Math.ceil(b-2*a.current.padding),"height"===c.prop&&(d=(b-c.start)/(c.end-c.start),c.start>c.end&&(d=1-d),e-=a.innerSpace*d,f-=a.outerSpace*d),a.inner[c.prop](e),a.outer[c.prop](f)},zoomIn:function(){var b=a.wrap,c=a.current,d,g;d=c.dim;if("elastic"===c.openEffect){g=e.extend({},
+d,a._getPosition(!0));delete g.position;d=this.getOrigPosition();if(c.openOpacity)d.opacity=0,g.opacity=1;b.css(d).show().animate(g,{duration:c.openSpeed,easing:c.openEasing,step:this.step,complete:a._afterZoomIn})}else b.css(e.extend({},d,a._getPosition())),"fade"===c.openEffect?b.fadeIn(c.openSpeed,a._afterZoomIn):(b.show(),a._afterZoomIn())},zoomOut:function(){var b=a.wrap,c=a.current,d;if("elastic"===c.closeEffect){"fixed"===b.css("position")&&b.css(a._getPosition(!0));d=this.getOrigPosition();
+if(c.closeOpacity)d.opacity=0;b.animate(d,{duration:c.closeSpeed,easing:c.closeEasing,step:this.step,complete:a._afterZoomOut})}else b.fadeOut("fade"===c.closeEffect?c.closeSpeed:0,a._afterZoomOut)},changeIn:function(){var b=a.wrap,c=a.current,d;"elastic"===c.nextEffect?(d=a._getPosition(!0),d.opacity=0,d.top=parseInt(d.top,10)-200+"px",b.css(d).show().animate({opacity:1,top:"+=200px"},{duration:c.nextSpeed,complete:a._afterZoomIn})):(b.css(a._getPosition()),"fade"===c.nextEffect?b.hide().fadeIn(c.nextSpeed,
+a._afterZoomIn):(b.show(),a._afterZoomIn()))},changeOut:function(){var b=a.wrap,c=a.current,d=function(){e(this).trigger("onReset").remove()};b.removeClass("fancybox-opened");"elastic"===c.prevEffect?b.animate({opacity:0,top:"+=200px"},{duration:c.prevSpeed,complete:d}):b.fadeOut("fade"===c.prevEffect?c.prevSpeed:0,d)}};a.helpers.overlay={overlay:null,update:function(){var a,c;this.overlay.width(0).height(0);e.browser.msie?(a=Math.max(q.documentElement.scrollWidth,q.body.scrollWidth),c=Math.max(q.documentElement.offsetWidth,
+q.body.offsetWidth),a=a<c?l.width():a):a=r.width();this.overlay.width(a).height(r.height())},beforeShow:function(b){if(!this.overlay)this.overlay=e('<div id="fancybox-overlay"></div>').css(b.css||{background:"black"}).appendTo("body"),this.update(),b.closeClick&&this.overlay.bind("click.fb",a.close),l.bind("resize.fb",e.proxy(this.update,this)),this.overlay.fadeTo(b.speedIn||"fast",b.opacity||1)},onUpdate:function(){this.update()},afterClose:function(a){this.overlay&&this.overlay.fadeOut(a.speedOut||
+"fast",function(){e(this).remove()});this.overlay=null}};a.helpers.title={beforeShow:function(b){var c;if(c=a.current.title)c=e('<div class="fancybox-title fancybox-title-'+b.type+'-wrap">'+c+"</div>").appendTo("body"),"float"===b.type&&(c.width(c.width()),c.wrapInner('<span class="child"></span>'),a.current.margin[2]+=Math.abs(parseInt(c.css("margin-bottom"),10))),c.appendTo("over"===b.type?a.inner:"outside"===b.type?a.wrap:a.outer)}};e.fn.fancybox=function(b){function c(b){var c=[],i,h=this.rel;
+if(!b.ctrlKey&&!b.altKey&&!b.shiftKey&&!b.metaKey)b.preventDefault(),b=e(this).data("fancybox-group"),"undefined"!==typeof b?i=b?"data-fancybox-group":!1:h&&""!==h&&"nofollow"!==h&&(b=h,i="rel"),i&&(c=g.length?e(g).filter("["+i+'="'+b+'"]'):e("["+i+'="'+b+'"]')),c.length?(d.index=c.index(this),a.open(c.get(),d)):a.open(this,d)}var d=b||{},g=this.selector||"";g?r.undelegate(g,"click.fb-start").delegate(g,"click.fb-start",c):e(this).unbind("click.fb-start").bind("click.fb-start",c);return this}})(window,
+document,jQuery);
\ No newline at end of file

Modified: incubator/openmeetings/trunk/singlewebapp/docs/svn.html
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/docs/svn.html?rev=1220391&r1=1220390&r2=1220391&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/docs/svn.html (original)
+++ incubator/openmeetings/trunk/singlewebapp/docs/svn.html Sun Dec 18 13:24:41 2011
@@ -41,6 +41,55 @@ limitations under the License.
             
             <title>Apache OpenMeetings - Source Code</title>
             <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});		
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
         </head>
 
         <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  

Modified: incubator/openmeetings/trunk/singlewebapp/docs/team-list.html
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/docs/team-list.html?rev=1220391&r1=1220390&r2=1220391&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/docs/team-list.html (original)
+++ incubator/openmeetings/trunk/singlewebapp/docs/team-list.html Sun Dec 18 13:24:41 2011
@@ -40,6 +40,55 @@ limitations under the License.
             
             <title>Apache OpenMeetings - Project Team</title>
             <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
+            
+			<!-- Add jQuery library -->
+			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
+		
+			<!-- Add mousewheel plugin (this is optional) -->
+			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
+		
+			<!-- Add fancyBox main JS and CSS files -->
+			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
+			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
+		
+			<!-- Add Button helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
+		
+			<!-- Add Thumbnail helper (this is optional) -->
+			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
+			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
+			
+			<script type="text/javascript">
+				$(document).ready(function() {
+					$('.fancybox-buttons').fancybox({
+						openEffect  : 'none',
+						closeEffect : 'none',
+		
+						prevEffect : 'none',
+						nextEffect : 'none',
+		
+						closeBtn  : false,
+		
+						helpers : {
+							title : {
+								type : 'inside'
+							},
+							buttons	: {}
+						},
+		
+						afterLoad : function() {
+							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
+						}
+					});		
+				});
+			</script>	
+						
+			<style type="text/css">
+				.fancybox-custom .fancybox-outer {
+					box-shadow: 0 0 50px #222;
+				}
+			</style>
         </head>
 
         <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  

Modified: incubator/openmeetings/trunk/singlewebapp/xdocs/BuildInstructions.xml
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/xdocs/BuildInstructions.xml?rev=1220391&r1=1220390&r2=1220391&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/xdocs/BuildInstructions.xml (original)
+++ incubator/openmeetings/trunk/singlewebapp/xdocs/BuildInstructions.xml Sun Dec 18 13:24:41 2011
@@ -50,11 +50,11 @@
 			</p>
 			<p>To compile the client you can also use ant: </p>
 			<div class="xmlcode">
-				ant # compiles a complete package into the folder dist
-				ant compile.laszlo.main # compiles the client into main.swf8.swf
-				ant
-				compile.laszlo.main.debug # compiles the debug-client into
-				maindebug.swf8.swf
+				ant # compiles a complete package into the folder dist<br/>
+				ant compile.laszlo.main # compiles the client into main.swf8.swf<br/>
+				ant<br/>
+				compile.laszlo.main.debug # compiles the debug-client into<br/>
+				maindebug.swf8.swf<br/>
 			</div>
 			<p>To compile just the openmeetings JAR file: </p>
 			<div class="xmlcode">
@@ -128,27 +128,40 @@
 					2) Change Perspective to SVN Repository Exploring:
 					<br />
 					<br />
-					<img src="images/checkout_1.png" />
+					<a class="fancybox-buttons" data-fancybox-group="button"
+						href="images/checkout_1.png">
+						<img src="images/checkout_1.png" alt="" width="400" height="289" />
+					</a>
+
 				</p>
 				<p>
 					3) Select SVN Repository Exploring and click ok.
 					<br />
 					<br />
-					<img src="images/checkout_2.png" />
+					<a class="fancybox-buttons" data-fancybox-group="button"
+						href="images/checkout_2.png">
+						<img src="images/checkout_2.png" alt="" width="304" height="417" />
+					</a>
 				</p>
 				<p>
 					4) A new Dialog in Eclipse opens
 					<strong>SVN Repositories</strong>
 					<br />
 					<br />
-					<img src="images/checkout_3.png" />
+					<a class="fancybox-buttons" data-fancybox-group="button"
+						href="images/checkout_3.png">
+						<img src="images/checkout_3.png" alt="" width="460" height="102" />
+					</a>
 				</p>
 				<p>
 					5) Click on the icon with the plus in the top right corner in the
 					SVN Repository Dialog
 					<br />
 					<br />
-					<img src="images/checkout_4.png" />
+					<a class="fancybox-buttons" data-fancybox-group="button"
+						href="images/checkout_4.png">
+						<img src="images/checkout_4.png" alt="" width="57" height="38" />
+					</a>
 				</p>
 				<p>
 					6) Add the URL
@@ -157,7 +170,10 @@
 					and click Finish
 					<br />
 					<br />
-					<img src="images/checkout_5.png" />
+					<a class="fancybox-buttons" data-fancybox-group="button"
+						href="images/checkout_5.png">
+						<img src="images/checkout_5.png" alt="" width="455" height="272" />
+					</a>
 				</p>
 				<p>
 					7) After download is complete you see a new Source Repository in
@@ -165,30 +181,39 @@
 					<strong>checkout</strong>
 					<br />
 					<br />
-					<img src="images/checkout_6.png" />
+					<a class="fancybox-buttons" data-fancybox-group="button"
+						href="images/checkout_6.png">
+						<img src="images/checkout_6.png" alt="" width="340" height="135" />
+					</a>
 				</p>
 				<p>
 					8) In the Dialog the opens now just click next
 					<br />
 					<br />
-					<img src="images/checkout_7.png" />
+					<a class="fancybox-buttons" data-fancybox-group="button"
+						href="images/checkout_7.png">
+						<img src="images/checkout_7.png" alt="" width="390" height="338" />
+					</a>
 				</p>
 				<p>
 					9) In the next Dialog just click Finish, Eclipse will then download
 					the sources
 					<br />
 					<br />
-					<img src="images/checkout_8.png" />
+					<a class="fancybox-buttons" data-fancybox-group="button"
+						href="images/checkout_8.png">
+						<img src="images/checkout_8.png" alt="" width="390" height="338" />
+					</a>
 				</p>
 				<p>
 					10) After the download is complete you will see a new Project in
 					the Package Explorer Dialog of Eclipse
 					<br />
 					<br />
-					<img src="images/checkout_9.png">
-
-					</img>
-
+					<a class="fancybox-buttons" data-fancybox-group="button"
+						href="images/checkout_9.png">
+						<img src="images/checkout_9.png" alt="" width="310" height="297" />
+					</a>
 				</p>
 			</subsection>
 
@@ -251,7 +276,8 @@
 				to Ghostscript cannot be read from the system_path. Unfortunately
 				you cannot overwrite that in the Configuration as its an internal
 				link of Ghostscript. However in production environment you will not
-				run into this Issue, its a development problem. </p>
+				run into this Issue, its a development problem.
+			</p>
 		</section>
 
 	</body>

Modified: incubator/openmeetings/trunk/singlewebapp/xdocs/JUnitTesting.xml
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/xdocs/JUnitTesting.xml?rev=1220391&r1=1220390&r2=1220391&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/xdocs/JUnitTesting.xml (original)
+++ incubator/openmeetings/trunk/singlewebapp/xdocs/JUnitTesting.xml Sun Dec 18 13:24:41 2011
@@ -60,7 +60,10 @@
 				</ul>
 			</ol>
 			<p>
-				<img src="images/DebugConfigurations.png" />
+				<a class="fancybox-buttons" data-fancybox-group="button"
+					href="images/DebugConfigurations.png">
+					<img src="images/DebugConfigurations.png" alt="" width="367" height="262" />
+				</a>
 			</p>
 			<ul>
 				<li>Create New Junit configuration, give it a name and select test
@@ -68,7 +71,10 @@
 				</li>
 			</ul>
 			<p>
-				<img src="images/NewConfiguration.png" />
+				<a class="fancybox-buttons" data-fancybox-group="button"
+					href="images/NewConfiguration.png">
+					<img src="images/NewConfiguration.png" alt="" width="420" height="206" />
+				</a>
 			</p>
 			<ul>
 				<li>Select Arguments tab </li>
@@ -81,7 +87,10 @@
 				</div>
 			</ul>
 			<p>
-				<img src="images/Arguments.png" />
+				<a class="fancybox-buttons" data-fancybox-group="button"
+					href="images/Arguments.png">
+					<img src="images/Arguments.png" alt="" width="435" height="410" />
+				</a>
 			</p>
 			<ul>
 				<li>Select Debug </li>

Modified: incubator/openmeetings/trunk/singlewebapp/xdocs/LanguageEditor.xml
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/xdocs/LanguageEditor.xml?rev=1220391&r1=1220390&r2=1220391&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/xdocs/LanguageEditor.xml (original)
+++ incubator/openmeetings/trunk/singlewebapp/xdocs/LanguageEditor.xml Sun Dec 18 13:24:41 2011
@@ -22,23 +22,30 @@
 			<p>Features:</p>
 			<ul>
 				<li>edit the labels of any language, changes will take effect as
-					soon as you re-login </li>
+					soon as you re-login
+				</li>
 				<li>add new languages (for example to fit your co-operative design
-					and language of your company) </li>
+					and language of your company)
+				</li>
 				<li>export the language-files to an XML File (these language Files
 					can be used for your next installation or as contribution to the
-					project) </li>
+					project)
+				</li>
 				<li>
 					import of language files (
 					<i>you should restart the server if you face problems, as the
-						database cache might be invalid</i>
+						database cache might be invalid
+					</i>
 					)
 				</li>
 			</ul>
 			<p>Screen from the Administration Panel: </p>
 			<p>
-				<img
-					src="images/langeditor_screen_v2.png" />
+				<a class="fancybox-buttons" data-fancybox-group="button"
+					href="images/langeditor_screen_v2.png">
+					<img src="images/langeditor_screen_v2.png" alt="" width="475"
+						height="324" />
+				</a>
 			</p>
 
 		</section>

Modified: incubator/openmeetings/trunk/singlewebapp/xdocs/Upgrade.xml
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/xdocs/Upgrade.xml?rev=1220391&r1=1220390&r2=1220391&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/xdocs/Upgrade.xml (original)
+++ incubator/openmeetings/trunk/singlewebapp/xdocs/Upgrade.xml Sun Dec 18 13:24:41 2011
@@ -22,9 +22,13 @@
 			<p>There is a System Backup and Import tool. Login as Administrator
 				and Goto > Backup
 			</p>
-			<img src="/images/system_backup.png" title="System backup"></img>
+			<a class="fancybox-buttons" data-fancybox-group="button"
+				href="images/system_backup.png">
+				<img src="images/system_backup.png" alt="" width="512" height="170" />
+			</a>
 			<p>
-				The Text in the Administration>Backup section actually just says it
+				The Text in the Administration>Backup section actually just says
+				it
 				all. The backup contains users, rooms, organizations and
 				appointements (Invitations and Reminders are NOT included in the
 				Backup and Reminders will not be send again!). The Backup contains

Added: incubator/openmeetings/trunk/singlewebapp/xdocs/images/Features_Screen_Conference_Room.png
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/xdocs/images/Features_Screen_Conference_Room.png?rev=1220391&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/openmeetings/trunk/singlewebapp/xdocs/images/Features_Screen_Conference_Room.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/openmeetings/trunk/singlewebapp/xdocs/images/Features_Screen_Conference_Room_Thumb.png
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/xdocs/images/Features_Screen_Conference_Room_Thumb.png?rev=1220391&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/openmeetings/trunk/singlewebapp/xdocs/images/Features_Screen_Conference_Room_Thumb.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Modified: incubator/openmeetings/trunk/singlewebapp/xdocs/images/langeditor_screen_v2.png
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/xdocs/images/langeditor_screen_v2.png?rev=1220391&r1=1220390&r2=1220391&view=diff
==============================================================================
Binary files - no diff available.

Modified: incubator/openmeetings/trunk/singlewebapp/xdocs/images/system_backup.png
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/xdocs/images/system_backup.png?rev=1220391&r1=1220390&r2=1220391&view=diff
==============================================================================
Binary files - no diff available.