$(document).ready(function() {
	var commentBubble = $('span.comment-bubble')
	  , shareBubble = $('span.share-bubble');
	
	log("before activateShareTextLinks");
	activateShareTextLinks();
	log("after activateShareTextLinks");
	activateSubSocialLinkTW();
	
	
	//comment counter videoplayer home
	if ($('#video-bottom')){
		checkCommentsRelatedContent('#video-bottom');
		checkShares('#video-bottom');
	}
	
	// comment counter related content list
	if ($('#related-content-all')){
		checkCommentsRelatedContent('#related-content-all');
		checkShares('#related-content-all');
	}
	
	// comment counter 
	if ($('#social_media_links')){
		checkCommentsRelatedContent('#social_media_links');
		checkShares('#social_media_links');
	}
		
	showIfNotZero(commentBubble);
	showIfNotZero(shareBubble);
	
	// ilike iframe
	showIlikeIFrames(); 

});

function log(msg) 
{
	if (typeof console != 'undefined') console.log(msg);
}

function showIlikeIFrames(){
	$('.iLikeIFrame').each(function() {
	  	var absoluteUrl = $(this).attr('rel');
	  	var assetId = $(this).attr('id').split('iframe_')[1];
	  	$.ajax({
			type: "GET",
			url: "/cs/Satellite",
			async: true,
			data: "pagename=RedBull/SocialMedia/FaceBookIframe&absoluteUrl="+absoluteUrl,
			success: function(data){
				var selector = "#iframe_"+assetId;
				$(selector).append(data);
			}
		});
   	});
}

function makeShortUrls(){
	$('.sub-social-tw').each(function() {
      shortUrl($(this));
   	});
}

function checkShares(selectorStr){
	$(selectorStr).find('a.share-text').each(function () {
  		var assetId = $(this).attr('id').split('share_asset_')[1];
  		var timestamp = new Date().getTime();
  		$.ajax({
			type: "GET",
			url: "/cs/Satellite",
			async: true,
			data: "pagename=RedBull/SocialMedia/CountShares&assetid="+assetId,
			success: function(data){
				var checkCounter = parseInt(data);
				var selector = "#share_bubble_"+assetId;
				if (checkCounter>0 ){
					$(selector).html(data);
					$(selector).show();
				} else {
					$(selector).hide();
				}
			}
		});
	});
}

function activateSubSocialLinkTW(){
	$('a.sub-social-tw').click(function() {
		var twitterUrl = 'http://twitter.com/home?status=';
		var redBullHash = ' via @redbull';
		if(this.rev != null){
			redBullHash = ' via @'+this.rev;
		}
		var status = this.title + ' ' + this.rel + ' '+ redBullHash;
		
		status = status.replace(new RegExp( /\s/g ), '+');
		
		window.open(twitterUrl + status);
		
		return false;
	});
	
	$('body').click(function() {
		clearTips();
	});
}

function activateShareTextLinks(){
	log("in activateShareTextLinks 2");
	$('a.share-text').click(function() {
		log("found a.share-text");
		var shareItem = $(this)
		  , assetId = shareItem.attr('id').split('share_asset_')[1]
		  ,	exp = $(this).parents('div.sub-social-wrapper').parent().find('div.social-tip')
		  ,	btns = $(exp).find('div.social-tip-btns')
		  ,	twitterDiv = $(exp).find('a.sub-social-tw');
		
		if(!$(this).hasClass('share_menu_on')) {
			clearTips();
			var wrapperPos = $(this).parents('div.sub-social-wrapper').position()
			  , wrapperTop = $(this).parent().hasClass('socbutton') ? wrapperPos.top - 35 : wrapperPos.top - 40
			  , tipPos = $(this).position()
			  , tipLeft = tipPos.left;
			  
			shortUrl($(twitterDiv));
			
			exp.css({'top' : wrapperTop, 'left' : tipLeft - 45});
			
			exp.fadeIn('slow');
			
			$(this).addClass('share_menu_on');
			log("assetId: "+assetId);
			//Ajax call to log share count server side
			countShareForAssetId(assetId,'count');
		}
		else {
			exp.fadeOut('slow');
			$(this).removeClass('share_menu_on');
		}

		return false;
	});
}

function checkCommentsRelatedContent(selectorStr){
	$(selectorStr).find('a.social-nudge').each(function () {
  		var contentid = $(this).attr('id');
  		var timestamp = new Date().getTime();
  		if(!isNaN(contentid)){
			﻿$.ajax({
				type: "GET",
				url: "/cs/Satellite",
				async: true,
				data: "pagename=RedBull/SocialMedia/CountComments&assetid="+contentid,
				success: function(data){
					var checkCounter = parseInt(data);
					var selector2 = "#commentCount_"+contentid;
					if (checkCounter>0 ){
						var selector = "#"+contentid;
						$(selector2).css('display','inline');
						$(selector2).html(data);
						//$(selector2).show();
						if (checkCounter == 1){
							$(selector).html('Comment');
						} else {
							var htmlStr = 'Comments';
							$(selector).html(htmlStr);
						}
					} else {
						var selector = '#'+contentid;
						$(selector).html('Comment');
						$(selector).show();
						$(selector2).hide();
					}
				}
			});
		}
	});
}



function showIfNotZero(ele) {
	if(ele.html() != 0) {
		ele.show();
	}
}

function clearTips() {
	var shareTip = $('div.social-tip');
 	if(shareTip.is(':visible')) {
		shareTip.fadeOut('slow');
		$('a.share_menu_on').removeClass('share_menu_on');
	}
}

function countShareForAssetId(assetId,flag)
{
	var timestamp = new Date().getTime();
	var dataStr = "pagename=RedBull/SocialMedia/CountShares&assetid="+assetId;
	var cookieValue = $.cookie.get('sharedCookie');
	
	if (cookieValue == null){
		var newCookieValue = assetId;
		$.cookie.set('sharedCookie',newCookieValue);
		dataStr = dataStr+"&count=true";
	} else if(cookieValue.indexOf(assetId)<0){
		var newCookieValue = cookieValue+"-"+assetId;
		$.cookie.set('sharedCookie',newCookieValue);
		dataStr = dataStr+"&count=true";
	}
	//alert($.cookie.get('sharedCookie'));
	//alert(dataStr);
	$.ajax({
		type: "GET",
		url: "/cs/Satellite",
		async: true,
		data: dataStr,
		success: function(data){
			var checkCounter = parseInt(data);
			if (checkCounter>0 ){
				var selector = "#share_bubble_"+assetId;
				$(selector).css('display','inline');
				$(selector).html(data);
				//$(selector).show();
			} 
		}
	});
}

function shortUrl(element){
	var length = $(element).attr("rel").length;
    if (length > 0){
		var urls = unescape($(element).attr("rel"));
		// set up default options
		var defaults = {
			version:    '2.0.1',
			login:      'redbull',
			apiKey:     'R_07d2dd736bd35a5ac38bcb17a7d1ec6f',
			history:    '0',
			longUrl:    urls
		};
	
		// Build the URL to query
		var daurl = "http://api.bit.ly/shorten?"
		+"version="+defaults.version
		+"&longUrl="+defaults.longUrl
		+"&login="+defaults.login
		+"&apiKey="+defaults.apiKey
		+"&history="+defaults.history
		+"&format=json&callback=?";
		
		log("daurl: "+daurl);
		// Utilize the bit.ly API		
		$.getJSON(daurl, function(data){
			var check = data.results[defaults.longUrl];
			if (check !== undefined){
				$(element).attr("rel",data.results[defaults.longUrl].shortUrl);
			}
		});
	}
}
