var tpldir;
var fbappid;

//----- inicializacao	
Shadowbox.init({overlayOpacity: 0.8});
$(function(){
	tpldir = $("#template_url").val();
	fbappid = $("#fbappid").val();
	$("#information").slideUp();
	$("#openCausesForm").click(function (event) {event.preventDefault(); endorse_form();});
	$("#closeCausesForm").click(function (event) {event.preventDefault(); endorse_form_hide();});

	$('#mc_signup_submit').click(function (event) {event.preventDefault(); signCauses();});
	$('#signup_submit').click(function (event) {event.preventDefault(); signUpCausesUser();});
	
	if ($("#responsecontainer").length > 0) updateCausesBox ();
	
	
	$(".gallery").each(function () {
		$(".gallery-icon a", this).addClass("lightbox").attr("rel", "shadowbox["+$(this).attr("id")+"]");
	});
	$(".parapost a:has(img)").each(function () {
		var href = $(this).attr("href").toLowerCase();
		if (href.indexOf(".jpg") >= 0 || 
		    href.indexOf(".jpeg") >= 0 || 
		    href.indexOf(".png") >= 0 ||
			href.indexOf(".gif") >= 0) {
			$(this).addClass("lightbox").attr("rel", "shadowbox");
		}
	});
});

//--------------------------

function updateCausesBox () {
	$("#responsecontainer").load(tpldir + "/ajax.php?action=act3");
	updCausesTimer = setTimeout("updateCausesBox ()", 10000);
}
function signUpCausesUser () {
	fbShareCause();
    var email = $("#mv_EMAIL").val();
	if(email == ""){
		endorse_message ("<span class='mc_error_msg'>Informe seu email.</span>")
		return false;
	} else if (!validaEmail(email)) {
		endorse_message ("<span class='mc_error_msg'>Informe um email v&aacute;lido.</span>");
		return false;
	} 
	endorse_message ("<img src='" + tpldir + "/images/loading_icon.gif' />");
	$.ajax({
	   type: "POST",
	   url: tpldir + "/ajax.php",
	   data: "action=act2&email="+$("#mv_EMAIL").val()+"&name="+$("#name").val()+"&country="+$("#country").val()+"&adminmail="+$("#adminmail").val() + "&news=" + $("#news").val() + "&newsurl=" + window.location.href + "&tpldir=" + tpldir,
	   success: function(data){
				if(data.length >= 3){
					//se cadastrou, já assina a causa tb
					endorse_form_hide();
					endorse_message ("<span class='mc_success_msg'>Obrigado por apoiar essa causa!</span>");
					$("#mc_mv_EMAIL").val("");
					
				} else {
					endorse_message ("<span class='mc_error_msg'>Erro. Por favor, tente novamente.</span><br/>");
				}
	   }
	 });
	return false;
}

function signCauses () {
	fbShareCause();
	var email = $("#mc_mv_EMAIL").val();
	if(email == ""){
		endorse_message ("<span class='mc_error_msg'>Informe seu email.</span>");
		return false;
	} else if (!validaEmail(email)) {
		endorse_message ("<span class='mc_error_msg'>Informe um email v&aacute;lido.</span>");
		return false;
	} 
	endorse_message ("<img src='" + tpldir + "/images/loading_icon.gif' />");
	$.ajax({
	   type: "POST",
	   url: tpldir + "/ajax.php",
	   data: "action=act1&email="+$("#mc_mv_EMAIL").val()+"&adminmail="+$("#adminmail").val()+"&news=" + $("#news").val() + "&newsurl=" + window.location.href + "&tpldir=" + tpldir,
	   success: function(data){
		 if(data.length==3){
			endorse_message ("<span class='mc_success_msg'>Obrigado por apoiar essa causa!</span>");
			$("#mc_mv_EMAIL").val("");
			/*fbShareCause();*/
		} else {
			endorse_form ();
			$("#mv_EMAIL").val(email);
			endorse_message ("<span class='mc_error_msg'>Registre-se para apoiar essa causa.</span>");
		}
	   }
	 });
	return false;
}

function fbShareCause (session) {
	FB.getLoginStatus(function(response) {
		if (response.authResponse) {
			// logged in and connected user, someone you know
			//publish stream
			publishCauseOnFBStream();
			
		} else {
			// no user session available, someone you dont know
			//ask for permission and publish if granted
			FB.login(function(response) {
					if (response.authResponse) {
						publishCauseOnFBStream ()
					} else {
						//$("#main").prepend('User cancelled login or did not fully authorize.');
					}
			}, {scope: 'publish_stream'});
			
		}
	});
};  


function publishCauseOnFBStream () {
	var publish = {
				method: 'stream.publish',
				message: 'I have just signed the '+ $("#news").val() +' cause on Recicleiros website.',
				picture : $("#newsthumb").val(),
				link : window.location.href,
				name: $("#news").val() + ' | Recicleiros',
				caption: 'causes at www.recicleiros.com.br',
				description: 'Visit www.recicleiros.com.br to work for a better planet.',
				actions : { name : 'Sign this cause', link : window.location.href}
			};
			
		FB.api('/me/feed', 'POST', publish);
}

function twitterCallback(twitters) {
  var html = '';
  var rExp = new RegExp();
  var text = "";
  var c = '';
  var qtd = 2;
  for (var i = 0; i < twitters.length; i++) {
	 if (i >= qtd) break;
	c='';
	if (i >= twitters.length - 1 || i >= qtd - 1) c = ' class="last-li"';
    text = twitters[i].text;
  	text = text.parseURL().parseUsername().parseHashtag();
    html += '<li'+c+'>' + text + '<br /><span class="created_at">' + relative_time(twitters[i].created_at) + ' by <a href="http://twitter.com/' + twitters[i].user.screen_name +'" target="_blank">@' + twitters[i].user.screen_name + '</a></span></li>';
  }
  $('#twitter_list').html("<ul>" + html + "</ul>");
}

function relative_time(time_value) {
  var values = time_value.split(" ");
  time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3];
  var parsed_date = Date.parse(time_value);
  var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
  var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
  delta = delta + (relative_to.getTimezoneOffset() * 60);

  if (delta < 60) {
    return 'less than a minute ago';
  } else if(delta < 120) {
    return 'around a minute ago';
  } else if(delta < (60*60)) {
    return (parseInt(delta / 60)).toString() + ' minutes ago';
  } else if(delta < (120*60)) {
    return 'around an hour ago';
  } else if(delta < (24*60*60)) {
    return 'around ' + (parseInt(delta / 3600)).toString() + ' hours ago';
  } else if(delta < (48*60*60)) {
    return 'a day ago';
  } else {
    return (parseInt(delta / 86400)).toString() + ' days ago';
  }
  
}

function validaEmail (email) {
	var regexp = new RegExp(/^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$/);
	return (regexp.test(email))
}

function endorse_message (str) {
	$("#mc_message").html(str);
}

function endorse_form ()
{
	$("#country").hide();
	$("#information").slideDown(400, function () {$("#country").show();});
	$("#content-2-right2").animate({marginTop: 150});
	endorse_message ("");
	return false;
}
function endorse_form_hide ()
{
	$("#country").hide();
	$("#information").slideUp();
	$("#content-2-right2").animate({marginTop: 0});
	endorse_message ("");
	$("#name, #mv_EMAIL").val("");
	$("#country").val("Brazil");
	return false;
}

String.prototype.parseUsername = function() {
	return this.replace(/[@]+[A-Za-z0-9-_]+/, function(u) {
		var username = u.replace("@","")
		return u.link("http://twitter.com/"+username);
	});
};
String.prototype.parseURL = function() {
	return this.replace(/[A-Za-z]+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+/, function(url) {
		return url.link(url);
	});
};
String.prototype.parseHashtag = function() {
	return this.replace(/[#]+[A-Za-z0-9-_]+/, function(t) {
		var tag = t.replace("#","%23")
		return t.link("http://search.twitter.com/search?q="+tag);
	});
};
