
window.rating = new Object();

window.activate_rating = function(){


	jQuery(".rating-block[may_vote=1]").live('mouseenter', function() {
		var menu = jQuery(this).next();
		var menu_up = jQuery(this).attr("menu_up");
		if (menu_up == "1"){
			menu.css("top", jQuery(this).position().top - menu.outerHeight());
		} else {
			menu.css("top", jQuery(this).position().top + jQuery(this).outerHeight());
		}
		menu.css("left", jQuery(this).position().left);
		menu.show();
	});
	jQuery(".rating-block-menu").live('mouseenter',function() {
		var block = jQuery(this).prev();
		if (block[0].rating_timer) {
			clearTimeout(block[0].rating_timer);
			block[0].rating_timer = 0;
		}
	});

	jQuery(".rating-block[may_vote=1]").live('mouseleave',function() {
		var block = jQuery(this)
		if (block[0].rating_timer)
			clearTimeout(block[0].rating_timer);
		block[0].rating_timer = setTimeout (window.close_rating_menu, 300, block);
	});
	jQuery(".rating-block-menu").live('mouseleave',function() {
		var block = jQuery(this).prev();
		if (block[0].rating_timer)
			clearTimeout(block[0].rating_timer);
		block[0].rating_timer = setTimeout (window.close_rating_menu, 300, block);
	});

	jQuery(".rating-block-menu li").live('mouseenter',function() {
		jQuery(this).addClass("hover");
	});
	jQuery(".rating-block-menu li").live('mouseleave',function() {
		jQuery(this).removeClass("hover");
	});


	/*jQuery(".rating-block-menu li").hover(function() {
	}, function() {
	});*/


}

window.close_rating_menu = function(block){
		if (block){
			var menu = block.next();
			menu.hide();
			if (block[0].rating_timer) {
				clearTimeout(block[0].rating_timer);
				block[0].rating_timer = 0;
			}
		}
}

window.rating_vote = function(id, value){

	var block = jQuery(".rating-block[item_id="+id+"]");
	window.close_rating_menu(block);
	if (block[0].rating_timer) {
		clearTimeout(block[0].rating_timer);
		block[0].rating_timer = 0;
	}

	block.find('.i-like img').attr('src', '/images/static/loading_small.gif');

	var profile = block.attr('profile');

	var ajaxData = {
		value: value
	};
	if (profile) ajaxData.profile = profile;

	jQuery.ajax({
		url: "/rating/vote/"+id,
		data: ajaxData,
		success: (function(id){ return function(data, status, xhr){

			if (data.result == "ok"){

				var block = jQuery(".rating-block[item_id="+id+"]");
				var menu = jQuery(".rating-block-menu[item_id="+id+"]");

				if (block[0].rating_timer) {
						clearTimeout(block[0].rating_timer);
						block[0].rating_timer = 0;
				}
				//alert(data.text);

				block.after(data.text);
				menu.html('');
				block.html('');
				
				window.live_cluetips();

			}

		}})(id),
		dataType: "json"
	});
		

}


window.rating_vote_i_like = function(id, value){

	var block = jQuery(".rating-block-i-like[item_id="+id+"]");

	block.find('.i-like img').attr('src', '/images/static/loading_small.gif');

	var profile = block.attr('profile');

	var ajaxData = {
		value: value
	};
	if (profile) ajaxData.profile = profile;

	jQuery.ajax({
		url: "/rating/vote/"+id,
		data: ajaxData,
		success: (function(id){ return function(data, status, xhr){

			if (data.result == "ok"){

				var block = jQuery(".rating-block-i-like[item_id="+id+"]");
				var url = '/rating/block_i_like/'+id;
				
				jQuery.ajax({
					url: url, 
					success: (function(block){ return function(data, status, xhr){
						//alert(data);
						block.after(data);
						block.remove();
						
						window.live_cluetips();
		
					}})(block),
					dataType: "text",
				});



			}

		}})(id),
		dataType: "json"
	});
		

}





window.rating.open_votes_list = function(obj_id){
	
	var ajaxData = {};
	jQuery.ajax({
		url: "/rating/votes_list/"+obj_id,
		data: ajaxData,
		success: (function(obj_id){ return function(data, status, xhr){

			var el_id = '#votes-list-dialog';
			var already_el = jQuery(el_id);
			if (already_el.length){
				already_el.parent().remove();
			}
			
	
			jQuery("body").append(data);
			
	//alert(el_id);
			
			window.show_dialog(el_id, {
				buttons: {
					OK: (function(){ return function(){

						jQuery(this).dialog('close');

					}})(),
					'Отмена': false
				},
				width: 500
			});
			
			
			

		}})(obj_id),
		dataType: "text"
	});
	
	
}


