Function.prototype.bind=function(_1){
var _2=this;
return function(){
return _2.apply(_1,arguments);
};
};

var quote_box = function()
{
	var _pageId = null;
	var _items = [];
	var _selectedAutoScrollItem = 1;
	var _scrollInterval = null;
	
	var quote_box = $('#quote-box');
	var quote = $('#quote-box > p');
	var name = $('#quote-box > .name');
	var items = $('#quote-box > .items');
	
	this.setPageId = function(pageId)
	{
		_pageId = pageId;
	}
	
	this.handleRequest = function(data)
	{
		for(var i = 0 ; i < data.length; i++)
		{
			var item = data[i];
			_items.push(item);

			var img = $(document.createElement('img'));
			img.attr('_id', item.id);
			img.click(this.handleClick.bind(this));
			img.attr('src', "/resource/img/dot.gif");
			
			items.append(img);
		}
		
		var f_id = _items[0].id;
		this.selectItemById(f_id);
	}
	
	this.handleClick = function(evt)
	{
		var target = evt.target
		var id = $(target).attr('_id');
		
		clearInterval(_scrollInterval);
		this.selectItemById(id);
	}
	
	this.selectItemById = function(id)
	{
		for(var i = 0 ; i < _items.length; i++)
		{
			var item = _items[i];
			if(item.id == id)
			{
				this.setNameById(id);
				this.setQuoteById(id);
				this.highlightButtonById(id);
				return true;
			}
		}
		return false;
	}
	
	this.highlightButtonById = function(id)
	{
		items.children().each(function(key, val){
			$(val).attr('src', '/resource/img/dot.gif');
		});
		
		items.children().each(function(key, val){
			if($(val).attr('_id') == id)
			{
				$(val).attr('src', '/resource/img/dot-dark.gif');
			}
		});
	}
	
	this.setNameById = function(id)
	{
		for(var i = 0 ; i < _items.length; i++)
		{
			var item = _items[i];
			if(item.id == id)
			{
				name.html('&mdash;'+item.name);
				return true;
			}
		}
		return false;
	}
	
	this.setQuoteById = function(id)
	{
		for(var i = 0 ; i < _items.length; i++)
		{
			var item = _items[i];
			if(item.id == id)
			{
				quote.html('&#8220;' + item.quote + '&#8221;');
				return true;
			}
		}
		return false;
	}
	
	this.retrieveQuotes = function()
	{
		$.getJSON('/resource/ajax/quotes.php?page_id=' + _pageId, this.handleRequest.bind(this));
	}
	
	this.autoScroll = function()
	{
		if(_selectedAutoScrollItem >= _items.length) clearInterval(_scrollInterval);
		var item_id = _items[_selectedAutoScrollItem].id;
		
		this.selectItemById(item_id);
		
		_selectedAutoScrollItem++;
	}
	

	
	this.Run = function()
	{
		
		this.retrieveQuotes();
		_scrollInterval = setInterval(this.autoScroll.bind(this), '7000');
	}
	
}
