
var categoriesHash = new Object();
var sourcesHash = new Object();

var catTranslationPT = {
"CSN_t_AmericaLatina": "América Latina",
"CSN_t_ateismo": "Ateísmo",
"CSN_t_Brasil": "Brasil",
"CSN_t_catolicos" : "Católicos",
"CSN_t_ciencia": "Ciência",
"CSN_t_Comblin": "Comblin",
"CSN_t_Cristianismo": "Cristianismo",
 "CSN_t_desconstrucao" : "Desconstrução",
 "CSN_t_ecumenismo" : "Ecumenismo",
 "CSN_t_filosofia" : "Filosofia", 
 "CSN_t_genero" : "Gênero", 
"CSN_t_hermeneutica" : "Hermenêutica", 
 "CSN_t_Historia" : "História", 
 "CSN_t_homossexualidade" : "Homossexualidade",
 "CSN_t_igreja" : "Igreja",
 "CSN_t_igrejaemergente": "igreja emergente",
 "CSN_t_juventude": "Juventude",
 "CSN_t_linguagem": "Linguagem",
 "CSN_t_livro": "Livro",
 "CSN_t_Lyotard": "Lyotard",
 "CSN_t_metafisica": "Metafísica",
 "CSN_t_Moltmann": "Moltmann",
 "CSN_t_moralidade" : "Moralidade", 
"CSN_t_Orwell" : "Orwell", 
 "CSN_t_pluralismo" : "Pluralismo", 
 "CSN_t_politica" : "Política", 
 "CSN_t_posmodernidade" : "Pós-modernidade",
 "CSN_t_Reforma" : "Reforma",  
 "CSN_t_religiao" : "Religião",
 "CSN_t_Romero" : "Romero",
 "CSN_t_sexualidade" : "Sexualidade",
 "CSN_t_tecnologia" : "Tecnologia",
 "CSN_t_teologia" : "Teologia",
 "CSN_t_teologia_da_libertacao" : "Teologia da Libertação",
 "CSN_t_teologiaFeminista" : "Teologia Feminista",
 "CSN_t_teologiaIndigena" : "Teologia Indígena",
 "CSN_t_teologiaNegra" : "Teologia Negra" , 
 "CSN_t_Vigil" : "Vigil"

}

var catTranslationES = {
"CSN_t_ateismo": "Ateísmo",
 "CSN_t_ciencia" : "Ciencia",
 "CSN_t_Cristianismo" : "Cristianismo",
 "CSN_t_desconstrucao" : "Desconstrucción",
 "CSN_t_ecumenismo" : "Ecumenismo",
 "CSN_t_filosofia" : "Filosofia", 
 "CSN_t_hermeneutica" : "Hermeneutica", 
 "CSN_t_homossexualidade": "Homossexualidad",
"CSN_t_linguagem": "Linguaje",
 "CSN_t_livro": "Libro",
  "CSN_t_Lyotard": "Lyotard",
  "CSN_t_metafisica": "Metafísica",
 "CSN_t_Moltmann": "Moltmann",
 "CSN_t_pluralismo" : "Pluralismo", 
 "CSN_t_igreja": "Iglesia",
 "CSN_t_religiao" : "Religión",
 "CSN_t_politica" : "Política",
 "CSN_t_tecnologia" : "Tecnología",
  "CSN_t_teologia" : "Teología",
  "CSN_t_teologia_da_libertacao" : "Teología de la Liberación",
  "CSN_t_Romero" : "Romero",
  "CSN_t_posmodernidade" : "Posmodernidad",
 "CSN_t_Vigil" : "Vigil"
}


var tabelaFontes = {
 "CSN_BuleVoador" : "Bule Voador",
 "CSN_IgrejaEmergente" : "www.igrejaemergente.com",
 "CSN_BrasilDeFato" : "Jornal Brasil de Fato",
 "CSN_NovosDialogos" : "Novos Diálogos"
}

function getCookieVal (offset) {
 var endstr = document.cookie.indexOf (";", offset);
 if (endstr == -1)
   endstr = document.cookie.length;
 return unescape(document.cookie.substring(offset, endstr));
}

function GetCookie (name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break; 
}
return null;
}

function SetCookie (name, value) {
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}

function DeleteCookie () { 
var exp = new Date();
exp.setTime (exp.getTime() - 1000000000); // This cookie is history
var cval = GetCookie ('CSN_Lingua');
document.cookie ='CSN_Lingua' + "=" + cval + "; expires=" + exp.toGMTString(); 
}

function CSN_SetLangAndRedirect(lang) {
      var expdate = new Date (); 
      expdate.setTime(expdate.getTime() + (24 * 60 * 60 * 1000 * 365)); 
      SetCookie('CSN_Lingua', lang, expdate, null, 'www.conversasemnome.com'); 
      location.href="index-" + lang + ".html";
}

function CSN_check() {
   var lang = GetCookie('CSN_Lingua');
   if(lang)
   {
     if(lang == 'pt') {
         location.href="index-pt.html";
     } else if (lang == 'es') {
         location.href="index-es.html";
     }
   } else {
   }
}


function isUrl(s) {
	var regexp = /(http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
	return regexp.test(s);
}


function escreveNome(row) {
        var nomesHTML = '';

               if(row.pic_small)
               {
                  nomesHTML += '<img src=\"' + row.pic_small + '\"/> <br/>';
               }
               if(row.website)
               {
                  var reg2 = new RegExp("^www\..+\.com","i");
                  if(isUrl(row.website))
                  {
                     nomesHTML += '<a href=\"' + row.website + '\">' + row.name + '</a>';
                  } else if(reg2.test(row.website)) {
                     nomesHTML += '<a href=\"http://' + row.website + '\">' + row.name + '</a>';
                  } else {
                     nomesHTML += row.name + '<br/> <span class=\"pequeno\">' + row.website +'</span>';
                  }
               } else {
                  nomesHTML += row.name;
               }
               nomesHTML += '<br/>';
    return nomesHTML;
}

function populateHTMLTable(rows , n) {
   if(n > 6)
   {
       var nomesHTML = '<div title=\"\"><table class=\"tblnomes\">';
       nomesHTML += '<tr><td  class=\"tbltdnomes\">' + escreveNome(rows[n-1]) + '</td><td class=\"tbltdnomes\">' + escreveNome(rows[n-2]) + '</td><td class=\"tbltdnomes\">' + escreveNome(rows[n-3]) + '</td></tr>';
       nomesHTML += '<tr><td class=\"tbltdnomes\">' + escreveNome(rows[n-4]) + '</td><td class=\"tbltdnomes\">' + escreveNome(rows[n-5]) + '</td><td class=\"tbltdnomes\">' + escreveNome(rows[n-6]) + '</td></tr>';
       nomesHTML += '</td></tr></table></div>';
       return nomesHTML + populateHTMLTable(rows , n - 6);
   } else {
       var nomesHTML = '<div title=\"\"><table class=\"tblnomes\">';
       var i = 0;
       for(;i<n;i++)
       {
         if (!(i % 3))
         {
            nomesHTML += '<tr>'
         }
         nomesHTML += '<td class=\"tbltdnomes\">' + escreveNome(rows[i]) + '</td>';
         if (!((i+1) % 3))
         {
            nomesHTML += '</tr>'
         }
       }
       for(;i<6;i++)
       {
         if (!(i % 3))
         {
            nomesHTML += '<tr>'
         }
         nomesHTML += '<td class=\"tbltdnomes\">&nbsp;</td>';
         if (!((i+1) % 3))
         {
            nomesHTML += '</tr>'
         }
       }
       nomesHTML += '</table></div>';
       return nomesHTML;
   }
}

function populateNomes(api) {
 api.fql_query("select uid,name,pic_small, website from user where uid in (select uid from group_member where gid = 107361052633503)", function(rows)
      {

        if (rows == null)
        {
           return;
        }
        var n = (rows.length > 30) ? 30 : rows.length;
        var nomesHTML = populateHTMLTable(rows , n);
        document.getElementById('Nomes_inner').innerHTML = nomesHTML;

       $('#Nomes_inner').jshowoff(
         {
					effect: 'slideLeft',
				   controlText: { play:'', pause:'', previous:'', next:'' },
					hoverPause: false
         });
        //MakeVisible('#Nomes');
     });
}



function populateTopos(api) {
 api.fql_query("SELECT post_id,message,app_data,action_links,attachment, comments,type  FROM stream WHERE source_id=107361052633503", function(rows)
      {
        var linksHTML = '';
        if (rows == null)
        {
           return;
        }
        var n = (rows.length > 20) ? 20 : rows.length;
        for(i=0;i<n;i++)
        {
            var row = rows[i];
            if(row.type == null) {
               linksHTML += '<div title=\"\"><a href=\"' + row.attachment.href + '\">' + row.attachment.name + '</a><br/>';

               if ((i+1)<n) { // again
                   i++;
                   linksHTML += '<br/>';
                   row = rows[i];
                   if(row.type == null) {
                     linksHTML += '<a href=\"' + row.attachment.href + '\">' + row.attachment.name + '</a><br/>';
                   }
               }

               if ((i+1)<n) { // again
                   i++;
                   linksHTML += '<br/>';
                   row = rows[i];
                   if(row.type == null) {
                     linksHTML += '<a href=\"' + row.attachment.href + '\">' + row.attachment.name + '</a><br/>';
                   }
               }

               linksHTML += '</div>';
            }
        }

        document.getElementById('Topos_inner').innerHTML = linksHTML;

       $('#Topos_inner').jshowoff(
         {
					effect: 'slideLeft',
				   controlText: { play:'', pause:'', previous:'', next:'' },
					hoverPause: false
         });
        //MakeVisible('#Topos');
     });
}

function populateFromStream() {
  document.getElementById('conectese').innerHTML = '';
  FB_RequireFeatures(["Connect"], function()
  {
   FB.Facebook.init('46baa781320fa3e3950ef657b8f6c802','/fb/xd_receiver.htm');
   FB.Connect.requireSession();
   var api = FB.Facebook.apiClient;

   // require user to login
   api.requireLogin(function(exception)
   {
      populateTopos(api);
      populateNomes(api);

   });
  });
}

function populaCategorias(lang) {
        var categos = $('#categories_placeholder');
        categos.text('');
        categos.append( $('<br/>') );			
        i = 0;
		var someCateg;
        for (var umaCateg in categoriesHash)
	{
	        var theHash;
	        if (lang == "pt") {
	        	theHash = catTranslationPT;
	        } else if (lang == "es") {
	        	theHash = catTranslationES;
	        }
	        categoo = theHash[umaCateg] ? theHash[umaCateg] : umaCateg;
	        categos.append( $('<span/>').text(categoo).addClass('RSSCategories').attr("id", umaCateg) );
		// $('<span/>').text(categoo).attr("id", umaCateg).appendTo(categos);
		categos.append(' | ');
		i++;
		if (!(i % 4)) {
			categos.append( $('<br/>') );			
		}
		someCateg = umaCateg;
	   $("#" + someCateg).click(function()
	     {
		     var $input = $(this);
			 var inputid = $input[0].id;
			 var rssp = $('#RSS_placeholder');
			 toggleDisplay(rssp, '.' + inputid, inputid);
	     });
	}
	categos.append( $('<br/><br/>') );
        
}


function populaFontes(lang) {
        var fontes = $('#fontes_placeholder');
        fontes.text('');
        fontes.append( $('<br/>') );			
        i = 0;
		var umaFonte;
        for (var umaFonteIn in sourcesHash)
	    {	        
	        fontee = tabelaFontes[umaFonteIn] ? tabelaFontes[umaFonteIn] : umaFonteIn;
	        fontes.append( $('<span/>').text(fontee).addClass('RSSCategories').attr("id", umaFonteIn) );
			// $('<span/>').text(categoo).attr("id", umaCateg).appendTo(categos);
			fontes.append(' | ');
			i++;
			if (!(i % 4)) {
				fontes.append( $('<br/>') );			
			}
			umaFonte = umaFonteIn;
		   $("#" + umaFonte).click(function()
			 {
				 var $input = $(this);
				 var inputid = $input[0].id;
				 var rssp = $('#RSS_placeholder');
				 toggleDisplay(rssp, '.' + inputid, inputid);
			 });
	    }
	fontes.append( $('<br/><br/>') );
        
}


function genDeliciousCat(data, lang) {
        $('#categories_placeholder').text('');
		$('#RSS_placeholder').text('');
        categoriesHash = new Object();
		sourcesHash = new Object();
        $.each(data.value.items, function(idx, item) {
		    var rsspl = $('#RSS_placeholder');
            rsspl.append("<li/>");
			var listitem = rsspl.children('li:last-child');
			$('<a/>').attr("href", item.link).text(item.title).appendTo(listitem);
			$('<br/>').appendTo(listitem);
			if (item.description.indexOf("<")!=-1 && item.description.indexOf("</")!=-1) {
			   $('<span/>').html(item.description).appendTo(listitem);
			} else {
			   $('<span/>').text(item.description).appendTo(listitem);
			}
            if (item.category) {
               $.each(item.category, function(idx, categ) {
                    if(categ.content)
                    {
                       if(categ.content.match("^CSN_t_.+"))
                       {
                           listitem.addClass(categ.content);
                           
                           categoriesHash[categ.content] = categ.content;
                       };
                          // todo : check for CSN_ prefix
                    };
               });
            }; 
            if (item.author) {
			   if(item.author.match("^CSN_.+"))
               {
			      listitem.addClass(item.author);
			      sourcesHash[item.author] = item.author;
			   }
            }			
            //rsspl.append(listitem);
            
        });        
        populaCategorias(lang);
		populaFontes(lang);
    }
	
function toggleDisplay(rssp,classs, sourceid) {
             var x = rssp.children('li').not(classs).css("display");
			 //alert(x);
			 if(x){
				 if (x == 'block') {
				   // rssp.children('li').not(classs).css("display", "none");
				   rssp.children('li').not(classs).fadeOut('slow');
				   $("#" + sourceid).addClass("RSSCategoryOn");
				   $("#" + sourceid).removeClass("RSSCategoryOff");
				 } else if (x == 'none') {
				   rssp.children('li').not(classs).fadeIn('slow');
				   rssp.children('li').not(classs).css("display", "block");
				   $("#" + sourceid).removeClass("RSSCategoryOn");
				   $("#" + sourceid).addClass("RSSCategoryOff");

				 }
			 }

}
