function ThemeScheduler() {
this.scheduledTheme = null;
this.makeSchedule = function() {
var xmlString = "<themes> <theme> <start>12 15 2009 00 00</start> <end>12 16 2009 00 00</end> <pageurl>/</pageurl> <url>/sitewide/css/charlie/themes/hp-takeover/apple/theme.jhtml</url> <oparamName>apple</oparamName> </theme> <theme> <start>01 21 2010 17 20</start> <end>01 21 2010 17 30</end> <pageurl>/music/artist/will_to_power/artist.jhtml</pageurl> <url>/sitewide/css/charlie/themes/hp-takeover/apple/theme.jhtml</url> <oparamName>mcdonalds</oparamName> </theme> <theme> <start>01 22 2010 00 00</start> <end>01 22 2010 00 20</end> <pageurl>/music/artist/will_to_power/artist.jhtml</pageurl> <url>/sitewide/css/charlie/themes/hp-takeover/apple/theme.jhtml</url> <oparamName>mcdonalds</oparamName> </theme> <theme> <start>03 03 2010 11 30</start> <end>03 03 2010 11 34</end> <pageurl>/music/artist/will_to_power/artist.jhtml</pageurl> <url>/sitewide/css/charlie/themes/hp-takeover/mcdonalds-breakfast/theme.jhtml</url> <oparamName>mcdonalds</oparamName> </theme> <theme> <start>03 16 2010 00 00</start> <end>03 16 2010 13 00</end> <pageurl>/</pageurl> <url>/sitewide/css/charlie/themes/hp-takeover/mcdonalds-breakfast/theme.jhtml</url> <oparamName>mcdonalds</oparamName> </theme> <theme> <start>03 17 2010 00 00</start> <end>03 17 2010 23 59</end> <pageurl>/</pageurl> <url>/sitewide/css/charlie/themes/holidays/st-pats/theme.jhtml</url> <oparamName>mcdonalds</oparamName> </theme> <theme> <start>03 18 2010 00 00</start> <end>03 18 2010 13 00</end> <pageurl>/</pageurl> <url>/sitewide/css/charlie/themes/hp-takeover/mcdonalds-breakfast/theme.jhtml</url> <oparamName>mcdonalds</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 tm = sn['_testTheme'];
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 now = "03-18-2010 09:15";
var now = "<esi:vars>$strftime($time() + -18000,'%Y%m%d%H%M')</esi:vars>";
if(now.indexOf("esi") > -1) {now = "201001111742"; }//var now = "01-11-2010 17:59";
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);
var 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;
if(pageurl.indexOf("*") > -1) loc = loc.substring(0,pageurl.indexOf("*"))+'*'; 
if(loc == 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(tm==cn['oparamName']||parseInt(tm)==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)||tm==cn['oparamName']||parseInt(tm)==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;
}
}
}
}
}
