//// CONFIGURACION ///////

var xmls = new Array("../xml/banner_cuadrado.xml", "../xml/banner_alargado.xml", "../xml/minibanner_1.xml",
						"../xml/minibanner_2.xml", "../xml/minibanner_3.xml", "../xml/minibanner_4.xml", "../xml/reflexiones.xml");
						
var domain = "www.antiterapia.com";
	
					
//// IMPLEMENTACION /////

function initBanners()
{
	var i=0;
	for (i=0; i<this.numBanners; i++)
	{
		this.img_actual[i] = 0;
		this.stop[i] = false;
		this.effect[i] = false;
	}

	this.getxml();
	this.changeImage();
	setInterval('Banners.Instance.changeImage()', 5000);
}

function getxml()
{
    // AJAX code for Mozilla, Safari, Opera etc.
    if (window.XMLHttpRequest) 
    {
    	var i = 0;
    	for (i=0; i<this.numBanners; i++)
    	{
              this.xmlhttp[i] = new XMLHttpRequest();
              this.xmlhttp[i].xml_loaded = false;
              this.xmlhttp[i].onreadystatechange = function(){
              	if (this.readyState == 4) 
    			{
      				if (this.status == 200) 
      				{
						this.xml_loaded = true;
            			this.items = this.responseXML.getElementsByTagName("item");
      				}	
  				}
              };
              //this.xmlhttp[i].onreadystatechange = this.xmlhttpChange(i);
              this.xmlhttp[i].open("GET", this.url[i], true);
              this.xmlhttp[i].send(null);
        }
    }
    // AJAX code for IE
    else if (window.ActiveXObject)  
    {
    	var i = 0;
    	for (i=0; i<this.numBanners; i++)
    	{
            this.xmlhttp[i]=new ActiveXObject("Microsoft.XMLHTTP");
            this.xmlhttp[i].xml_loaded = false;
            if (this.xmlhttp[i])
            {
                    this.xmlhttp[i].onreadystatechange = function(){
		              	if (this.readyState == 4) 
		    			{
		      				if (this.status == 200) 
		      				{
								this.xml_loaded = true;
		            			this.items = this.xmlhttp.responseXML.getElementsByTagName("item");
		      				}	
		  				}
              		};
                    this.xmlhttp[i].open("GET", this.url[i], true);
                    this.xmlhttp[i].send();
            }
        }
	}
}

function next(i)
{
	this.stopShow(i);
	
	this.img_actual[i] = (this.img_actual[i]+1) % this.xmlhttp[i].items.length;
	
	var img = this.xmlhttp[i].items[this.img_actual[i]].getAttribute("label");
	var enl = this.xmlhttp[i].items[this.img_actual[i]].getAttribute("durl");
	
	$("#banner_"+i).fadeOut("slow", function(){
			$("#banner_"+i).attr("src", img);
			$("#link_"+i).attr("href", enl);
			$("#banner_"+i).fadeIn("slow");
		}
	);
}

function previous(i)
{
	this.stopShow(i);
	
	this.img_actual[i] = (this.img_actual[i]-1);
	if (this.img_actual[i] < 0)
	{
		this.img_actual[i] = this.xmlhttp[i].items.length-1;
	}
	
	var img = this.xmlhttp[i].items[this.img_actual[i]].getAttribute("label");
	var enl = this.xmlhttp[i].items[this.img_actual[i]].getAttribute("durl");
	
	$("#banner_"+i).fadeOut("slow", function(){
			$("#banner_"+i).attr("src", img);
			$("#link_"+i).attr("href", enl);
			$("#banner_"+i).fadeIn("slow");
		}
	);
}

function stopShow(i)
{
	this.stop[i] = true;
}

function playShow(i)
{
	this.stop[i] = false;
}

function setEffect(i)
{
	this.effect[i] = true;
}

function changeImage()
{
	var i=0;
	for (i=0; i<this.numBanners; i++)
	{
		if (this.xmlhttp[i].xml_loaded && !this.stop[i])
		{
			if (!this.effect[i])
			{
				window.document.getElementById("banner_"+i).src = this.xmlhttp[i].items[this.img_actual[i]].getAttribute("label");
				
				window.document.getElementById("link_"+i).href = this.xmlhttp[i].items[this.img_actual[i]].getAttribute("durl");
				
				this.img_actual[i] = (this.img_actual[i]+1) % this.xmlhttp[i].items.length;
			}
			else
			{
				this.next(i);
				this.playShow(i);
			}
		}
	}
}

function Banners() {
	Banners.Instance = this;
	this.url = xmls;
	this.domain = domain;
						
	this.numBanners = this.url.length;
	
	this.xmlhttp = new Array(this.numBanners);
	this.stop = new Array(this.numBanners);
	this.img_actual = new Array(this.numBanners);
	this.effect = new Array(this.numBanners);
	this.initBanners = initBanners;
	this.getxml = getxml;
	this.changeImage = changeImage;
	this.stopShow = stopShow;
	this.playShow = playShow;
	this.next = next;
	this.previous = previous;
	this.setEffect = setEffect;
}

var banners = new Banners();		
