﻿/*
    Version 2.0.0
    File Name   : WebNewsNew.js
    Description : Home page for the Intranet web site
    Version History 
    Author  Date    Description
    -----------------------------
    SMT 09/03/2010  Using this version for test purposed
*/

addLoadEvent(blenderStart);

var newsItem = null;

// 2010-02-12 - Adrian Bennett
// The website home page was originally using a web service to get the subsequent items 
// for the new blender. Adam has requested that this is simplified by using an array 
// populated via ASP from the home page.

var newsItems = new Array(); 

function NewsItem(id, title, text, url, image, date)
{
    this.Id = id;
    this.Title = title;
    this.Text = text;
    this.URL = url;
    this.Image = image;
    this.DateItem = date;
}

function blenderStart()
{
    //blenderGo("webNewsContainer", "getNextWebNewsItem", "getPreviousWebNewsItem", "webNews");
    blenderGo("webNewsContainer", "getNextNewsItem", "getPreviousNewsItem", "webNews");
}


function setPreviousId() {
    // Get the previous news item
    if (currentNewsItem > 0)
        currentNewsItem = currentNewsItem - 1;
    else
        currentNewsItem = newsItems.length - 1;
}

function setNextId() {

    if (currentNewsItem < newsItems.length)
        currentNewsItem = currentNewsItem + 1;
    else
        currentNewsItem = 0;

    if (newsItems[currentNewsItem] == null)
        currentNewsItem = 0;
}

function getNextNewsItem() {
    // Get the next news item
    setNextId();
    blendItemReceived(newsItems[currentNewsItem])
}

function getPreviousNewsItem() {
    // Get the previous news item
    setPreviousId();
    blendItemReceived(newsItems[currentNewsItem]);
}

function populateNewsItem() {
    // Get the next news item
    setNextId();
    blenderDynamicPopulate(newsItems[currentNewsItem]);
}


function blenderDynamicPopulateNonWS(_newsItem)
{
	newsItem = _newsItem;
	
	if(newsItem != null)
	{
		// Update the hidden news item
		var wnBox = document.getElementById("webNews" + blenderNext.toString());
		var wnBoxCurrent = document.getElementById("webNews" + blenderCurrent.toString());
		var wnTitle = document.getElementById("wnTitle" + blenderNext.toString());
		wnTitle.innerHTML =  newsItem.Title;
		
		var wnText = document.getElementById("wnText" + blenderNext.toString());
		wnText.innerHTML = newsItem.Text;
		var wnImage = document.getElementById("wnImage" + blenderNext.toString());
		wnImage.src = newsItem.Image;
		var wnURL = document.getElementById("wnURL" + blenderNext.toString());
		var wnURLContainer = document.getElementById("wnURLContainer" + blenderNext.toString());
//		wnURL.href = newsItem.URL;
		wnURL.onclick = function(){ go(_newsItem.URL) };
		document.getElementById("wnTitle" + blenderNext.toString()).onclick = function(){ go(_newsItem.URL) };
		var wnDate = document.getElementById("wnDate" + blenderNext.toString());
		
		var datePart = newsItem.DateItem.substring(0,10).split("-", 3);
		// For some reason using substring(11,5) returns mm-yy from the date string 
		// so do not specify the number of characters to return
		var timePart = newsItem.DateItem.substring(11).split(":", 3);
		
		// The date constructor has the month as a zero based array
		var d = new Date(datePart[0], datePart[1]-1, datePart[2], timePart[0], timePart[1], timePart[2]);
		
		if(d != null)
		{
			wnDate.innerHTML = 
				// Date
				getDayName(d.getDay()) + ", " + 
				d.getDate() + " " + 
				getMonthName(d.getMonth()) + " " + 
				d.getFullYear() + " " + 
				// Time
				pad(d.getHours()) + ":" + 
				pad(d.getMinutes()) + ":" + 
				pad(d.getSeconds())	
				;
		}
//		var webNewsContainer = document.getElementById("webNewsContainer");
//		webNewsContainer.onclick = function(){ go(newsItem.URL) };		
		nextBlenderItemID = newsItem.Id;       		
		return true;
	}
	else
	{
        //alert("news item is null");
	}
	return false;
}


function blenderDynamicPopulate(_newsItem)
{
	newsItem = _newsItem;
	if(newsItem != null)
	{
		// Update the hidden news item
		var wnBox = document.getElementById("webNews" + blenderNext.toString());
		var wnBoxCurrent = document.getElementById("webNews" + blenderCurrent.toString());
		var wnTitle = document.getElementById("wnTitle" + blenderNext.toString());
		wnTitle.innerHTML = newsItem.Title;
		var wnText = document.getElementById("wnText" + blenderNext.toString());
		wnText.innerHTML = newsItem.Text;
		var wnImage = document.getElementById("wnImage" + blenderNext.toString());
		wnImage.src = newsItem.Image;
		var wnURL = document.getElementById("wnURL" + blenderNext.toString());
		var wnURLContainer = document.getElementById("wnURLContainer" + blenderNext.toString());
//		wnURL.href = newsItem.URL;
		wnURL.onclick = function(){ go(_newsItem.URL) };
		document.getElementById("wnTitle" + blenderNext.toString()).onclick = function(){ go(_newsItem.URL) };
		var wnDate = document.getElementById("wnDate" + blenderNext.toString());
		var d = newsItem.Date;
		if(d != null)
		{
			wnDate.innerHTML = 
				// Date
				getDayName(d.getDay()) + ", " + 
				d.getDate() + " " + 
				getMonthName(d.getMonth()) + " " + 
				d.getFullYear() + " " + 
				// Time
				pad(d.getHours()) + ":" + 
				pad(d.getMinutes()) + ":" + 
				pad(d.getSeconds())	
				;
		}
//		var webNewsContainer = document.getElementById("webNewsContainer");
//		webNewsContainer.onclick = function(){ go(newsItem.URL) };		
		nextBlenderItemID = newsItem.Id;
		return true;
	}
	return false;
}

function getTitle() {
    var wnTitleOrig = document.getElementById("wnTitle" + blenderCurrent.toString());
    var wnTitleNext = document.getElementById("wnTitle" + blenderNext.toString());
}

function setNextNews() {
    var obj = document.getElementById("nextNewsItem");
    obj.innerHTML = newsItems[currentNewsItem].Title;

}
