var imgSrcs = [];
var curSrc = 0;

var frontFrame;
var backFrame;

var frontHref;
var backHref;

var fadeSpeed;
var imageTimeout;

// image class
function img(src, alt, href)
{
	this.src = src;
	this.alt = alt;
	this.href = href;
}

jQuery.fn.bannerrotator = function(xmlFile, settings)
{		
	var banner = this;	
	settings = jQuery.extend({
		fade: 3000,
		timeout: 5000
	}, settings);

	fadeSpeed = settings.fade;
	imageTimeout = settings.timeout;

	// load image sources
	$.ajax({
        type: "GET",
		url: xmlFile,
		dataType: "text",
		success: function(text) {
			xml=getXMLDOC(text);

			var i = 0;
			// iterate xml
			jQuery(xml).find('image').each(function()
			{
				var node = jQuery(this);
				
				// append image to array
				var hrefTemp="/index.php?getCmd=carte&getPid="+node.attr('id');
					
				imgSrcs[i++] = new img(node.attr('src'), node.attr('alt'), hrefTemp);
				
			});
			
			// make sure there are at least 2 elements
			if (imgSrcs.length < 2) return;

			
			// get array of img elements to swap
			var imgs = banner.find("img");
			frontFrame = imgs[1];
			backFrame = imgs[0];
			var hrefs = banner.find("a");
			frontHref=hrefs[1];
			backHref=hrefs[0];
			

			showFirst();		
			// start toggling!
			toggleBanner();
		}				
	});
};

function showFirst()
{	
	backFrame.className = "show";
	backFrame.src = imgSrcs[0].src;
	backFrame.alt = imgSrcs[0].alt;	
	
	backHref.href= imgSrcs[0].href;
	frontHref.href= imgSrcs[0].href;
		
	jQuery(backFrame).fadeIn(fadeSpeed/2);
	
	//backFrame="";
}
	
function toggleBanner()
{
	// move to next image
	if (++curSrc >= imgSrcs.length) curSrc = 0;

	// swap frames
	var temp = frontFrame;
	var tempH = frontHref;
	frontFrame = backFrame;
	frontHref=backHref;
	backFrame = temp;
	backHref=tempH;
		
	// set current image to hide next
	frontFrame.className = "";
	frontFrame.removeAttribute('style');

	// prepare to swap image
	backFrame.className = "show";
	backFrame.src = imgSrcs[curSrc].src;
	backFrame.alt = imgSrcs[curSrc].alt;
	backHref.href= imgSrcs[curSrc].href;
	

	// fade in next image and repeat
	setTimeout(function() { jQuery(backFrame).fadeIn(fadeSpeed, toggleBanner); }, imageTimeout);
}



function getXMLDOC(xmlString)
{
	// Mozilla and Netscape browsers
    if (document.implementation.createDocument) {
        var parser = new DOMParser()
        doc = parser.parseFromString(xmlString, "text/xml")	
    // MSIE
    } else if (window.ActiveXObject) {
        doc = new ActiveXObject("Microsoft.XMLDOM")
        doc.async="false"
        doc.loadXML(xmlString)
    }
    return doc;

}