// per aggiungere nuove banner aggiungere i nodi nel file xml banner.xml
// nodo nome pagina e nome banner
// nelle chiamata dalla pagina web inserire i nuovi parametri sempre nome pagina e nome banner


var newWin = ""; 
var objbanADrotator = null;

var objArray = new Array();

var xmlCaricati = new Array();


function resizeWin(newLoc, newWidth, newHeight)
{ 
	newWin = open("",newLoc,"scrollbars=yes,resizable=yes,status=no,location=no,height=" + newHeight + ",width=" + newWidth); 
} 


function MyBanner(nPagina, nBanner, nImageUrl, nNavigateUrl, nAlternateText, nLinkTarget, nDataScadenza, nCounter, nInUso, nlinkSizeX, nlinkSizeY, nTimer, nSetFilter)
{
	this.PaginaName = nPagina;
	this.BannerName = nBanner;
	this.ImageUrl = nImageUrl;
	this.NavigateUrl = nNavigateUrl;
	this.AlternateText = nAlternateText;
	this.LinkTarget = nLinkTarget;
	this.DataScadenza = nDataScadenza;
	this.Counter = nCounter;
	this.InUso = nInUso;
	this.linkSizeX = nlinkSizeX;
	this.linkSizeY = nlinkSizeY;
	this.Timer = nTimer;
	this.SetFilter = nSetFilter;
}



function LoadBanner(Pagina,nBannuer)
{
    var oggetto = new ActiveXObject("Microsoft.XMLDOM");
        oggetto.async = false;
        //oggetto.load("../xmlbanner/banner.xml");
        oggetto.load("xmlbanner/banner.xml");
        var percorso=false;
      if(oggetto.childNodes.length == 0)
      {
		oggetto.load("../xmlbanner/banner.xml");
		percorso=true;
      }

  
	var datoimg = oggetto.getElementsByTagName("Advertisements/" + Pagina + "/" + nBannuer + "/Ad/ImageUrl");
    var NavigateUrl = oggetto.getElementsByTagName("Advertisements/" + Pagina + "/" + nBannuer + "/Ad/NavigateUrl");
    var AlternateText = oggetto.getElementsByTagName("Advertisements/" + Pagina + "/" + nBannuer + "/Ad/AlternateText");
    var oLinkTarget = oggetto.getElementsByTagName("Advertisements/" + Pagina + "/" + nBannuer + "/Ad/LinkTarget");
    var oScadenze = oggetto.getElementsByTagName("Advertisements/" + Pagina + "/" + nBannuer + "/Ad/Scadenza");
    var oTimer = oggetto.getElementsByTagName("Advertisements/" + Pagina + "/" + nBannuer + "/Ad/Timer");
    var oSetFilter = oggetto.getElementsByTagName("Advertisements/" + Pagina + "/" + nBannuer + "/Ad/SetFilter");
    
    if(xmlCaricati.length == 0)
    {
		xmlCaricati[0] = Pagina + nBannuer
	}else{
		var k = xmlCaricati.length;
		xmlCaricati[k] = Pagina + nBannuer
	}
  
    var ora = new Date();
    var i=0
    if(objArray.length == 0)i=0;
	else i=objArray.length;
	
    for (y=0; y<oScadenze.length; y++)
    {
		var oDate = new Date(oScadenze[y].text);
		// data della scadenza
		var annos = oDate.getFullYear();
		var meses = oDate.getMonth()+1;
		var giornos = oDate.getDate();
		// data di oggi
		var anno = ora.getFullYear();
		var mese = ora.getMonth()+1;
		var giorno = ora.getDate();
	
		if(annos > anno || meses > mese || giornos > giorno)
		{
				obj = new MyBanner();
				obj.PaginaName = Pagina;
				obj.BannerName = nBannuer;
				obj.ImageUrl = datoimg[y].text;
				obj.NavigateUrl = NavigateUrl[y].text; 
				obj.AlternateText = AlternateText[y].text;
				obj.LinkTarget = oLinkTarget[y].text;
				obj.DataScadenza = oScadenze[y].text;
				obj.Counter = 0;
				obj.InUso = 0;
				obj.linkSizeX = 0;
				obj.linkSizeY = 0;
				obj.Timer =  oTimer[y].text;
				obj.SetFilter =	oSetFilter[y].text;
				objArray[i] = obj;
				
				
			i++;
		}
    }
    
}

function SelectObjBanner(Pagina,nBannuer)
{
	for(i=0; i<objArray.length;i++)
	{
		var obj = objArray[i];
		if(obj.PaginaName == Pagina && obj.BannerName == nBannuer)
		{
			obj.InUso = 0;
		}
	}
	
	for(i=0; i<objArray.length;i++)
	{
		var obj = objArray[i];
		
		if(obj.PaginaName == Pagina && obj.BannerName == nBannuer)
		{
			if(obj.Counter == 0){
			return obj;
			break;
			}
		}
	}
	
	// se arrivo tutti sono stati pubblicati ricomincio da capo
	for(i=0; i<objArray.length;i++)
	{
		var obj = objArray[i];
		if(obj.PaginaName == Pagina && obj.BannerName == nBannuer)
		{
			obj.Counter =0;
		}
	}
	
	return SelectObjBanner(Pagina,nBannuer);
}

function SelectObjInUso(Pagina,nBannuer)
{
	for(i=0; i < objArray.length;i++)
	{
		var obj = objArray[i];
		
		if(obj.PaginaName == Pagina && obj.BannerName == nBannuer)
		{
			if(obj.Counter == 1 && obj.InUso == 1){
			return obj;
			break;
			}
		}
	}
}

function VerificaXmlCaricati(Pagina,nBannuer)
{
	for(i=0; i<xmlCaricati.length; i++)
	{
		if(xmlCaricati[i] == Pagina + nBannuer)return true;
	}
	return false;
}

function setTransition(nBannerName)
{ 
	objbanADrotator = document.getElementById(nBannerName);
	if (objbanADrotator != null){ 
	objbanADrotator.filters.revealTrans.Transition = Math.floor(Math.random()*23); 
	objbanADrotator.filters.revealTrans.apply(); 
	
					}
} 

function playTransition(nBannerName)
{ 
	objbanADrotator = document.getElementById(nBannerName);
	if (objbanADrotator != null) {
		objbanADrotator.filters.revealTrans.play() 
	}
} 

function nextlallet(Pagina,nBannuer)
{ 
	
	if(VerificaXmlCaricati(Pagina,nBannuer) == false)LoadBanner(Pagina,nBannuer);
	
	
	var obj = SelectObjBanner(Pagina,nBannuer);
	if(obj != null)
	{
				
		obj.Counter = 1;
		obj.InUso = 1;
		if(obj.SetFilter == "True")setTransition(obj.BannerName); 
		
		objbanADrotator = document.getElementById(obj.BannerName);
		if (objbanADrotator != null) {
			objbanADrotator.src = obj.ImageUrl;
			  
		}
		playTransition(obj.BannerName); 
	}
	
	
	theTimer = setTimeout("nextlallet('" + Pagina + "' ,'" + nBannuer + "')", obj.Timer); 
} 


function jump2url(Pagina,nBannuer)
{ 
	var obj = SelectObjInUso(Pagina,nBannuer);
	
	if(obj !=  null)
	{
		jumpUrl=obj.NavigateUrl; 
		jumpTarget=obj.LinkTarget; 
		if (jumpTarget == "popup")
			{ 
				resizeWin('popup',obj.linkSizeX,obj.linkSizeY); 
				newWin.location = jumpUrl; 
			}else
			{ 
					window.open(jumpUrl,jumpTarget); 
			} 
	}
} 


function displayStatusLallet(Pagina,nBannuer) 
{ 
	var obj = SelectObjInUso(Pagina,nBannuer);
	
	if(obj !=  null)
	{
		status = obj.NavigateUrl; 
		objbanADrotator = document.getElementById(obj.BannerName);
		if (objbanADrotator != null) {
			objbanADrotator.alt = obj.AlternateText;
			  
		}
		document.returnValue = true; 
	}
} 
