var SummizeWidget = {
  size: 5,
  include_links: false,
  language: undefined,
  id: 'summize',
  title: undefined,
  collapse: true,
  create: function(query, options) {
    if (options) {
      if (options.size && options.size > 0) {
        this.size = options.size;
      }
      if (options.include_links) {
        this.include_links = options.include_links;
      }
      if (options.id) {
        this.id = options.id;
      }
      if (options.language) {
        this.language = options.language;
      }
	  if (options.title) {
	  	this.title = options.title;
	  }
	  if (options.collapse == true || options.collapse == false) {
	  	this.collapse = options.collapse;
	  }
    }
    
    if (!this.include_links) {
      query += " -filter:links";
    }
    query = encodeURIComponent(query);

    var url = 'http://search.twitter.com/search.widget?';
    url += 'rpp=' + this.size;
    url += '&q=' + query;
    if (this.id) {
      url += '&widget_id=' + this.id;
    }
    if (this.language) {
      url += '&lang=' + this.language;
    }
	if (this.title ) {
	  url += '&widget_title=' + encodeURIComponent(this.title);
	}
	if (options.collapse == true || options.collapse == false) {
    	url += '&widget_collapse=' + this.collapse;
	}

  	var id = this.id + '-loader';
	var f = id.replace(/\W/ig,'_');
  	document.write('<div id="' + id + '"></div>');
	document.write('<script>function ' + f + '(json) {if(json && json.html){document.getElementById("' + id + '").innerHTML=json.html;}if(json && json.script){eval(json.script)}}</script>');
  	ContentLoaded(window, function(){
		var script = document.createElement('script');
		script.src = url + '&callback=window.' + f;
		document.getElementsByTagName('head')[0].appendChild(script);
	});
  }
}

/*
 *
 * ContentLoaded.js
 *
 * Author: Diego Perini (diego.perini at gmail.com)
 * Summary: Cross-browser wrapper for DOMContentLoaded
 * Updated: 05/10/2007
 * License: GPL/CC
 * Version: 1.0
 *
 * Notes:
 *
 *  based on code by Dean Edwards and John Resig
 *  http://dean.edwards.name/weblog/2006/06/again/
 *	http://javascript.nwbox.com/ContentLoaded/
 *
 */

// @w	window reference
// @f	function reference
function ContentLoaded (w, fn) {
	var d = w.document,
		u = w.navigator.userAgent.toLowerCase();

	function init(e) {
		if (!arguments.callee.done) {
			arguments.callee.done = true;
			fn(e);
		}
	}

	// konqueror/safari
	if (/khtml|webkit/.test(u)) {

		(function () {
			if (/complete|loaded/.test(d.readyState)) {
				init('poll');
			} else {
				setTimeout(arguments.callee, 10);
			}
		})();

	// internet explorer all versions
	} else if (/msie/.test(u) && !w.opera) {

		(function () {
			try {
				d.documentElement.doScroll('left');
			} catch (e) {
				setTimeout(arguments.callee, 10);
				return;
			}
			init('poll');
		})();
		d.attachEvent('onreadystatechange',
			function (e) {
				if (d.readyState == 'complete') {
					d.detachEvent('on'+e.type, arguments.callee);
					init(e.type);
				}
			}
		);

	// browsers having native DOMContentLoaded
	} else if (d.addEventListener &&
		(/gecko/.test(u) && parseFloat(u.split('rv:')[1]) >= 1.8) ||
		(/opera/.test(u) && parseFloat(u.split('opera ')[1]) > 9)) {

		d.addEventListener('DOMContentLoaded',
			function (e) {
				this.removeEventListener(e.type, arguments.callee, false);
				init(e.type);
			}, false
		);

	// fallback to last resort
	} else {

		// from Simon Willison
		var oldonload = w.onload;
		w.onload = function (e) {
			if (typeof oldonload == 'function') {
				oldonload(e || w.event);
			}
			init((e || w.event).type);
		};

	}
}