// JavaScript Document
jQuery.noConflict();

jQuery(document).ready(function(){
    initNewsLibrary();
});

var monthNameArray;

function initNewsLibrary(){
	var serviceName = "/NewsLibraryService.aspx";
	var url = window.location.href;
	url = url.slice(0,url.lastIndexOf("."));
	url = url.concat(serviceName);

    jQuery.getJSON(url, {}, function(data){
            var resultHtml = '';
            var currentMonth;
            
            jQuery.each(data.items, function(i,item){
                    if(currentMonth != getMonth(item.date)){
                        if(i > 0)
                                resultHtml += "</div>";
                        resultHtml += "<div class='archive'><h3>";
                        
                        var itemDate = getMonth(item.date);
                        if(itemDate.substr(0,1) == "0")
                            resultHtml += monthNameArray[parseInt(itemDate.substr(1,1)) - 1];
                        else
                            resultHtml += monthNameArray[parseInt(itemDate) - 1];
                        resultHtml += "</h3><div class='h3Underline'></div>";
                        resultHtml += generateNewsListItem(item);
                        
                        currentMonth = getMonth(item.date);
                        
                    }
                    else {
                        resultHtml += generateNewsListItem(item);
                    }
            });
            
            resultHtml += "</div>"
            
            jQuery("#centerRow-4 #body").empty();
            jQuery("#centerRow-4 #body").append(resultHtml);
            
        });
}

function generateNewsListItem(item){
    var resultHtml = "";
    
    resultHtml += "<div class='archiveItem'><div class='narrowSubpageGradientBG'></div>";
    resultHtml += "<div class='header'><a href='" + item.newsUrl + "'><span class='title'>" + item.header + "</span><span class='date'>&nbsp;(" + outputDate(item.date) + ")</span></a></div>";
    resultHtml += "<div class='body'>" + item.text + "</div></div>";
    
    return resultHtml;
}

/* Creates a date object based on the database date string representation */
function createDateObject(dateString){
    var arr = dateString.split("T");
    var date = arr[0].split("-");
    var time = arr[1].split(":");
    return new Date(date[0], date[1], date[2], time[0], time[1], time[2]);   
}

/* Creates a date string based on the database date string representation */
function outputDate(dateString){
    var arr = dateString.split("T");
    var date = arr[0].split("-");
    return date[2] + "-" +  date[1] + "-" + date[0];
}

function getMonth(dateString){
    var arr = dateString.split("T");
    var date = arr[0].split("-");
    return date[1];
}

/* Returns the correctly formatted teaser string depending on weather there is an image assigned the news story */
function outputTeaserText(teaserText, imageUrl){
    if(teaserText.length > 0){
        if(imageUrl.length > 0){
            if(teaserText.length > 100){
                if(teaserText.indexOf(" ", 100) > -1)
                teaserText = teaserText.substr(0, teaserText.indexOf(" ", 100)) + "...</p>";
            }
        }
        else{
            if(teaserText.length > 200){
                if(teaserText.indexOf(" ", 200) > -1)
                    teaserText = teaserText.substr(0, teaserText.indexOf(" ", 200)) + "...</p>";
            }
        }
        return teaserText;
    }
    else
        return "";
}

