www: 07ef9fba: adding new version of the homepage for a...

caseyho at pidgin.im caseyho at pidgin.im
Thu Dec 11 22:25:27 EST 2008


-----------------------------------------------------------------
Revision: 07ef9fba2fc3d8d7559081cca1e615cbe691057f
Ancestor: 831c79d2b736038d28c8836ae2aec9847d4cb5e9
Author: caseyho at pidgin.im
Date: 2008-12-12T03:21:47
Branch: im.pidgin.www
URL: http://d.pidgin.im/viewmtn/revision/info/07ef9fba2fc3d8d7559081cca1e615cbe691057f

Added files:
        htdocs/shared/img/bigdownload.bottom.gif
        htdocs/shared/img/bigdownload.middle.gif
        htdocs/shared/img/bigdownload.top.gif
        htdocs/shared/img/blist.jpg
        htdocs/shared/img/im_networks.jpg
        htdocs/shared/img/screens/account-dialogs.jpg
        htdocs/shared/img/screens/account-options.jpg
        htdocs/shared/img/screens/blist-details.jpg
        htdocs/shared/img/screens/blist-status.jpg
        htdocs/shared/img/screens/blist.jpg
        htdocs/shared/img/screens/conversation.jpg
        htdocs/shared/img/screens/plugins.jpg
        htdocs/shared/multibox/README htdocs/shared/multibox/ie6.css
        htdocs/shared/multibox/iepngfix.htc
        htdocs/shared/multibox/images/close.png
        htdocs/shared/multibox/images/left.png
        htdocs/shared/multibox/images/leftDisabled.png
        htdocs/shared/multibox/images/loader.gif
        htdocs/shared/multibox/images/right.png
        htdocs/shared/multibox/images/rightDisabled.png
        htdocs/shared/multibox/multibox.css
        htdocs/shared/multibox/multibox.js
        htdocs/shared/multibox/overlay.js inc/blurb.download_new.inc
        inc/blurb.downloaddetect.inc
Added directories:
        htdocs/shared/img/screens htdocs/shared/multibox
        htdocs/shared/multibox/images
Modified files:
        htdocs/download/windows/index.php htdocs/shared/css/ie6.css
        htdocs/shared/css/main.css inc/blurb.download.inc
        inc/header.inc
Modified attrs:
        htdocs/shared/img/bigdownload.bottom.gif
        htdocs/shared/img/bigdownload.middle.gif
        htdocs/shared/img/bigdownload.top.gif
        htdocs/shared/img/blist.jpg
        htdocs/shared/img/im_networks.jpg
        htdocs/shared/img/screens/account-dialogs.jpg
        htdocs/shared/img/screens/account-options.jpg
        htdocs/shared/img/screens/blist-details.jpg
        htdocs/shared/img/screens/blist-status.jpg
        htdocs/shared/img/screens/blist.jpg
        htdocs/shared/img/screens/conversation.jpg
        htdocs/shared/img/screens/plugins.jpg
        htdocs/shared/multibox/images/close.png
        htdocs/shared/multibox/images/left.png
        htdocs/shared/multibox/images/leftDisabled.png
        htdocs/shared/multibox/images/loader.gif
        htdocs/shared/multibox/images/right.png
        htdocs/shared/multibox/images/rightDisabled.png

ChangeLog: 

adding new version of the homepage for alpha-beta testing.  featuring lightbox with screenshots and more

-------------- next part --------------
============================================================
# htdocs/shared/img/bigdownload.bottom.gif is binary
============================================================
# htdocs/shared/img/bigdownload.middle.gif is binary
============================================================
# htdocs/shared/img/bigdownload.top.gif is binary
============================================================
# htdocs/shared/img/blist.jpg is binary
============================================================
# htdocs/shared/img/im_networks.jpg is binary
============================================================
# htdocs/shared/img/screens/account-dialogs.jpg is binary
============================================================
# htdocs/shared/img/screens/account-options.jpg is binary
============================================================
# htdocs/shared/img/screens/blist-details.jpg is binary
============================================================
# htdocs/shared/img/screens/blist-status.jpg is binary
============================================================
# htdocs/shared/img/screens/blist.jpg is binary
============================================================
# htdocs/shared/img/screens/conversation.jpg is binary
============================================================
# htdocs/shared/img/screens/plugins.jpg is binary
============================================================
--- htdocs/shared/multibox/README	929248aa80f6d3423a1a6cdc855cd30a1cc955e7
+++ htdocs/shared/multibox/README	929248aa80f6d3423a1a6cdc855cd30a1cc955e7
@@ -0,0 +1,3 @@
+Multibox is from http://www.phatfusion.net/multibox/
+
+Under the Open Source MIT license.
============================================================
--- htdocs/shared/multibox/ie6.css	c7d279e276ceff4fa57c9b1ddb848a4e72caa16a
+++ htdocs/shared/multibox/ie6.css	c7d279e276ceff4fa57c9b1ddb848a4e72caa16a
@@ -0,0 +1,3 @@
+.MultiBoxClose, .MultiBoxPrevious, .MultiBoxNext, .MultiBoxNextDisabled, .MultiBoxPreviousDisabled { 
+	behavior: url(iepngfix.htc); 
+}
\ No newline at end of file
============================================================
--- htdocs/shared/multibox/iepngfix.htc	cc2367eb5ae353cc945aaa06b9e7ea1d737896e6
+++ htdocs/shared/multibox/iepngfix.htc	cc2367eb5ae353cc945aaa06b9e7ea1d737896e6
@@ -0,0 +1,68 @@
+<public:component>
+<public:attach event="onpropertychange" onevent="doFix()" />
+
+<script type="text/javascript">
+
+// IE5.5+ PNG Alpha Fix v1.0RC4
+// (c) 2004-2005 Angus Turnbull http://www.twinhelix.com
+
+// This is licensed under the CC-GNU LGPL, version 2.1 or later.
+// For details, see: http://creativecommons.org/licenses/LGPL/2.1/
+
+
+// This must be a path to a blank image. That's all the configuration you need.
+if (typeof blankImg == 'undefined') var blankImg = '/_common/css/blank.gif';
+
+
+var f = 'DXImageTransform.Microsoft.AlphaImageLoader';
+
+function filt(s, m)
+{
+ if (filters[f])
+ {
+  filters[f].enabled = s ? true : false;
+  if (s) with (filters[f]) { src = s; sizingMethod = m }
+ }
+ else if (s) style.filter = 'progid:'+f+'(src="'+s+'",sizingMethod="'+m+'")';
+}
+
+function doFix()
+{
+ // Assume IE7 is OK.
+ if (!/MSIE (5\.5|6\.)/.test(navigator.userAgent) ||
+  (event && !/(background|src)/.test(event.propertyName))) return;
+
+ var bgImg = currentStyle.backgroundImage || style.backgroundImage;
+
+ if (tagName == 'IMG')
+ {
+  if ((/\.png$/i).test(src))
+  {
+   if (currentStyle.width == 'auto' && currentStyle.height == 'auto')
+    style.width = offsetWidth + 'px';
+   filt(src, 'scale');
+   src = blankImg;
+  }
+  else if (src.indexOf(blankImg) < 0) filt();
+ }
+ else if (bgImg && bgImg != 'none')
+ {
+  if (bgImg.match(/^url[("']+(.*\.png)[)"']+$/i))
+  {
+   var s = RegExp.$1;
+   if (currentStyle.width == 'auto' && currentStyle.height == 'auto')
+    style.width = offsetWidth + 'px';
+   style.backgroundImage = 'none';
+   filt(s, 'crop');
+   // IE link fix.
+   for (var n = 0; n < childNodes.length; n++)
+    if (childNodes[n].style) childNodes[n].style.position = 'relative';
+  }
+  else filt();
+ }
+}
+
+doFix();
+
+</script>
+</public:component>
\ No newline at end of file
============================================================
# htdocs/shared/multibox/images/close.png is binary
============================================================
# htdocs/shared/multibox/images/left.png is binary
============================================================
# htdocs/shared/multibox/images/leftDisabled.png is binary
============================================================
# htdocs/shared/multibox/images/loader.gif is binary
============================================================
# htdocs/shared/multibox/images/right.png is binary
============================================================
# htdocs/shared/multibox/images/rightDisabled.png is binary
============================================================
--- htdocs/shared/multibox/multibox.css	ca42d109b6dfb64b9a2f77557260201f27d95a55
+++ htdocs/shared/multibox/multibox.css	ca42d109b6dfb64b9a2f77557260201f27d95a55
@@ -0,0 +1,121 @@
+
+/**************************************************************
+
+	MultiBox
+	v1.3
+
+**************************************************************/
+
+.MultiBoxContainer {
+	position: absolute;
+	border: 20px solid #000;
+	background-color: #FFF;
+	display: none;
+	z-index: 2;
+	text-align: left;
+	/*overflow: hidden;*/
+}
+
+.MultiBoxLoading {
+	background: url(images/loader.gif) no-repeat center;
+}
+
+.MultiBoxContent {
+	position: relative;
+	width: 100%;
+	height: 100%;
+	overflow: hidden;
+}
+
+.MultiBoxClose {
+	position: absolute;
+	top: -26px;
+	right: -26px;
+	background: url(images/close.png) no-repeat;
+	width: 24px;
+	height: 24px;
+	cursor: pointer;
+}
+
+
+.MultiBoxControlsContainer {
+	overflow: hidden;
+	height: 0px;
+	position: relative;
+}
+
+.MultiBoxControls {
+	width: 100%;
+	height: auto;
+	position: relative;
+	background-color: #000000;
+}
+
+
+.MultiBoxPrevious {
+	position: absolute;
+	background: url(images/left.png) no-repeat;
+	width: 24px;
+	height: 24px;
+	left: 0px;
+	margin-top: 5px;
+	cursor: pointer;
+}
+
+.MultiBoxNext {
+	position: absolute;
+	background: url(images/right.png) no-repeat;
+	width: 24px;
+	height: 24px;
+	right: 0px;
+	margin-top: 5px;
+	cursor: pointer;
+}
+
+.MultiBoxNextDisabled {
+	cursor: default;
+	background: url(images/rightDisabled.png) no-repeat;
+}
+
+.MultiBoxPreviousDisabled {
+	cursor: default;
+	background: url(images/leftDisabled.png) no-repeat;
+}
+
+.MultiBoxTitle {
+	position: relative;
+	margin: 10px 0 0 35px;
+	float: left;
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 11px;
+	color: #FFF;
+	font-weight: bold;
+	text-align: left;
+}
+
+.MultiBoxNumber {
+	position: relative;
+	width: 50px;
+	margin: 10px 35px 0 0;
+	float: right;
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 11px;
+	color: #FFF;
+	text-align: right;
+}
+
+.MultiBoxDescription {
+	clear: left;
+	position: relative;
+	margin: 0 35px 0 35px;
+	padding-top: 5px;
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 11px;
+	color: #FFF;
+	text-align: left;
+}
+
+
+
+/*************************************************************/
+
============================================================
--- htdocs/shared/multibox/multibox.js	3b179ba725582be062138e89210035362c172188
+++ htdocs/shared/multibox/multibox.js	3b179ba725582be062138e89210035362c172188
@@ -0,0 +1,677 @@
+
+/**************************************************************
+
+	Script		: MultiBox
+	Version		: 1.3.1
+	Authors		: Samuel Birch
+	Desc		: Supports jpg, gif, png, flash, flv, mov, wmv, mp3, html, iframe
+	Licence		: Open Source MIT Licence
+
+**************************************************************/
+
+var MultiBox = new Class({
+	
+	getOptions: function(){
+		return {
+			initialWidth: 250,
+			initialHeight: 250,
+			container: document.body,
+			useOverlay: false,
+			contentColor: '#FFF',
+			showNumbers: true,
+			showControls: true,
+			//showThumbnails: false,
+			//autoPlay: false,
+			waitDuration: 2000,
+			descClassName: false,
+			descMinWidth: 400,
+			descMaxWidth: 600,
+			movieWidth: 400,
+			movieHeight: 300,
+			offset: {x:0, y:0},
+			fixedTop: false,
+			path: 'files/',
+			onOpen: Class.empty,
+			onClose: Class.empty,
+			openFromLink: true,
+			relativeToWindow: true
+		};
+	},
+
+	initialize: function(className, options){
+		this.setOptions(this.getOptions(), options);
+		
+		this.openClosePos = {};
+		this.timer = 0;
+		this.contentToLoad = {};
+		this.index = 0;
+		this.opened = false;
+		this.contentObj = {};
+		this.containerDefaults = {};
+		
+		if(this.options.useOverlay){
+			this.overlay = new Overlay({container: this.options.container, onClick:this.close.bind(this)});
+		}
+		
+		this.content = $$('.'+className);
+		if(this.options.descClassName){
+			this.descriptions = $$('.'+this.options.descClassName);
+			this.descriptions.each(function(el){
+				el.setStyle('display', 'none');
+			});
+		}
+		
+		this.container = new Element('div').addClass('MultiBoxContainer').injectInside(this.options.container);
+		this.iframe = new Element('iframe').setProperties({
+			'id': 'multiBoxIframe',
+			'name': 'mulitBoxIframe',
+			'src': 'javascript:void(0);',
+			'frameborder': 1,
+			'scrolling': 'no'
+		}).setStyles({
+			'position': 'absolute',
+			'top': -20,
+			'left': -20,
+			'width': '115%',
+			'height': '115%',
+			'filter': 'progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)',
+			'opacity': 0
+		}).injectInside(this.container);
+		this.box = new Element('div').addClass('MultiBoxContent').injectInside(this.container);
+		
+		this.closeButton = new Element('div').addClass('MultiBoxClose').injectInside(this.container).addEvent('click', this.close.bind(this));
+		
+		this.controlsContainer = new Element('div').addClass('MultiBoxControlsContainer').injectInside(this.container);
+		this.controls = new Element('div').addClass('MultiBoxControls').injectInside(this.controlsContainer);
+		
+		this.previousButton = new Element('div').addClass('MultiBoxPrevious').injectInside(this.controls).addEvent('click', this.previous.bind(this));
+		this.nextButton = new Element('div').addClass('MultiBoxNext').injectInside(this.controls).addEvent('click', this.next.bind(this));
+		
+		this.title = new Element('div').addClass('MultiBoxTitle').injectInside(this.controls);
+		this.number = new Element('div').addClass('MultiBoxNumber').injectInside(this.controls);
+		this.description = new Element('div').addClass('MultiBoxDescription').injectInside(this.controls);
+		
+		
+		
+		if(this.content.length == 1){
+			this.title.setStyles({
+				'margin-left': 0
+			});
+			this.description.setStyles({
+				'margin-left': 0
+			});
+			this.previousButton.setStyle('display', 'none');
+			this.nextButton.setStyle('display', 'none');
+			this.number.setStyle('display', 'none');
+		}
+		
+		new Element('div').setStyle('clear', 'both').injectInside(this.controls);
+		
+		this.content.each(function(el,i){
+			el.index = i;
+			el.addEvent('click', function(e){
+				new Event(e).stop();
+				this.open(el);
+			}.bind(this));
+			if(el.href.indexOf('#') > -1){
+				el.content = $(el.href.substr(el.href.indexOf('#')+1));
+				if(el.content){el.content.setStyle('display','none');}
+			}
+		}, this);
+		
+		this.containerEffects = new Fx.Styles(this.container, {duration: 400, transition: Fx.Transitions.sineInOut});
+		this.controlEffects = new Fx.Styles(this.controlsContainer, {duration: 300, transition: Fx.Transitions.sineInOut});
+		
+		this.reset();
+	},
+	
+	setContentType: function(link){
+		var str = link.href.substr(link.href.lastIndexOf('.')+1).toLowerCase();
+		var contentOptions = {};
+		if($chk(link.rel)){
+			var optArr = link.rel.split(',');
+			optArr.each(function(el){
+				var ta = el.split(':');
+				contentOptions[ta[0]] = ta[1];
+			});
+		}
+		
+		if(contentOptions.type != undefined){
+			str = contentOptions.type;
+		}
+		
+		this.contentObj = {};
+		this.contentObj.url = link.href;
+		this.contentObj.xH = 0;
+		
+		if(contentOptions.width){
+			this.contentObj.width = contentOptions.width;
+		}else{
+			this.contentObj.width = this.options.movieWidth;
+		}
+		if(contentOptions.height){
+			this.contentObj.height = contentOptions.height;	
+		}else{
+			this.contentObj.height = this.options.movieHeight;
+		}
+		if(contentOptions.panel){
+			this.panelPosition = contentOptions.panel;
+		}else{
+			this.panelPosition = this.options.panel;
+		}
+		
+		
+		switch(str){
+			case 'jpg':
+			case 'gif':
+			case 'png':
+				this.type = 'image';
+				break;
+			case 'swf':
+				this.type = 'flash';
+				break;
+			case 'flv':
+				this.type = 'flashVideo';
+				this.contentObj.xH = 70;
+				break;
+			case 'mov':
+				this.type = 'quicktime';
+				break;
+			case 'wmv':
+				this.type = 'windowsMedia';
+				break;
+			case 'rv':
+			case 'rm':
+			case 'rmvb':
+				this.type = 'real';
+				break;
+			case 'mp3':
+				this.type = 'flashMp3';
+				this.contentObj.width = 320;
+				this.contentObj.height = 70;
+				break;
+			case 'element':
+				this.type = 'htmlelement';
+				this.elementContent = link.content;
+				this.elementContent.setStyles({
+					display: 'block',
+					opacity: 0
+				})
+	
+				if(this.elementContent.getStyle('width') != 'auto'){
+					this.contentObj.width = this.elementContent.getStyle('width');
+				}
+				
+				this.contentObj.height = this.elementContent.getSize().size.y;
+				this.elementContent.setStyles({
+					display: 'none',
+					opacity: 1
+				})
+				break;
+				
+			default:
+				
+				this.type = 'iframe';
+				if(contentOptions.ajax){
+					this.type = 'ajax';
+				}
+				break;
+		}
+	},
+	
+	reset: function(){
+		this.container.setStyles({
+			'opacity': 0,
+			'display': 'none'
+		});
+		this.controlsContainer.setStyles({
+			'height': 0
+		});
+		this.removeContent();
+		this.previousButton.removeClass('MultiBoxButtonDisabled');
+		this.nextButton.removeClass('MultiBoxButtonDisabled');
+		this.opened = false;
+	},
+	
+	getOpenClosePos: function(el){
+		if (this.options.openFromLink) {
+			if (el.getFirst()) {
+				var w = el.getFirst().getCoordinates().width - (this.container.getStyle('border').toInt() * 2);
+				if (w < 0) {
+					w = 0
+				}
+				var h = el.getFirst().getCoordinates().height - (this.container.getStyle('border').toInt() * 2);
+				if (h < 0) {
+					h = 0
+				}
+				this.openClosePos = {
+					width: w,
+					height: h,
+					top: el.getFirst().getCoordinates().top,
+					left: el.getFirst().getCoordinates().left
+				};
+			}
+			else {
+				var w = el.getCoordinates().width - (this.container.getStyle('border').toInt() * 2);
+				if (w < 0) {
+					w = 0
+				}
+				var h = el.getCoordinates().height - (this.container.getStyle('border').toInt() * 2);
+				if (h < 0) {
+					h = 0
+				}
+				this.openClosePos = {
+					width: w,
+					height: h,
+					top: el.getCoordinates().top,
+					left: el.getCoordinates().left
+				};
+			}
+		}else{
+			if(this.options.fixedTop){
+				var top = this.options.fixedTop;
+			}else{
+				var top = ((window.getHeight()/2)-(this.options.initialHeight/2)-this.container.getStyle('border').toInt())+this.options.offset.y;
+			}
+			this.openClosePos = {
+				width: this.options.initialWidth,
+				height: this.options.initialHeight,
+				top: top,
+				left: ((window.getWidth()/2)-(this.options.initialWidth/2)-this.container.getStyle('border').toInt())+this.options.offset.x
+			};
+		}
+		return this.openClosePos;
+	},
+	
+	open: function(el){
+	
+		this.options.onOpen();
+	
+		this.index = this.content.indexOf(el);
+		
+		this.openId = el.getProperty('id');
+		
+		if(!this.opened){
+			this.opened = true;
+			
+			if(this.options.useOverlay){
+				this.overlay.show();
+			}
+			
+			this.container.setStyles(this.getOpenClosePos(el));
+			this.container.setStyles({
+				opacity: 0,
+				display: 'block'
+			});
+			
+			if(this.options.fixedTop){
+				var top = this.options.fixedTop;
+			}else{
+				var top = ((window.getHeight()/2)-(this.options.initialHeight/2)-this.container.getStyle('border').toInt())+this.options.offset.y;
+			}
+			
+			this.containerEffects.start({
+				width: this.options.initialWidth,
+				height: this.options.initialHeight,
+				top: top,
+				left: ((window.getWidth()/2)-(this.options.initialWidth/2)-this.container.getStyle('border').toInt())+this.options.offset.x,
+				opacity: [0, 1]
+			});
+			
+			this.load(this.index);
+		
+		}else{
+			if (this.options.showControls) {
+				this.hideControls();
+			}
+			this.getOpenClosePos(this.content[this.index]);
+			this.timer = this.hideContent.bind(this).delay(500);
+			this.timer = this.load.pass(this.index, this).delay(1100);
+			
+		}
+		
+	},
+	
+	getContent: function(index){
+		this.setContentType(this.content[index]);
+		var desc = {};
+		if(this.options.descClassName){
+		this.descriptions.each(function(el,i){
+			if(el.hasClass(this.openId)){
+				desc = el.clone();
+			}
+		},this);
+		}
+		//var title = this.content[index].title;
+		this.contentToLoad = {
+			title: this.content[index].title || '&nbsp;',
+			//desc: $(this.options.descClassName+this.content[index].id).clone(),
+			desc: desc,
+			number: index+1
+		};
+	},
+	
+	close: function(){
+		if(this.options.useOverlay){
+			this.overlay.hide();
+		}
+		if (this.options.showControls) {
+			this.hideControls();
+		}
+		this.hideContent();
+		this.containerEffects.stop();
+		this.zoomOut.bind(this).delay(500);
+		this.options.onClose();
+	},
+	
+	zoomOut: function(){
+		this.containerEffects.start({
+			width: this.openClosePos.width,
+			height: this.openClosePos.height,
+			top: this.openClosePos.top,
+			left: this.openClosePos.left,
+			opacity: 0
+		});
+		this.reset.bind(this).delay(500);
+	},
+	
+	load: function(index){
+		this.box.addClass('MultiBoxLoading');
+		this.getContent(index);
+		if(this.type == 'image'){
+			var xH = this.contentObj.xH;
+			this.contentObj = new Asset.image(this.content[index].href, {onload: this.resize.bind(this)});
+			this.contentObj.xH = xH;
+			/*this.contentObj = new Image();
+			this.contentObj.onload = this.resize.bind(this);
+			this.contentObj.src = this.content[index].href;*/
+		}else{
+			this.resize();
+		}
+	},
+	
+	resize: function(){
+		if (this.options.fixedTop) {
+			var top = this.options.fixedTop;
+		}
+		else {
+			var top = ((window.getHeight() / 2) - ((Number(this.contentObj.height) + this.contentObj.xH) / 2) - this.container.getStyle('border').toInt() + window.getScrollTop()) + this.options.offset.y;
+		}
+		var left = ((window.getWidth() / 2) - (this.contentObj.width / 2) - this.container.getStyle('border').toInt()) + this.options.offset.x;
+		if (top < 0) {
+			top = 0
+		}
+		if (left < 0) {
+			left = 0
+		}
+		
+		this.containerEffects.stop();
+		this.containerEffects.start({
+			width: this.contentObj.width,
+			height: Number(this.contentObj.height) + this.contentObj.xH,
+			top: top,
+			left: left,
+			opacity: 1
+		});
+		this.timer = this.showContent.bind(this).delay(500);
+	},
+	
+	showContent: function(){
+		this.box.removeClass('MultiBoxLoading');
+		this.removeContent();
+		
+		this.contentContainer = new Element('div').setProperties({id: 'MultiBoxContentContainer'}).setStyles({opacity: 0, width: this.contentObj.width+'px', height: (Number(this.contentObj.height)+this.contentObj.xH)+'px'}).injectInside(this.box);
+		
+		if(this.type == 'image'){
+			this.contentObj.injectInside(this.contentContainer);
+			
+		}else if(this.type == 'iframe'){
+			new Element('iframe').setProperties({
+				id: 'iFrame'+new Date().getTime(), 
+				width: this.contentObj.width,
+				height: this.contentObj.height,
+				src: this.contentObj.url,
+				frameborder: 0,
+				scrolling: 'auto'
+			}).injectInside(this.contentContainer);
+			
+		}else if(this.type == 'htmlelement'){
+			this.elementContent.clone().setStyle('display','block').injectInside(this.contentContainer);
+			
+		}else if(this.type == 'ajax'){
+			new Ajax(this.contentObj.url, {
+				method: 'get',
+				update: 'MultiBoxContentContainer',
+				evalScripts: true,
+				autoCancel: true
+			}).request();
+			
+		}else{
+			var obj = this.createEmbedObject().injectInside(this.contentContainer);
+			if(this.str != ''){
+				$('MultiBoxMediaObject').innerHTML = this.str;
+			}
+		}
+		
+		this.contentEffects = new Fx.Styles(this.contentContainer, {duration: 500, transition: Fx.Transitions.linear});
+		this.contentEffects.start({
+			opacity: 1
+		});
+		
+		this.title.setHTML(this.contentToLoad.title);
+		this.number.setHTML(this.contentToLoad.number+' of '+this.content.length);
+		if (this.options.descClassName) {
+			if (this.description.getFirst()) {
+				this.description.getFirst().remove();
+			}
+			this.contentToLoad.desc.injectInside(this.description).setStyles({
+				display: 'block'
+			});
+		}
+		//this.removeContent.bind(this).delay(500);
+		if (this.options.showControls) {
+			this.timer = this.showControls.bind(this).delay(800);
+		}
+	},
+	
+	hideContent: function(){
+		this.box.addClass('MultiBoxLoading');
+		this.contentEffects.start({
+			opacity: 0
+		});
+		this.removeContent.bind(this).delay(500);
+	},
+	
+	removeContent: function(){
+		if($('MultiBoxMediaObject')){
+			$('MultiBoxMediaObject').empty();
+			$('MultiBoxMediaObject').remove();
+		}
+		if($('MultiBoxContentContainer')){
+			//$('MultiBoxContentContainer').empty();
+			$('MultiBoxContentContainer').remove();	
+		}
+	},
+	
+	showControls: function(){
+		this.clicked = false;
+		
+		if(this.container.getStyle('height') != 'auto'){
+			this.containerDefaults.height = this.container.getStyle('height')
+			this.containerDefaults.backgroundColor = this.options.contentColor;
+		}
+		
+		this.container.setStyles({
+			//'backgroundColor': this.controls.getStyle('backgroundColor'),
+			'height': 'auto'
+		});
+		
+		if(this.contentToLoad.number == 1){
+			this.previousButton.addClass('MultiBoxPreviousDisabled');
+		}else{
+			this.previousButton.removeClass('MultiBoxPreviousDisabled');
+		}
+		if(this.contentToLoad.number == this.content.length){
+			this.nextButton.addClass('MultiBoxNextDisabled');
+		}else{
+			this.nextButton.removeClass('MultiBoxNextDisabled');
+		}
+		
+		this.controlEffects.start({'height': this.controls.getStyle('height')});
+
+	},
+	
+	hideControls: function(num){
+		this.controlEffects.start({'height': 0}).chain(function(){
+			this.container.setStyles(this.containerDefaults);
+		}.bind(this));
+	},
+	
+	showThumbnails: function(){
+		
+	},
+	
+	next: function(){
+		if(this.index < this.content.length-1){
+			this.index++;
+			this.openId = this.content[this.index].getProperty('id');
+			if (this.options.showControls) {
+				this.hideControls();
+			}
+			this.getOpenClosePos(this.content[this.index]);
+			//this.getContent(this.index);
+			this.timer = this.hideContent.bind(this).delay(500);
+			this.timer = this.load.pass(this.index, this).delay(1100);
+		}
+	},
+	
+	previous: function(){
+		if(this.index > 0){
+			this.index--;
+			this.openId = this.content[this.index].getProperty('id');
+			if (this.options.showControls) {
+				this.hideControls();
+			}
+			this.getOpenClosePos(this.content[this.index]);
+			//this.getContent(this.index);
+			this.timer = this.hideContent.bind(this).delay(500);
+			this.timer = this.load.pass(this.index, this).delay(1000);
+		}
+	},
+	
+	createEmbedObject: function(){
+		if(this.type == 'flash'){
+			var url = this.contentObj.url;
+			
+			var obj = new Element('div').setProperties({id: 'MultiBoxMediaObject'});
+			this.str = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" '
+			this.str += 'width="'+this.contentObj.width+'" ';
+			this.str += 'height="'+this.contentObj.height+'" ';
+			this.str += 'title="MultiBoxMedia">';
+  			this.str += '<param name="movie" value="'+url+'" />'
+  			this.str += '<param name="quality" value="high" />';
+  			this.str += '<embed src="'+url+'" ';
+  			this.str += 'quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" ';
+  			this.str += 'width="'+this.contentObj.width+'" ';
+  			this.str += 'height="'+this.contentObj.height+'"></embed>';
+			this.str += '</object>';
+			
+		}
+		
+		if(this.type == 'flashVideo'){
+			//var url = this.contentObj.url.substring(0, this.contentObj.url.lastIndexOf('.'));
+			var url = this.contentObj.url;
+			
+			var obj = new Element('div').setProperties({id: 'MultiBoxMediaObject'});
+			this.str = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" '
+			this.str += 'width="'+this.contentObj.width+'" ';
+			this.str += 'height="'+(Number(this.contentObj.height)+this.contentObj.xH)+'" ';
+			this.str += 'title="MultiBoxMedia">';
+  			this.str += '<param name="movie" value="'+this.options.path+'flvplayer.swf" />'
+  			this.str += '<param name="quality" value="high" />';
+  			this.str += '<param name="salign" value="TL" />';
+  			this.str += '<param name="scale" value="noScale" />';
+  			this.str += '<param name="FlashVars" value="path='+url+'" />';
+  			this.str += '<embed src="'+this.options.path+'flvplayer.swf" ';
+  			this.str += 'quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" ';
+  			this.str += 'width="'+this.contentObj.width+'" ';
+  			this.str += 'height="'+(Number(this.contentObj.height)+this.contentObj.xH)+'"';
+  			this.str += 'salign="TL" ';
+  			this.str += 'scale="noScale" ';
+  			this.str += 'FlashVars="path='+url+'"';
+  			this.str += '></embed>';
+			this.str += '</object>';
+			
+		}
+		
+		if(this.type == 'flashMp3'){
+			var url = this.contentObj.url;
+			
+			var obj = new Element('div').setProperties({id: 'MultiBoxMediaObject'});
+			this.str = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" '
+			this.str += 'width="'+this.contentObj.width+'" ';
+			this.str += 'height="'+this.contentObj.height+'" ';
+			this.str += 'title="MultiBoxMedia">';
+  			this.str += '<param name="movie" value="'+this.options.path+'mp3player.swf" />'
+  			this.str += '<param name="quality" value="high" />';
+  			this.str += '<param name="salign" value="TL" />';
+  			this.str += '<param name="scale" value="noScale" />';
+  			this.str += '<param name="FlashVars" value="path='+url+'" />';
+  			this.str += '<embed src="'+this.options.path+'mp3player.swf" ';
+  			this.str += 'quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" ';
+  			this.str += 'width="'+this.contentObj.width+'" ';
+  			this.str += 'height="'+this.contentObj.height+'"';
+  			this.str += 'salign="TL" ';
+  			this.str += 'scale="noScale" ';
+  			this.str += 'FlashVars="path='+url+'"';
+  			this.str += '></embed>';
+			this.str += '</object>';
+		}
+		
+		if(this.type == 'quicktime'){
+			var obj = new Element('div').setProperties({id: 'MultiBoxMediaObject'});
+			this.str = '<object  type="video/quicktime" classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab"';
+			this.str += ' width="'+this.contentObj.width+'" height="'+this.contentObj.height+'">';
+			this.str += '<param name="src" value="'+this.contentObj.url+'" />';
+			this.str += '<param name="autoplay" value="true" />';
+			this.str += '<param name="controller" value="true" />';
+			this.str += '<param name="enablejavascript" value="true" />';
+			this.str += '<embed src="'+this.contentObj.url+'" autoplay="true" pluginspage="http://www.apple.com/quicktime/download/" width="'+this.contentObj.width+'" height="'+this.contentObj.height+'"></embed>';
+			this.str += '<object/>';
+			
+		}
+		
+		if(this.type == 'windowsMedia'){
+			var obj = new Element('div').setProperties({id: 'MultiBoxMediaObject'});
+			this.str = '<object  type="application/x-oleobject" classid="CLSID:22D6f312-B0F6-11D0-94AB-0080C74C7E95" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,7,1112"';
+			this.str += ' width="'+this.contentObj.width+'" height="'+this.contentObj.height+'">';
+			this.str += '<param name="filename" value="'+this.contentObj.url+'" />';
+			this.str += '<param name="Showcontrols" value="true" />';
+			this.str += '<param name="autoStart" value="true" />';
+			this.str += '<embed type="application/x-mplayer2" src="'+this.contentObj.url+'" Showcontrols="true" autoStart="true" width="'+this.contentObj.width+'" height="'+this.contentObj.height+'"></embed>';
+			this.str += '<object/>';
+			
+		}
+		
+		if(this.type == 'real'){
+			var obj = new Element('div').setProperties({id: 'MultiBoxMediaObject'});
+			this.str = '<object classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA"';
+			this.str += ' width="'+this.contentObj.width+'" height="'+this.contentObj.height+'">';
+			this.str += '<param name="src" value="'+this.contentObj.url+'" />';
+			this.str += '<param name="controls" value="ImageWindow" />';
+			this.str += '<param name="autostart" value="true" />';
+			this.str += '<embed src="'+this.contentObj.url+'" controls="ImageWindow" autostart="true" width="'+this.contentObj.width+'" height="'+this.contentObj.height+'"></embed>';
+			this.str += '<object/>';
+			
+		}
+		
+		return obj;
+	}
+	
+});
+MultiBox.implement(new Options);
+MultiBox.implement(new Events);
+
+
+/*************************************************************/
+
============================================================
--- htdocs/shared/multibox/overlay.js	0f7590d32d9df43d19f1923e63766e1723f91cc7
+++ htdocs/shared/multibox/overlay.js	0f7590d32d9df43d19f1923e63766e1723f91cc7
@@ -0,0 +1,100 @@
+
+/**************************************************************
+
+	Script		: Overlay
+	Version		: 1.2
+	Authors		: Samuel birch
+	Desc		: Covers the window with a semi-transparent layer.
+	Licence		: Open Source MIT Licence
+
+**************************************************************/
+
+var Overlay = new Class({
+	
+	getOptions: function(){
+		return {
+			colour: '#000',
+			opacity: 0.7,
+			zIndex: 1,
+			container: document.body,
+			onClick: Class.empty
+		};
+	},
+
+	initialize: function(options){
+		this.setOptions(this.getOptions(), options);
+		
+		this.options.container = $(this.options.container);
+		
+		this.container = new Element('div').setProperty('id', 'OverlayContainer').setStyles({
+			position: 'absolute',
+			left: '0px',
+			top: '0px',
+			width: '100%',
+			zIndex: this.options.zIndex
+		}).injectInside(this.options.container);
+		
+		this.iframe = new Element('iframe').setProperties({
+			'id': 'OverlayIframe',
+			'name': 'OverlayIframe',
+			'src': 'javascript:void(0);',
+			'frameborder': 1,
+			'scrolling': 'no'
+		}).setStyles({
+			'position': 'absolute',
+			'top': 0,
+			'left': 0,
+			'width': '100%',
+			'height': '100%',
+			'filter': 'progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)',
+			'opacity': 0,
+			'zIndex': 1
+		}).injectInside(this.container);
+		
+		this.overlay = new Element('div').setProperty('id', 'Overlay').setStyles({
+			position: 'absolute',
+			left: '0px',
+			top: '0px',
+			width: '100%',
+			height: '100%',
+			zIndex: 2,
+			backgroundColor: this.options.colour
+		}).injectInside(this.container);
+		
+		this.container.addEvent('click', function(){
+			this.options.onClick();
+		}.bind(this));
+		
+		this.fade = new Fx.Style(this.container, 'opacity').set(0);
+		this.position();
+		
+		window.addEvent('resize', this.position.bind(this));
+	},
+	
+	position: function(){ 
+		if(this.options.container == document.body){ 
+			var h = window.getScrollHeight()+'px'; 
+			this.container.setStyles({top: '0px', height: h}); 
+		}else{ 
+			var myCoords = this.options.container.getCoordinates(); 
+			this.container.setStyles({
+				top: myCoords.top+'px', 
+				height: myCoords.height+'px', 
+				left: myCoords.left+'px', 
+				width: myCoords.width+'px'
+			}); 
+		} 
+	},
+	
+	show: function(){
+		this.fade.start(0,this.options.opacity);
+	},
+	
+	hide: function(){
+		this.fade.start(this.options.opacity,0);
+	}
+	
+});
+Overlay.implement(new Options);
+
+/*************************************************************/
============================================================
--- inc/blurb.download_new.inc	e941db340f923b4483cce82da718572bb5037fdd
+++ inc/blurb.download_new.inc	e941db340f923b4483cce82da718572bb5037fdd
@@ -0,0 +1,21 @@
+<?php
+include($_SERVER['DOCUMENT_ROOT'] . "/../inc/blurb.downloaddetect.inc");
+?>
+
+<div id="download_new">
+<img src="/shared/img/bigdownload.top.gif" alt="" />
+<div>
+<a id="download_link" href="<? echo $download_link; ?>"
+<?php if (strlen($download_goal) > 0) { ?>
+ onClick="javascript:pageTracker._trackPageview('<? echo $download_goal; ?>');"
+<?php } ?>
+>
+<strong>Download Pidgin <? echo $download_os; ?> </strong> <br />
+
+
+version <? echo $pidgin_version; ?>
+</div>
+
+<img src="/shared/img/bigdownload.bottom.gif" alt="" />
+
+</div>
============================================================
--- inc/blurb.downloaddetect.inc	a32035c95247ec25ff466656daf874ccd1e60d4e
+++ inc/blurb.downloaddetect.inc	a32035c95247ec25ff466656daf874ccd1e60d4e
@@ -0,0 +1,34 @@
+<?
+
+  // Figure out what browser we're working with
+  $useragent = $_SERVER['HTTP_USER_AGENT'];
+
+  // Default vals
+  $download_link = "/download/";
+  $download_os = "";
+  $download_goal = "";
+
+  if (strstr($useragent, 'Win')) {
+    $download_os = "for Windows";
+    $download_link = "http://downloads.sourceforge.net/pidgin/pidgin-$pidgin_version.exe";
+    $download_goal = "/goals/downloads/win";
+  } else if (strstr($useragent, "Ubuntu")) {
+    // Once the PPA is ready to go public, we'll have a separate Ubuntu page.
+    $download_os = "for Ubuntu";
+    $download_link = "/download/source/";
+  } else if (strstr($useragent, 'CentOS') ||
+             strstr($useragent, 'RHEL')) {
+    $download_os = "for CentOS / RHEL";
+    $download_link = "/download/centos_rhel/";
+  } else if (strstr($useragent, "Fedora")) {
+    $download_os = "for Fedora Core";
+    $download_link = "/download/fedora_core/";
+  } else if (strstr($useragent, "Mac")) {
+    $download_os = "for Mac OS X";
+    $download_link = "/download/mac/";
+  } else if (strstr($useragent, 'X11') ||
+             strstr($useragent, 'Linux')) {
+    $download_os = "Source";
+    $download_link = "/download/source/";
+  }
+?>
============================================================
--- htdocs/download/windows/index.php	b6c12350ec835392fd8415c09b78e57ebeb173df
+++ htdocs/download/windows/index.php	4175d09efe112c89ba59b6d92d0d64e4c7210c84
@@ -19,7 +19,9 @@
 
 <div class="box_download">
 
-<p><a href="http://downloads.sourceforge.net/pidgin/pidgin-<? echo $pidgin_version; ?>.exe">
+<p><a href="http://downloads.sourceforge.net/pidgin/pidgin-<? echo $pidgin_version; ?>.exe"
+onClick="javascript:pageTracker._trackPageview('/goals/downloads/win');"
+>
 <img src="/shared/img/button.download.png" alt="[Down Arrow]" id="downbutton" />
 Download Pidgin<br />
 <span class="number"><? echo $pidgin_version; ?> for Windows</span>
============================================================
--- htdocs/shared/css/ie6.css	f502ca6b71b3d08138e3cded2c0be6605d3b4964
+++ htdocs/shared/css/ie6.css	cf9f7307f211f077bd70baf46a6b81d9d188c675
@@ -4,6 +4,7 @@
 }
 
 /* Hacks: Work around transparency and positioning issues for :after */
+
 .box_home:after {
   content: "\A0";
   font-size: 1pt;
@@ -15,6 +16,12 @@
   margin-left: 0px;
 }
 
+.box_full:before {
+  content: "\A0";
+  font-size: 1pt;
+  background: url('/shared/img/frame.full.top.png') bottom right;
+}
+
 .box_full:after {
   content: "\A0";
   font-size: 1pt;
============================================================
--- htdocs/shared/css/main.css	4b2064c89cee5a545e305d1c7da7c95bcc37082f
+++ htdocs/shared/css/main.css	b24397cc2b49ceeea3ce53a8d79cfca765b90b15
@@ -90,6 +90,54 @@ a:hover, a:active {
   padding-top: 2px;
 }
 
+/* styles related to test version of home page */
+#sidebar {
+  margin-right: 250px;
+  text-align: center;
+}
+
+#main_content {
+  float: right;
+  width: 500px;
+}
+
+#main_content UL {
+  font-size: 125%;
+}
+
+#main_content LI {
+  padding-bottom: 0.8em;
+}
+
+#download_new {
+  padding: 5px 20px;
+  text-align: center;
+  width: 388px;
+  font-size: 10%;
+}
+
+#download_new DIV {
+  font-size: 1500%;
+  background: url('/shared/img/bigdownload.middle.gif') repeat-y;
+}
+
+#download_new A {
+  text-decoration: none;
+  display: block;
+  color: #000;
+}
+
+DIV.linkbar {
+  display:block;
+  padding: 5px 20px;
+  width:388px;
+  text-align:center;
+}
+
+
+/* END styles related to test version of home page */
+
+
 .box_home {
   width: 395px;
   padding: 0;
@@ -104,7 +152,7 @@ a:hover, a:active {
 
 .box_full {
   position: relative;
-  z-index: 5;
+  z-index: 1;
   width: 790px;
   padding: 0;
   clear: both;
============================================================
--- inc/blurb.download.inc	05efec4e57d83b8d022adeb7093f9dd4f19ea8b4
+++ inc/blurb.download.inc	1914c0fe970f683e7e2a5bd4124eee3351050ab2
@@ -1,43 +1,17 @@
-<?
-
-  // Figure out what browser we're working with
-  $useragent = $_SERVER['HTTP_USER_AGENT'];
-
-  // Default vals
-  $download_link = "/download/";
-  $download_os = "";
-
-  if (strstr($useragent, 'Win')) {
-    $download_os = "for Windows";
-    $download_link = "/download/windows/";
-  } else if (strstr($useragent, "Ubuntu")) {
-    // Once the PPA is ready to go public, we'll have a separate Ubuntu page.
-    $download_os = "for Ubuntu";
-    $download_link = "/download/source/";
-  } else if (strstr($useragent, 'CentOS') ||
-             strstr($useragent, 'RHEL')) {
-    $download_os = "for CentOS / RHEL";
-    $download_link = "/download/centos_rhel/";
-  } else if (strstr($useragent, "Fedora")) {
-    $download_os = "for Fedora Core";
-    $download_link = "/download/fedora_core/";
-  } else if (strstr($useragent, "Mac")) {
-    $download_os = "for Mac OS X";
-    $download_link = "/download/mac/";
-  } else if (strstr($useragent, 'X11') ||
-             strstr($useragent, 'Linux')) {
-    $download_os = "Source";
-    $download_link = "/download/source/";
-  }
+<?php
+include($_SERVER['DOCUMENT_ROOT'] . "/../inc/blurb.downloaddetect.inc");
 ?>
 
 <div id="download">
 <?php if ($page['section'] == "Home") { ?>
 <img src="/shared/img/logo.pidgin.png" alt="[Pidgin Logo]" id="logo" width="107" height="185" />
 <?php } ?>
-<a id="download_link" href="<? echo $download_link; ?>">
-<img src="/shared/img/button.download.png" alt="[Down Arrow]" id="downbutton" width="48" height="48" 
-/>
+<a id="download_link" href="<? echo $download_link; ?>"
+<?php if (strlen($download_goal) > 0) { ?>
+ onClick="javascript:pageTracker._trackPageview('<? echo $download_goal; ?>');"
+<?php } ?>
+>
+<img src="/shared/img/button.download.png" alt="[Down Arrow]" id="downbutton" width="48" height="48" />
 Download Pidgin<br />
 <span class="number"><? echo $pidgin_version; ?></span> 
 <span class="number" id="os_name"> <? echo $download_os; ?></span></a>
============================================================
--- inc/header.inc	50f8c3aa45fb823e343796bc4a58e64816ae00a0
+++ inc/header.inc	5f8ced5f7ab24bb3937e4ba7a0eb6bab09d2b457
@@ -57,6 +57,10 @@ $sections['Support & Development'] = "ht
     <link rel="stylesheet" href="/shared/css/ie7.css" type="text/css" />
   <![endif]-->
 
+  <?php if($page['section'] == 'Home2') { ?>
+    <?php include("multibox.header.inc"); ?>
+  <?php } ?>
+
 </head>
 <body>
 


More information about the Commits mailing list