
function CMS_findDefaultGroup(g) {

	for (var i in g) {
		if (CMS_getGroupAttrPublic(g,i,'cms.default_group')!=null) { return i; }
	}

	// none found apparently, return the 1st
	for (var i in g) {	return i; }

	// none exist apparently
	return -1;
}

function CMS_getShowMaxBanners(g,n) {
	return CMS_getGroupAttrPublic(g,n,'cms.show_max_banners');
}

function CMS_getGroupAttrPublic(g,n,attr) {
	var undefined;
	if (g[n]==undefined || g[n].attr_public[attr]==undefined) { return null; }
	else return g[n].attr_public[attr]; 
}

function CMS_getGroupName(g,n) {
	var undefined;
	if (g[n]==undefined) { return null; }
	var name= CMS_getGroupAttrPublic(g,n,'cms.name');
	return (name!=null ? name : g[n].name);
}

function CMS_getGroupByName(g,name) {
	for (var i in g) {
		if (CMS_getGroupName(g,i)==name) return i;
	}
	return null;
}

function CMS_getGroupDescription(g,n) {
	var undefined;
	if (g[n]==undefined) { return null; }
	var descr= CMS_getGroupAttrPublic(g,n,'cms.description');
	return (descr!=null ? descr : g[n].descr);
}

function CMS_getGroupNamesSortedArray(g) {
	var result= new Array();
	var j=0;
	for (var i in g) {
		result[j]= CMS_getGroupName(g,i) + ',' + i;
		j++;
	}
	return result.sort();
}

function CMS_findCampaign(g, n, cid) {
	var undefined;
	if (g[n]==undefined) { return null; }
	for (var i in g[n].campaign) {
		if (g[n].campaign[i].cid==cid) {
			return g[n].campaign[i];
		}
	}
	return null;
}

function CMS_getCampaignAttrPublic(c,attr) {
	var undefined;
	if (c.attr_public[attr]==undefined) { return null; }
	else return c.attr_public[attr]; 
}

function CMS_findBanner(c, width, height) {
	for (var i in c.banner) {
		if (c.banner[i].width==width && c.banner[i].height==height) {
			return c.banner[i];
		}
	}
	return null;
}

function CMS_getClickURL(c, sid, defaultHostName ) {
	var hostName= (c.force_host!=null ? c.force_host : defaultHostName);
	return 'http://' + hostName  + '/servlet/___?action=href&cid=' + c.cid + '&sid=' + sid;
}

function CMS_drawBanner( b, cid, sid, defaultHostName ) {
	return CMS_drawBanner( b, cid, sid, defaultHostName, '_blank' );
}

function CMS_drawBanner( b, cid, sid, defaultHostName, target ) {

	var hostName= (b.force_host!=null ? b.force_host : defaultHostName);
	var src= 'http://' + hostName + '/servlet/___?action=src&n=' + b.n + '&cid=' + cid + '&sid=' + sid;
	var href= 'http://' + hostName  + '/servlet/___?action=href&cid=' + cid + '&sid=' + sid+'&pos=10';
	var vars= 'http://' + hostName + '/servlet/_ca?cid=' + cid;
	
	if (b.ct.indexOf("image/")==0) {
		var result;
		result=  '<A HREF="' + href + '" TARGET="' + target + '">';
		result+= '<IMG SRC="' + src + '" WIDTH="' + b.width + '" HEIGHT="' + b.height + '" BORDER="0">';
		result+= '</IMG></A>';
		return result;
	} else if (b.ct=="text/html") {
		var result;
		result=  '<IFRAME SRC="' + src + '&content-type=html" WIDTH="' + b.width + '" HEIGHT="' + b.height + '" FRAMEBORDER="0" MARGINWIDTH="0" MARGINHEIGHT="0" SCROLLING="no">';
		result+= '</IFRAME>';
		return result;
	} else if (b.ct=="application/x-shockwave-flash") {
		var queryString1= 'cid=' + cid + '&amp;sid=' + sid;
		var queryString2= 'href=' + escape(href) + '&amp;vars=' + escape(vars);
		
		var result;
		result=  '<OBJECT';
		result+= '	WIDTH="' + b.width + '" HEIGHT="' + b.height + '"';
		result+= '	CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"';
		result+= '	CODEBASE="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab">';
 		result+= '	<PARAM NAME="movie" VALUE="' + src + '&' + queryString2 + '">';
 		result+= '	<PARAM NAME="FlashVars" VALUE="' + queryString1 + '&' + queryString2 + '">';
 		result+= '	<PARAM NAME="quality" VALUE="high">';
 		result+= '	<PARAM NAME="play" VALUE="true">';
 		result+= '	<PARAM NAME="loop" VALUE="true">';
 		result+= '	<PARAM NAME="menu" VALUE="false">';
 		result+= '	<PARAM NAME="bgcolor" VALUE="#FFFFFF">';
 		result+= '	<EMBED';
		result+= '	SRC="' + src + '&' + queryString2 + '"';
		result+= '	FLASHVARS="' + queryString1 + '&' + queryString2 + '"';
		result+= '	WIDTH="' + b.width + '" HEIGHT="' + b.height + '"';
		result+= '	QUALITY="high" PLAY="true" LOOP="true" MENU="false" BGCOLOR="#FFFFFF"';
		result+= '	TYPE="application/x-shockwave-flash"';
		result+= '	PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED></OBJECT>';
		return result;
	}

	// Apparently we cannot draw the banner
	return '';
}


