/* ------------------------------------------------------------------------ Project: The Social Required: jquery, gelesocial.js Copyright: 2011 - Gruppo editoriale L'Espresso spa Developers: M. Viganò, F. Zanchetta, G. Bottini, L. Convalle, E. Sabellico, E. Matteoli, L. "saibal" Forti ------------------------------------------------------------------------- */ /* * TODO * fix img * aggingere alt */ (function($) { $.neodata = function(){version: '0.1'}; $.neodata.PER_TE_UL_ID = "box_favourite"; $.neodata.BEST_OF_UL_ID = "box_popular"; $.neodata.FB_ACTIVITY_UL_ID = "box_fb_activity"; $.neodata.PER_TE_EMPTY_MSG = "Non ci sono nuovi articoli"; $.neodata.PER_TE_MAX_ABSTRACT = 150;//maximum NUMBER of words in the keyword $.neodata.PER_TE_MAX_ITEMS = 5; $.neodata.BEST_OF_EMPTY_MSG = "Non ci sono nuovi articoli"; $.neodata.BEST_OF_MAX_ITEMS = 10; $.neodata.LOCALI_MAX_ITEMS = 10; $.neodata.KEYWORDS_MAX_ITEMS = 10; $.neodata.KEYWORDS_UL_ID = "box_keywords"; $.neodata.KEYWORDS_FORM_ID = "keywords"; $.neodata.KEYWORDS_INPUT_ID = "keywordforminput"; $.neodata.KEYWORDS_INPUT_VALUE = "Aggiungi parola chiave"; $.neodata.KEYWORDS_LIST_ID = "keywords-list"; $.neodata.KEYWORDS_COOKIE_NAME = "kwords"; $.neodata.KEYWORDS_COOKIE_DOMAIN= ".repubblica.it"; $.neodata.KEYWORDS_COOKIE_PATH = "/"; $.neodata.KEYWORDS_COOKIE_EXPIRE= 1;//in days $.neodata.KEYWORDS_COOKIE_LENGTH= 20;//in days $.neodata.KEYWORDS_SEPARATOR = ","; $.neodata.KEYWORDS_VAL_SEPARATOR= " "; $.neodata.KEYWORDS_REGEX_PATTERN= "^[a-z0-9 'òàèéùì]+$"; $.neodata.KEYWORDS_MAX_LENGTH = 2;//maximum NUMBER of words in the keyword $.neodata.KEYWORDS_MIN_LENGTH = 2;//minimum LENGTH of words in the keyword $.neodata.KEYWORDS_DIV_ID_ALERT = "keywords-alert"; $.neodata.KEYWORDS_MAX_LEN_ALERT= "E' possibile inserire al massimo 2 termini per ricerca. alcune parole non sono state salvate"; $.neodata.KEYWORDS_MIN_LEN_ALERT= "La lunghezza minima delle parole è di 2 caratteri. Non tutti i termini inseriti sono stati salvati";//minimum LENGTH of words in the keyword $.neodata.KEYWORDS_NORM_ALERT = "Hai inserito un carattere che non può essere usato. I caratteri consentiti sono lettere (anche accentate), numeri, apici (')";//normalized kw $.neodata.KEYWORDS_EXIST_ALERT = "Hai già inserito questa parola nella ricerca";//kw alredy exist $.neodata.KEYWORDS_IS_FULL_ALERT= "Siamo spiacenti, puoi inserire al massimo 20 parole";//kw alredy exist $.neodata.KEYWORDS_EMPTY_MSG_SB = "Scegli nella tua pagina personale i temi sui quali essere aggiornato"; $.neodata.KEYWORDS_EMPTY_MSG = "Scegli gli argomenti sui quali essere aggiornato.
Ti avviseremo ogni volta che saranno pubblicati!

Esempio: inserisci la parola chiave di tuo interesse. Ricorda che ogni termine deve essere seguito da virgola. I risultati appariranno in ordine cronologico

"; $.neodata.NEODATA_WS_ERROR = "Spiacenti, non è possibile caricare i dati richiesti. Riprova più tardi"; $.neodata.NEODATA_WS_ALL_URL = "http://myrepubblica.adagiof3.repubblica.it/news/repubblica/perte.json.jsp"; $.neodata.NEODATA_WS_PERTE_URL = "http://myrepubblica.adagiof3.repubblica.it/news/repubblica/perte2.json.jsp"; $.neodata.NEODATA_WS_KWORDS_URL = "http://myrepubblica.adagiof3.repubblica.it/news/repubblica/keywords.json.jsp"; $.neodata.NEODATA_WS_BESTOF_URL = "http://myrepubblica.adagiof3.repubblica.it/news/repubblica/bestof.json.jsp"; $.neodata.NEODATA_WS_TIMEOUT = 1000; $.neodata.KEYWORDS_ADD_MODE = "ADD"; $.neodata.KEYWORDS_DELETE_MODE = "DELETE"; $.neodata.LOCALI_URL_PATTER = "#edizione_name#"; $.neodata.LOCALI_ZONE_NAME = $.neodata.LOCALI_URL_PATTER+"_plugin_social_statusbar"; $.neodata.LOCALI_WS_URL = "http://www.repubblica.it/pluginskpm3/"+$.neodata.LOCALI_ZONE_NAME+"/"+$.neodata.LOCALI_URL_PATTER+".html"; $.neodata.LOCALI_WS_RSS_PATT = "?rss"; $.neodata.LOCALI_FE_BOX = "fb-status-locali"; $.neodata.LOCALI_FE_BOX_CLASS = "toolbar-boxes from-local"; $.neodata.LOCALI_BE_BOX = "locali-box"; $.neodata.LOCALI_COOKIE_NAME = "adagio_box_locali"; $.neodata.LOCALI_SB_CHOOSE_CLASS= "short access"; $.neodata.NEODATA_KEYWORDS_BE_BOX = "neodata-keywords-box"; $.neodata.NEODATA_PERTE_BE_BOX = "neodata-perte-box"; $.neodata.NEODATA_KEYWORDS_FE_BOX = "fb-status-neodata-keywords"; $.neodata.NEODATA_PERTE_FE_BOX = "fb-status-neodata-perte"; $.neodata.NEODATA_BALOON_CLASS = "count-item"; $.neodata.NEODATA_SB_PERTE_MAX = 3; $.neodata.NEODATA_SB_KEYWORD_MAX= 3; $.neodata.NEODATA_SB_BESTOF_MAX = 3; $.neodata.FACEBOOK_FE_BOX = "fb-status-rcms"; $.neodata.FACEBOOK_BE_BOX = "fb-rcms"; $.neodata.SB_BOXES_CLOSE_CLASS = "personalizza"; $.neodata.SB_BENEFITS_CLASS = "benefits"; $.neodata.SB_REGISTER_CLASS = "register"; $.neodata.SB_TOOLTIP_CLASS = "tooltip t-right"; /* * DEFAULT SETTINGS * */ var settings = { debug : true //consol log debug }; $.neodata.neoDataBlocked; $.neodata.clearCenterDiv = function(){ $("#"+RenderSocial.CUSTOM_CENTER_DIV_ID).empty(); } $.neodata.profileBoxes = function() { //$.neodata.cookie.setNeodataKeywords(); //$.neodata.log("ws.get: neodata.profileBoxes"); $.neodata.ws.getAllJson($.neodata.renderProfileBoxes); } $.neodata.renderProfileBoxes = function() { if(!$.neodata.utils.isNull(jsonBoxNeodata)){ var html = "" + "" + "" + "" + "" + "" + "
" + //"" + //"" + "" + "" + ""+ ""; //print html for boxes $("#"+RenderSocial.CUSTOM_CENTER_DIV_ID).append(html); //box sceltiPerTe $("#"+$.neodata.PER_TE_UL_ID).neodata({variable:jsonBoxNeodata.perte,renderFunc:$.neodata.render.sceltiPerTe}); //box paroleChiave $("#"+$.neodata.KEYWORDS_UL_ID).neodata({variable:jsonBoxNeodata.parolechiave,renderFunc:$.neodata.render.paroleChiave}); //box bestOf //$("#"+$.neodata.BEST_OF_UL_ID).neodata({variable:jsonBoxNeodata.bestof,renderFunc:$.neodata.render.bestOf}); //facepile $("#"+$.neodata.FB_ACTIVITY_UL_ID).neodata({renderFunc:$.neodata.render.facebookActivity}); } } $.fn.neodata = function(config) { var node = $(this); //$.neodata.log("node:"); //$.neodata.debug(node); //$.neodata.log("neodata.init"); $.neodata.render($.extend(config.variable, {node:node}), config.renderFunc); } /* * Init Function * */ $.neodata.init = function(config) { if(!$.neodata.utils.isNull(config)) { settings = $.extend(settings, config); } } /*---------------------- Class Render -------------------------------------------*/ $.neodata.render = function(parameters, func) { if(!$.neodata.utils.isNull(func) && !$.neodata.utils.isNull(parameters) && $.isFunction(func)) func(parameters); } /* * Render Function - perTe Box * */ $.neodata.render.sceltiPerTe = function(data){ $.neodata.log("neodata.render.sceltiPerTe"); $.neodata.log(data); if(!$.neodata.utils.isNull(data) && !$.neodata.utils.isNull(data.node)){ var html = "
  • \n
    \n
    Consigliati per te
    \n
    \n
  • \n"; html += '
  • Articoli selezionati e scelti per te in base alla tua navigazione
  • '; if(!$.neodata.utils.isNull(data.items) && data.items.length>0){ $.each(data.items, function(index, value) { if(index<$.neodata.PER_TE_MAX_ITEMS){ var imgsrc = RenderSocial.BASEURL_SOCIAL+"img/logo_rep-it.gif"; if(!$.neodata.utils.isEmptyString(value.image) && value.image.indexOf('/la_repubblica_logo.gif')<0) imgsrc = value.image; html += "
  • \n"; var alt = value.title.replace(/\"/g,'"'); html += "\""+alt+"\"\n"; var statusClass = $.neodata.utils.linkStatusClassStyle(value); html += "

    "+value.title+"

    \n"; if(!$.neodata.utils.isEmptyString(value.abstract)) html += value.abstract.substring(0,$.neodata.PER_TE_MAX_ABSTRACT)+"...\n"; html += "
  • \n"; } }); }else{ html += $.neodata.PER_TE_EMPTY_MSG; } data.node.html(html); } } /* * Render Function - bestOf Box * */ $.neodata.render.bestOf = function(data){ $.neodata.log("neodata.render.bestOf"); $.neodata.log(data); if(!$.neodata.utils.isNull(data) && !$.neodata.utils.isNull(data.node)){ var html = "
  • \n
    \n
    I più letti
    \n
    \n
  • \n"; if(!$.neodata.utils.isNull(data.items) && data.items.length>0){ $.each(data.items, function(index, value) { if(index<$.neodata.BEST_OF_MAX_ITEMS){ var statusClass = $.neodata.utils.linkStatusClassStyle(value); html += "
  • \n"+value.title+"\n
  • \n"; } }); html += "\n"; }else{ html += $.neodata.BEST_OF_EMPTY_MSG; } data.node.html(html); } } /* * Render Function - keywords Box * */ $.neodata.render.paroleChiave = function(data){ $.neodata.log("neodata.render.paroleChiave"); $.neodata.debug(data); if(!$.neodata.utils.isNull(data) && !$.neodata.utils.isNull(data.node)){ var html = "
  • \n
    \n
    I tuoi argomenti
    \n
    \n
  • \n"; html += "
  • \n"; html += "
  • "; html += "
    \n
    \n"; html += "
    \n
  • \n"; //lista kw keywordsLabel = $.neodata.cookie.getNeodataKeywords(); if(!$.neodata.utils.isEmptyString(keywordsLabel)){ html += "
  • \n"; html += ""; html += "
  • "; } //lista url if(!$.neodata.utils.isNull(data.items) && data.items.length>0){ $.each(data.items, function(index, value) { if(index<$.neodata.KEYWORDS_MAX_ITEMS){ var statusClass = $.neodata.utils.linkStatusClassStyle(value); html += "
  • \n"+value.title+"\n
  • \n"; } }); }else{ html += "
  • \n"; html += $.neodata.KEYWORDS_EMPTY_MSG; html += "
  • "; } data.node.html(html); //$.neodata.log("add action on delete single keyword"); $.neodata.utils.removeParoleChiave(); $.neodata.utils.addParoleChiave(); $("#"+$.neodata.KEYWORDS_INPUT_ID).click(function(){ RenderSocial.statusBar.hideAllPopups(); $("#"+$.neodata.KEYWORDS_INPUT_ID).val(""); }); } $.neodata.utils.fixLayoutBox(); } $.neodata.render.facebookActivity = function(data){ $.neodata.log("neodata.render.facebookActivity"); $.neodata.debug(data); var html = "
  • \n
    \n
    Cosa leggono i tuoi amici di Facebook
    \n
    \n
  • \n"; var parametersActivity = {}; //parametersActivity['site']=RenderSocial.BASEURL; parametersActivity['site']="www.repubblica.it"; parametersActivity['width']='344'; parametersActivity['height']='450'; parametersActivity['header']='false'; parametersActivity['recommendations']='true'; parametersActivity['border_color']='#ffffff'; parametersActivity['font']='arial'; parametersActivity['class']='fb_iframe_widget'; var fbActivityHtml = GeleSocial.render.activityFeedString(parametersActivity); html += "
  • "+fbActivityHtml+"
  • "; data.node.html(html); var node = data.node; if(window.FB && node){ if(node.length > 0) FB.XFBML.parse(node[0]); } } /*---------------------- Class Statusbar -------------------------------------------*/ $.neodata.statusbar = {} /* * Render Function - keywords Box * */ $.neodata.statusbar.facebookRecommendationsFE = function(data){ $.neodata.log("$.neodata.statusbar.facebookRecommendationsFE"); var html = " "; html += "
    "; $("#"+$.neodata.FACEBOOK_FE_BOX).html(html); } /* * Render facebookRecommendations BE Not LoggedFunction () * */ $.neodata.statusbar.facebookRecommendationsBENotLogged = function(){ $.neodata.log("$.neodata.render.facebookRecommendationsBENotLogged"); var htmlBox = $.neodata.statusbar.htmlBENotLogged("Scopri cosa piace ai tuoi amici di Facebook"); $("#"+$.neodata.FACEBOOK_BE_BOX).html(htmlBox); $("."+$.neodata.SB_BENEFITS_CLASS).live("click", function(){GeleSocial.showBenefits();}); $("."+$.neodata.SB_REGISTER_CLASS).live("click", function(){GeleSocial.showFormRegistration();}); var txt = "Accedi a La tua Repubblica.it"; RenderSocial.renderLoginString($('.toolbar-boxes .access'), txt); } /* * Render facebookRecommendations BE LoggedFunction () * */ $.neodata.statusbar.facebookRecommendationsBELogged = function(){ $.neodata.log("$.neodata.render.facebookRecommendationsBELogged"); var parametersRecommendations = {}; //parametersRecommendations['site']=RenderSocial.BASEURL; parametersRecommendations['site']="http://www.repubblica.it/"; parametersRecommendations['width']='350'; parametersRecommendations['height']='320'; parametersRecommendations['header']='false'; parametersRecommendations['border_color']='#ffffff'; parametersRecommendations['locale']='it_IT'; parametersRecommendations['sdk']='joey'; var fbRecmmHtml = GeleSocial.render.recommendationsString(parametersRecommendations); var html = "

    Facebook

    "; html += fbRecmmHtml; html += "[chiudi]"; var node1 = $("#"+$.neodata.FACEBOOK_BE_BOX); node1.html(html); var node = node1; if(window.FB && node){ if(node.length > 0) FB.XFBML.parse(node[0]); } } /* * Render neodataSuggest FE Not LoggedFunction () * */ $.neodata.statusbar.neodataSuggestFENotLogged = function(){ var html = "I tuoi argomenti"; html += "
    "; $("#"+$.neodata.NEODATA_KEYWORDS_FE_BOX).html(html); var html = "Consigliati per te"; html += "
    "; $("#"+$.neodata.NEODATA_PERTE_FE_BOX).html(html); } /* * Render neodataSuggest FE LoggedFunction () * */ $.neodata.statusbar.neodataSuggestFELogged = function(){ $.neodata.log("neodata.statusbar.neodataSuggestFELogged"); var data = $.neodata.cookie.getNeodataKeywords(); //$.neodata.log("ws.get: statusbar.neodataSuggestFELogged"); $.neodata.ws.getAllJson($.neodata.statusbar.renderNeodataSuggestFELogged,$.neodata.statusbar.renderNeodataSuggestFEBlocked); } $.neodata.statusbar.renderNeodataSuggestFEBlocked = function(){ var html = "I tuoi argomenti"; html += ""; html += "
    "; $("#"+$.neodata.NEODATA_KEYWORDS_FE_BOX).html(html); var html = "Consigliati per te"; html += ""; html += "
    "; $("#"+$.neodata.NEODATA_PERTE_FE_BOX).html(html); } $.neodata.statusbar.renderNeodataSuggestFELogged = function(){ var html = "I tuoi argomenti"; var counter = $.neodata.statusbar.getCounter(); if(counter>0) html += ""+counter+""; html += ""; html += "
    "; $("#"+$.neodata.NEODATA_KEYWORDS_FE_BOX).html(html); var html = "Consigliati per te"; html += ""; html += "
    "; $("#"+$.neodata.NEODATA_PERTE_FE_BOX).html(html); } /* * Render neodataSuggest BE Not LoggedFunction * */ $.neodata.statusbar.neodataSuggestBENotLogged = function(){ $.neodata.log("neodata.statusbar.neodataSuggestBENotLogged"); var htmlBoxKeywords = $.neodata.statusbar.htmlBENotLogged("Scegli e segui i temi che più ti interessano"); var htmlBoxPerte = $.neodata.statusbar.htmlBENotLogged("Scopri gli articoli consigliati per te"); $("#"+$.neodata.NEODATA_KEYWORDS_BE_BOX).html(htmlBoxKeywords); $("#"+$.neodata.NEODATA_PERTE_BE_BOX).html(htmlBoxPerte); $("."+$.neodata.SB_BENEFITS_CLASS).live("click", function(){GeleSocial.showBenefits();}); $("."+$.neodata.SB_REGISTER_CLASS).live("click", function(){GeleSocial.showFormRegistration();}); var txt = "Accedi a La tua Repubblica.it"; RenderSocial.renderLoginString($('.toolbar-boxes .access'), txt); } /* * Render neodataSuggest BE LoggedFunction * */ $.neodata.statusbar.neodataSuggestBELogged = function(){ $.neodata.log("neodata.statusbar.neodataSuggestBELogged"); $.neodata.ws.getAllJson($.neodata.statusbar.renderNeodataSuggestBELogged,$.neodata.statusbar.renderNeodataSuggestBEBlocked); } $.neodata.statusbar.renderNeodataSuggestBEBlocked = function(){ $("#"+$.neodata.NEODATA_KEYWORDS_BE_BOX).html($.neodata.NEODATA_WS_ERROR); $("#"+$.neodata.NEODATA_PERTE_BE_BOX).html($.neodata.NEODATA_WS_ERROR); } $.neodata.statusbar.renderNeodataSuggestBELogged = function(){ var htmlBoxKeywords = ""; var htmlBoxPerte = ""; var tot = 0; htmlBoxKeywords += "

    La tua Repubblica.it

    "; htmlBoxPerte += "

    La tua Repubblica.it

    "; //blocco perte - Archivio Personale var hasPerte = !$.neodata.utils.isNull(jsonBoxNeodata) && !$.neodata.utils.isNull(jsonBoxNeodata.perte) && !$.neodata.utils.isObjectNull(jsonBoxNeodata.perte.items) && jsonBoxNeodata.perte.items.length>0; htmlBoxPerte += "

    Consigliati

    "; if(hasPerte) htmlBoxPerte += $.neodata.statusbar.neodataSuggestHtmlBELogged(jsonBoxNeodata.perte.items,$.neodata.NEODATA_SB_PERTE_MAX); else htmlBoxPerte += $.neodata.PER_TE_EMPTY_MSG; //blocco Le tue parole chiave var counter = $.neodata.statusbar.getCounter(); htmlBoxKeywords += "

    I tuoi argomenti"; if(counter>0) htmlBoxKeywords += ""+counter+""; htmlBoxKeywords += "

    "; var hasKeywords = !$.neodata.utils.isNull(jsonBoxNeodata) && !$.neodata.utils.isNull(jsonBoxNeodata.parolechiave) && !$.neodata.utils.isObjectNull(jsonBoxNeodata.parolechiave.items) && jsonBoxNeodata.parolechiave.items.length>0; if(hasKeywords) htmlBoxKeywords += $.neodata.statusbar.neodataSuggestHtmlBELogged(jsonBoxNeodata.parolechiave.items,$.neodata.NEODATA_SB_KEYWORD_MAX); else htmlBoxKeywords += $.neodata.KEYWORDS_EMPTY_MSG_SB; htmlBoxKeywords += '
    '; htmlBoxKeywords += ''; htmlBoxPerte += '
    '; htmlBoxPerte += '
    '; if(hasKeywords) htmlBoxKeywords += 'Vedi tutti'; else htmlBoxKeywords += 'Pagina personale'; if(hasPerte) htmlBoxPerte += 'Vedi tutti'; else htmlBoxPerte += 'Pagina personale'; htmlBoxKeywords += ''; htmlBoxPerte += ''; htmlBoxKeywords += "[chiudi]"; htmlBoxPerte += "[chiudi]"; $("#"+$.neodata.NEODATA_KEYWORDS_BE_BOX).html(htmlBoxKeywords); $("#"+$.neodata.NEODATA_PERTE_BE_BOX).html(htmlBoxPerte); GeleSocial.trackingParam($("#" + $.neodata.NEODATA_KEYWORDS_BE_BOX), "TRLA"); GeleSocial.trackingParam($("#" + $.neodata.NEODATA_PERTE_BE_BOX), "TRLC"); } $.neodata.statusbar.neodataSuggestHtmlBELogged = function(items,max){ var htmlBox = ""; return htmlBox; } /* * Render edizioniLocali FE Not LoggedFunction * */ $.neodata.statusbar.edizioniLocaliFENotLogged = function(){ $.neodata.log("neodata.statusbar.edizioniLocaliFENotLogged"); var htmlBox = "Edizioni locali"; htmlBox += "
    "; $("#"+$.neodata.LOCALI_FE_BOX).html(htmlBox); } /* * Render edizioniLocali FE LoggedFunction * */ $.neodata.statusbar.edizioniLocaliFELogged = function(){ $.neodata.log("neodata.statusbar.edizioniLocaliFELogged"); var localiCookie = GeleSocial.getBoxCookie($.neodata.LOCALI_COOKIE_NAME); var htmlBox = ""; var css = ""; if(!$.neodata.utils.isNull(localiCookie) && !$.neodata.utils.isNull(localiCookie.label)){ htmlBox = "Repubblica "+localiCookie.label+""; css = " local-"+localiCookie.label; }else htmlBox = "Scegli l'edizione locale"; htmlBox += "
    "; $("#"+$.neodata.LOCALI_FE_BOX).attr("class", $.neodata.LOCALI_FE_BOX_CLASS+css); $("#"+$.neodata.LOCALI_FE_BOX).html(htmlBox); } /* * Render edizioniLocali BE Not LoggedFunction * */ $.neodata.statusbar.edizioniLocaliBENotLogged = function(){ $.neodata.log("neodata.statusbar.edizioniLocaliBENotLogged"); var htmlBox = $.neodata.statusbar.htmlBENotLogged("Tutte le notizie più importanti della tua città sempre a portata di mano"); $("#"+$.neodata.LOCALI_BE_BOX).html(htmlBox); $("."+$.neodata.SB_BENEFITS_CLASS).live("click", function(){GeleSocial.showBenefits();}); $("."+$.neodata.SB_REGISTER_CLASS).live("click", function(){GeleSocial.showFormRegistration();}); var txt = "Accedi a La tua Repubblica.it"; RenderSocial.renderLoginString($('.toolbar-boxes .access'), txt); } $.neodata.statusbar.htmlBENotLogged = function(txt){ var htmlBox = '
    '; htmlBox += '

    '+txt+'

    '; htmlBox += '
    '; htmlBox += '
    '; htmlBox += ''; htmlBox += '[chiudi]'; htmlBox += '
    '; return $(htmlBox); } /* * Render edizioniLocali BE LoggedFunction * */ $.neodata.statusbar.edizioniLocaliBELogged = function(){ $.neodata.log("neodata.statusbar.edizioniLocaliBELogged"); var localiCookie = GeleSocial.getBoxCookie($.neodata.LOCALI_COOKIE_NAME); var htmlBox = ""; if(!$.neodata.utils.isNull(localiCookie) && !$.neodata.utils.isNull(localiCookie.id)){ var url = $.neodata.LOCALI_WS_URL.replace(/#edizione_name#/g, localiCookie.id); window.getCachedScript(url, function() { if(!$.neodata.utils.isNull(jsonEdizioniLocali) && !$.neodata.utils.isNull(jsonEdizioniLocali.items)){ htmlBox += "

    Repubblica "+localiCookie.label+"

    "; htmlBox += ""; htmlBox += "[chiudi]"; $("#"+$.neodata.LOCALI_BE_BOX).html(htmlBox); } }); }else{ htmlBox += '
    '; htmlBox += '

    Per utilizzare il servizio devi specificare la città di tuo interesse

    '; htmlBox += '
    '; htmlBox += 'Scegli la città'; htmlBox += '
    '; htmlBox += '[chiudi]'; htmlBox += '
    '; $("#"+$.neodata.LOCALI_BE_BOX).html(htmlBox); } } /*---------------------- Class Cookie -------------------------------------------*/ $.neodata.cookie = {} $.neodata.cookie.deleteBoxes = function(){ GeleSocial.deleteBoxCookie($.neodata.KEYWORDS_COOKIE_NAME); //$.neodata.cookie.deleteNeodataKeywords($.neodata.KEYWORDS_COOKIE_NAME, null); } $.neodata.cookie.deleteNeodataKeywords = function(){ if(!$.neodata.utils.isEmptyString($.neodata.cookie.getNeodataKeywords())) //GeleSocial.setCookie($.neodata.KEYWORDS_COOKIE_NAME, null, $.neodata.KEYWORDS_COOKIE_EXPIRE, $.neodata.KEYWORDS_COOKIE_DOMAIN, $.neodata.KEYWORDS_COOKIE_PATH); $.neodata.log("ws.get: cookie.deleteNeodataKeywords"); //$.neodata.ws.getAllJson(); } $.neodata.cookie.getNeodataKeywords = function(){ var cookie = ""; var ret = GeleSocial.getBoxCookie($.neodata.KEYWORDS_COOKIE_NAME); if(!$.neodata.utils.isNull(ret) && !$.neodata.utils.isNull(ret.values)) cookie = ret.values; return cookie; } /* * Set neodata keywords cookie Function - keywords Box * */ $.neodata.cookie.setNeodataKeywords = function(mode ,keywords){ $.neodata.log("neodata.cookie.setNeodataKeywords"); /* * I casi sono tre: * o setNeodataKeywords è stata chiamata al caricamento della pagina, * o per aggiornare il cookies * oppure per cancellarlo * * nel primo caso setto il cookie di neodata con i valori di redis * nel secondo non passo l'if; setto il cookie e basta * nel terzo non devo entrare nel if altrimenti valorizza il cookie da redis * *Questo succede perchè il listener è agganciato sulla setBoxCookies/deleteBoxCookie *quindi ho necessita di aggiornare il cookie di neodata prima di redis * */ if($.neodata.utils.isEmptyString(keywords) && mode!=$.neodata.KEYWORDS_DELETE_MODE){ var oldKeywords = GeleSocial.getBoxCookie($.neodata.KEYWORDS_COOKIE_NAME); if(!$.neodata.utils.isNull(oldKeywords) && !$.neodata.utils.isEmptyString(oldKeywords.values)) keywords = $.neodata.utils.stripslashesSingleQuote(oldKeywords.values); } //delete existing cookie //if(!$.neodata.utils.isEmptyString($.neodata.cookie.getNeodataKeywords())) //$.neodata.cookie.deleteNeodataKeywords(); $.neodata.log("ws.get: cookie.setNeodataKeywords"); //$.neodata.ws.getaLLjSON(); //GeleSocial.setCookie($.neodata.KEYWORDS_COOKIE_NAME, keywords, $.neodata.KEYWORDS_COOKIE_EXPIRE, $.neodata.KEYWORDS_COOKIE_DOMAIN, $.neodata.KEYWORDS_COOKIE_PATH); } /*---------------------- Class Log -------------------------------------------*/ $.neodata.ws = {}; $.neodata.ws.getPerTeJson = function(succCallBack,errCallBack){ $.neodata.ws.get($.neodata.NEODATA_WS_PERTE_URL,succCallBack,errCallBack); } $.neodata.ws.getKeywordsJson = function(succCallBack,errCallBack){ var data = $.neodata.cookie.getNeodataKeywords(); var params = {}; params[$.neodata.KEYWORDS_COOKIE_NAME] = data; $.neodata.log("--------data:"+data); $.neodata.ws.get($.neodata.NEODATA_WS_KWORDS_URL,succCallBack,errCallBack,params); } $.neodata.ws.getBestOfJson = function(succCallBack,errCallBack){ $.neodata.ws.get($.neodata.NEODATA_WS_BESTOF_URL,succCallBack,errCallBack); } $.neodata.ws.getAllJson = function(succCallBack,errCallBack){ var data = $.neodata.cookie.getNeodataKeywords(); var params = {}; params[$.neodata.KEYWORDS_COOKIE_NAME] = data; $.neodata.ws.get($.neodata.NEODATA_WS_ALL_URL,succCallBack,errCallBack,params); } $.neodata.ws.error = function(errCallBack){ if($.neodata.neoDataBlocked!==undefined && !$.neodata.neoDataBlocked) return; $.neodata.neoDataBlocked = true; $.neodata.log("Neodata blocked"); if(!$.neodata.utils.isNull(errCallBack) && $.isFunction(errCallBack)) errCallBack(); } $.neodata.ws.setFlagBlocked = function(b){ $.neodata.neoDataBlocked = b; } $.neodata.ws.get = function(url,succCallBack,errCallBack,data){ $.neodata.ws.doGet(url,succCallBack,errCallBack,data); setTimeout("$.neodata.ws.error("+errCallBack+")", $.neodata.NEODATA_WS_TIMEOUT); } $.neodata.ws.doGet = function(url,succCallBack,errCallBack,data){ data = (!$.neodata.utils.isObjectNull(data)) ? data : null; $.ajax({ url: url, timeout: $.neodata.NEODATA_WS_TIMEOUT, cache: false, dataType: 'script', data:data, success: function(ret){ if(!$.neodata.utils.isNull(succCallBack) && $.isFunction(succCallBack)) succCallBack(ret); $.neodata.ws.setFlagBlocked(false); /*}, error: function(jqXHR, textStatus) { if(!$.neodata.utils.isNull(errCallBack) && $.isFunction(errCallBack)) errCallBack(); $.neodata.log("si è verificato un errore ('"+textStatus+"') nel caricamento di:"+$.neodata.NEODATA_WS_ALL_URL); $.neodata.ws.setFlagBlocked(true); */ } }); } /*---------------------- Class Log -------------------------------------------*/ $.neodata.log = function(obj) { if(window.console) window.console.log("neodataBox: "+obj); // if(settings.debug && typeof window.console!='undefined') { // console.log(obj); // } } $.neodata.debug = function(obj) { if(settings.debug && typeof window.console!='undefined' && typeof window.console.debug!='undefined' && typeof window.console.debug!='undefined') { $.neodata.log(""); console.debug(obj); } } /*---------------------- Class Utils -------------------------------------------*/ $.neodata.utils = {} $.neodata.statusbar.getCounter = function(){ var counter = 0; if(!$.neodata.utils.isNull(jsonBoxNeodata)){ if(!$.neodata.utils.isNull(jsonBoxNeodata.parolechiave) && !$.neodata.utils.isNull(jsonBoxNeodata.parolechiave.counter) && jsonBoxNeodata.parolechiave.counter>0) counter += jsonBoxNeodata.parolechiave.counter; } return counter; } $.neodata.utils.fixLayoutBox = function() { var callback = function(){ $("#"+RenderSocial.CUSTOM_CENTER_DIV_ID).masonry({ itemSelector: '.box', columnWidth: 364 }); } if(jQuery.active){ $("#"+RenderSocial.CUSTOM_CENTER_DIV_ID).ajaxStop(function(){ callback(); $(this).unbind('ajaxStop', arguments.callee); }); } else { callback(); } } $.neodata.utils.isNull = function(v) { return !(!typeof(v)!='undefined' && v!=null && v!="null"); } $.neodata.utils.isObjectNull = function(v) { return $.neodata.utils.getObjectLength(v)==0; } $.neodata.utils.getObjectLength = function(obj) { var size=0, key; for(key in obj) { size++; } return size; } $.neodata.utils.isEmptyString = function(v) { return GeleSocial.utils.isEmptyString(v); } $.neodata.utils.stripslashesSingleQuote = function(v) { return v.replace(/\\\'/g,'\''); } $.neodata.utils.stripslashesQuote = function(v) { return v.replace(/\\\"/g,'\"'); } $.neodata.utils.trim = function(v) { return v.replace(/^\s+|\s+$/g,""); } /* * Post keywords function - keywords Box * Aggiunge una kw sul submit della form seguendo N passi * 1) recupero delle nuova kw * 2) recupero delle vecchie kw * 3) controllo se una delle nuove kw è già presente * 4) refresh del box paroleChiave * */ $.neodata.utils.addParoleChiave = function(){ $('#'+$.neodata.KEYWORDS_FORM_ID).submit(function() { RenderSocial.statusBar.hideAllPopups(); //recupero della nuova kw var newKeywords = $('#'+$.neodata.KEYWORDS_FORM_ID+' input').attr("value"); if(!$.neodata.utils.isEmptyString(newKeywords) && newKeywords!=$.neodata.KEYWORDS_INPUT_VALUE){ newKeywords = $.neodata.utils.trim(newKeywords).toLowerCase(); $.neodata.log("new keywords:"+newKeywords); //recupero delle vecchie kw var oldKeywords = GeleSocial.getBoxCookie($.neodata.KEYWORDS_COOKIE_NAME); var mergedKeywords = ""; if(!$.neodata.utils.isNull(oldKeywords) && !$.neodata.utils.isEmptyString(oldKeywords.values)) mergedKeywords = $.neodata.utils.stripslashesSingleQuote(oldKeywords.values); $.neodata.log("merged keywords:"+mergedKeywords); var newKeywordsSplitted = newKeywords.split($.neodata.KEYWORDS_SEPARATOR); var filterRet = null; var filterRetTot = {"error":false, "msg":new Array(), "cod":new Array()}; $.each(newKeywordsSplitted, function(key, value) { /* * controllo se la nuova kw è già presente * se si non la salvo * se no l'aggiungo alle kw giè presenti * */ $.neodata.log("controllo la keywords:"+value); filterRet = $.neodata.filters(value,mergedKeywords); if(!$.neodata.utils.isEmptyString(filterRet.value)){ if(!$.neodata.utils.isEmptyString(mergedKeywords)) mergedKeywords += $.neodata.KEYWORDS_SEPARATOR + filterRet.value; else mergedKeywords += filterRet.value; } if(filterRet.error){ filterRetTot.error = true; $.each(filterRet.cod, function(codIndex,cod){ if($.neodata.utils.isNull(filterRetTot.cod[cod])){ var msg = filterRet.msg[codIndex]; filterRetTot.cod[cod] = cod; filterRetTot.msg.push(msg); } }); } }); $.neodata.log("new keywords:"+mergedKeywords); //refresh del box paroleChiave $.neodata.utils.refreshParoleChiave($.neodata.KEYWORDS_ADD_MODE, mergedKeywords,filterRetTot); return false; } return false; }); return false; } /* * Refresh Function - keywords Box * Aggiorna il contenuto del box seguendo N passi * 1) aggiorna redis * 2) aggiorna il cookie NeodataKeywords * 3) aggiorna il json jsonBoxNeodata * 4) renderizza il box * 5) stampa eventuali errori * */ $.neodata.utils.refreshParoleChiave = function(mode, keywords, filterRet){ $.neodata.log("neodata.utils.refreshParoleChiave"); $.neodata.debug(keywords); //aggiorna il cookie NeodataKeywords //$.neodata.cookie.setNeodataKeywords(mode, keywords); //aggiorna redis GeleSocial.setBoxCookie($.neodata.KEYWORDS_COOKIE_NAME, {"values":keywords}); //aggiorna il json jsonBoxNeodata var t = function(){$.neodata.utils.doRefreshParoleChiave(filterRet);}; $.neodata.ws.getAllJson(t); //return false; } $.neodata.utils.doRefreshParoleChiave = function(filterRet){ if(!$.neodata.utils.isNull(jsonBoxNeodata.parolechiave)) jsonBoxNeodata.parolechiave.keywordsLabel = $.neodata.cookie.getNeodataKeywords(); $("#"+$.neodata.KEYWORDS_UL_ID).neodata({variable:jsonBoxNeodata.parolechiave,renderFunc:$.neodata.render.paroleChiave}); if(!$.neodata.utils.isNull(filterRet)); $.neodata.utils.printErrorMsg(filterRet); } /* * Delete Single Keywords Function - keywords Box * */ $.neodata.utils.removeParoleChiave = function(){ $.neodata.log("neodata.utils.removeParoleChiave"); $('#'+$.neodata.KEYWORDS_LIST_ID+" li").click(function() { var keywords = $.neodata.cookie.getNeodataKeywords(); if(!$.neodata.utils.isEmptyString(keywords)){ var search = $.neodata.KEYWORDS_SEPARATOR+$(this).html()+$.neodata.KEYWORDS_SEPARATOR; var copyKeywords = $.neodata.KEYWORDS_SEPARATOR+keywords+$.neodata.KEYWORDS_SEPARATOR; //$.neodata.log("search:"+search); //$.neodata.log("keywords:"+keywords); //$.neodata.log("copyKeywords:"+copyKeywords); if(search==copyKeywords){ keywords = ""; }else if(copyKeywords.indexOf(search)>=0){ copyKeywords = copyKeywords.replace(search,$.neodata.KEYWORDS_SEPARATOR); keywords = copyKeywords.substring(1,copyKeywords.length-1); } //$.neodata.log("keywords:"+keywords); $.neodata.utils.refreshParoleChiave($.neodata.KEYWORDS_DELETE_MODE, keywords, {"error":false}); } }); } /* * Return a style according url's status * */ $.neodata.utils.linkStatusClassStyle = function(item){ var style = ""; var isRead = item.isread; var isNew = item.isnew; if(isRead) style = "link-normal"; else if(!isRead && isNew) style = "link-red"; else if(!isRead && !isNew) style = "link-bold"; return style; } $.neodata.utils.printErrorMsg = function(filterRet){ if(filterRet.error){ var html = ""; $.each(filterRet.msg,function(k,v){ html += v + "
    "; }); $("#"+$.neodata.KEYWORDS_DIV_ID_ALERT).html(html); $("#"+$.neodata.KEYWORDS_DIV_ID_ALERT).show(); }else $("#"+$.neodata.KEYWORDS_DIV_ID_ALERT).hide(); } $.neodata.utils.timestamp = function(){ var d =new Date(); return d.getTime(); } /*---------------------- Class String Filters -------------------------------------------*/ $.neodata.filters = function(keyword, oldKeywords){ var param = {"error":false, "msg":new Array(), "cod":new Array(), "value":$.neodata.utils.trim(keyword)}; param = $.neodata.filters.isNormalized(param); param = $.neodata.filters.isMinLength(param); param = $.neodata.filters.isMaxLength(param); param = $.neodata.filters.alredyKeywordExist(param, oldKeywords); param = $.neodata.filters.isFull(param, oldKeywords); return param; } /* * Check if keywords is a minimum length - keywords Box * If there are words of less than 2 letters, they are cut * */ $.neodata.filters.isMinLength = function(param) { $.neodata.log("neodata.filters.isMinLength"); var keyword = param.value; //$.neodata.log("keyword:"+param.value); var keywordSplitted = keyword.split($.neodata.KEYWORDS_VAL_SEPARATOR); //$.neodata.log("keywordSplitted:"); //$.neodata.log(keywordSplitted); var keywordCleaned = ""; $.each(keywordSplitted, function(index, value){ //$.neodata.log("neodata.filters.isMinLength:"+(value.length>=$.neodata.KEYWORDS_MIN_LENGTH)); if(!(value.length>=$.neodata.KEYWORDS_MIN_LENGTH)){ if(!param.error){ param.msg.push($.neodata.KEYWORDS_MIN_LEN_ALERT); param.cod.push(1); } param.error = true; }else{ if(!$.neodata.utils.isEmptyString(keywordCleaned)) keywordCleaned += $.neodata.KEYWORDS_VAL_SEPARATOR + value; else keywordCleaned += value; } }); param.value = keywordCleaned; //$.neodata.log("neodata.filters.isMinLength - param.value:"+param.value); return param; } /* * Check if keywords is a maximum length - keywords Box * */ $.neodata.filters.isMaxLength = function(param) { $.neodata.log("neodata.filters.isMaxLength"); var keyword = param.value; var keywordSplitted = keyword.split($.neodata.KEYWORDS_VAL_SEPARATOR); var keywordCleaned = ""; $.each(keywordSplitted, function(index, value){ if((index>=$.neodata.KEYWORDS_MAX_LENGTH)){ if(!param.error){ param.msg.push($.neodata.KEYWORDS_MAX_LEN_ALERT); param.cod.push(1); } param.error = true; }else{ if(!$.neodata.utils.isEmptyString(keywordCleaned)) keywordCleaned += $.neodata.KEYWORDS_VAL_SEPARATOR + value; else keywordCleaned += value; } }); param.value = keywordCleaned; //$.neodata.log("neodata.filters.isMaxLength - param.value:"+param.value); return param; } /* * Check if keywords is normalized according to a regexp - keywords Box * */ $.neodata.filters.isNormalized = function(param) { $.neodata.log("neodata.filters.isNormalized"); var re = new RegExp($.neodata.KEYWORDS_REGEX_PATTERN); var match = param.value.match(re); if(!match) { //$.neodata.log("neodata.filters.isNormalized:false"); param.value = ""; param.error = true; param.msg.push($.neodata.KEYWORDS_NORM_ALERT); param.cod.push(2); } return param; } /* * Check if a new kw alredy exist in oldKw array - keywords Box * */ $.neodata.filters.alredyKeywordExist = function(param, keywords) { $.neodata.log("neodata.filters.alredyKeywordExist"); var keywordsSplitted = keywords.split($.neodata.KEYWORDS_SEPARATOR); for(i=0; i$.neodata.KEYWORDS_COOKIE_LENGTH){ param.value = ""; param.error = true; param.msg.push($.neodata.KEYWORDS_IS_FULL_ALERT); param.cod.push(4); } return param; } })(jQuery);