(function ($) {
	$.template = function (node, parent) {
		if (!parent) {
			return node;
		}

		$.each( node, function (k, v) {

		});
		return false;
	};

    var _twtrview_basic = {
        methodize : function () {
            var methods = ['POST', 'PUT', 'DELETE'];
            var action = function (method) {
                return function (event) {
                    event.preventDefault();
                    event.stopPropagation();
                    var url = $(this).attr('href');
                    var form = $('<form action="'+url+'" method="'+method+'"/>');
                    $('body').append(form);
                    form.submit();
                    return false;
                };
            };

            $('a').each( function () {
                var link = $(this);
                $(methods).each(function () {
                    if (link.hasClass(this)) {
                        link.click(action(this));
                    }
                });
            });
        }
    };

	var stripe_ivw_list = function () {
		$('#interview_list tr').each( function (k, v) {
			if (k % 2 == 0) {
				$(v).addClass('stripe-even');
			}
		});
	};

	var _twtrview = {
		_defaults : {
			uri_base : 'http://twitter.com/statuses/',
			uri_fn_ending : '.json'
		},

		submit : function (event) {
			var opts = _twtrview._defaults;
			var url = function (name) {
				return opts.uri_base + name + opts.uri_fn_ending;
			};

			var handle_data = function (data) {
				if (data) {
					console.log(data);
				}
			};

			$.each(
				$('#twtrview-parties').attr('value').split(','),
				function (index, party) {
					var uname = $.trim(party);
					$.getScript( url(uname), handle_data);
				}
			);

		},

		init : function (self, options) {
			var options = $.extend(_twtrview['_defaults'], options);
			$(self).data('options', options);
			var html = $('<div class="twtrview-search-ui">')
				.append( $('<input type="text" name="twtrview-search-parties" id="twtrview-parties" />'))
				.append( $('<input type="submit" value="go" />'));

			$(self).append(html);
		}
	};

	$.fn.twtrview = function () {
		return this.each( function (action, options) {
			var value = false;
			if (_twtrview[action]) {
				value = _twtrview[action](this, options);
			} else {
				options = action;
				action = 'init';
				value = _twtrview[action](this, options);
			}
			return value ? value != false : this;
		});
	};

    $.twtrview = function (action, options) {
        _twtrview_basic.methodize();
		stripe_ivw_list();
    };
})(jQuery);
