/*
	Copyright (c) 2004-2011 Sterling-Rice Group
*/


// variables
var blog_list;
var top_blog;
var email = false;
var more = false;
var cust = false;

function init_aside() {
	// format
	dojo.fx.wipeOut({
		node: "follow_custom_links",
		duration: 0
	}).play();
	
	// listeners
	dojo.query(".follow_custom h3").connect("onclick", "on_custom_tweets");
	
	dojo.query(".follow_email").connect("onclick", "on_show_email");
	dojo.query(".email_updates_subscribe").connect("onclick", "stop_more_prop");
	
	dojo.query("#email_updates_submit").connect("onclick", "add_remove_email");

	dojo.query("body").connect("onclick", "on_body_click");
	
	// run
	mediaModule.init();
	blogModule.init();
}

////////////////////////////////////////////////////////////////////////////////////////////////////
/////     LISTENERS
////////////////////////////////////////////////////////////////////////////////////////////////////

//custom tweets tree show/hide
function on_custom_tweets(evt) {
	var fadeArgs = {
		node: "follow_custom_links",
		duration: 250,
		onEnd: function() {
			cust = true;
			dojo.style(evt.target, "background-position", "-184px -26px");
		}
	};
	dojo.fx.wipeIn(fadeArgs).play();
}

// email signup show/hide
function on_show_email(evt) {
	dojo.query(".email_updates_subscribe").style("display", "block");
	setTimeout(function() {
		email = true;
	},500);
}

function add_remove_email(evt) {
	var sub_email = dojo.byId("email_updates_email").value;
	
	dojo.xhrGet({
		url: "/ajax/subscribe",
		content: {
			email : sub_email
		},
		handleAs: "text",
		load: function(data){
			alert(data);
			
			dojo.byId("email_updates_email").value = "";
		}
	});
}

// if the body is clicked
function on_body_click(evt) {
	
	if (more == true) {
		dojo.query(".view_more_media_box").style("display", "none");
		more = false;
	}
	
	if (email == true) {
		dojo.query(".email_updates_subscribe").style("display", "none");
		email = false;
	}
	
	if (cust == true) {
		var fadeArgs = {
			node: "follow_custom_links",
	 		duration: 250,
			onEnd: function() {
				cust = false;
			 	dojo.query(".follow_custom h3").style("background-position", "-184px -6px");
			}
		};
	 	dojo.fx.wipeOut(fadeArgs).play();
	}
}

function stop_more_prop(evt) {
	evt.stopPropagation();
}

////////////////////////////////////////////////////////////////////////////////////////////////////
/////     CLASSES
////////////////////////////////////////////////////////////////////////////////////////////////////

var blogModule = {
	// blogs json
	blogs: Object,
	entries: Object,
	
	init: function() {
		this.getBlogPosts();
	},
	
	// get list of blogs
	getBlogPosts: function() {
		var _this = this;
		dojo.xhrGet({
			url: "/ajax/get-blogs",
			handleAs: "json",
			load: function(data) {
				_this.listBlogs(data);
			}
		});
	},
	
	// return list of blogs
	listBlogs: function(data) {
		var _this = this;
		this.entries = data;
		
		
		for(i=0; i<this.entries.length; i++) {
			if (this.entries[i].title == "SRG CULINARY BLOG") {
				this.entries[i].title = "Culinary";
			}
			if (this.entries[i].title == "SRG Innovation Blog") {
				this.entries[i].title = "Innovation";
			}
			if (this.entries[i].title == "Infotech") {
				this.entries[i].title = "Digital";
			}
			if (this.entries[i].title == "SRG GTM Spark") {
				this.entries[i].title = "Go To Market";
			}
		}
		
		for (i=0; i<this.entries.length; i++) {
			if (this.entries[i].title != "SRG Futures"){
				var url_title = this.entries[i].title.toLowerCase().replace(/ /gi, "-");
				if (i == 0) {
					top_blog = url_title;
					dojo.query(".aside_blog_nav")[0].innerHTML += "<li id=\"top_entry\">\r\n";
					dojo.byId("top_entry").innerHTML += "<h3><a href=\"/blogs/"+url_title+"/\" >"+this.entries[i].title+"</a></h3>\r\n";
					///// get latest post /////
					dojo.io.script.get({
						url: this.entries[i].link[2]+"?alt=json&max-results=1",
						callbackParamName: "callback",
						load: function(data) {
							b_obj = data;
							var post = b_obj.feed.entry[0];
			
							var top_url = post.link[4].href.split(".com/");
							dojo.byId("top_entry").innerHTML += "<p><span class=\"aside_blog_img\"><img src=\"" + _this.getBlogAuthor(post.author[0].name) + "\"></span>"+ post.title.$t +"<br />";
							dojo.byId("top_entry").innerHTML += "<a href=\"/blogs/" + top_blog + "/" + top_url[1] + "\" class=\"aside_view_entry\">view entry</a> <br clear=\"all\" /></p>";
						}
						
					});
					
					dojo.query(".aside_blog_nav")[0].innerHTML += "</li>\r\n";
				} else {
					dojo.query(".aside_blog_nav")[0].innerHTML += "<li><a href=\"/blogs/"+url_title+"/\" >"+this.entries[i].title+"</a></li>";
				}
			}
		}
	},
	
	// get authors
	getBlogAuthor: function(n) {
		var f;
		switch(n) {
			
			//GTM
			case "LysLundgren" :
				f = "/assets/images/about/profiles/alyssa_lundgren.jpg";
				break;
				
			case "Cody Cooper" :
				f = "/assets/images/about/profiles/cody_cooper.jpg";
				break;		
			
			case "Laura Slavec" :
				f = "/assets/images/about/profiles/laura_slavic.jpg";
				break;
				
			//INNOVATION
			//case "Cameron Houser" :
				//f = "/assets/images/about/profiles/cameron_houser";
				//break;
						
			//DIGITAL
			case "Matt Laufer" :
				f = "/assets/images/about/profiles/matt_laufer.jpg";
				break;
				
			case "Jon" :
				f = "/assets/images/about/profiles/jon_nooning.jpg";
				break;
				
			case "Ryan" :
				f = "/assets/images/about/profiles/ryan_weaver.jpg";
				break;
				
			case "Ty" :
				f = "/assets/images/about/profiles/tyson_nielsen.jpg";
				break;
			
			//CULINARY
			case "bclark" :
				f="/assets/images/about/profiles/bryce_clark.jpg";
				break;
			
			case "kazia" :
				f="/assets/images/about/profiles/kazia_jankowski.jpg";
				break;
			
			case "Cathryn" :
				f="/assets/images/about/profiles/cathryn_olchowy.jpg";
				break;
			
			default : 
				f = "/assets/images/author_blank.png";
			break;
		}
		
		return(f);
	}
};

var mediaModule = {
	limit:0,
	m:0,
	
	slider: function() {
		return dojo.byId("aside_media_slider");
	},
	
	links: function() {
		return dojo.query(".aside_media_links ul li");
	},
	
	init: function() {
		this.initListeners();
		this.getMediaList();
	},
	
	initListeners: function() {
		_this = this;
		dojo.query(".aside_more_link").connect("onclick", function(evt) {
			_this.viewMore(evt);
		});
		dojo.query(".view_more_media_box").connect("onclick", function(evt) {
			stop_more_prop();
		});
		dojo.query("#aside_media_right").connect("onclick", function(evt) {
			_this.mediaRight(evt);
		});
		dojo.query("#aside_media_left").connect("onclick", function(evt) {
			_this.mediaLeft(evt);
		});
	},
	
	mediaRight: function(evt) {
		if (this.m<this.limit) {
			this.m++;
			this.slide();
		}
	},

	mediaLeft: function(evt) {
		if (this.m>0) {
			this.m--;
			this.slide();
		}
	},
	
	slide: function() {
		dojo.fx.slideTo({
			node: "aside_media_slider",
			left: -190*this.m, 
			unit:"px"
		}).play();
		
		this.check_buttons();
	},
	
	check_buttons: function() {
		if (this.m == this.limit) {
			dojo.query("#aside_media_right a").style("cursor", "default");
			dojo.fadeOut({node: "aside_media_right"}).play();
		} else {
			dojo.query("#aside_media_right a").style("cursor", "pointer");
			dojo.fadeIn({node: "aside_media_right"}).play();
		}
		if (this.m == 0) {
			dojo.query("#aside_media_left a").style("cursor", "default");
			dojo.fadeOut({node: "aside_media_left"}).play();
		} else {
			dojo.query("#aside_media_left a").style("cursor", "pointer");
			dojo.fadeIn({node: "aside_media_left"}).play();
		}
	},
	
	viewMore: function(evt) {
		dojo.query(".view_more_media_box").style("display", "block");
		setTimeout(function() {
			more = true;
		},500);
	},
	
	getMediaList: function() {
		var _this = this;
		dojo.xhrGet({
			url: "/ajax/get-aside-media",
			handleAs: "json",
			load: function(data){
				n_obj = data;
				for (me = 0; me < n_obj.length; me++) {
					var media_item = dojo.create("li", {innerHTML: "<a href=\"" + n_obj[me].url + "\" class=\""+ n_obj[me].type +"\" target=\"_blank\"></a><img src=\"" + n_obj[me].thumb + "\" />"}, _this.slider());
					
					if (me %2) {
						dojo.style(media_item, "top", "65px");
						dojo.style(media_item, "left", (me*47.5)-47.5+"px");
					} else {
						dojo.style(media_item, "left", (me*47.5)+"px");
					}
				}
				_this.initMediaLinks();
			}
		});
	},
	
	initMediaLinks: function() {
		var new_width = (this.links().length/2)*95;
		dojo.style(this.slider(), "width", new_width+"px");	
		this.limit = Math.round(dojo.style(this.slider(), "width")/185)-1;	
		this.check_buttons();
	}	
};

