/*
//  main.js
//  Wormhole
//
//  Created by Javier Otero.
//  2011 Futurehaus.
*/

var map;
var latlng = new google.maps.LatLng(41.908386, -87.674629);
var divArray = new Array("a","b","c");
var tweetArray = new Array("a","b","c","d","e","f","g");
var topSetArray = new Array("a","b","c","d","e","f");
var bottomSetArray = new Array("a","b","c","d");
var topCurrentCount = Math.floor(Math.random() * topSetArray.length);
var bottomCurrentCount = Math.floor(Math.random() * bottomSetArray.length);
var tweetCurrentCount = Math.floor(Math.random() * tweetArray.length);
var infoWindowOpen = false;
var feedData = new Array();
var feedDataCount = 0;
var feedStartingNumber = 0;
var feedCurrentPageCount = 0;
var feedTitleCharacterLimit = 200;
var feedDescriptionCharacterLimit = 250;

var d_names = new Array("Sunday", "Monday", "Tuesday",
"Wednesday", "Thursday", "Friday", "Saturday");

var m_names = new Array("January", "February", "March", 
"April", "May", "June", "July", "August", "September", 
"October", "November", "December");

$(document).ready(
	function() 
	{
		changeTopBackground();
		changeBottomBackground();
		switchTweetBackground();
		initializeMap();
		
		$('#content-tweets').jTweetsAnywhere({
		    username: ['wormholecoffee'],
		    count: 1,
			tweetFeedControlsPrevBtnDecorator:$('.tweet-list-controls-button-prev').html(),
			tweetFeedControlsNextBtnDecorator:$('.tweet-list-controls-button-next').html(),
		    showTweetFeed: {
		        paging: { mode: 'prev-next' },
				showProfileImages:false
		    }
		});
		
		
	    $(".tweet-list-controls-button-prev").addClass("hideElement");
		$(".post-list-controls-button-next").addClass("hideElement");
		
		$('.tweet-list-controls-button-prev').click(function () { 
			switchTweetBackground();
			});
		
		$('.tweet-list-controls-button-next').click(function () { 
			switchTweetBackground();
			$(".tweet-list-controls-button-prev").removeClass("hideElement");
			});
			
		$('.post-list-controls-button-prev').click(function () { 	
			displayNextContent();
			$(".post-list-controls-button-next").removeClass("hideElement");
			});

		$('.post-list-controls-button-next').click(function () { 
			displayPreviousContent();
			});
			
		$('.links-left li').click(function() {
			$('html, body').animate({
			     scrollTop: $("#" + $(this).text().toLowerCase()).offset().top
			     }, 800);
		});
		
		$("#wh-header-logo").click(function() {
			window.location.hash = " ";
			window.location.reload();
			//$('html, body').animate({
			  //   scrollTop: $("#landing").offset().top
			   //  }, 800);
		});
		
		if (window.location.hash.toLowerCase() == "impending" || window.location.hash.toLowerCase() == "satellite" || window.location.hash.toLowerCase() == "criticals") {
			$('html, body').animate({
			     scrollTop: $("#" + window.location.hash.toLowerCase()).offset().top
			     }, 800);
		}
		
		$("#content-fritz-ending").click(function() {
			window.location = 'fritz';
		});
		
		$(".links-left li").hover(
		  function () {
			$(this).css('cursor', 'pointer');
		    $(this).addClass("wh-links-hover");
		  }, 
		  function () {
			$(this).css('cursor', 'pointer');
		    $(this).removeClass("wh-links-hover");
		  }
		);
		/*
		$(".links-right li").hover(
		  function () {
			$(this).css('cursor', 'pointer');
		    $(this).addClass("wh-links-hover");
		  }, 
		  function () {
			$(this).css('cursor', 'pointer');
		    $(this).removeClass("wh-links-hover");
		  }
		);
		*/
		$(".social li").hover(
		  function () {
			$(this).css('cursor', 'pointer');
		    $(this).addClass("wh-links-opacity");
		  }, 
		  function () {
			$(this).css('cursor', 'pointer');
		    $(this).removeClass("wh-links-opacity");
		  }
		);
		
		$("#wh-header-logo").hover(
		  function () {
			$(this).css('cursor', 'pointer');
		    $(this).addClass("wh-header-logo-hover");
		  }, 
		  function () {
			$(this).css('cursor', 'pointer');
		    $(this).removeClass("wh-header-logo-hover");
		  }
		);
		
		$("#content-fritz-ending").hover(
		  function () {
			$(this).css('cursor', 'pointer');
		    $("#content-fritz-hover").addClass("content-fritz-hover-active");
		  }, 
		  function () {
			$(this).css('cursor', 'pointer');
		    $("#content-fritz-hover").removeClass("content-fritz-hover-active");
		  }
		);
		
		$(".wh-subbar-highlighted-type").hover(
		  function () {
			$(this).css('cursor', 'pointer');
		    $(this).addClass("wh-subbar-highlighted-type-hover");
		  }, 
		  function () {
			$(this).css('cursor', 'pointer');
		    $(this).removeClass("wh-subbar-highlighted-type-hover");
		  }
		);
		
		populateFeedContent();
	}
);


function initializeMap() {
	
	var myOptions = {
		zoom: 13,
		backgroundColor:"black",
		center: new google.maps.LatLng(41.920386, -87.674629), // latlng,
		mapTypeId: google.maps.MapTypeId.SATELLITE,
		mapTypeControl: false,
		scrollwheel:false,
		panControlOptions: {
			position:google.maps.ControlPosition.LEFT_BOTTOM
		},
		zoomControlOptions: {
		    position:google.maps.ControlPosition.LEFT_BOTTOM
		}
	};
	var image = 'images/layout/wh-elements-map-marker.png';
	map = new google.maps.Map(document.getElementById("criticals-map"),myOptions);
	var marker = new google.maps.Marker({
		position: latlng,//new google.maps.LatLng(41.902386, -87.677629), 
		map: map,
		title:"The Wormhole Coffee",
		icon: new google.maps.MarkerImage('images/layout/wh-elements-map-marker.png', new google.maps.Size(49,49),null, new google.maps.Point(40,0))//image
	});
	
	google.maps.event.addListener(marker, 'click', findAddress);
	findAddress();
}

function findAddress() {
	
	if (infoWindowOpen)
		return;
	
	var geocoder = new google.maps.Geocoder();
	var infoWindowOptions = {
		disableAutoPan:true
	}
	var infoWindow = new google.maps.InfoWindow(infoWindowOptions);
	google.maps.event.addListener(infoWindow, 'closeclick', windowRemoved);
	geocoder.geocode({latLng: latlng}, function(results, status) {
	  if (status == google.maps.GeocoderStatus.OK) {
	    if (results[0]) {
	      infoWindow.setContent("<div id='content-map'><div id='content-map-goonies'></div><div id='content-map-type'><span class='wh-map-type'>The Wormhole Coffee<br/>1462 North MILWAUKEE AVENUE<br/>CHICAGO, IL 60622<br/>773.661.2468<br/>Open Daily 7am-11pm<br/><a href='http://maps.google.com/maps/place?q=the+wormhole+coffee&hl=en&cid=15838278233679433298&gl=US' target='_blank'>SEE GOOGLE REVIEWS</a></span></div></div>");
	      infoWindow.setPosition(latlng);
	      infoWindow.open(map);
		  infoWindowOpen = true;
	    }
	  }
	});
}

function windowRemoved() {
	infoWindowOpen = false;
}

function changeTopBackground()
{
	var loopCount = topCurrentCount;
	var imageLoopCount = topCurrentCount-1;
	if (imageLoopCount < 0) {
		imageLoopCount = topSetArray.length-1;
	}
	
	for (var i = 0; i < divArray.length; i++) {
		$('.top-image-'+divArray[i]+'').css("background-image", "url(images/content/WH_Photo_000"+loopCount+"_"+topSetArray[loopCount].toUpperCase()+".jpg)");
		$('.landing-headline').css("background-image", "url(images/content/wh-headline-"+topSetArray[imageLoopCount].toLowerCase()+".png)");
		//$('.top-image:nth-child('+(i+1)+')').css("background-image", "url(images/content/WH_Photo_000"+loopCount+"_"+setArray[loopCount].toUpperCase()+".jpg)");
		loopCount++;
		if (loopCount > topSetArray.length-1) {
			loopCount = 0;
		}
		imageLoopCount++;
		if (imageLoopCount > topSetArray.length-1) {
			imageLoopCount = 0;
		}
	}
	
	topCurrentCount++;
	if (topCurrentCount > topSetArray.length-1) {
		topCurrentCount = 0;
	}
	
    setTimeout(function(){changeTopBackground()},5000);
}

function changeBottomBackground()
{
	var loopCount = bottomCurrentCount;
	for (var i = 0; i < divArray.length; i++) {
		$('.bottom-image-'+divArray[i]+'').css("background-image", "url(images/content/WH_Space_"+bottomSetArray[loopCount].toUpperCase()+".jpg)");
		//$('.top-image:nth-child('+(i+1)+')').css("background-image", "url(images/content/WH_Photo_000"+loopCount+"_"+setArray[loopCount].toUpperCase()+".jpg)");
		loopCount++;
		if (loopCount > bottomSetArray.length-1) {
			loopCount = 0;
		}
	}
	
	bottomCurrentCount++;
	if (bottomCurrentCount > bottomSetArray.length-1) {
		bottomCurrentCount = 0;
	}
	
    setTimeout(function(){changeBottomBackground()},5000);
}

function switchTweetBackground()
{
	var loopCount = tweetCurrentCount;
	for (var i = 0; i < divArray.length; i++) {
		$('#content-tweet-background').css("background-image", "url(images/content/WH_tweet_000"+loopCount+"_"+tweetArray[loopCount].toUpperCase()+".jpg)");
		loopCount++;
		if (loopCount > tweetArray.length-1) {
			loopCount = 0;
		}
	}
	
	tweetCurrentCount++;
	if (tweetCurrentCount > tweetArray.length-1) {
		tweetCurrentCount = 0;
	}
}

function scrollToWindow(xpos,ypos) {
  	//window.scrollTo(xpos,ypos);
	$('html, body').animate({scrollLeft:xpos, scrollTop:ypos}, 500);
}

function populateFeedContent() {
	$("#content-feed-satellite").empty();
 
	$.get('php/proxy.php?url=http://www.thewormhole.us/blog/?feed=rss2', function(d) {
	//$.get("http://dev.thewormhole.us/blog/?feed=rss2", function(d) {
 
		$(d).find('item').each(function() {
 
			var $item = $(this);
			var title = $item.find('title').text();
			
			if (title.length > feedTitleCharacterLimit)
				title = title.substring(0,feedTitleCharacterLimit) + "...";
				
			var link = $item.find('link').text();
			var description = $item.find('description').text();
			
			if (description.length > feedDescriptionCharacterLimit)
				description = description.substring(0,feedDescriptionCharacterLimit) + "...";
				
			var publishDate = new Date($item.find('pubDate').text());
 
			var curr_day = publishDate.getDay();
			var curr_date = publishDate.getDate();
			var curr_month = publishDate.getMonth();
			var curr_year = publishDate.getFullYear();

			var html = "<div class=\"wh-feed-post\"><div class=\"wh-post-title\">" + title + "<\/div>";
			html += "<div class=\"wh-post-date\">" + d_names[curr_day] + ", " + m_names[curr_month] + " " + curr_date + " " + curr_year + "</div>";
			html += "<p class=\"wh-post-description\">" + description + "</p>";
			html += "<a href=\"" + link + "\" target=\"_blank\" class=\"wh-post-link\">READ MORE ><\/a><\/div>";
 
			feedData[feedDataCount] = html;
			feedDataCount++;
		});
		
		displayFeedContent();
	});
 
};

function displayFeedContent() {
	
	var feedAddCount = 0;
	var feedDisplayCount = feedStartingNumber + 2;
	
	if (feedDisplayCount > feedData.length-1) {
		feedDisplayCount = feedDisplayCount - (feedData.length-1);
	}
	
	if (feedData.length != 0) {
		$("#content-feed-satellite").empty();
	
		while (feedAddCount != 3) {
			$('#content-feed-satellite').append($(feedData[feedDisplayCount]));
			feedDisplayCount--;
			feedAddCount++;
		
			if (feedDisplayCount < 0)
				break;
		}
	}
}

function displayPreviousContent() {
	
	if (feedStartingNumber - 3 < 0 && feedStartingNumber != 0) {
		feedStartingNumber -= feedStartingNumber;
	} else {
		feedStartingNumber -= 3;
	}
	
	if (feedStartingNumber < 0) {
		feedStartingNumber = (feedData.length-1) + feedStartingNumber;
	}
	displayFeedContent();
}

function displayNextContent() {
	
	if (feedData.length-1 < feedStartingNumber + 3  && feedStartingNumber != (feedData.length-1)) {
		feedStartingNumber = (feedData.length-1) - feedStartingNumber
	} else {
		feedStartingNumber += 3;
	}
	
	if (feedStartingNumber > (feedData.length-1)) {
		feedStartingNumber = feedStartingNumber - (feedData.length-1);
	}
	
	displayFeedContent();
}
