﻿/* Slider Variables */
var target;
var isOpen = false;
/* Data Feed Variables */
var currentItem = 0;
var dataFeedDelay = 8000;
var transitionInterval = null;
var dataFeedContent = new Array();
    
$(document).ready(function(){
        
    $("#bottomButton").click(function(event){
        if(isOpen) {
            target = '35px';
            isOpen = false;
        } else {
            target = '250px';
            isOpen = true;
        }
        $(this).parent().animate({
        height:target}, 800);
        event.preventDefault();
    });
    
    getDataFeed();
    
    getBlogFeed();
    
    getTwitterFeed();
    setInterval("getTwitterFeed()", 100000);
    
});

function getDataFeed() {        
    $.ajax({
        type: "GET", 
        url: "/behindbing/_app/content/data/dataFeed.xml", 
        dataType:"xml", 
        success: function(xml) {
            $(xml).find('item').each(function() {
                dataFeedContent.push($(this).text());
            });
        }
    });
    
    transitionFeed(currentItem, true);
    transitionInterval = setInterval("transitionFeed(++currentItem, true)", dataFeedDelay);
}
    
function transitionFeed(index, auto) {
    if(!auto) {
        clearInterval(transitionInterval);
        transitionInterval = null;
    } 
    if(index > dataFeedContent.length - 1) {
        index = 0;
    } else if(index < 0) {
        index = dataFeedContent.length - 1;
    }
    
    $("#dataFeed").fadeOut(400, function() { 
        $(this).html('<div class="dataFeedItem">' + dataFeedContent[index] + '</div>');
        $(this).fadeIn(400);
        currentItem = index;
    });
}

function getBlogFeed() {
    $.ajax({
        type: "GET", 
        url: "/behindbing/_app/api/getFeed.aspx?id=blog", 
        dataType:"xml", 
        success: function(xml) {
            var count = 0;
            $("#blogFeedSubscribe").html('<a href="' + $(xml).find('content').attr('src') + '"><img src="_resources/images/icons/rss.png" alt="Subscribe to this feed" /></a>');
            $("#blogFeed").empty();
            $(xml).find('item').each(function() {
                $("#blogFeed").append('<div class="blogFeedItem"><div class="blogFeedTextContainer"><div class="blogTitle"><a href="' + $(this).find('link').text() + '" target="_blank">' + $(this).find('title').text() + '</a></div>' + stripHTML($(this).find('description').text()) + '<div class=\"blogFeedTextControls\">' + getFormattedDateLine($(this).find('pubDate').text(), $(this).find('author').text()) + '</div></div>');
                count++;
                if(count > 1) {
                    return false;
                }
            });
        }
    });
}

function getFormattedDateLine(date, author) {
    var text = "";
    var pubDate = new Date(date);
    if(pubDate.getFullYear() > 2005) {
        text = "Posted " + pubDate.getMonth() + "." + pubDate.getDay() + "." + pubDate.getFullYear() + " at " + pubDate.toLocaleTimeString();
    }
    if(author.length > 1) {
        text += " by " + author;
    }
    return text;
}

function stripHTML(str) {
    str = str.replace(/(<.*?>)/gm, "55");
    if (str.length > 103)
    {
        str = str.substring(0, 90) + "...";
    }
    return str;
}

function getTwitterFeed() {
    var date = new Date();
    $.ajax({
        type: "GET", 
        url: "/behindbing/_app/api/getFeed.aspx?id=twitter&amp;time=" + date.toString(), 
        dataType:"xml", 
        success: function(xml) {
            var count = 0;
            $("#twitterFeed").empty();
            $(xml).find('item').each(function() {
                $("#twitterFeed").append('<div class="twitterFeedItem"><div class="twitterFeedImage"><img src="' + $(this).find('image').text() + '" /></div><div class="twitterFeedTextContainer">' + $(this).find('description').text() + '<div class="twitterFeedTextControls"><a href="' + $(this).find('replyTo').text() + '" target="_blank">reply</a> | <a href="' + $(this).find('link').text() + '" target="_blank">view tweet</a></div></div>');
                count++;
                if(count > 1) {
                    return false;
                }
            });
        }
    });
}
