var $jq = jQuery.noConflict();
$jq(document).ready(function(){
    
    	$jq('ul.refine').summarize({summaryElements:6,expandText:'more &#187;',collapseText:'&#171; less', expandClass:'moreExpand', collapseClass:'lessCollapse'});
    
		function showServerMessage(text){
		    if(!YAHOO.lang.isUndefined(text)){$jq("#serverMessage").html(text);}
		    $jq("#serverMessage").show();
		}
		function hideServerMessage(){
		    $jq("#serverMessage").hide();
		    $jq("#serverMessage").html("");
		}
		  
		$jq("#serverMessage").click(function(){hideServerMessage();});
		if($jq("table.resultsTable tr").size() > 0){
			$jq("table.resultsTable tr")
			  	.mouseover(function(){$jq(this).addClass("over");})
			  	.mouseout(function(){$jq(this).removeClass("over");});
		}	
		
		//more refine-search results
		$jq("div.more-browse > a").toggle(
		    function () {
		        $jq("#more-browse").show();
        		$jq(this).html('&#171; less');
        	},
            function () {
            	$jq("#more-browse").hide();
            	$jq(this).html('more &#187;');
      		}
		);	
		$jq("li.more > a").toggle(
		    function () {
        		$jq(this).parent().prev("span").show();
        		$jq(this).html('&#171; show less');
        	},
            function () {
        		$jq(this).parent().prev("span").hide();
            	$jq(this).html('show all &#187;');
      		}
		);	
		
	  //clone search
	  $jq("#pagination-bottom").replaceWith($jq("#pagination").clone(true));
		
	  //rating
	  var bindGetRatings = function (scope)
	  {
		if($jq('div.ratings',scope).size() > 0)
		{				
		    var rtype = 'menu';
			var ritems = [];
			$jq('div.ratings',scope).each(function(){
				var rid = $jq(this).attr('id');
				if(! YAHOO.lang.isUndefined(rid )){ritems.push(rid);}
				if($jq(this).hasClass('menuitem')){rtype = 'menu_item';}
			});
				
			if(ritems.length > 0){
			    ritems = $jq.unique(ritems);
			    if(rtype == 'menu_item'){
				    $jq.ajax({
						url: "/ajax/" + rtype +"/images.html",
						type: "POST",
						data:{items:ritems},
						processData: true,
						dataType: "json",
						global:false,
						success: function(data){
						 if(YAHOO.lang.isArray(data)){
						    $jq.each(data, function(i,item){
							  if(YAHOO.lang.isObject(item)){
							     if(!YAHOO.lang.isUndefined(item.url)){
									dt = '<img src="/image/75x75/t/' + item.url + '"/>';
									$jq("div[class= img"+ item.cid + "]").append(dt).css({'float':'right'});
								 }
							   }
						     });
						  }
						}
					});
				}
				$jq.ajax({
					url: "/ajax/" + rtype +"/rating.html",
					type: "POST",
					data:{items:ritems},
					processData: true,
					dataType: "json",
					global:false,
					success: function(data){
				 	 if(YAHOO.lang.isArray(data)){
						$jq.each(data, function(i,item){
						 if(YAHOO.lang.isObject(item)){
							$rt = $jq("div[id= "+ item.cid + "]",scope);
							if((!YAHOO.lang.isUndefined($rt)) && (!YAHOO.lang.isUndefined(item.total))){
								if(item.total > 0){
								   x = '';
								   if(item.t == 'item'){
								   		$jq("li.current-rating",$rt).css({'width':item.rating*20 + '%'});
								   		x += item.total;
								   		if(item.total > 1) x += ' reviews'; else x += ' review';
								   }else{
								       x += '<small>Average Menu Rating</small>';
								   	   x += '<ul class="star-rating-readonly">';
						         	   x += '	<li class="current-rating" style="width:' +  item.rating*20 +'%">Rate it</li>';
									   x += '	<li><a href="#" title="Hated It" class="one-star">1</a></li>';
									   x += '	<li><a href="#" title="Didn\'t Like It" class="two-stars">2</a></li>';
									   x += '	<li><a href="#" title="Worth A Try" class="three-stars">3</a></li>';
									   x += '	<li><a href="#" title="Liked It" class="four-stars">4</a></li>';
									   x += '	<li><a href="#" title="Loved It" class="five-stars">5</a></li>';
									   x += '</ul>';
									   x += 'based on ' + item.total ;
									   if(item.total > 1) x += ' reviews'; else x += ' review';
									   x += '<br/>of ' + item.items + ' menu items';
								   }
								   
								   if(item.fav > 0){
									     x += '<br/><img style="vertical-align:middle;" src="/img/icons/heart.png"/> ' + item.fav;
									     if(item.fav > 1) x += ' favorites'; else x += ' favorite';
								   }
								   $rt.append(x);
							   }
							}
						  }
						});
					  }
					}
				});
			 }
		   ritems = null;
		  }
		}
		bindGetRatings(this);  //bind rating events
	});