
/***************************************************************************************************************
* Function			:	multiGroupBannersObj.init(containerId, autoTime)
* Description		:	Enable banner framework. Toggle between unfixed numebr of banners.
* Parameter Usage	:	GroupIDs	:	Array of div'id.
*						autoTime	:	(Optional) time interval in seconds between each banner is shown, default is 5 seconds
* Location			:	/content/hongkongpws/banking/js/multigroup_banners.js
* Author			:	Mitch Leung
* Creation Date		:	4 March 2009
* Update Date		:	3 July 2009
* Side effect		:	N/A
* Amendment History	:
* Date		By					Description
* ---------	------------	--------------------------------------------------------------------------------
2009-10-21	Derek Wong		Resolving display problem if campaign items less than 2 (Copy from HSBC PIB multigroup_banner.js)
***************************************************************************************************************/
var multiGroupBannersObj = {
	interval:5000,
	timer:0,
	banners:null,
	activeId:0,
	init:function(GroupIDs, autoTime){
		if (autoTime!=null && autoTime > 0){
			this.interval = autoTime * 1000;
		}
		var iGroup;
		for(iGroup = 0; iGroup < GroupIDs.length; iGroup++){
			var container = document.getElementById(GroupIDs[iGroup]);
			if(container){
				if (container.className.indexOf('multiBanners_long')!=-1){
					container.className += ' jsbanner';
				}
				var divs = container.getElementsByTagName('div');
				if (divs.length > 1){
					//Start of update (21 October 2009)
					container.removeChild(divs[0]); 
					var i;
					var bannerChild = container.getElementsByTagName('div');
					this.banners = new Array();
					for(i = 0; i < bannerChild.length; i++){
						if (bannerChild[i].className.indexOf('active') != -1){
							this.banners.push(bannerChild[i]);
						}
					}
					bannerChild = i = null;
					if (this.banners.length >= 2){
						this.toggleBanner(parseInt(this.banners.length*Math.random()));
						this.timer=setTimeout('multiGroupBannersObj.autoPilot()',this.interval);
					}else{
						this.toggleBanner(0);
					}
					//end of update
				}
				divs = null;
			}
			container = null;
		}
	},
	toggleBanner:function(id){
		if (id>=0 && id<this.banners.length){
			this.activeId = id;
			var i;
			var imgs;
			for (i = 0; i < this.banners.length; i++){
				if (i==this.activeId ){
					this.banners[i].className = 'active';
					imgs = this.banners[i].getElementsByTagName('img');
					if (imgs.length==1 && imgs[0].getAttribute('longdesc')!=''){
						imgs[0].src=imgs[0].getAttribute('longdesc');
						imgs[0].setAttribute('longdesc','');
					}
				}else{
					this.banners[i].className = 'inactive';
				}
			}
			i = null;
		}
	},
	autoPilot:function(){
		clearTimeout(this.timer);
		this.toggleBanner((this.activeId + 1) % this.banners.length);
		this.timer=setTimeout('multiGroupBannersObj.autoPilot()',this.interval);
	}
};
multiGroupBannersObj.init(['multiBannersContainer'], 10);
//multiGroupBannersObj.timer=setTimeout('multiGroupBannersObj.init(["multiBannersContainer"], 7)',2000);