function ThemeScheduler() {
System.out.println('ThemeScheduler');
this.scheduledTheme = null;
this.makeSchedule = function() {
var xmlString = "<themes> <!-- <theme> <start>05/06/2010 23:55</start> <end>05/07/2010 23:59</end> <pageurl>/</pageurl> <url>/sitewide/css/themes/ironman2/theme.css</url> <oparamName>ironman2</oparamName> </theme> --> <theme> <start>10/22/2010 00:00</start> <end>10/22/2011 23:59</end> <pageurl>/video/shows/full-episodes/taylor-swift-full-show-on-demand/1650636/playlist.jhtml</pageurl> <url>/sitewide/css/themes/taylorswift/theme.css</url> <oparamName>ocho</oparamName> </theme> <theme> <start>05/08/2015 00:00</start> <end>06/01/2015 23:00</end> <pageurl>/shows/storytellers/series.jhtml</pageurl> <url>/shows/css/themes/storytellers/theme.css</url> <oparamName>storytellerstrack</oparamName> <track>http://view.atdmt.com/MRT/view/312607058/direct;at.STND_MFESRP_Demand_SearchReferral_Global_1x1;ct.1/01/?href=http://b.scorecardresearch.com/p?c1=3amp;c2=6034986amp;c3=UMAA-UMA-096-33-MRTamp;c4=STND_MFESRP_Demand_SearchReferral_Global_1x1amp;c5=312607058amp;c6=amp;cj=1amp;rn=[timestamp]</track> </theme> <theme> <start>12/07/2011 10:40</start> <end>12/08/2011 3:16</end> <pageurl>/video/shows/full-episodes/basketball-wives-live-from-miami/1674338/playlist.jhtml</pageurl> <url>/sitewide/css/themes/basketballwives_hp/theme.css</url> <oparamName>basketball</oparamName> </theme> <theme> <start>01/30/2012 00:00</start> <end>06/21/2012 23:59</end> <pageurl>/music/you_oughta_know/*</pageurl> <url>/franchises/config/themes/you_oughta_know_starbucks/theme.css</url> <oparamName>yok</oparamName> </theme> <theme> <start>01/30/2012 00:00</start> <end>06/21/2012 23:59</end> <pageurl>/video/gotye/714806/somebody-that-i-used-to-know.jhtml</pageurl> <url>/franchises/config/themes/you_oughta_know_starbucks/theme.css</url> <oparamName>yok2</oparamName> </theme> </themes>";
var loc = window.location.pathname;
var sn = new Object();
window.location.search.replace( new RegExp( "([^?=&]+)(=([^&]*))?", "g" ), function( $0, $1, $2, $3 ){ sn[ $1 ] = $3; } );
var t = sn['_testTheme'];
var tm = sn['testmode'];
if(typeof tm != 'undefined'){
if(tm.indexOf('theme_') > -1){
System.out.println('_testTheme overridden by testmode');
t = tm.substring(6);
System.out.println('t='+t);
}
}
var xmlDoc;
try{ //Internet Explorer
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.loadXML(xmlString);
}
catch(e){
try{ //Firefox, Mozilla, Opera, etc.
var parser=new DOMParser();
xmlDoc=parser.parseFromString(xmlString,"text/xml");
}
catch(e) {}
}
var n;
var now = "201202140236";
if(now.indexOf("esi") > -1) {
n = new Date();
}else{
now = (now.indexOf('-')> -1) ? now.replace(/-/g,'/') : now.substring(0,4)+'/'+now.substring(4,6)+'/'+now.substring(6,8)+' '+now.substring(8,10)+':'+now.substring(10,12);
n = new Date(now);
}
var cd = new Date();//client date
for (var i=0; i < xmlDoc.getElementsByTagName("theme").length; i++) {
var pageurl = xmlDoc.getElementsByTagName("pageurl")[i].childNodes[0].nodeValue;
var localLoc = loc+'';
if(pageurl.indexOf("*") > -1) localLoc = localLoc.substring(0,pageurl.indexOf("*"))+'*'; 
if(localLoc == pageurl){
var cn = {};
var node = xmlDoc.getElementsByTagName("theme")[i];
for(j = 0; j < node.childNodes.length ;j++){
var child = node.childNodes[j];
if(child.nodeType==1){
if(child.childNodes.length)
cn[child.nodeName] = child.childNodes[0].nodeValue;
}
}
if(cn['start'].indexOf(":") < 0){ // mtv format
var sa = cn['start'].split(" "); var ea = cn['end'].split(" ");
cn['start'] = sa[2]+'/'+sa[0]+'/'+sa[1]+' '+ sa[3]+':'+sa[4];
cn['end'] = ea[2]+'/'+ea[0]+'/'+ea[1]+' '+ ea[3]+':'+ea[4];
}
var s = new Date(cn['start']);
var e = new Date(cn['end']);
if(t==cn['oparamName']||parseInt(t)==i){ // display datetime for this theme

var h = '<span id="testinfo" style="position:absolute; left:3px; top:3px;padding:3px; background:#ff6600; font-family:helvetica; font-size:11px; z-index:9999999">';
h += cn['start']+'<br>';
h += cn['end']+'<br>';
h += cn['url'];
h += '</span>'
document.write(h);
}
if((n < e && n >= s)||t==cn['oparamName']||parseInt(t)==i){
this.scheduledTheme = cn['url'];
if(cn['track']!=null && cn['track']!='' && cn['track']!='undefined'){
var ts = cd.getTime();
var tfp = cn['track'].replace(/\[timestamp\]/, ts);
document.write('<div id="track" style="position:absolute; left:-10; width:1px; height:1px; overflow:hidden;"><img s'+'rc="'+tfp+'" width="1" height="1" border="0"/></div>');
}
break;
}
}
}
}
}

