var web_root = "http://www.tastelive.com/";
var len_counter = 0;

$(document).ready(function(){
	
	$(".removeGeo").live("click", function(){
		$.cookie("geolocation", null);
		$("#geoLocation").html('');
		$(".geolocation").parent().show();
		$("#geoFrom").html('');
		$(this).hide();
		return false;
	});
	
	$(".geo_help").live("click", function(){
		$.facybox({div: "#geo_help"});
		return false;
	})
	
	$(".geolocation").live("click", function(){
		
		$(".geo_image").hide();
		$(".geo_loader").show();
		$.ajax({
			url: "/data/getLocation.php",
			type: "GET",
			dataType: "json",
		    error: function(html)
			{
				$(".geo_loader").hide();
				$(".geo_image").show();
				
				$("#result").html("<div class='error_message' style='height: auto; width:543px;'> Oops! There was an unknown error. Please try again.</div>");
				$("#result").slideToggle("slow");
				setTimeout("$('#result').slideToggle('slow')", 5000);
			},
			success: function(html)
			{
				$(".geo_loader").hide();
				$(".geo_image").show();
				
				if (html.result == "success")
				{
					var new_html = "<input type='hidden' name='lat' value='"+html.lat+"'><input type='hidden' name='lng' value='"+html.lng+"'><input type='hidden' name='city' value='"+html.city+"'><input type='hidden' name='state' value='"+html.state+"'>";
					
					$.cookie("geolocation", html.cookie,  { expires: 7 });
					
					$(".geolocation").parent().hide();
					
					var fromWhere = " from " + html.city + ", " + html.state;
					$("#geoFrom").html(fromWhere + "  <a href='#' title='Remove GeoLocation' class='removeGeo'>(X)</a> <a href='#' title='What is this?' class='geo_help'><img src='/images/question.png' align='absmiddle' height='16' width='16'></a>");
					$("#geoLocation").append(new_html);
				}
				else
				{
					$("#result").html("<div class='error_message' style='height: auto; width:543px;'>"+html.msg+"</div>");
					("#result").slideToggle("slow");
					setTimeout("$('#result').slideToggle('slow').fadeOut('slow')", 5000);
				}
			}
		});
		
		return false;
	});
	
	
	$(".auth_facebook_update").live("click", function (){
		$.facybox({div: "#learn_more_auth"});
		
		return false;
	});
	
	$(".twitter_help").live("click", function (){
		$.facybox({div : "#twitter_help"});
		
		return false;
	});
	
	$(".auth_facebook").live("click", function (){
		$.facybox({div : "#learn_more"});
		
		return false;
	});
	
	$(".facebook_limit").live("click", function (){
		$.facybox({div : "#facebook_limit"});
		
		return false;
	});
		
	$(".facebook_sign").live("click", function (){
		FB.getLoginStatus(function(response) {
		  if (response.session) {
			var uid = response.session.uid;
			checkPerms(uid);
		  } else {
			FB.login(function(response) {
			  if (response.session) {
				var uid = response.session.uid;
				checkPerms(uid);
			  } else {
				
			  }
			  } , {perms:'read_stream,publish_stream,offline_access'});
		  }
		});

		return false;
	});
	
	$(".facebook_sign_add").live("click", function (){
		
		$(".facebook_sign_add").hide();
		$(".facebookLoader").show();
		
		
		FB.getLoginStatus(function(response) {
		  if (response.session) {
				var session = response.session.access_token;
				FB.api('/me', function(response) {
				  checkPermsAdd(response.first_name, response.last_name, response.id, response.link, session);
				});
			
		  } else {
			FB.login(function(response) {
			  if (response.session) {
				
					var session = response.session.access_token;
					FB.api('/me', function(response) {
					  checkPermsAdd(response.first_name, response.last_name, response.id, response.link, session);
					});
								
			  } else {
				
			  }
			  } , {perms:'read_stream,publish_stream,offline_access'});
		  }
		});

		return false;
	});
	
	
	jQuery('[class^=toggle-item]').hide();
	
	$(".retweet").live("click", function (){
		var parent = $(this).parent().parent().parent();
		
		var screen_name = $(parent).find(".body_text").find(".tweet_user").text();
		
		var text = $(parent).find(".body_text").find(".tweet_text").text();
		
		retweet(screen_name, text);
		
		return false;
		
	});
					
	$(".delete_tweet").live("click", function (){
	
		var coolness = this;
		
		jConfirm('Are you sure you want to delete this post? This cannot be undone.', 'Remove Post', function(r) 
		{
			if (r == "true" || r == true)
			{
				var parent = $(coolness).parent().parent().parent().parent();
		
				var tweet_id = $(parent).attr("id").split("_");
				
				deleteTweet(tweet_id[1]);
				
				return false;
			}
			else
			{
				return false;
			}
		});
		
		return false;
		
		
	
	});
		
	$(".reply").live("click", function (){
		var parent = $(this).parent().parent().parent();
		
		var reply_id = $(parent).attr("id").split("_");
		
		var screen_name = $(parent).find(".body_text").find(".tweet_user").text();
		
		reply(screen_name, reply_id[1]);
		
		return false;
	});
	
	$(".replyTweet").live("click", function (){
		var parent = $(this).parent().parent().parent();
		
		var reply_id = $(parent).attr("id").split("_");
		
		var screen_name = $(parent).find(".body_text").find(".tweet_user").text();
		
		replyTweet(screen_name, reply_id[1]);
		
		return false;
	});

	
	$('a[rel*=facybox]').facybox();

	 jQuery('[class^=link]').click(function() {
		var x = jQuery(this).attr("className");
		var no_hide = "toggle-item-" + x;
		var your_mom = jQuery('[class^=toggle-item]');
		jQuery.each(your_mom, function() {
				if (this.className == no_hide)
				{

				}
				else
				{
					jQuery('.' + this.className).hide();
				}
			});
			
		var the_class = "#toggle-item-" + x;
		
		jQuery.facybox({div: the_class});
		shortURL();
		//jQuery('.toggle-item-' + x).slideToggle("slow");
		return false;
	});	
	
	
	
	$(".craig").click(function (){
		$("#something").slideToggle("slow");
		$(".party_services").slideToggle("slow");
		return false;
	})
	
	$(".tabtop").click(function(){
		$(this).next("div").slideToggle("slow");
	});
	
	$(".tags").each(function (){
		var len = $(this).val().length;
		len_counter = len_counter + len;
	});
	
	$("#minus_cache").val(len_counter);
	
	var countdown = 140 - len_counter;
	$("#countdown").html(countdown);
	
	$("#message").val('');
	
	$(".notes_box").corner();
	$("#tastenotes_box").corner();
	$("#twitter_tastenotes_box").corner()
	$("#tastenotes_box_inside").corner();
	$("#content").corner();
	$("#contentinside").corner();
	
	$(".input-text").css({
		border: '1px solid #c1c1c1',
		padding: '5px'
	});	
	
	$("#button").click(function (){
		var message = $("#message").val();
		if (message.length > 140)
		{
			$("#result").fadeIn("slow");
			$("#image").html("<div class='error_message'>You are over 140 character. Please try again</div>");
			setTimeout("$('#result').fadeOut('slow')", 5000);
		}
		else if (message.length == 0)
		{
			$("#result").fadeIn("slow");
			$("#image").html("<div class='error_message'>You must include a message! Please try again. </div>");
			setTimeout("$('#result').fadeOut('slow')", 5000);
		}
		else
		{
			var args = $("#post_form").serialize();
			$("#countdown").html("<span id='image'><img src='/images/loader.gif'></span>");
			$.ajax({
				url: "../post/post.php",
				type: "POST",
				data: args,
				error: function(html)
				{
					$("#result").html(html);
					var countdown = 140 - $("#minus_cache").val();
					limitText($('#message'),$('#countdown'),countdown);
				},
				success: function(html)
				{
					$("#message").val('');
					$("#result").corner();
					$("#result").html(html);
					$("#result").slideToggle("slow").fadeIn("slow");
					var countdown = 140 - $("#minus_cache").val();
					limitText($('#message'),$('#countdown'),countdown);
					setTimeout("$('#result').slideToggle('slow').fadeOut('slow')", 5000);

				}
			});
		}
		
		return false;
	});

});

// limit Text
function limitText(limitField, limitCount, limitNum) {
	if (limitField.val().length > limitNum) 
	{
		limitField.val(limitField.val().substring(0, limitNum));
	} 
	else 
	{
		if (limitField.val() == "")
		{
			$("#replyID").val("");
			$("#tweetreplyID").val("");
			//("#button").attr('disabled', 'disabled')
		}
		else
		{
			//$('#button').attr('disabled', '');
		}
		limitCount.text( limitNum - limitField.val().length );
		
		if (limitField.val().length >= 0 && limitField.val().length <= 120)
		{
			$("#myCounter").removeClass("red");
		}
		else
		{
			$("#myCounter").addClass("red");
		}
	}
}

function removeAutoPost(id)
{
	var element = "postid_" + id;
	
	$("#"+element).fadeOut("slow", function(){
		$("#"+element).remove();
	});
	
}

function parseFacebook(session)
{
	FB.api('/me', function(response) {
		var full_name = response.first_name + " " + response.last_name;
		var link = response.link;
		
		var username = link.split("http://www.facebook.com/");

		$("#full_name").val(full_name);
		
		$("#username").val(username[1]);
		
		$("#access_token").val(session);
		
		$("#facebook_id").val(response.id);
		
		
		$("#facebook_wait").fadeOut("slow", function(){
			$("#facebook_wait").remove();
			$("#facebook_box").show();
		})
	})
}

function deleteTweet(id)
{
	var args = "id="+id;
	
	$.ajax({
			url: "../data/deleteTweet.php",
			type: "POST",
			data: args,
			dataType: "json",
			error: function(html)
			{
				//alert(html.statusText);
			},
			success: function(html)
			{
				if (html.result == "success")
				{
					$("#sstatus_"+id).fadeOut("slow", function(){
						$(this).remove();
					});
					//window.location.reload();
				}
				else
				{
					alert(html.error);
				}
				
			}
	});
	
	return false;
}

function deleteage(id)
{
	var answer = confirm("Are you sure you want to remove this account?");
	
	if (answer)
	{
		$.ajax({
			url: "../autopost/delete_autopost.php",
			ype: "GET",
			data: "id="+id,
			dataType: "json",
			error: function(html)
			{
				//alert(html.statusText);
			},
			success: function(html)
			{
				if (html.result == "success")
				{
					$("#response").html("<div class='success_message'>You have successfully removed that account</div>");
					refreshAccounts();
					//window.location.reload();
				}
				else
				{
					$("#response").html("<div class='error_message'>" + html.msg + "</div>");
				}
				
			}
		});
	}
	
}

function refreshAccounts()
{
	$("#autopost").html("<div class='loading'><img src='/images/loader.gif></div>");
	$.ajax({
			url: "../data/refreshAccounts.php",
			ype: "GET",
			error: function(html)
			{
				//alert(html.statusText);
			},
			success: function(html)
			{
				if (html != "")
				{
					$("#autopost").html(html);
					$(".lightbox").click(function (){
		
						jQuery.facybox({ div: "#addAccount" });
						return false;
		
					});
				}
				else
				{
					alert("There an an error refreshing your account. Please refresh the page.");
				}
				
			}
		});
}


function checkPerms(uid)
{
	var args = "uid="+uid;
	$.ajax({
		url: "/data/facebook.php",
		type: "POST",
		data: args,
		dataType: "json",
		error: function(html)
		{
			jAlert("Oh no! Something horrible occured. Please refresh your page and try again.");
		},
		success: function(html)
		{
			if (html.result == "success")
			{
				window.location.href = html.msg;
			}
			else
			{
				if (html.type == "permission")
				{
					FB.Connect.showPermissionDialog("publish_stream, offline_access", function(){
						checkPerms();
					});
				}
				else if (html.type == "fatal")
				{
					jAlert(html.msg);
				}
				else
				{
					window.location.href = html.msg;
				}
			}
		}
	});
}

function checkPermsAdd(first_name, last_name, uid, username, session)
{
	
	var args = "first_name="+first_name+"&last_name="+last_name+"&uid="+uid+"&username="+username+"&session="+session;
	
	$.ajax({
		url: "/data/facebook_add.php",
		type: "POST",
		dataType: "json",
		data: args,
		error: function(html)
		{
			jAlert("Oh no! Something horrible occured. Please refresh your page and try again.");
		},
		success: function(html)
		{
			if (html.result == "success")
			{
				window.location.href = html.msg;
			}
			else
			{
				if (html.type == "permission")
				{
					FB.Connect.showPermissionDialog("publish_stream, offline_access", function(){
						checkPermsAdd();
					});
				}
				else if(html.type == "login")
				{
					$(".facebookLoader").hide();
					$(".facebook_sign_add").show();
					jAlert(html.session);
				}
				else 
				{
					$(".facebookLoader").hide();
					$(".facebook_sign_add").show();
					jAlert(html.msg);
				}
			}
		}
	});
}

function checkPermsFan()
{
	FB.Connect.showPermissionDialog("publish_stream, offline_access", function(){
					checkFacebookFanPage();
					});
}

function checkFacebookFanPage()
{
	$.ajax({
		url: "../autopost/facebook_page.php",
		type: "GET",
		error: function(html)
		{
			// error goes here
		},
		success: function(html)
		{
			$("#fan_page").html(html);

		
			jQuery.facybox({ div: "#fan_page"});
			
			$(".checker").click(function (){
				var parent = $(this).parent();
				$(parent).remove();
			})
			
			$(".facebook_fan:last").submit(function (){
				var args = $(".facebook_fan:last").serialize();
				$.ajax({
					url: "../autopost/facebook_page_insert.php",
					type: "POST",
					data: args,
					error: function(html)
					{
						// error goes here
					},
					success: function(html)
					{
						if (html == "success")
						{
							//window.location.href = web_root + "settings?type=facebook&added=success";
						}
						else
						{
							//alert(html);
						}
					}
				});
				return false;
			});

		}
	});
}

function autopostFacebook()
{
	var url = window.top.location.href;
	if (url.indexOf("settings") >= 0)
	{
		window.top.location.href = "../autopost/facebook.php";
	}
	else
	{
		window.top.location.href = "../signup.php?id=facebook";
	}
}

// Twitter Functions

function formatTwitString(str)
{
	str=' '+str;
	str = str.replace(/((ftp|https?):\/\/([-\w\.]+)+(:\d+)?(\/([\w/_\.]*(\?\S+)?)?)?)/gm,'<a href="$1" target="_blank">$1</a>');
	str = str.replace(/([^\w])\@([\w\-]+)/gm,'$1@<a class="twitter-anywhere-user" href="http://twitter.com/$2" target="_blank">$2</a>');
	str = str.replace(/([^\w])\#([\w\-]+)/gm,'$1<a href="http://twitter.com/search?q=%23$2" target="_blank">#$2</a>');
	return str;
}

function isEncHTML(str) { 
  if(str.search(/&amp;/g) != -1 || str.search(/&lt;/g) != -1 || str.search(/&gt;/g) != -1) 
    return true; 
  else 
    return false; 
}; 


function decHTMLifEnc(str){ 
    if(isEncHTML(str)) 
      return str.replace(/&amp;/g, '&').replace(/&lt;/g, '<').replace(/&gt;/g, '>').replace(/&quot;/g, '"'); 
    return str; 
}



function startTwitterStream()
{
	var tweet_timer;
	var args = $("#args").serialize();
	var limit = $(".feed_twitter_status").size();
	if (limit == 0)
	{
		$("#twit_feed").html("<div class='loading'><img src='/images/loader.gif></div>");
	}
	clearInterval(tweet_timer);
	$.ajax({
		type: "POST",
		url: "/twitter_stream/search.php",
		data: args,
		cache: false,
		dataType: "json",
		success: function(html)
		{
			$(".loading").remove();
						
			if (html.result == "success")
			{
				var logged = true;
				if (html.logged_in == "false")
				{
					logged = false;
				}
			
				if (html.tweets.results.length == 0)
				{
					
				}
				else
				{
					$((html.tweets.results).reverse()).each(function(i, items){
						
						var in_reply_to_id = items.in_reply_to_id;
						var reply = "";
						if (in_reply_to_id == "undefined" || in_reply_to_id == null)
						{
							reply = "";
						}
						else
						{
							var url_profile = "http://twitter.com/"+ items.in_reply_to_user + "/statuses/" + items.in_reply_to_id;
							reply = "in reply to <a class='twitter-anywhere-user' href='"+ url_profile+"' target='_blank'>" + items.in_reply_to_user + "</a>";
						}
						
						var profile_url = "http://twitter.com/" + items.from_user;
						//var profile_image_url = "http://img.tweetimag.es/i/" + items.from_user;
						
						var profile_image_url = items.profile_image_url;
						
						var id_of_li = "tstatus_"+items.id;
						
						var actions = "";
						
						if (logged)
						{
							//actions = '<ul class="actions"><li><a href="#" class="replyTweet"><img src="images/reply.png" align="absmiddle" /><span>Reply</span></a></li><li><a href="#" class="retweet"><img src="images/retweet.png" align="absmiddle" /><span>Retweet</span></a></li></ul>';
						}
						
						var time_stamp = items.created_at;
						
						var time_stamp_json = '{"timestamp":"'+items.created_at+'"}';
						
						var html = '<li id="'+ id_of_li + '" class="feed_twitter_status">'+
									 '<span class="tweet_avatar">'+
										'<a href="'+profile_url+'" target="_blank"><img height="49" width="49" src="'+profile_image_url+'"></a>'+
									'</span>'+
									'<span class="body_text">' +
									 '<span class="tweet_user"><a class="twitter-anywhere-user" href="'+profile_url+'">'+
										 '<strong>' + items.from_user + '</strong></a>'+
									  '</span>'+
									  '<span class="tweet_text">'+formatTwitString(items.text)+'</span>'+
									  '<span class="tweet_info">'+
										'<span class="tweet_timestamp">'+items.created_at+'</span>'+
										 '<span class="source"> from '+decHTMLifEnc(items.source)+' ' + reply + '</span>'+
										'</span>'+
										'</span>'+
										actions +
									 '</li>';
					
						$("#feed_twitter_statuses").prepend(html);
					});
					
					var element = $("#feed_twitter_statuses li:first-child");
					var real_elements = $(element).attr("id").split("_");
					$("#twitter_search_last_ID").val(real_elements[1]);
									
					$(".feed_twitter_status").hover(function(){
							$(this).find(".actions").show();
					}, function () {
							$(this).find(".actions").hide();
					});
					
					newWindow();
					
					$(".tweet_timestamp").cuteTime({refresh: 60000*2 });

				}
			}
			else
			{
				$("#feed_twitter_statuses").html("<li>"+html.msg+"</li>");
			}
			
		}
	});
	
	tweet_timer = setTimeout("startTwitterStream()", 60000);
}

function startUserStream(id)
{
	var args = "userid=" + id;
	var limit = $(".updates_status").size();
	if (limit == 0)
	{
		$(".tastelive_twitter").prepend("<div class='loading'><img src='" + web_root + "/images/loader.gif></div>");
	}
	$.ajax({
		type: "GET",
		url: "/twitter_stream/ttl_user.php",
		data: args,
		cache: false,
		dataType: "json",
		success: function(html){
			$(".loading").remove();
			
			var logged = true;
			if (html.logged_in == "false")
			{
				logged = false;
			}
		
			
			if (html.user.results.length == 0)
			{
				var html = '<li class="updates_status">This user has not posted anything yet! </li>';
				$("#user_updates_feed").html(html)
			} 
			else
			{
				$((html.user.results).reverse()).each(function(i, items){
				
					if (items.replyID == 0)
					{
						var profile_url = web_root + "users/" + items.screen_name;
						var reply = "";		
					}
					else
					{
						var profile_url = web_root + "users/" + items.screen_name;
						var user_profile = web_root + "users/" + items.replyUser;
						var reply = 'in reply to <a href="'+user_profile+'">' + items.replyUser + '</a></span></div>';
					}
					
						var id_of_li = "sstatus_"+items.id;
					
						var actions = "";
						
						if (logged)
						{
							actions = '<ul class="actions"><li><img src="images/reply.png" align="absmiddle" /><a href="#" class="reply"><span>Reply</span></a></li><li><img src="images/retweet.png" align="absmiddle" /><a href="#" class="retweet"><span>Retweet</span></a></li></ul>';
						}
						
						var time_stamp = items.timestamp;
						
						var time_stamp_json = '{"timestamp":"'+items.timestamp+'"}';
			
								 
						var html = '<li id="'+ id_of_li + '" class="updates_status">'+
					             '<span class="tweet_avatar">'+
									'<a href="'+profile_url+'"><img height="49" width="49" src="'+items.profile_image_url+'"></a>'+
								'</span>'+
							    '<span class="body_text">' +
								 '<span class="tweet_user"><a href="'+profile_url+'">'+
									 '<strong>' + items.screen_name + '</strong></a>'+
								  '</span>'+
								  '<span class="tweet_text">'+items.text+'</span>'+
								  '<span class="tweet_info">'+
								    '<span class="tweet_timestamp">'+time_stamp+'</span>'+
									 '<span class="source"> from '+items.source+' ' + reply + '</span>'+
									'</span>'+
									'</span>'+
								 '</li>';
							
					
					$("#user_updates_feed").prepend(html);
				
				});
			
			}
			
			if (html.mentions.results.length == 0)
			{
				var html = '<li class="mentions_status">This user has no mentions! </li>';
				$("#user_mentions_feed").html(html)
			}
			else
			{
				
				$((html.mentions.results).reverse()).each(function(i, items){
					
					if (items.replyID == 0)
					{
						var profile_url = web_root + "users/" + items.screen_name;
						var reply = "";		
					}
					else
					{
						var profile_url = web_root + "users/" + items.screen_name;
						var user_profile = web_root + "users/" + items.replyUser;
						var reply = 'in reply to <a href="'+user_profile+'">' + items.replyUser + '</a></span></div>';
					}
					
						var id_of_li = "mstatus_"+items.id;
					
						var actions = "";
						
						if (logged)
						{
							actions = '<ul class="actions"><li><img src="images/reply.png" align="absmiddle" /><a href="#" class="reply"><span>Reply</span></a></li><li><img src="images/retweet.png" align="absmiddle" /><a href="#" class="retweet"><span>Retweet</span></a></li></ul>';
						}
						
						var time_stamp = items.timestamp;
						
						var time_stamp_json = '{"timestamp":"'+items.timestamp+'"}';
			
					
						var html = '<li id="'+ id_of_li + '" class="mentions_status">'+
					             '<span class="tweet_avatar">'+
									'<a href="'+profile_url+'"><img height="49" width="49" src="'+items.profile_image_url+'"></a>'+
								'</span>'+
							    '<span class="body_text">' +
								 '<span class="tweet_user"><a href="'+profile_url+'">'+
									 '<strong>' + items.screen_name + '</strong></a>'+
								  '</span>'+
								  '<span class="tweet_text">'+items.text+'</span>'+
								  '<span class="tweet_info">'+
								    '<span class="tweet_timestamp">'+time_stamp+'</span>'+
									 '<span class="source"> from '+items.source+' ' + reply + '</span>'+
									'</span>'+
									'</span>'+
								 '</li>';
				
					
					$("#user_mentions_feed").prepend(html);
				
				});
				
				
		
			}
			
			newWindow();
			
			$(".tweet_timestamp").cuteTime({refresh: 60000*2 });
		}
		
	});
}

function relativeTime(pastTime)
{	
	var origStamp = Date.parse(pastTime);
	var cDate = new Date();
	var currentStamp = cDate.getTime();

	var difference = parseInt((currentStamp - origStamp)/1000);

	if(difference < 0) return false;

	if(difference <= 5)				return "less than a minute ago";
	if(difference <= 20)			return "less than a minute ago";
	if(difference <= 60)			return "1 minute ago";
	if(difference < 3600)			return parseInt(difference/60)+" minutes ago";
	if(difference <= 1.5*3600) 		return "1 hour ago";
	if(difference < 23.5*3600)		return Math.round(difference/3600)+" hours ago";
	if(difference < 1.5*24*3600)	return "1 day ago";

	var days = difference / (1.5*24*3600);

	if (days <= 10)
	{
		return Math.round(days) +  " days ago";
	}
	else
	{
		var dateArr = pastTime.split(' ');
		
		
		var t = dateArr[4].split(":");
		var time_format = "";
		if (parseInt(t[0]) > 12)
		{
			var a =  parseInt(t) - 12
			time_format = dateArr[2] + " " + dateArr[1] + " " + a + ":" + t[1] + " PM";
		}
		else
		{
			var first = "";
			if (t[0].substring(0, 1) == "0")
			{
				first = t[0].substring(1, 2);
			}
			else
			{
				first = t[0];
			}
			
			time_format = dateArr[2] + " " + dateArr[1] + " " + first + ":" + t[1] + " AM";
		}

		return time_format;
	}

}

function startGlobal()
{
	var timer;
	var args = $("#args").serialize();
	var limit = $(".search_status").size();
	var plimit = $(".presenter_status").size();
	if (limit == 0)
	{
		$("#search_status_feed").html("<div class='loading'><img src='/images/loader.gif></div>");
	}
	
	if (plimit == 0)
	{
		$("#presenter_status_feed").html("<div class='loading'><img src='/images/loader.gif></div>");
	}
	
	clearInterval(timer);
	$.ajax({
		type: "POST",
		url: "/twitter_stream/ttl_global.php",
		data: args,
		cache: false,
		dataType: "json",
		success: function(html)
		{
			$(".loading").remove();
			
			var logged = true;
			if (html.logged_in == "false")
			{
				logged = false;
			}
			
			if (html.search.results.length == 0 && html.presenter.results.length == 0)
			{
				var counts = $(".search_status").length;
				var pcounts = $(".presenter_status").length;
				if (counts == 0 && pcounts == 0)
				{
					if ($("#facybox").length != 0 && !$('#foo').is(':hidden'))
					{
						
					}
					else
					{
						jQuery.facybox("<div class='nodata' style='border: 2px solid #c1c1c1; padding: 10px; height: 225px; width: 500px;'><h1>Oops!</h1><span style='float:left; padding-right: 15px;'><img src='../images/wine2.png'></span><span>There no data for this vendor! Please come back when the page is up and running! Thanks for stopping by!</span></div>");
						$(".close:last").hide();
					}
					
				}
				else
				{
		
				}
			}
			else
			{
				if (html.search.length != 0)
				{
					$((html.search.results).reverse()).each(function(i, items){
					
						var geo_span = "";
						
						if (items.replyID == 0)
						{
							var profile_url = web_root + "users/" + items.screen_name;
							var reply = "";
							
							
						}
						else
						{
							var profile_url = web_root + "users/" + items.screen_name;
							var user_profile = web_root + "users/" + items.replyUser;
							var reply = 'in reply to <a href="'+user_profile+'">' + items.replyUser + '</a>';
						}
						
						if (items.lat != 0 && items.lng != 0)
						{
							var google_map = "http://maps.google.com?q="+items.lat+","+items.lng;
							geo_span = " from <a href='"+google_map+"' data='"+items.lat+"|"+items.lng+"' target='_blank'>" + items.city + ", " + items.state + "</a>";
						}
						
					
						var id_of_li = "sstatus_"+items.id;
					
						var actions = "";
						var top_actions = "";
						
						if (logged)
						{
							actions = '<ul class="actions"><li><img src="images/reply.png" align="absmiddle" /><a href="#" class="reply"><span>Reply</span></a></li><li><img src="images/retweet.png" align="absmiddle" /><a href="#" class="retweet"><span>Retweet</span></a></li></ul>';
							
							if (items.user_delete == "true")
							{
								top_actions = '<ul class="topaction"><li><img src="images/delete_tweet.png" align="absmiddle" /><a href="#" class="delete_tweet"><span>Delete</span></a></li></ul>';
								//top_actions = '<span class="spanaction" style="display: none; line-height: 1.25em; position: absolute; right: 10px; top: 8px; font-size: 11px;"><div><img src="/images/cancel.png" align="absmiddle" /><a href="#" class="delete_tweet"><span>Delete</span></a></div></span>';
								
							}
							else
							{
								top_actions = "";
							}
						}
						
						var time_stamp = items.timestamp;
						
						var time_stamp_json = '{"timestamp":"'+items.timestamp+'"}';
					
						var counts = $(".search_status").length;
						
						var classr = "";
						var display = "";
						var li = "";
						if (counts != 0)
						{
							li = '<li id="'+ id_of_li + '" class="search_status new" style="display: none;">';
						}
						else
						{
							li = '<li id="'+ id_of_li + '" class="search_status">';
						}
						
						
						var html = li +
					             '<span class="tweet_avatar">'+
									'<a href="'+profile_url+'"><img height="49" width="49" src="'+items.profile_image_url+'"></a>'+
								'</span>'+
							    '<span class="body_text">' +
									top_actions + 
								 '<span class="tweet_user"><a href="'+profile_url+'">'+
									 '<strong>' + items.screen_name + '</strong></a>'+
								  '</span>'+
								  '<span class="tweet_text">'+items.text+'</span>'+
								  '<span class="tweet_info">'+
								    '<span class="tweet_timestamp">'+items.timestamp+'</span>'+
									 '<span class="source"> from '+items.source+' ' + reply + ' ' + geo_span + '</span>'+
									'</span>'+
									'</span>'+
									actions +
								 '</li>';
								

						$("#search_status_feed").prepend(html);
						
						$(".new").slideDown("slow", function(){
							$(".new").each(function(){
								$(this).removeClass('new');
							})
						})
					});
				
				}
			
			
				if (html.presenter.length != 0)
				{
					$((html.presenter.results).reverse()).each(function(i, items){
						
						var geo_span = "";
						
						if (items.replyID == 0)
						{
							var profile_url = web_root + "users/" + items.screen_name;
							var reply = "";
							
							
						}
						else
						{
							var profile_url = web_root + "users/" + items.screen_name;
							var user_profile = web_root + "users/" + items.replyUser;
							var reply = 'in reply to <a href="'+user_profile+'">' + items.replyUser + '</a>';
						}
					
						var pres_of_li = "pstatus_"+items.id;
					
						var actions = "";
						var top_actions = "";
						
						if (logged)
						{
							actions = '<ul class="actions"><li><img src="images/reply.png" align="absmiddle" /><a href="#" class="reply"><span>Reply</span></a></li><li><img src="images/retweet.png" align="absmiddle" /><a href="#" class="retweet"><span>Retweet</span></a></li></ul>';
							
							if (items.user_delete == "true")
							{
								top_actions = '<ul class="topaction"><li><img src="images/delete_tweet.png" align="absmiddle" /><a href="#" class="delete_tweet"><span>Delete</span></a></li></ul>';
							}
							else
							{
								top_actions = "";
							}
						}
						
						if (items.lat != 0 && items.lng != 0)
						{
							var google_map = "http://maps.google.com?q="+items.lat+","+items.lng;
							geo_span = " from <a href='"+google_map+"' data='"+items.lat+"|"+items.lng+"' target='_blank'>" + items.city + ", " + items.state + "</a>";
						}
						
						var time_stamp = items.timestamp;
						
						var time_stamp_json = '{"timestamp":"'+items.timestamp+'"}';
			
					
						var html = '<li id="'+ pres_of_li + '" class="presenter_status">'+
					             '<span class="tweet_avatar">'+
									'<a href="'+profile_url+'"><img height="49" width="49" src="'+items.profile_image_url+'"></a>'+
								'</span>'+
							    '<span class="body_text">' +
									top_actions + 
								 '<span class="tweet_user"><a href="'+profile_url+'">'+
									 '<strong>' + items.screen_name + '</strong></a>'+
								  '</span>'+
								  '<span class="tweet_text">'+items.text+'</span>'+
								  '<span class="tweet_info">'+
								    '<span class="tweet_timestamp">'+items.timestamp+'</span>'+
									 '<span class="source"> from '+items.source+' ' + reply + ' ' + geo_span + '</span>'+
									'</span>'+
									'</span>'+
									actions +
								 '</li>';
						
					
						$("#presenter_status_feed").prepend(html);
				
					});
				
				}
					
					if ($(".presenter_status").length == 0)
					{

					}
					else
					{
						var element = $("#presenter_status_feed li:first-child");
						var real_elements = $(element).attr("id").split("_");
						$("#presenter_last_ID").val(real_elements[1]);
					}
					
				
					if ($(".search_status").length == 0)
					{
						
					}
					else
					{
						var element1 = $("#search_status_feed li:first-child");
						var real_elements1 = $(element1).attr("id").split("_");
						$("#search_last_ID").val(real_elements1[1]);
					}
					
				
					$(".presenter_status").hover(function(){
						$(this).find(".actions").show();
						$(this).find(".body_text").find(".topaction").show();
					}, function () {
						$(this).find(".actions").hide();
						$(this).find(".body_text").find(".topaction").hide();
					});
					
					$(".search_status").hover(function(){
						$(this).find(".actions").show();
						$(this).find(".body_text").find(".topaction").show();
					}, function () {
						$(this).find(".actions").hide();
						$(this).find(".body_text").find(".topaction").hide();
					});
					
					newWindow();
					
					$(".tweet_timestamp").cuteTime({refresh: 60000 });
					
			}
		}
	});
	
	timer = setTimeout("startGlobal()", 20000);
}

function newWindow()
{
	$(".tweet_text a").each(function (){
		var thisTarget = $(this).attr('href');
	  	if (thisTarget == "#")
		{
			
		}
		else if (thisTarget.indexOf("search?q=") >= 0)
		{
		
		}
		else if (thisTarget.indexOf("tweetphoto") >= 0)
		{
			$(this).attr("href", "#");
			$(this).click(function (){
				jQuery.facybox({ajax:  '/data/tweetphoto.php?id=' + thisTarget});
				return false;
			});		
		}
		else if (thisTarget.indexOf("twitpic") >= 0)
		{
			$(this).attr("href", "#");
			$(this).click(function (){
				jQuery.facybox({ajax:  '/data/twitpic.php?id=' + thisTarget});
				return false;
			});		
		}
		else if (thisTarget.indexOf("yfrog") >= 0)
		{
			$(this).attr("href", "#");
			$(this).click(function (){
				jQuery.facybox({ajax:   '/data/yfrog.php?id=' + thisTarget});
				return false;
			});
		}
		else
		{
			$(this).attr("target", "_blank");
		}
		
	})
}


function retweet(fromUser, message) {
	jQuery("#replyID").val("");
	var msg = jQuery.trim(message);
	jQuery("#message").val("").focus();
	jQuery("#message").val(jQuery("#message").val() + "RT @" + fromUser + " " + msg + " ");
	var countdown = 140 - $("#minus_cache").val();
	$("#countdown").val(countdown);
	limitText($('#message'),$('#countdown'),countdown);
}

function reply(replyTo, replyID) {
	$("#replyID").val(replyID);
	$("#message").val("").focus();
	$("#message").val(jQuery("#message").val() + "@" + replyTo + " ");
	var countdown = 140 - $("#minus_cache").val();
	$("#countdown").val(countdown);
	limitText($('#message'),$('#countdown'),countdown);
	
}

function replyTweet(replyTo, id)
{
	jQuery("#replyID").val("");
	jQuery("#tweetreplyID").val(id);
	jQuery("#message").val("").focus();
	jQuery("#message").val(jQuery("#message").val() + "@" + replyTo + " ");
	var countdown = 140 - $("#minus_cache").val();
	$("#countdown").val(countdown);
	limitText($('#message'),$('#countdown'),countdown);
}
// RSVP Events
function makeRSVP(id, userid)
{
  	var act_id = id.split("_");
	var old = $(id).html();
	$("#makersvp_"+act_id[1]).prepend("<div id='loader'><img src='/images/loader.gif'></div>");
  	var act_id = id.split("_");
	var args = "event_id=" + act_id[1] + "&user_id=" + userid + "&type=add";
	$.ajax({
		url: "/data/rsvp.php",
		type: "POST",
		data: args,
		dataType: "json",
		error: function(html)
		{
			alert("Oops! Something horrible went wrong. Please refresh the page and try again.");
		},
		success: function(html)
		{
			if (html.result == "success")
			{
				$("#loader").remove();
				$("#makersvp_"+act_id[1]).hide();
				$("#cancelrsvp_"+act_id[1]).fadeIn("slow");
				window.location.reload();
			}
			else
			{
				$("#loader").remove();
				alert(html.msg)
			}
		}
	});	
}

function cancelRSVP(id, userid)
{
	var act_id = id.split("_");
	var old = $(id).html();
	$("#cancelrsvp_"+act_id[1]).prepend("<div id='loader'><img src='/images/loader.gif'></div>");
  	var act_id = id.split("_");
	var args = "event_id=" + act_id[1] + "&user_id=" + userid + "&type=remove";
	$.ajax({
		url: "/data/rsvp.php",
		type: "POST",
		data: args,
		dataType: "json",
		error: function(html)
		{
			alert("Oops! Something horrible went wrong. Please refresh the page and try again.");
		},
		success: function(html)
		{
			if (html.result == "success")
			{
				$("#loader").remove();
				$("#cancelrsvp_"+act_id[1]).hide();
				$("#makersvp_"+act_id[1]).fadeIn("slow");
				window.location.reload();
			}
			else
			{
				$("#loader").remove();
				alert(html.msg)
			}
		}
	});	
}

function startVUpload()
{
      $(".f1_upload_process_video").show();
	  $(".videoHandle").hide();
	  $(".video_content").show();
      return true;
}

function stopVUpload(success, turl)
{
	$(".f1_upload_process_video").hide();
	if (success == 1)
	{

		if (turl.indexOf("Error") >= 0)
		{
			$(".video_content").show();
			$(".videoHandle").show();
			$(".videoHandle").html("<div class='error_message'>" + turl + "</div>");
		}
		else
		{
			var url = turl;
			
			jQuery("#message").val(url);
			
			var countdown = 140 - $("#minus_cache").val();
			limitText($('#message'),$('#countdown'),countdown);
			jQuery.facybox.close();
			$(".video_content").show();
		}
	}
	else
	{
		$(".video_content").show();
		$(".videoHandle").show();
		$(".videoHandle").html("<div class='error_message'>An unknown error occured. Please try again.</div>");
	}

}

function startUpload(){
      $(".f1_upload_process").show();
	  $(".errorHandle").hide();
	  $(".photo_content").hide();
      return true;
}

function stopUpload(success, turl)
{
	$(".f1_upload_process").hide();
	if (success == 1)
	{
		if (turl.indexOf("Error") >= 0)
		{
			$(".photo_content").show();
			$(".errorHandle").show();
			$(".errorHandle").html("<div class='error_message'>" + turl + "</div>");
		}
		else
		{
			var url = turl;

			jQuery("#message").val(url);
			var countdown = 140 - $("#minus_cache").val();
			limitText($('#message'),$('#countdown'),countdown);
			jQuery.facybox.close();
			$(".photo_content").show();
		}
	}
	else
	{
		$(".photo_content").show();
		$(".errorHandle").show();
		$(".errorHandle").html("<div class='error_message'>An unknown error occured. Please try again.</div>");
	}

}

function shortURL()
{
	$(".btnShorten").click(function() 
	{ 
		$(".short_message").hide();
		$(".short_loading").show();
		
		var vars = jQuery(".shortenURLForm:last").serialize();
		var shorturl = '../data/shorturl.php?' + vars;
		$.ajax({
			url: shorturl,
			type: "GET",
			dataType: "json",
			timeout: 3000,
			error: function(err){
				alert("Oops! Something went wrong. Please try again");
			},
			success: function(response){
				//alert(response);
				
				if (response.result == "success")
				{
					var url_short = response.msg[0];
					jQuery(".short_loading").html("");
					if ($("#message").length > 0)
					{
						var msg = $("#message").val();
						$("#message").val(msg + " " + url_short);
					} 
					else
					{
						$("#message").val(url_short);
					}
					
					jQuery.facybox.close();
				}
				else
				{
					jQuery(".short_message").html(response.msg[0]);
					$(".short_message").show();
					
				}

			}
		});

		jQuery(".url").val('');

		return false;

	});
}

