document.write("<style>.sfx-hidden{display:none}</style>")

// namespace
if (typeof Thirty == "undefined" || !Thirty) {
    var Thirty = {};
}
if (typeof Thirty.Sfx == "undefined" || !Thirty.Sfx) {
    Thirty.Sfx = {};
}

// Innitiate SFX
Thirty.Sfx.SetUp =
{
    Main: function() {
        if (window.attachEvent) {
            window.attachEvent("onload", this.pageInit);
        }
        else if (window.addEventListener) {
            window.addEventListener("load", this.pageInit, false);
        }
    },
    pageInit: function() {
        Thirty.Sfx.ExpandCollapse.AttachEvent();
        Thirty.Sfx.Slideshow.AttachEvent();

    }
}
// kick off here
Thirty.Sfx.SetUp.Main();

// expand and collapse concertina
Thirty.Sfx.ExpandCollapse =
{
    _concertinaArray: [],
    _expanded: false,
    ExpandCollapseLayer: function(obj) {
        var DLobj = obj.parentNode;
        var DDobj = DLobj.getElementsByTagName('dd')[0];
        if (DDobj.className.indexOf("sfx-hidden") != -1) {
            Thirty.Sfx.ExpandCollapse.ExpandLayer(DDobj);
        }
        else {
            Thirty.Sfx.ExpandCollapse.CollapseLayer(DDobj);
        }
    },
    ExpandCollapseAllLayer: function(obj, triggerLink) {
        var DLobj, DDobj;
        if (Thirty.Sfx.ExpandCollapse._expanded == false) {
            for (var i = 0; i < obj.length; i++) {
                DLobj = obj[i];
                DDobj = DLobj.getElementsByTagName('dd')[0];
                Thirty.Sfx.ExpandCollapse.ExpandLayer(DDobj);
            }
            Thirty.Sfx.ExpandCollapse._expanded = true;
            triggerLink.getElementsByTagName("span")[0].style.display = "none";
            triggerLink.getElementsByTagName("span")[1].style.display = "block";
        } else {
            for (var i = 0; i < obj.length; i++) {
                DLobj = obj[i];
                DDobj = DLobj.getElementsByTagName('dd')[0];
                Thirty.Sfx.ExpandCollapse.CollapseLayer(DDobj);
            }
            Thirty.Sfx.ExpandCollapse._expanded = false;
            triggerLink.getElementsByTagName("span")[0].style.display = "block";
            triggerLink.getElementsByTagName("span")[1].style.display = "none";
        }
    },
    ExpandLayer: function(DDobj) {
        var SpanContainer = DDobj.parentNode.getElementsByTagName('dt')[0].getElementsByTagName('a')[0];
        DDobj.className = DDobj.className.replace(new RegExp("\\bsfx-hidden\\b"), "");
        SpanContainer.innerHTML = "-";
    },
    CollapseLayer: function(DDobj) {
        var SpanContainer = DDobj.parentNode.getElementsByTagName('dt')[0].getElementsByTagName('a')[0];
        DDobj.className += " sfx-hidden";
        SpanContainer.innerHTML = "+";
    },
    AttachEvent: function() {
        var DLlist = document.getElementsByTagName('dl');
        for (var i = 0; i < DLlist.length; i++) {
            if (DLlist[i].className.indexOf("concertina") != -1) {
                Thirty.Sfx.ExpandCollapse._concertinaArray.push(DLlist[i]);
                var ocText = document.createTextNode("+");
                var ocLink = document.createElement('a');
                ocLink.href = "#"
                ocLink.appendChild(ocText);
                DLlist[i].getElementsByTagName('span')[0].appendChild(ocLink);
                var DTLink = DLlist[i].getElementsByTagName('span')[0].parentNode;
                DTLink.style.cursor = 'pointer';
                DTLink.onclick = function() { Thirty.Sfx.ExpandCollapse.ExpandCollapseLayer(this); return false }
            }
        }
        var concertinaTriggerAll = document.getElementsByTagName('a');
        for (var i = 0; i < concertinaTriggerAll.length; i++) {
            if (concertinaTriggerAll[i].className.indexOf("concertinatrigger-all") != -1) {
                concertinaTriggerAll[i].onclick = function() {

                    Thirty.Sfx.ExpandCollapse.ExpandCollapseAllLayer(Thirty.Sfx.ExpandCollapse._concertinaArray, this);
                }
            }
        }
    }
}

Thirty.Sfx.Slideshow =
{
    AttachEvent: function() {
        var ULlist = document.getElementsByTagName('ul');
        var UlCounter = 0;
        var Ulid = null;
        for (i = 0; i < ULlist.length; i++) {
            if (ULlist[i].className.indexOf("sfx-slideshow") != -1) {
                Ulid = "sfxslideshow" + UlCounter++;
                ULlist[i].id = Ulid;

                var slidehowLis = new Array();
                var slidehowLi = null;
                var numberOfLis = ULlist[i].getElementsByTagName("li").length;
                if (numberOfLis > 0) {
                    for (var j = 0; j < numberOfLis; j++) {
                        slidehowLi = ULlist[i].getElementsByTagName("li")[j]
                        slidehowLi.className += " sfx-hidden";
                    }
                    ULlist[i].getElementsByTagName("li")[numberOfLis - 1].className = ULlist[i].getElementsByTagName("li")[numberOfLis - 1].className.replace(new RegExp("\\bsfx-hidden\\b"), "sfx-slideshow-active");
                    ULlist[i].className = ULlist[i].className.replace(new RegExp("\\bsfx-hidden\\b"), "");
                    Thirty.Sfx.Slideshow.AnimateSlideShow(Ulid);
                }
            }
        }


    },
    AnimateSlideShow: function(Ulid) {
        obj = document.getElementById(Ulid)
        var numberOfLis = obj.getElementsByTagName("li").length;
        var speed = 2000; // default speed
        if (obj.className.indexOf("sfx-delay-") != -1) {
            var pos1 = obj.className.indexOf("sfx-delay-") + "sfx-delay-".length;
            var pos2 = obj.className.indexOf("ms", pos1);
            var speed = obj.className.substring(pos1, pos2)

        }

        var liindex = 0;
        for (var j = 0; j < numberOfLis; j++) {
            slidehowLi = obj.getElementsByTagName("li")[j]

            if (slidehowLi.className.indexOf("sfx-slideshow-active") != -1) {
                slidehowLi.className = slidehowLi.className.replace(new RegExp("\\bsfx-slideshow-active\\b"), "sfx-hidden");
                if (j !== numberOfLis - 1) {
                    liindex = j + 1;
                }
            }
        }
        obj.getElementsByTagName("li")[liindex].className = obj.getElementsByTagName("li")[liindex].className.replace(new RegExp("\\bsfx-hidden\\b"), "sfx-slideshow-active");
        var t = setTimeout("Thirty.Sfx.Slideshow.AnimateSlideShow('" + Ulid + "')", speed);

    }

}


Thirty.Sfx.jsroller =
{
    AttachEvent: function() {
        var rollerList = function() {
            this.liList;
            this.ul;
        }
        var rollerUlList = document.getElementsByClassName("HAT-jsroller", "ul");
        var rollerLiList = [];
        for (var i = 0; i < rollerUlList.length; i++) {
            var rl = new rollerList();
            for (var j = 0; j < rollerUlList[i].getElementsByTagName("li").length; j++) {
                rollerLiList.push(rollerUlList[i].getElementsByTagName("li")[j]);
                rollerUlList[i].getElementsByTagName("li")[j].style.display = "none";
            }
            rl.liList = rollerLiList;
            rl.ul = rollerUlList[i];
            this.AnimateTicker(rl)
            rollerLiList = [];
        }

    },
    AnimateTicker: function(obj) {
        var tmpCount = tmpCount || 0;
        if (tmpCount < obj.liList.length) {
            obj.liList[tmpCount];
        }
        else {
            tmpCount = 0;
        }
        setTimeout(this.AnimateTicker(obj), 1000);
        tmpCount++;
    }
}

document.getElementsByClassName = function(cn, limitTag) {
    var retNode = [];
    limitTag = (limitTag === undefined) ? '*' : limitTag
    var elem = this.getElementsByTagName(limitTag);
    for (var i = 0; i < elem.length; i++) {
        if (elem[i].className.toLowerCase().indexOf(cn.toLowerCase()) != -1) { retNode.push(elem[i]); }
    }
    return retNode;
}
