//On-demand mode

var _chapters = null;
var _events = null;
function readChapters() {
    _chapters = new Accordent.ChapterCollection();
    loadData('presentation.xml', false, 'text', function(xml) {
        var events = '';
        $(xml.split('</CHAPTER>')).each(function(index) {
            if (index == 0) events = this;
            var id = getTagValues(this, 'CHAPTERID')[0];
            var title = getTagValues(this, 'CHAPTERTITLE')[0];
            var timeSpan = '' + getTagValues(this, 'CHAPTERTIME')[0];
			if (id || title || timeSpan)
				_chapters.add(id, title, timeSpan);
		});

        if (!isNullOrBlank(events)) {
            _events = new Accordent.MarkerCollection();
            $(events.split('</EVENT>')).each(function(index) {
                var time = parseInt('' + getTagValues(this, 'EVENTSTIME')[0]);
                if (!isNaN(time)) {
                    var type = trim('' + getTagValues(this, 'EVENTSTYPE')[0]).toLowerCase();
                    var region = trim('' + getTagValues(this, 'EVENTSTARGET')[0]);
                    var url = '';
                    var REGION = 'region';
                    if (type == 'url') {
                        url = '' + getTagValues(this, 'EVENTSURL')[0];
                        region = REGION + region.substring(0, 1);       //When region = '1Slide'....
                    }
                    else {
                        url = '' + getTagValues(this, 'EVENTSIMG')[0];
                    }
                    if (region && (region.substring(0, REGION.length) || '').toLowerCase() == REGION)
                        region = region.toLowerCase();

                    if (type || region || url)
                        _events.add('URL', '{0}&&{1}'.format(url, region), time);
                }
            });
            _events.sort();
        }
	});
}
function loadChaptersHtml(chaptersDivId) {
    var div = document.getElementById(chaptersDivId);
    if (!div) return;
    var appendHandler = appendChapteHtmlSilverlight;
    if(!isCompactPlayer())
        appendHandler = appendChapterHtml
    var s = new Accordent.StringBuilder();
    for (var i = 0; i < _chapters.getLength(); i++) {
        var chapter = _chapters.getItem(i);
        appendHandler(s, chapter);
    }
    div.innerHTML = s.toString();
    delete s;
}
function appendChapteHtmlSilverlight(stringBuilder, chapter) {
    stringBuilder.appendFormat('<div class="r2RowChapter"><a href="#" onclick="window.top.video.setMediaPosition({0}); return true;" title="{1} - {2}">{2}</a></div>', chapter._time, chapter._timeSpan, chapter._title);
}
function appendChapterHtml(stringBuilder, chapter) {
    stringBuilder.appendFormat('<div class="r2RowChapter"><a href="#" onclick="window.top.video.seek(\'{0}\'); return true;" title="{0} - {1}">{1}</a></div>', chapter._timeSpan, chapter._title);
}
