<!--
var boxSelected;
var boxWeight;
var poolsize;
var boxnum=4;

function disablePromoBox(i) {
	boxpool[i].enabled=false;
 	boxWeight-=boxpool[i].weight;
 	poolsize--;
}

function createPromoBoxPool() {
	var i;
	var now=new Date();

	boxWeight=0;

	poolsize=0;
	// remove those not within promotion period, accumulate weight parameter for each pool, count poolsize
	for (i=0;i<boxpool.length;i++) {
		if (now<boxpool[i].effective)	boxpool[i].enabled=false;
		if (now>boxpool[i].expiry)		boxpool[i].enabled=false;
		if (boxpool[i].enabled)	{
			boxWeight+=boxpool[i].weight;
			poolsize++;
		}
	}

	// initial an array for the result 
	boxSelected=new Array();
	for (i=0;i<boxnum;i++) boxSelected[i]=-1;

	// fixed promotion
	for (i=0;i<boxpool.length;i++) {
		if (boxpool[i].enabled) {
			if (boxpool[i].pos>=0) {
				boxSelected[boxpool[i].pos]=i;
				disablePromoBox(i);
			}
		}
	}
	
	var listA = new Array();
	var listB = new Array();
	var numA = 0;
	var numB = 0;	

	// forced item will go first.	
	for (i=0;i<boxpool.length;i++) {
		if (boxpool[i].enabled) {
			if (boxpool[i].force) {
				if (boxpool[i].group=='A') 
					listA[numA++]=i;
				else 
					listB[numB++]=i;
				disablePromoBox(i);
			}	
		}
	}	

	var loopcount=0;
	while (poolsize > 0) {
		var rand=Math.round(Math.random()*(boxWeight-1));
		for (i=0;i<boxpool.length;i++) {
			if (boxpool[i].enabled) {
				if (rand<boxpool[i].weight) {
					if (boxpool[i].group=='A') 
						listA[numA++]=i;
					else 
						listB[numB++]=i;
					disablePromoBox(i);
					break;
				}
				else {	
					rand-=boxpool[i].weight;
				}
			}
		}
		loopcount++;
		if (loopcount>=64) break;  //prevent infinite loop
	}

	// create a list of empty box	
	var empty=new Array();
	var count=0;
	for (i=0;i<boxnum;i++) {
		if (boxSelected[i]<0) 
			empty[count++]=i;
	}	
	
	// randomize the position
	for (i=0;i<count;i++) {
		var p1 = Math.round(Math.random()*(count-1));
		var p2 = Math.round(Math.random()*(count-1));
		var tmp;
		tmp=empty[p1];
		empty[p1]=empty[p2];
		empty[p2]=tmp;
	}	

	// put the selected promotion to the boxs
	var posA = 0;
	var posB = 0;

	for (i=0;i<count;i++) {
		var pos=empty[i];
		boxSelected[pos]=(boxgroup[pos]=='A'?listA[posA++]:listB[posB++]);
	}	
	
	//alert(boxSelected);
}

function createPromoBox() {

	var i;
	var html='';
	var d=new String(parent.document.location.host);
	var sc=false;

	//definePromoBox();
	createPromoBoxPool();

	var re = /sc.hangseng.com/i;
  if (re.test(d)) sc=true;

	html+='<table width="100%" border="0" cellspacing="0" cellpadding="0" align="right">';
	html+='<tr>';
	var boxdisplayed=0;

	for (i=0; i<boxnum; i++)	{
		var c=boxSelected[i];

		if (c>=0) {
			if (sc) {			
				var re1 = /\/chi\//i;
				boxpool[c].pic = boxpool[c].pic.replace(re1,"/schi/");
				boxpool[c].buttonPic = boxpool[c].buttonPic.replace(re1,"/schi/");
			}

			html+='<td width="50%" height="191" class="promo_left"><div class="promo_box"><img src="/hsb/com/spacer.gif" width="5" height="10"><a ' + boxpool[c].link + ' onmousedown="return clk(\'' + boxpool[c].sect + '\', \'' +  boxpool[c].to + '\')"><img src="' + boxpool[c].pic + '" width="220" border="0" title="' + boxpool[c].picAltText + '" /></a><br />';
			html+='<ul class="promo">';
			html+=boxpool[c].content;
			html+='</ul>';
			html+='</div>';
			html+='<div class="validdate">' + boxpool[c].smallText + ' <a ' + boxpool[c].buttonLink + ' onmousedown="return clk(\'' + boxpool[c].sect + '\', \'' +  boxpool[c].bto + '\')"><img src="' + boxpool[c].buttonPic + '" title="' + boxpool[c].balt + '" border="0" style="vertical-align:middle"/></a></div></td>';
			
			boxdisplayed += 1;

			if (boxdisplayed%2==0){
				html+='</tr><tr>'; 
			}else{
				html+='<td><img src="/hsb/com/spacer.gif" border="0" width="3" height="0"></td>'
			}
		}
	}
	html+='</tr>\n';
	html+='</table>\n';

	document.write(html);
}
//-->
