
/**************************************************/

var xmlFileName = "data.xml";

var folderName = ( gParam( 'date' ) != '' && gParam( 'date' ) != 'undefined' && gParam( 'date' ) != null ) ? gParam( 'date' ) : "promo";

var rootFolder = "content/";
var processed = false;
var currentNumber = 0;

var movieWidth = "400";
var movieHeight = "300";
var altImgSrc = "";
var altLinkURL = "http://www.macromedia.com/go/getflashplayer";

var timeA = new Date();
var timeB = new Date();
var diffB = 0;
var millisecondDay = 24*60*60*1000;
/**************************************************/

function checkFolderA() {
	var timeObject = timeA;
    newFolderName = folderName;
    var http_request = create_http_request();
    var url = rootFolder + newFolderName + "/" + xmlFileName;
    http_request.onreadystatechange = function() { checkFolderAStatus(http_request); };
    http_request.open('GET', url, true);
    http_request.send(null);
}

/**************************************************/

function checkFolderAStatus(http_request) {
    if (http_request.readyState == 4) {
        if (http_request.status != 200) {
        	var diff = -1;
        	var weekDay = timeA.getDay();
        	if (weekDay == 0 ) diff = -2;
        	if (weekDay == 1 ) diff = -3;
            timeA = new Date(timeA.getTime() + (millisecondDay * diff));
        }
        keepMoving();
    }
}

/**************************************************/

function getContent(url) {
    var http_request = create_http_request();
    http_request.onreadystatechange = function() { WriteContents(http_request); };
    http_request.open('GET', url, true);
    http_request.send(null);
}

/**************************************************/

function WriteContents(http_request) {
	renderNav();
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
            if (!processed){
                processed = true;
                var xmldoc = http_request.responseXML;
                var linkItems = xmldoc.getElementsByTagName('link');
                var content = "";
                for (var i = 0; i < linkItems.length; i++) {
                  section = xmldoc.getElementsByTagName('link').item(i).getElementsByTagName('section').item(0).firstChild.data;
                  title = (xmldoc.getElementsByTagName('link').item(i).getElementsByTagName('title').item(0)) ? xmldoc.getElementsByTagName('link').item(i).getElementsByTagName('title').item(0).firstChild.data : "";
                  description = xmldoc.getElementsByTagName('link').item(i).getElementsByTagName('description').item(0).firstChild.data;
                  url = xmldoc.getElementsByTagName('link').item(i).getElementsByTagName('url').item(0).firstChild.data;
                  
                  content += "<li>";
                  content += "<a href=\"#x\" onclick=\"gotoVideo("+(i+1)+");\" id=\"l"+(i+1)+"\" class=\"s\" onmouseover=\"moveBg(this, true);\" onmouseout=\"moveBg(this, false);\" onmouseup=\"this.blur();\">" + section + "</a>";
                  content += "<a href=\"" + url + "\" onmouseover=\"moveBg(document.getElementById('l"+(i+1)+"'), true);\" onmouseout=\"moveBg(document.getElementById('l"+(i+1)+"'), false);\" class=\"i\" onmouseup=\"this.blur();\"><img src=\""+rootFolder+folderName+"/img"+(i+1)+".jpg\" alt=\"\" /></a>";
                  content += "<a href=\"" + url + "\" onmouseover=\"moveBg(document.getElementById('l"+(i+1)+"'), true);\" onmouseout=\"moveBg(document.getElementById('l"+(i+1)+"'), false);\" class=\"l\" onmouseup=\"this.blur();\"><span>" + title + "</span> " + description + "</a>";
                  content += "</li>";
                }
                document.getElementById("list").innerHTML = "<ul>" + content + "</ul>";
            }
        }
        else if (http_request.status == 404) {
            document.getElementById("list").innerHTML = "<div id=\"error\">Today's video will be available soon, please come back at a later time.</div>";
        }
        else {
            document.getElementById("list").innerHTML = "There was a problem with the request.";
        }
        //document.getElementById("podcast").href = rootFolder + folderName + "/movie.mp4";
        renderFlash( document.getElementById('flashph'), folderName );
    }
}

/**************************************************/

function renderNav()
{
	var currentDate = timeA;
	var weekDay = currentDate.getDay();
	var daysArray = new Array("Monday","Tuesday","Wednesday","Thursday","Friday");
	var result = "<ul class=\"cf\">";
	if (weekDay == 0) weekDay = 7;
	for (i = 1; i <= 5; i++)
	{
		var diff = i - weekDay;
		var myDate = new Date(currentDate.getTime() + (millisecondDay * diff));

		
		if (diff == diffB){
			result += "<li class=\"y\">";
			result += "<a href=\"javascript:gotoDate(" + diff + ");\">";
		}
		else if (diff <= 0) {
			result += "<li class=\"y\">";
			result += "<a href=\"javascript:gotoDate(" + diff + ");\">";
		}
		else {
			result += "<li class=\"x\">";
		}
		result += daysArray[i-1] + " "+ (myDate.getMonth()+1) + "-" + myDate.getDate();
		if (diff <= 0)  result += "</a>";
		result += "</li>";
	}
	result += "</ul>";
	document.getElementById('nav').innerHTML = result;    
}

/**************************************************/

function create_http_request() {
    var http_request = false;

    if (window.XMLHttpRequest) { // Mozilla, Safari, ...
        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");
        } catch (e) {
            try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }
    if (!http_request) {
        alert('Giving up :( Cannot create an XMLHTTP instance');
        return false;
    }
    return http_request;
}

/**************************************************/

function moveBg(object, over) {
    if (over)
        object.style.backgroundPosition = "right top";
    else
    {
        if (object != document.getElementById("l" + currentNumber))
            object.style.backgroundPosition = "right -66px";
    }
}

/**************************************************/

function gotoVideo(number) {
    var foName = "moviee";
    if (navigator.appName.indexOf("Microsoft") != -1)
        foName = "movie";
    //promo off document.getElementById(foName).goToCP(number); 
}

/**************************************************/

function getLocation(number) {
	if (currentNumber > 0) 
        document.getElementById("l" + currentNumber).style.backgroundPosition = "right -66px";
    if (number < 6)
    {
    	currentNumber = number;
    	document.getElementById("l" + number).style.backgroundPosition = "right top";
    }
    else {
    	resetNav();
    }
}

/**************************************************/

function resetNav() {
    if (currentNumber > 0)
        document.getElementById("l" + currentNumber).style.backgroundPosition = "right -66px";
    currentNumber = 0;
}

/**************************************************/

function gotoDate( diff ){
	temp = window.location.href.split("?");
	temp2 = temp[0].split("#");
	//promo off window.location = temp2[0] + "?diff=" + diff;
	return false;
}

/**************************************************/

function gParam( strParam )
{
	var location = new String( window.location );
	var questionIndex = location.indexOf( "?" );
	var parameters = new Array();
	var parameterString = location.substring( questionIndex + 1 );
	var tempParam = new Array();
	parameters = parameterString.split( "&" );	
	for( i=0; i <  parameters.length; i++ )
	{
		tempParam = parameters[i].split( "=" );
		if ( tempParam[0] == strParam )
		{
			if ( tempParam[1] == null ) return ""; 
			else return tempParam[1];
		}
	}
}

/**************************************************/

function keepMoving(){
	diffB = ( gParam( 'diff' ) != '' && gParam( 'diff' ) != 'undefined' && gParam( 'diff' ) != null ) ? gParam( 'diff' ) : 0;
	timeB = new Date(timeA.getTime() + (millisecondDay * diffB));
	theTime = (timeB != timeA ) ? timeB : timeA ;
	getContent(rootFolder + folderName + "/" + xmlFileName);
}


/**************************************************/

function stfpopup(object){
	window.open(object.href,'','width=390,height=400');
}

/**************************************************/

window.onload = function () {
	checkFolderA();
}

/**************************************************/