var currentTab = new Array();
var playing = new Array();
var delayTime = 5000; // seconds*1000=delayTime
var timeOutFunction = new Array();
var maxTabs = new Array();

//example: 'popular', 'tab01', 'popular-tab01.jsp'
function tabPress(group, tabId, file) {

	if(!currentTab[group]) {
		currentTab[group] = group + "-tab01";
	}
	
	document.getElementById(currentTab[group]).className = "";
	document.getElementById(group + "-" + tabId).className = "current";
	currentTab[group] = group + "-" + tabId;
	var div = document.getElementById(group + "-tabs");
	
	// Begin AJAX 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) {
       return false;
    }
	
    http_request.onreadystatechange = function() { printContent(http_request, div); };
    
	var now = new Date();
	var timestamp = now.getTime();
	if(file.indexOf("?") == -1 ) {
    	var filenamed = "/templates/collection/" + file + "?time=" + timestamp;
	} else {
		var filenamed = "/templates/collection/" + file + "&time=" + timestamp;
	}
	
    http_request.open('GET', filenamed, true);
    http_request.send(null);
}

function printContent(http_request, div) {
	if (http_request.readyState == 4) {
        if (http_request.status == 200) {
            div.innerHTML = http_request.responseText;
            getTheDate();
        } else {
            alert('There was a problem with the request.');
        }
    }
}


function playTab(div) {
    if(!playing[div]){
        playing[div] = true;
        slideShow(div);
    }
}

function pauseTab(div) {
    if(playing[div]){
        playing[div] = false;
        clearTimeout(timeOutFunction[div]);
    }
}

function slideShow(div) {
    var finalNextTab;
    var finalNextFile;
	    
    for(var i=1; i<=maxTabs[div]; i++) {
        var thisTabNum = "tab0" + i;
        var thisTab = div + "-" + thisTabNum;
        
        var nextI = i + 1;
        if(nextI > maxTabs[div]) {
            nextI = 1;
        }
        var nextTab = "tab0" + nextI;
        var nextFile = div + "-tab0" + nextI + ".jsp";
        
        if(currentTab[div] == thisTab){
            finalNextTab = nextTab;
            finalNextFile = nextFile;
        }
    }
    
    tabPress(div, finalNextTab, finalNextFile);
    
    if(playing[div]){
        timeOutFunction[div] = setTimeout('slideShow(\''+div+'\')', delayTime);
    }
}

function setTab(tabId, group, tabs) {
    currentTab[group] = group + "-" + tabId;
	maxTabs[group] = tabs;
}

function getTheDate() {
    var i=1;
    for (i=1; i<16; i++) {
        var divString = 'last-updated-' + i;
        var dateContent =  document.getElementById(divString);
        if(dateContent == null) {
                        break;
        }
        var lastModTime = (new Date(dateContent.innerHTML)).getTime();
        var nowTime = (new Date()).getTime();
        var minutesAgo = Math.round(((nowTime - lastModTime)/1000)/60);
        if (minutesAgo < 60 && minutesAgo > 0) {
            if (minutesAgo <= 1) {
                document.getElementById(divString).innerHTML = '<p class="last-updated">Updated: less than a minute ago<p>';
				document.getElementById(divString).className = "";
            } else {
                document.getElementById(divString).innerHTML = '<p class="last-updated">Updated: ' + minutesAgo + ' minutes ago</p>';
				document.getElementById(divString).className = "";
            }
        }
        else if (minutesAgo <= 180 && minutesAgo > 0){
            var lastModTime = (new Date(dateContent.innerHTML));
            var hours = lastModTime.getHours();
            var minutes = lastModTime.getMinutes();
            var dateString = "";
            if(minutes < 10) {
                minutes = '0' + minutes;
            }
            if(hours == 0) {
                dateString = dateString + '12:' + minutes + ' AM';
            }
            else if(hours == 12) {
                dateString = dateString + '12:' + minutes + ' PM';
            }
            else if(hours > 12) {
                dateString = dateString + hours-12 + ':' + minutes + ' PM';
            }            
            else {
                dateString = dateString + hours + ':' + minutes + ' AM';
            }
            document.getElementById(divString).innerHTML = '<p class="last-updated">Updated: ' + dateString + ' </p>';
			document.getElementById(divString).className = "";
        }
        
    }
}

function generateDate(fullDate, shortDate) {
	var lastModTime = (new Date(fullDate)).getTime();
    var nowTime = (new Date()).getTime();
    var minutesAgo = Math.round(((nowTime - lastModTime)/1000)/60);
    if (minutesAgo < 60 && minutesAgo > 0) {
        if (minutesAgo <= 1) {
            document.write('Updated: less than a minute ago');
        } else {
            document.write('Updated: ' + minutesAgo + ' minutes ago');
        }
    }
	else if (minutesAgo <= 180 && minutesAgo > 0) {
		if(shortDate != "") {	
	        document.write('Updated: ' + shortDate);
	    }
	}
}

var currentStory = 0;
var playingRotation = false;

function storyRotationLoad(itemIndex) {
	
	// Begin AJAX 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) {
       return false;
    }	
    http_request.onreadystatechange = function() { printContent(http_request, document.getElementById('module-lead-content')); };
    
	var now = new Date();
	var timestamp = now.getTime();
	var filenamed = "story-rotation.front?index=" + itemIndex + "&time=" + timestamp;
			
    http_request.open('GET', filenamed, true);
    http_request.send(null);
}

function nextStoryRotation() {
	currentStory++;
	if(currentStory >= 6) {
		currentStory = 1
	}
	storyRotationLoad(currentStory);
}
function previousStoryRotation() {
	currentStory--;
	if(currentStory <= 0) {
		currentStory = 5
	}
	storyRotationLoad(currentStory);
}
function rotationPrev() {
	clearTimeout(rotationTimeout);
	previousStoryRotation();
}
function rotationStart() {
	if(playingRotation) {
		clearTimeout(rotationTimeout);
	}
	nextStoryRotation()
	rotationTimeout = setTimeout('rotationStart()', 10000);
	playingRotation = true;
}
function rotationStop() {
	clearTimeout(rotationTimeout);
}
function popUp(URL) {
	day = new Date();
	id = day.getTime();
	eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=1024,height=768,left = 0,top = 0');");
}
