;(function($) { 
	$.fn.grade = function(settings){
		settings = $.extend({
			stars: 3,
			starsTotal: 5,
			titles: ['horrible', 'average', 'average', 'better', 'the best'],
			images: {light: "/images/star1.gif", gray: '/images/stargray.gif'},
			input: true
		}, settings || {});
			

		var showStar = function(c, i){
			$('img', c).each(function(idx){
				( i > idx ) ? $(this).attr('src', settings.images.light) : $(this).attr('src', settings.images.gray);
			});
		};

		return this.each(function() {
			var c = $(this); //container
			var grade = settings.stars;
			c.html('<span class="grade"></span>');
			var g = $('.grade', c);
			var t = 0;
			//alert(settings.input+ ' '+ settings.stars);
			while(t < settings.starsTotal) {
				(settings.stars != 0 && settings.stars > t) ? g.append('<img class="grade" src="'+settings.images.light+'">') : g.append('<img class="grade" src="'+settings.images.gray+'">');
				t++;
			}
			settings.input ? g.append('<input type="hidden" name="grade" value="'+settings.stars+'" />') : void(0);

			$('img', g).css({cursor: "pointer"});
			$('img', g).each(function(idx){
				$(this).attr('title', settings.titles[idx]);
				
				if (settings.input)
				{
					$(this).bind("click", function(){
						grade = idx+1;
						(settings.input) ? $('input[@name=grade]', g).val(grade) : void(0);
						showStar(g, grade);
					});

					$(this).bind("mousemove", function(){
						showStar(g, idx+1);
					});
					$(this).bind("mouseout", function(){
						showStar(g, grade);
					});
				}
					
			});
	
		});
	};

	$.fn.sortBiz = function(settings){
		settings = $.extend({
		
		}, settings || {});

		return this.each(function(){
			var data = [];
			

			$('a.sortBiz').click(function(){

				$('input.sortBiz').each(function(){
					data.push( $(this).attr('refid')+"="+$(this).val() );
				});

				//alert(data.join('&'));

				$.ajax({
					url: '/ce/post/action/biz_sort',
					type: 'POST',
					data: data.join('&'),
					success: function(response) {
						alert(response);
						window.location.reload();
					}
				});
			});
		});
	};

	$.fn.priceRange = function(settings){
		settings = $.extend({
			ranges: 4,
			range: 0,
			images: {"light": "/images/dollar.jpg", "gray": "/images/dollargray.jpg"},
			setEnable: false,
			titles: ['20-70rmb', '70-200rmb', '200-400rmb', 'above 400rmb']
		}, settings || {});
		var showPrice = function(c, i){
			$('img', c).each(function(idx){
				( i > idx ) ? $(this).attr('src', settings.images.light) : $(this).attr('src', settings.images.gray);
			});
		};
		return this.each(function(){

			var c = $(this);
			c.append('<span class="price-range"></span>');
			var p = $('.price-range', c);
			var range = settings.range;
			var t = 0;
			while (t < settings.ranges)
			{
				(settings.range != 0 && settings.range > t ) 
					? p.append('<img src="'+settings.images.light+'" title="'+settings.titles[t]+'">') 
					: p.append('<img src="'+settings.images.gray+'" title="'+settings.titles[t]+'">');
				t++;
			}

			if (settings.setEnable)
			{
				p.append('<input type="hidden" name="range" value="'+settings.range+'"/>');
			}
				$('img', p).each(function(idx){
				if (!settings.setEnable && $.tootip)
					$(this).tooltip();

				if (settings.setEnable)
				{
					$(this).bind('click', function(){
						range = idx + 1;
						$('input[@name=range]').val(range);
						showPrice(range);
					});

				
					$(this).bind("mousemove", function(){
						showPrice(p, idx+1);
					});
					$(this).bind("mouseout", function(){
						showPrice(p, range);
					});
				}

				});
			//}
		
		});
	};
		
	$.fn.nearby = function(options){
		options = $.extend({
			input: 'input[name=st]',
			type: 'biz',
			condition: {
				"ATMS": 'tid=309&pid=13',
				"Restaurants": 'pid=4&tid=4',
				"Hotel": 'pid=9&tid=9',
				"Other": ''
			},
			types: ['biz', 'list']
		}, options||{});
		return this.each(function(){

			if (jQuery.inArray(options.type, options.types) == -1)
			{
				return false;
			}
			var $$ = $(this);
			var point = new Object();
			var condition = undefined;
			var url = '';
			$('.items input[type=radio]', $$).click(function(){
				$(options.input).val($(this).val());
			});

			$('input.nearby_go', $$).click(function(){
				url = '';
				point.lat = $('input[type=hidden][name=lat]').val() || 0;
				point.lng = $('input[type=hidden][name=lng]').val() || 0;
				
				for ( p in options.condition) {
					if ($(options.input).val() == p)
					{
						condition = eval('options.condition.'+p);
					}
				}
				if(condition != undefined) {
					//url += 'lat='+point.lat+'&lng='+point.lng+'&condition='+encodeURIComponent(condition);
					url += 'lat='+point.lat+'&lng='+point.lng+'&'+condition;
					url += '&type='+options.type;
					//alert(url);
					///ce/list_items/lid/8/by/map
					///ce/reserve_more/show/map/bids/3124,2852
					top.location.href = '/ce/nearby_proxy/?'+url;
				}
			});
		});
	};


})(jQuery);




function initbg(){
	if (!$('#overlay').size())
	{
		var pagesizeA = getPageSize();
		$(document.body).append( 
			$('<div></div>')
				.attr('id', 'overlay')
				.css({width: '100%', height: pagesizeA[1], opacity: '0.8', display: 'block'}) 
		);
	} else {
		$('#overlay').show();
	}
	
	$("select, embed, object").hide();

	$('.overclose').bind('click', function(){
		$('#overlay').hide();
		$("select, embed, object").show();
		//$('.overclose').unbind();
	});
	
	$('#ligbox').css({'top': $(document).scrollTop()+80+'px'});

	//$('#Lbox-bg').click(function(){
	//	$('#Lbox-bg').hide();
	//});
}

function hidebg(){
	$('#ligbox').hide();
	$('#overlay').hide();
	$("select, embed, object").show();
}

function bookmark(bid, rid, callback) {
	bid = bid || 0;
	rid = rid || 0;
	$.ajax({
		url: '/ce/post/action/set_bookmark',
		type: 'POST',
		data: "bid="+bid+'&rid='+rid,
		error: function(){
			//alert('Error loading XML document');
		},
		success: function(data){
			//alert(data);
			if (callback)
			{
				callback(data);
			}
		}
	});
}

function setbesttogo(bid, reset) {
	$.get('/ce/post/action/setbesttogo/bid/'+bid+'/reset/'+reset+'/st/'+(new Date()).getTime(), function(data){
		//alert(data);
		if (data == 'success')
		{
			alert('Success');
			top.location.reload();
		}
	});
}