﻿// BANNER OBJECT
function Banner(objName){
	this.obj = objName;
	this.aNodes = [];
	this.currentBanner = 0;	
	this.hasPager = false;
	this.pagerHtml = '';
	this.writeMsg = false;
};

// ADD NEW BANNER
Banner.prototype.add = function(bannerType, bannerPath, bannerDuration, height, width, hyperlink, linkTitle, message) {
	this.aNodes[this.aNodes.length] = new Node(this.obj +"_"+ this.aNodes.length, bannerType, bannerPath, bannerDuration, height, width, hyperlink, linkTitle, message);
};

// Node object
function Node(name, bannerType, bannerPath, bannerDuration, height, width, hyperlink, linkTitle, message) {
	this.name = name;
	this.bannerType = bannerType;
	this.bannerPath = bannerPath;
	this.bannerDuration = bannerDuration;
	this.height = height
	this.width = width;
	this.hyperlink = hyperlink;
	this.linkTitle = linkTitle;
	this.message = '<h3>'+message.replace('##product_link##','<a href="'+hyperlink+'" title="'+linkTitle+'">detalii</a>')+'</h3>';
//	alert (name +"|" + bannerType +"|" + bannerPath +"|" + bannerDuration +"|" + height +"|" + width + "|" + hyperlink + "|" +linkTitle);
};

// Outputs the banner to the page
Banner.prototype.toString = function() {
	var str = ""
	for (var iCtr=0; iCtr < this.aNodes.length; iCtr++){
		str = str + '<div name="'+this.aNodes[iCtr].name+'" '
		str = str + 'id="'+this.aNodes[iCtr].name+'" ';
		str = str + 'class="banner_hide middle_banner" ';
		str = str + '>\n';
		if (this.aNodes[iCtr].hyperlink != ""){
			str = str + '<a href="'+this.aNodes[iCtr].hyperlink+'" title="'+this.aNodes[iCtr].linkTitle+'">';
		}
			
		if ( this.aNodes[iCtr].bannerType == "FLASH" ){
			str = str + '<OBJECT '
			str = str + 'classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" '
			str = str + 'codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" '
			str = str + 'WIDTH="'+this.aNodes[iCtr].width+'" '
			str = str + 'HEIGHT="'+this.aNodes[iCtr].height+'" '
			str = str + 'id="bnr_'+this.aNodes[iCtr].name+'" '
			str = str + 'ALIGN="" '
			str = str + 'VIEWASTEXT>'
			str = str + '<PARAM NAME=movie VALUE="'+ this.aNodes[iCtr].bannerPath + '">'
			str = str + '<PARAM NAME=quality VALUE=high>'
			str = str + '<PARAM NAME=bgcolor VALUE=#FFFCDA>'
			str = str + '<EMBED ';
			str = str + 'src="'+this.aNodes[iCtr].bannerPath+'" '
			str = str + 'quality=high '
//			str = str + 'bgcolor=#FFFCDA '
			str = str + 'WIDTH="'+this.aNodes[iCtr].width+'" '
			str = str + 'HEIGHT="'+this.aNodes[iCtr].height+'" '
			str = str + 'NAME="bnr_'+this.aNodes[iCtr].name+'" '
			str = str + 'ALIGN="center" '
			str = str + 'TYPE="application/x-shockwave-flash" '
			str = str + 'PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer">'
			str = str + '</EMBED>'
			str = str + '</OBJECT>'
		}else if ( this.aNodes[iCtr].bannerType == "IMAGE" ){
			str = str + '<img src="'+this.aNodes[iCtr].bannerPath+'" ';
			str = str + 'border="0" ';
			str = str + 'height="'+this.aNodes[iCtr].height+'" ';
			str = str + 'width="'+this.aNodes[iCtr].width+'">';
		}

		if (this.aNodes[iCtr].hyperlink != ""){
			str = str + '</a>';
		}

		str += '</div>';
	}
	return str;
};

// START THE BANNER ROTATION
Banner.prototype.start = function(){
	this.changeBanner();
	var thisBannerObj = this.obj;
	// CURRENT BANNER IS ALREADY INCREMENTED IN cahngeBanner() 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 = "banner_hide";
		if(this.hasPager)
		{
		    document.getElementById('rnk-banner-pager-a-'+prevBanner).className = "regularBanner";
		}
	}
	if(this.hasPager)
	{
	    var currentPager = -1;
	    if(this.currentBanner > 0)
	    {
	        currentPager = this.currentBanner-1;
	    }
	    else
	    {
	        currentPager = this.aNodes.length-1;
	    }
	    document.getElementById('rnk-banner-pager-a-'+currentPager).className = "currentBanner";
	}
	if(this.writeMsg)
    {
        var currentPager = -1;
	    if(this.currentBanner > 0)
	    {
	        currentPager = this.currentBanner-1;
	    }
	    else
	    {
	        currentPager = this.aNodes.length-1;
	    }
        document.getElementById('banner-msg').innerHTML = banner1.aNodes[currentPager].message;
    }
	
	document.getElementById(this.aNodes[thisBanner].name).className = "banner_show";
}

//CREATE BANNER PAGER
Banner.prototype.buildPager = function () {
    if(this.aNodes && this.aNodes.length > 0)
    {
        this.hasPager = true;
        //alert ("Total number of banners = "+this.aNodes.length);
        var pgr = "";
        pgr+='<div id="rnk-banner-pager" class="banner-pager">';
        pgr+='<ul class="banner-ul">';
        for(var i = 0; i<this.aNodes.length; i++)
        {
            pgr+='<li>';
            var className = 'regularBanner';
            if(this.currentBanner == i)
            {
                className = 'currentBanner';
            }
            pgr+='<a href="javascript:void();" rel="nofollow" title="'+this.aNodes[i].linkTitle+'" id="rnk-banner-pager-a-'+i+'" class="'+className+'" onmouseover="changeBannerPage(this,'+i+');" onclick="return false;">'+(i+1)+'</a>';
            pgr+='</li>';
        }
        pgr+='</ul>';
        pgr+='</div>';
        this.pagerHtml = pgr;
    }
}
Banner.prototype.writePager = function(){
    if(this.pagerHtml!='')
    {
        document.write(this.pagerHtml);
    }
}
Banner.prototype.writeMessageHolder = function(){
    if(this.aNodes && this.aNodes.length > 0)
    {
        var msgHolder = '';
        msgHolder = '<div id="banner-msg" class="banner-message"></div>';
        document.write(msgHolder);
        this.writeMsg = true;
    }
}
function changeBannerPage(element, nextBanner)
{
    if(element)
    {
        if(element.className == 'currentBanner')
        {
            return;
        }
	    var prevBanner = -1;
	    if(banner1.currentBanner == 0)
	    {
	        prevBanner = banner1.aNodes.length-1;
	    }
	    else
	    {
	        prevBanner = banner1.currentBanner-1;
	    }
	    if(nextBanner < banner1.aNodes.length - 1) 
	    {
	        banner1.currentBanner = nextBanner+1;   
	    }
	    else
	    {
	        banner1.currentBanner = 0;
	    }	    
	    if (prevBanner >= 0){
		    document.getElementById(banner1.aNodes[prevBanner].name).className = "banner_hide";
		    document.getElementById('rnk-banner-pager-a-'+prevBanner).className = "regularBanner";
	    }
	    
	    document.getElementById('rnk-banner-pager-a-'+nextBanner).className = "currentBanner";
	    if(banner1.writeMsg)
	    {
	        document.getElementById('banner-msg').innerHTML = banner1.aNodes[nextBanner].message;
	    }
	        	
	    document.getElementById(banner1.aNodes[nextBanner].name).className = "banner_show";
    }
}