var xmlDoc, xmlObj, vDiv, iDiv, src, timer, currentIndex = 0, maxIndex;
var imgArray, ftimer, opacity = 1.0, count, bIE, basync, vehicleXML, imageXML;
var remotePath, remotePage, localPath;

window.onload = function() {

    var i;

    remotePath = document.getElementById("publicurl").value;
    remotePage = document.getElementById("vview").value;
    vehicleXML = document.getElementById("vehicleXML").value;
    imageXML = document.getElementById("imageXML").value;
    localPath = document.getElementById("path").value;
    try
    {
        xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
        bIE = true;
        basync = false;
    }
    catch (e)
    {
        bIE = false;
        if (window.XMLHttpRequest)
        {
            xmlDoc = new XMLHttpRequest();
            basync = true;
        }
        else
        {
            xmlDoc = document.implementation.createDocument("","",null);    
            basync = false;
        }
    }
    
    if (basync) 
    {
        xmlDoc.onreadystatechange=loadAsyncImages;
        xmlDoc.open("GET",localPath + imageXML,true);
        xmlDoc.send(null);
    }
    else
    {
        xmlDoc.async=false;
        xmlDoc.load(imageXML);   
        loadImages();
    }

}

function loadAsyncImages()
{
    if(xmlDoc.readyState!=4) return;
    if(xmlDoc.status!=200)
    {
      alert("Problem retrieving XML data");
      return;
    }
        
    iDiv = document.getElementById("imgHolder");

    xmlObj = xmlDoc.responseXML.documentElement.getElementsByTagName("Image");
    imgArray = new Array(xmlObj.length);
    maxIndex = xmlObj.length - 1;
    
    for (i = 0; i < xmlObj.length; i++)
    {
        imgArray[i] = xmlObj[i].childNodes[1].childNodes[0].nodeValue;  
    }  

    iDiv.src = "aimg/" + imgArray[maxIndex];
    
    timer = setInterval("nextImg()", 7000);

/*
    xmlDoc = new XMLHttpRequest();

    xmlDoc.onreadystatechange=loadAsyncVehicles;
    xmlDoc.open("GET",localPath + vehicleXML,true);
    xmlDoc.send(null);        
*/        
}

function loadAsyncVehicles()
{
    if(xmlDoc.readyState!=4) return;
    if(xmlDoc.status!=200)
    {
      alert("Problem retrieving XML data");
      return;
    }
        
    vDiv = document.getElementById("vehicleList");

    xmlObj = xmlDoc.responseXML.documentElement.getElementsByTagName("Vehicle");
    
    for (i = 0; i < xmlObj.length; i++)
    {
        var link = document.createElement("A");
        link.href = remotePath + remotePage + "?id=" + xmlObj[i].childNodes[7].childNodes[0].nodeValue;
        link.style.color = "#fff";
        link.innerHTML = xmlObj[i].childNodes[1].childNodes[0].nodeValue + " - €" + xmlObj[i].childNodes[3].childNodes[0].nodeValue;
        vDiv.appendChild(link);
        vDiv.appendChild(document.createElement("BR"));
    }
        
    timer = setInterval("nextImg()", 7000);
     

}

function loadImages()
{
    iDiv = document.getElementById("imgHolder");

    if (bIE)
    {
        xmlObj = xmlDoc.documentElement;
        
        imgArray = new Array(xmlObj.childNodes.length);
        maxIndex = xmlObj.childNodes.length - 1;

        for (i = 0; i < xmlObj.childNodes.length; i++)
        {
            imgArray[i] = xmlObj.childNodes[i].childNodes[0].childNodes[0].nodeValue;  
        }
    }
    else
    {
        xmlObj = xmlDoc.getElementsByTagName("Image");
        
        imgArray = new Array(xmlObj.length);
        maxIndex = xmlObj.length - 1;
        
        for (i = 0; i < xmlObj.length; i++)
        {
            imgArray[i] = xmlObj[i].childNodes[1].childNodes[0].nodeValue;  
        }  
    
    }
    
    if (iDiv)
    {
        iDiv.src = "aimg/" + imgArray[maxIndex];
        timer = setInterval("nextImg()", 7000);
    }
    //xmlDoc.load(vehicleXML);
    //loadVehicles();

}

function loadVehicles()
{
    vDiv = document.getElementById("vehicleList");
    
    if (bIE)
    {
        xmlObj = xmlDoc.documentElement;
        
        for (i = 0; i < xmlObj.childNodes.length; i++)
        {
            var link = document.createElement("A");
            link.href = remotePath + remotePage + "?id=" + xmlObj.childNodes[i].childNodes[3].childNodes[0].nodeValue;
            link.style.color = "#fff";
            link.innerHTML = xmlObj.childNodes[i].childNodes[0].childNodes[0].nodeValue + " - €" + xmlObj.childNodes[i].childNodes[1].childNodes[0].nodeValue;
            vDiv.appendChild(link);
            vDiv.appendChild(document.createElement("BR"));
        }    
    }
    else
    {
        xmlObj = xmlDoc.getElementsByTagName("Vehicle");
                
        for (i = 0; i < xmlObj.length; i++)
        {
            var link = document.createElement("A");
            link.href = remotePath + remotePage + "?id=" + xmlObj[i].childNodes[7].childNodes[0].nodeValue;
            link.style.color = "#fff";
            link.innerHTML = xmlObj[i].childNodes[1].childNodes[0].nodeValue + " - €" + xmlObj[i].childNodes[3].childNodes[0].nodeValue;
            vDiv.appendChild(link);
            vDiv.appendChild(document.createElement("BR"));
        }
    
    }
    
    timer = setInterval("nextImg()", 7000);

}

function nextImg()
{
    count = 0;
    if (ftimer) clearInterval(ftimer);
    ftimer = setInterval("fadeOut()", 7);
}

function fadeOut()
{
    if (count == 25)
    {
        clearInterval(ftimer);
        count = 0;
        iDiv.src = "aimg/" + imgArray[currentIndex];
        ftimer = setInterval("fadeIn()", 7);
    }
    else
    {
        opacity -= 0.04;
        setOpacity(opacity);
        count += 1;
    }
}

function fadeIn()
{
    if (count == 25)
    {
        clearInterval(ftimer);
        count = 0;
        if (currentIndex == maxIndex)
            currentIndex = 0;
        else
            currentIndex += 1;        
    }
    else
    {
        opacity += 0.04;
        setOpacity(opacity);         
        count += 1;
    }

}

function setOpacity(val)
{
    iDiv.style.opacity = val;
    iDiv.style.filter = "alpha(opacity=" + (val * 100) + ")";    
}