﻿/*

Code From:  www.phpied.com/ajax-banner-rotation/
Author:     Stoyan Stefanov

*/

var outPutDivID = "";

function nextBannerText(lastBannerTextID, divID) {
    var url = "DANController.aspx?whatToDo=1&specifics=" + lastBannerTextID;

    outPutDivID = divID;
    makeHttpRequest(url, 'loadBannerText', true);
}
function makeHttpRequest(url, callback_function, return_xml) {
    var http_request = false;

    if (window.XMLHttpRequest) { // Mozilla, Safari, IE 9...
        http_request = new XMLHttpRequest();

        if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/xml');
        }
    } else if (window.ActiveXObject) { // IE
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP.6.0");
        } catch (e) {
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP.3.0");
            } catch (e) {
                try {
                    http_request = new ActiveXObject("Msxml2.XMLHTTP");
                } catch (e) {
                    try {
                        http_request = new ActiveXObject("Microsoft.XMLHTTP");
                    } catch (e) {
                        alert('Your Browser does not support AJAX!');
                        throw new Error("Your Browser does not support AJAX!");
                    }
                }
            }
        }
    }
    if (!http_request) {
        return false;
    }
    http_request.onreadystatechange = function () {
        if (http_request.readyState == 4) {
            if (http_request.status == 200) {
                if (return_xml) {
                    if (window.DOMParser) {
                        var rex = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");

                        if (rex.exec(navigator.userAgent) != null) {
                            if (parseFloat(RegExp.$1) > 8.0) {
                                http_request.responseXML.load(http_request.responseBody);
                            }
                        }
                        eval(callback_function + '(http_request.responseXML)');
                    }
                    else {
                        http_request.responseXML.load(http_request.responseBody);
                        eval(callback_function + '(http_request.responseXML)');
                    }
                } else {
                    eval(callback_function + '(http_request.responseText)');
                }
            } else {
                //alert('There was a problem with the request.(Code: ' + http_request.status + ')');
                throw new Error("There was a problem with the request.(Code: ' + http_request.status + ')");
            }
        }
    }
    http_request.open('GET', url, true);
    http_request.send();
}
function loadBannerText(xml) {
    var newID = "";
    var newText = "";
    var newSubmittedBy = "";
    var newDateSubmitted = "";
    var reloadAfter = "";

    if (window.DOMParser) {
        newID = xml.getElementsByTagName('bannerID')[0].firstChild.nodeValue;
        newText = xml.getElementsByTagName('bannerText')[0].firstChild.nodeValue;
        newSubmittedBy = xml.getElementsByTagName('bannerSubmittedBy')[0].firstChild.nodeValue;
        newDateSubmitted = xml.getElementsByTagName('bannerDateSubmitted')[0].firstChild.nodeValue;
        reloadAfter = xml.getElementsByTagName('reloadAfter')[0].firstChild.nodeValue;
    } else {
        newID = xml.getElementsByTagName('bannerTextInfo')[0].childNodes[0].text;
        newText = xml.getElementsByTagName('bannerTextInfo')[0].childNodes[1].text;
        newSubmittedBy = xml.getElementsByTagName('bannerTextInfo')[0].childNodes[2].text;
        newDateSubmitted = xml.getElementsByTagName('bannerTextInfo')[0].childNodes[3].text;
        reloadAfter = xml.getElementsByTagName('bannerTextInfo')[0].childNodes[4].text;
    }
    document.getElementById(outPutDivID).getElementsByTagName("td")[1].getElementsByTagName("div")[0].innerHTML = newText;
    document.getElementById(outPutDivID).getElementsByTagName("td")[1].getElementsByTagName("div")[1].getElementsByTagName("span")[0].innerHTML = newSubmittedBy;
    document.getElementById(outPutDivID).getElementsByTagName("td")[1].getElementsByTagName("div")[1].getElementsByTagName("span")[1].innerHTML = newDateSubmitted;

    try { clearTimeout(to); } catch (e) { }

    var func = function () {
        nextBannerText(newID, outPutDivID);
    }
    to = setTimeout(func, parseInt(reloadAfter));
}
