if (typeof renderTwitters != 'function') (function () {
   
    var browser = (function() {
        var b = navigator.userAgent.toLowerCase();

        return {
            webkit: /(webkit|khtml)/.test(b),
            opera: /opera/.test(b),
            msie: /msie/.test(b) && !(/opera/).test(b),
            mozilla: /mozilla/.test(b) && !(/(compatible|webkit)/).test(b)
        };
    })();

    var guid = 0;
    var readyList = [];
    var isReady = false;
    
    var monthDict = ['Gen', 'Feb', 'Mar', 'Apr', 'Mag', 'Giu', 'Lug', 'Ago', 'Set', 'Ott', 'Nov', 'Dic'];
	var tempiDict = ['un minuto fa','minuti fa','circa un\'ora fa','ore fa','ieri'];
    var userId="webank";  

    window.ify = function() {
      var entities = {
          '"' : '&quot;',
          '&' : '&amp;',
          '<' : '&lt;',
          '>' : '&gt;'
      };

      return {
        "link": function(t) {
          return t.replace(/[a-z]+:\/\/[a-z0-9-_]+\.[a-z0-9-_:~%&\?\/.=]+[^:\.,\)\s*$]/ig, function(m) {
            return '<a href="' + m + '">' + ((m.length > 25) ? m.substr(0, 24) + '...' : m) + '</a>';
          });
        },
        "at": function(t) {
          return t.replace(/(^|[^\w]+)\@([a-zA-Z0-9_]{1,15})/g, function(m, m1, m2) {
            return m1 + '@<a href="http://twitter.com/' + m2 + '">' + m2 + '</a>';
          });
        },
        "hash": function(t) {
          return t.replace(/(^|[^\w'"]+)\#([a-zA-Z0-9_]+)/g, function(m, m1, m2) {
            return m1 + '#<a href="http://search.twitter.com/search?q=%23' + m2 + '">' + m2 + '</a>';
          });
        },
        "clean": function(tweet) {
          return this.hash(this.at(this.link(tweet)));
        }
      };
    }();
    
/* LUCAF
    window.renderTwitters = function (obj, options) {
        
        function node(e) {
            return document.createElement(e);
        }
        
        function text(t) {
            return document.createTextNode(t);
        }

        var target = document.getElementById(options.twitterTarget);
        var data = null;
        var ul = node('ul'), li, statusSpan, timeSpan, i, max = obj.length > options.count ? options.count : obj.length;
        
        for (i = 0; i < max && obj[i]; i++) {
            data = getTwitterData(obj[i]);
                        
            if (options.ignoreReplies && obj[i].text.substr(0, 1) == '@') {
                max++;
                continue; // skip
            }
            
			//COSTRUISCE un nodo per ogni Tweet
            li = node('li');
       
            statusSpan = node('span');
            statusSpan.className = 'status';
            timeSpan = node('span');
            timeSpan.className = 'time';
            
			statusSpan.innerHTML = obj[i].text; 
            statusSpan.innerHTML = ify.clean(statusSpan.innerHTML);
            
            timeSpan.innerHTML = '<a href="http://twitter.com/'+userId+'/statuses/'+obj[i].id+'/">'+get_formatted_time(obj[i].created_at)+'</a>';

            li.appendChild(statusSpan);
            li.appendChild(text(' '));
            li.appendChild(timeSpan);
            
			//Aggiunge _blank a tutti i link, li apre in una nuova scheda
          	li.innerHTML = li.innerHTML.replace(/<a href/gi, '<a target="_blank" href');


            ul.appendChild(li);
        }

        //Rimuove ciÃƒÂ² che si trova giÃƒ  nel target
        while (target.firstChild) { target.removeChild(target.firstChild); }
        
		//Aggiunge la lista
        target.appendChild(ul);
        
        if (typeof options.callback == 'function') {
            options.callback();
        }
    };
*/
 window.renderTwitters = function (obj, options) {
        
        function node(e) {
            return document.createElement(e);
        }
        
        function text(t) {
            return document.createTextNode(t);
        }

        var target = document.getElementById(options.twitterTarget);
        var data = null;
        var ul = node('ul'), timeSpan, i, max = obj.length > options.count ? options.count : obj.length;
        var p = node('p');
	p.className='linhgt18';
	//Rimuove ciÃƒÂ² che si trova giÃƒ  nel target
        while (target.firstChild) { target.removeChild(target.firstChild); }

var imgTag = node('img');
imgTag.className = 'titolo marg6 ';
imgTag.alt = 'Twitter';
imgTag.src= '/img/tit_twitter.gif';
target.appendChild(imgTag);
        for (i = 0; i < max && obj[i]; i++) {
            data = getTwitterData(obj[i]);
                        
            if (options.ignoreReplies && obj[i].text.substr(0, 1) == '@') {
                max++;
                continue; // skip
            }
	    //COSTRUISCE un nodo per ogni Tweet	    
	    
	    var msg = obj[i].text;
            msg = msg.replace(/http.*$/gi, '');
            p.innerHTML='<p class="linhgt18"><strong class="flleft"/></strong>'+ify.clean(msg)+'<a href="http://twitter.com/'+userId+'" target="_blank">...vedi tutti</a></p>';
	    target.appendChild(p);
	    p = node('p');
	    p.className = 'note';
	    p.appendChild(text(get_formatted_time(obj[i].created_at)));
	    target.appendChild(p);
       }
         
        if (typeof options.callback == 'function') {
            options.callback();
        }
    };
    
    window.getTwitters = function (target, count) {
		guid++;
		options={};

        //DEFAULT
        if (!count) count = 1;

        if (options) { options.count = count;
        } else { options = {}; }
        
        if (!options.timeout && typeof options.onTimeout == 'function') {
            options.timeout = 10;
        }

        options['twitterTarget'] = target;
        
        window['twitterCallback' + guid] = function (obj) {
            if (options.timeout) {
                clearTimeout(window['twitterTimeout' + guid]);
            }
            renderTwitters(obj, options);
        };

        ready((function(options, guid) {
            return function () {
                // if the element isn't on the DOM, don't bother
                if (!document.getElementById(options.twitterTarget)) {
                    return;
                }
                
                var url = 'https://twitter.com/statuses/user_timeline/' + userId + '.json?callback=twitterCallback' + guid + '&count='+count+'&cb=' + Math.random();

                if (options.timeout) {
                    window['twitterTimeout' + guid] = setTimeout(function () {
                        // cancel callback
                        if (options.onTimeoutCancel) window['twitterCallback' + guid] = function () {};
                        options.onTimeout.call(document.getElementById(options.twitterTarget));
                    }, options.timeout * 1000);
                }
                
				//SCRIVE LO SCRIPT
                var script = document.createElement('script');
                script.setAttribute('src', url);
                document.getElementsByTagName('head')[0].appendChild(script);
            };
        })(options, guid));
    };
    
    // GO!
    DOMReady();
    
    /** Private functions */
    
    function getTwitterData(orig) {
        var data = orig, i;
        for (i in orig.user) {
            data['user_' + i] = orig.user[i];
        }
        
        data.time = get_formatted_time(orig.created_at);
        
        return data;
    }
    
    function ready(callback) {
        if (!isReady) { readyList.push(callback);
        } else { callback.call(); }
    }
    
    function fireReady() {
        isReady = true;
        var fn;
        while (fn = readyList.shift()) { fn.call(); }
    }

    // ready and browser adapted from John Resig's jQuery library (http://jquery.com)
    function DOMReady() {
        
		if ( document.addEventListener && !browser.webkit ) {
            document.addEventListener( "DOMContentLoaded", fireReady, false );
        } else if ( browser.msie ) {
            // If IE
            // Only works if you document.write() it
            document.write("<scr" + "ipt id=__ie_init defer=true src=//:><\/script>");
            var script = document.getElementById("__ie_init");

            if (script) {
                script.onreadystatechange = function() {
                    if ( this.readyState != "complete" ) return;
                    this.parentNode.removeChild( this );
                    fireReady.call();
                };
            }

            // Clear from memory
            script = null;

        } else if ( browser.webkit ) {
            
            var safariTimer = setInterval(function () {
                if ( document.readyState == "loaded" || document.readyState == "complete" ) {
                    clearInterval( safariTimer );
                    safariTimer = null;

                    fireReady.call();
                }
            }, 10);
        }
    }
    
	function get_formatted_time(time_value){
		var values = time_value.split(" "),
            parsed_date = Date.parse(values[1] + " " + values[2] + ", " + values[5] + " " + values[3]),
			date = new Date(parsed_date),
			today = new Date();
			r = '';
			//alert(time_value);

		function formatTime(date) {
            var min = date.getMinutes()+"";
            var hour = (parseInt(date.getHours())+1).toString(); //Correzione ora per GMT+1
            
 			if (min.length == 1) { min = '0' + min; }
            
            return hour + ':' + min; 
        }

		day = date.getDate();
		mon = monthDict[date.getMonth()];
		year = date.getFullYear();
		time = date.getTime();		

		r = day + ' ' + mon + (today.getFullYear() != year ? ' ' + year : '') + ', ' + formatTime(date);
		return r

	}

    /*function relative_time(time_value) {

        var values = time_value.split(" "),
            parsed_date = Date.parse(values[1] + " " + values[2] + ", " + values[5] + " " + values[3]),
            date = new Date(parsed_date),
            relative_to = (arguments.length > 1) ? arguments[1] : new Date(),
            delta = parseInt((relative_to.getTime() - parsed_date) / 1000),
            r = '';
        
        function formatTime(date) {
            var min = date.getMinutes()+"";
            
            if (min.length == 1) { min = '0' + min; }
            
            return date.getHours() + ':' + min;
        }
        
        function formatDate(date) {
            var ds = date.toDateString().split(/ /),
                mon = monthDict[date.getMonth()],
                day = date.getDate()+'',
                year = date.getFullYear(),
                thisyear = (new Date()).getFullYear();

            if (day.substr(0, 1) == '0') { day = day.substr(1); }
            
            return day + ' ' + mon + ' ' + (thisyear != year ? ', ' + year : '');
        }
        
        delta = delta + (relative_to.getTimezoneOffset() * 60);

		if (delta < 120) {//Sotto i 2 minuti
            r = tempiDict[0];
        } else if (delta < (45*60)) {//Sotto i 45 minuti
            r = (parseInt(delta / 60)).toString() + ' ' + tempiDict[1];
        } else if (delta < (2*90*60)) {//Sotto le 3 ore
            r = tempiDict[2];
        } else if (delta < (24*60*60)) {//Sotto le 24 ore
            r = (parseInt(delta / 3600)).toString() + ' ' + tempiDict[3];
        } else {
            if (delta < (48*60*60)) {//Sotto le 48 ore
                r = formatTime(date) + ' ' + tempiDict[4];
            } else {
                r = formatTime(date) + ' ' + formatDate(date);
            }
        }

        return r;
    }*/
})();

