//v0.2
// Revista U - Ad Banner Cycler
// Based on code by Manish Kumar Namdeo
// 2010 Asalvo Comunicacion

// BANNER OBJECT
function Banner(objName){
	this.obj = objName;
	this.aNodes = [];
	this.currentBanner = 0;
	this.changeOnRefresh = false;
	
};

// ADD NEW BANNER
Banner.prototype.add = function(bannerType, bannerPath, bannerDuration, hyperlink) {
	this.aNodes[this.aNodes.length] = new Node(this.obj +"_"+ this.aNodes.length, bannerType, bannerPath, bannerDuration, hyperlink);
};

// NODE OBJECT
function Node(name, bannerType, bannerPath, bannerDuration, hyperlink) {
	this.name = name;
	this.bannerType = bannerType;
	this.bannerPath = bannerPath;
	this.bannerDuration = bannerDuration;
	this.hyperlink= hyperlink;
};

// OUTPUT THE BANNER TO THE PAGE
Banner.prototype.toString = function() {
	var str = "";
	for (var iCtr=0; iCtr < this.aNodes.length; iCtr++){
		if(this.changeOnRefresh == true){
			continue;
		}
		str = str + '<span name="'+this.aNodes[iCtr].name+'" '
		str = str + 'id="'+this.aNodes[iCtr].name+'" ';
		if(this.changeOnRefresh == true){
			str = str + 'class="adbanner_show" ';
		}else{
			str = str + 'class="adbanner_hide" ';
		}
		str = str + 'bgcolor="#FFFFFF" ';	// CHANGE BACKGROUND BANNER COLOR
		str = str + 'align="center" ';
		str = str + 'valign="top" >\n';
		if (this.aNodes[iCtr].hyperlink != ""){
			str = str + '<a href="'+this.aNodes[iCtr].hyperlink+'">';
		}
			
		if ( this.aNodes[iCtr].bannerType == "FLASH" ){
			str = str + '<object '
			str = str + 'classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" '
			str = str + 'width="120" height="250" '
			str = str + 'id="bnr_'+this.aNodes[iCtr].name+'">'
			str = str + '<param name="movie" value="'+ this.aNodes[iCtr].bannerPath + '">'
			str = str + '<!--[if !IE]>-->'
			str = str + '<object type="application/x-shockwave-flash" data="'+ this.aNodes[iCtr].bannerPath + '" '
			str = str + 'width="120" height="250" '
			str = str + '<!--<![endif]-->'
			str = str + '<img src="images/ads/nobanner.gif" width="120" height="250" alt="">'
			str = str + '<!--[if !IE]>--></object><!--<![endif]--></object>'
		}else if ( this.aNodes[iCtr].bannerType == "IMAGE" ){
			str = str + '<img src="'+this.aNodes[iCtr].bannerPath+'" ';
			str = str + 'style="border: 0; background-color:#FFFFFF" alt="" ';
			str = str + 'width="120" height="250">';
		}

		if (this.aNodes[iCtr].hyperlink != ""){
			str = str + '</a>';
		}

		str += '</span>';


	}
	return str;
};

// START THE BANNER ROTATION
Banner.prototype.start = function(){
	if(this.changeOnRefresh == false){
		this.changeBanner();
		var thisBannerObj = this.obj;
		// CURRENT BANNER IS ALREADY INCREMENTED IN THE changeBanner() FUNCTION
		setTimeout(thisBannerObj+".start()", this.aNodes[this.currentBanner].bannerDuration * 1000);
	}
}

// CHANGE BANNER
Banner.prototype.changeBanner = function(){
	var thisBanner;
	var prevBanner = -1;
	if (this.currentBanner < this.aNodes.length ){
		thisBanner = this.currentBanner;
		if (this.aNodes.length > 1){
			if ( thisBanner > 0 ){
				prevBanner = thisBanner - 1;
			}else{
				prevBanner = this.aNodes.length-1;
			}
		}
		if (this.currentBanner < this.aNodes.length - 1){
			this.currentBanner = this.currentBanner + 1;
		}else{
			this.currentBanner = 0;
		}
	}

	if (prevBanner >= 0){
		document.getElementById(this.aNodes[prevBanner].name).className = "adbanner_hide";
	}
	document.getElementById(this.aNodes[thisBanner].name).className = "adbanner_show";
}

// BANNER ARRAYS
// [bannername].add("[TYPE, either IMAGE or FLASH]", "[image url]", [DURATION (in seconds)], "[link url]");

// PLACE IMAGE FOR FIRST BANNER HERE
banner1 = new Banner('banner1');
banner1.add("IMAGE", "images/ads/banner1.jpg", 15, "http://www.kcettes.com");

// PLACE IMAGE FOR SECOND BANNER HERE
banner2 = new Banner('banner2');
banner2.add("FLASH", "images/ads/banner3.swf", 20, "http://www.bk.com");