String.prototype.linkify=function(){
	return this.replace(/[A-Za-z]+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&;\?\/.=]+/g,function(m){
		return m.link(m);
	});
};
String.prototype.linkuser=function(){
	return this.replace(/[@]+[A-Za-z0-9-_]+/g,function(u){
		return u.link("http://twitter.com/"+u.replace("@",""));
	});
};
String.prototype.linktag=function(){
	return this.replace(/[]+[A-Za-z0-9-_]+/,function(t){
		return t;
	});
};
var showtype = 'none';
function fetch_tweets(elem) {
  elem = $(elem);
  var q = new Array();
  var qkeyword = "";
  var qFrom = "";
  var qHash = "";
  var showtype = "none";
  var number = "3";


  if (elem.attr('data-keyword') != undefined) {
    qKeyword = escape(elem.attr('data-keyword'));
    
    if (qKeyword != '') {
      q.push(qKeyword);
    }
  }

  if (elem.attr('data-from') != undefined) {
//    qFrom = escape(elem.attr('data-from'));
    var qFrom_array = elem.attr('data-from').split(',');
	
    $.each(qFrom_array, function(item,value){
    if(qFrom==''){
    	qFrom = escape('from:');
    }
    else{
    	qFrom += escape('+OR+from:');
    }
    	qFrom += escape(value);
    });
    if (qFrom != '') {
      q.push(qFrom);
    }
  }
  
 

//  if (elem.attr('data-hash') != undefined) {
//   qHash = escape(elem.attr('data-hash'));
  //  if (qHash != '') {
    //  q.push("%23" + qHash);
//    }
  //}
  
    if (elem.attr('data-hash') != undefined) {
	    var qHash_array = elem.attr('data-hash').split(',');
	    $.each(qHash_array, function(item,value){
	    if(qHash==''){
	    	qHash = escape('#');
	    }
	    else{
	    	qHash += escape('+OR+#');
	    }
	    	qHash += escape(value);
	    });
	    if (qHash != '') {
	      q.push(qHash);
	 
	    }
  	}




  var query = "";
  $.each(q, function (key, value) {
    query += value;
    if (key + 1 < q.length) {
      query += "+";
    }
  });

  if (elem.attr('data-showtype') != undefined && elem.attr('data-showtype') != '') {
    showtype = elem.attr('data-showtype').toLowerCase();
  }

  if (elem.attr('data-number') != undefined) {
    number = escape(elem.attr('data-number'));
  }

  var url = "http://search.twitter.com/search.json?q=" + query + "&rpp=" + number + "&callback=?";
  $.getJSON(url, function (json) {
    $(json.results).each(function () {
	    if(this.from_user=='GoudZilverprijs'){
	    	return true;
	    }

      var tTime = new Date(Date.parse(this.created_at));
      var cTime = new Date();
      var sinceMin = Math.round((cTime - tTime) / 60000);
      if (sinceMin == 0) {
        var sinceSec = Math.round((cTime - tTime) / 1000);
        if (sinceSec < 10)
          var since = 'minder dan 10 seconden geleden';
        else if (sinceSec < 20)
          var since = 'minder dan 20 seconden geleden';
        else
          var since = 'halve minuut geleden';
      }
      else if (sinceMin == 1) {
        var sinceSec = Math.round((cTime - tTime) / 1000);
        if (sinceSec == 30)
          var since = 'halve minuut geleden';
        else if (sinceSec < 60)
          var since = 'minder dan een minuut geleden';
        else
          var since = '1 minuut geleden';
      }
      else if (sinceMin < 45)
        var since = sinceMin + ' minuut geleden';
      else if (sinceMin > 44 && sinceMin < 60)
        var since = 'ongeveer 1 uur geleden';
      else if (sinceMin < 1440) {
        var sinceHr = Math.round(sinceMin / 60);
        if (sinceHr == 1)
          var since = 'ongeveer 1 uur geleden';
        else
          var since = 'ongeveer ' + sinceHr + ' uur geleden';
      }
      else if (sinceMin > 1439 && sinceMin < 2880)
        var since = '1 dag geleden';
      else {
        var sinceDay = Math.round(sinceMin / 1440);
        var since = sinceDay + ' dagen geleden';
      }
      var tweetBy = '<a class="tweet-user" target="_blank" href="http://twitter.com/' + this.from_user + '">' + this.from_user + '</a> ';
      var footer = "";
      if (showtype.indexOf('reply') != -1)
        footer += ' &middot; <a class="tweet-reply" target="_blank" href="http://twitter.com/?status=@' + this.from_user + ' &in_reply_to_status_id=' + this.id + '&in_reply_to=' + this.from_user + '">Reply</a>';
      if (showtype.indexOf('view') != -1)
        footer += ' &middot; <a class="tweet-view" target="_blank" href="http://twitter.com/' + this.from_user + '/statuses/' + this.id + '">View Tweet</a>';
      if (showtype.indexOf('rt') != -1)
        footer += ' &middot; <a class="tweet-rt" target="_blank" href="http://twitter.com/?status=RT @' + this.from_user + ' ' + escape(this.text.replace(/&quot;/g, '"')) + '&in_reply_to_status_id=' + this.id + '&in_reply_to=' + this.from_user + '">RT</a>';
      var tweet = '<div class="tweet"><div class="tweet-left"><a target="_blank" href="http://twitter.com/' + this.from_user + '"><img alt="' + this.from_user + ' on Twitter" src="' + this.profile_image_url + '" /></a></div><div class="tweet-right"><p class="text"><strong>' + tweetBy + '</strong><br/>' + this.text.linkify().linkuser().linktag().replace(/<a/g, '<a target="_blank"') + '<br /><span class="tweet-time">' + since + '</span>' + footer + '</p></div><br style="clear: both;" /></div>';
      elem.append(tweet);
    });
  });
  return (false);
}



$(function () {
  $('.twitStream').each(function () {
    fetch_tweets(this);
    



  });
});






