/*
*	Thumbs
*	Provides AJAX-based thumbs up/down functionality
*	
*	Requires Trapeze jQuery distribution
*	
*	Adrian Borrmann (aborrmann at trapeze dot com) - October 20, 2009
*/

$.namespace("trapeze.Thumbs");

trapeze.Thumbs = $.Class.extend({
    
	copy : null,
	images : null,
	thumb_up : null,
	thumb_down : null,
	hidden_field: null,
	
	hidden_field_template : '<input type="hidden" name="%(name_copy)" id="%(id_copy)" value="" />',
	
	vote : function(value) {
		$(this.hidden_field).val(value);
		$(this.selector).submit();
	},
	
    init : function(selector, copy, images) {
        this.selector = selector;
		this.copy = copy;
		this.images = images;
        
		var select_tag = $(selector).find("select");
		
		var thumb = this;

		this.thumb_up = $(selector).find('.thumb-up img')
			.click(function(e) {
				thumb.vote(1);
			})
			.css("cursor", "pointer");
			
		this.thumb_down = $(selector).find('.thumb-down img')
			.click(function(e){
				thumb.vote(-1);
			})
			.css("cursor", "pointer");
        
		$(selector).find(":submit").remove();
		$(selector).find("select").remove();
		$(selector).find("label").remove();
		
        this.hidden_field = $(trapeze.render_template(this.hidden_field_template, {
            id_copy : $(select_tag).attr("id"),
			name_copy : $(select_tag).attr("name")
        })).appendTo(selector);
    }
    
});