$(function(){
	//  from the community
	$("ul.FromTheCommunity").tabs("div.CommunityTabsContent > div");
});

// ***************** global search

var gQuery = "";


$(document).ready(function() {
	// ---------------- Load JS-Kit Echo comments and comments count script when necessary
	if ($(document).find(".js-kit-comments")[0]) {
		jQuery.ajax({ type: "GET", url: "/themes/foodtv/common/echobinding.aspx", dataType: "script", success: function() { jQuery.getScript("http://js-kit.com/for/foodnetwork.ca/comments.js"); } });
	}
	if ($(document).find(".js-kit-comments-count")[0]) { jQuery.getScript("http://js-kit.com/comments-count.js"); }

	//host footer
	$('#HostsFooter .HostScroller').scrollable({
		item: '.HostItem',
		absolute: false,
		size: 6, keyboard: false
	}).mousewheel().autoscroll({ autoplay: true, autopause: true, steps: 1, interval: 10000 });


	$(".css-dropdown").each(function() {
		createDropDown($(this).attr("id"));
	});

	$("input.styled").each(function() {
		$(this).styledInput();
	});

	eventsMainSearch();

});

		function eventsMainSearch() {
			
			$("#mainSearchClear").hide();
			
			$("#search-input-header").keydown(function(event){
				//alert("keydown");
				if (event.keyCode == 13) {
					//alert("Enter Key");
 					if ($("#search-input-header").val() == ""){
					$("#search-input-header").focus();
					} else { 
						// Do not remove this from here and place in inline onclick.
						return mainSearch();
					}
  				}  
			});	
			
			var searchHeaderText = $("#search-input-header").attr("value");
			$("#search-input-header").focus(function(){
				$("#mainSearchClear").fadeIn();
				$(this).addClass("focused");
				if($(this).val() == searchHeaderText){
					$(this).val("").css("font-style", "normal");
				}
			});
			
			$("#search-input-header").blur(function(){
			if (($("#search-input-header").val() == searchHeaderText) || ($("#search-input-header").val() == "")){
				$("#mainSearchClear").fadeOut();
			}
				$(this).removeClass("focused");
				if($(this).val() == ""){
					$(this).val(searchHeaderText).css("font-style", "italic");
				}
			});
			
			$('#mainSearchClear').click(function() {
				if (($("#search-input-header").val() != searchHeaderText) && ($("#search-input-header").val() != "")){
					$("#search-input-header").val("").css("font-style", "normal");
					$("#search-input-header").focus();
				}
  			});
			
			$("#searchsubmit").click(function(){
			if (($("#search-input-header").val() == searchHeaderText) || ($("#search-input-header").val() == "")){
				$("#search-input-header").focus();
				} else { 
					// Do not remove this from here and place in inline onclick.
					return mainSearch();
				}
			});
			
		}

		function createDropDown(ddID){
            var source = $("#" + ddID);
            var selected = source.find("option[selected]");
            var options = $("option", source);
            
            $("#" + $("#" + ddID).parent().attr("id")).append('<dl id="target-' + ddID + '" class="dropdown"></dl>')
            $("#target-" + ddID).append('<dt><a href="http://www.foodnetwork.ca/">' + selected.text() + 
                '<span class="value">' + selected.val() + 
                '</span></a></dt>')
            $("#target-" + ddID).append('<dd><ul></ul></dd>')

            options.each(function(){
                $("#target-" + ddID + " dd ul").append('<li><a href="http://www.foodnetwork.ca/">' + 
                    $(this).text() + '<span class="value">' + 
                    $(this).val() + '</span></a></li>');
            });
			
			 $("#target-" + ddID + ".dropdown dt a").click(function() {
                $("#target-" + ddID + ".dropdown dd ul").slideToggle('fast');
				return false;
            });

            $(document).bind('click', function(e) {
                var $clicked = $(e.target);
                if (! $clicked.parents().hasClass("dropdown"))
                    $("#target-" + ddID + ".dropdown dd ul").hide();
            });
                        
            $("#target-" + ddID + ".dropdown dd ul li a").click(function() {
                var text = $(this).html();
                $("#target-" + ddID + ".dropdown dt a").html(text);
                $("#target-" + ddID + ".dropdown dd ul").hide();
                
                var source = $("#" + ddID);
                source.val($(this).find("span.value").html())
				return false;
            });
        }
		
		
		jQuery.fn.fadeToggle = function(speed, easing, callback) { 
			return this.animate({opacity: 'toggle'}, speed, easing, callback); 
		}; 	
		
		function mainSearch() {
			var searchCollection = $("#siteSearchList :selected").val();
			//alert("Main Search Submit \nSearching: " + $("#search-input-header").val() + "\nCollection: " + searchCollection);
			
			var searchString = $.URLEncode($("#search-input-header").val());
			//$("#results").load("searchresults.html?q=" + searchString + "&id=" + rnd() + " #searchResults");		
			
			switch(searchCollection)
			{
				case "FoodTV_Recipes":
					window.location = "http://www.foodnetwork.ca/search/recipes/results.html?q=" + $.URLEncode($("#search-input-header").val());
					break;
				case "FoodTV_Shows":
					window.location = "http://www.foodnetwork.ca/search/shows/results.html?q=" + $.URLEncode($("#search-input-header").val());
					break;
				case "FoodTV_Guides":
					window.location = "http://www.foodnetwork.ca/search/guides/results.html?q=" + $.URLEncode($("#search-input-header").val());
					break;
				case "FoodTV_Video":
					window.location = "http://www.foodnetwork.ca/search/videos/results.html?q=" + $.URLEncode($("#search-input-header").val());
					break;
				case "FoodTV_Blogs":
					//window.location = "http://community.foodnetwork.ca/search/SearchResults.aspx?q=" + $.URLEncode($("#search-input-header").val());
					window.location = "http://www.foodnetwork.ca/search/community/results.html?q=" + $.URLEncode($("#search-input-header").val());
					break;
				default:
					window.location = "http://www.foodnetwork.ca/search/results.html?q=" + $.URLEncode($("#search-input-header").val());
			}
		}
		
		function rnd(){ return String((new Date()).getTime()).replace(/\D/gi,'') }
		
		
		// URL ENCODING & DECODING PLUGIN
		$.extend({URLEncode:function(c){var o='';var x=0;c=c.toString();var r=/(^[a-zA-Z0-9_.]*)/;
	  while(x<c.length){var m=r.exec(c.substr(x));
		if(m!=null && m.length>1 && m[1]!=''){o+=m[1];x+=m[1].length;
		}else{if(c[x]==' ')o+='+';else{var d=c.charCodeAt(x);var h=d.toString(16);
		o+='%'+(h.length<2?'0':'')+h.toUpperCase();}x++;}}return o;},
	URLDecode:function(s){var o=s;var binVal,t;var r=/(%[^%]{2})/;
	  while((m=r.exec(o))!=null && m.length>1 && m[1]!=''){b=parseInt(m[1].substr(1),16);
	  t=String.fromCharCode(b);o=o.replace(m[1],t);}return o;}
	});

	jQuery.fn.fadeToggle = function(speed, easing, callback) { 
			return this.animate({opacity: 'toggle'}, speed, easing, callback); 
	}; 
	
	
	// STYLED CHECK BOXES AND RADIO BUTTONS
	jQuery.fn.styledInput=function(A){
		A=jQuery.extend({checkboxWidth:17,checkboxHeight:17,className:"styledBoxes",display:"list"},A);
		
		$(this).each(function(){
			$label=$('label[for="'+$(this).attr("id")+'"]');
			$label.prepend("<span class='holderWrap'><span class='holder'></span></span>");
			
			if($(this).is(":checked")){
				$label.addClass("checked")
			}
			$label.addClass(A.className).addClass($(this).attr("type")).addClass(A.display);
			$label.find("span.holderWrap").width(A.checkboxWidth).height(A.checkboxHeight);
			$label.find("span.holder").width(A.checkboxWidth);
			$(this).addClass("hiddenCheckbox");
			$label.bind("click",function(){
				$("input#"+$(this).attr("for")).triggerHandler("click");
				
				if($("input#"+$(this).attr("for")).is(":checkbox")){
					$(this).toggleClass("checked");
					$("input#"+$(this).attr("for")).checked=true;
					$(this).find("span.holder").css("top",0)
					}
				else{
					$toCheck=$("input#"+$(this).attr("for"));
					$('input[name="'+$toCheck.attr("name")+'"]').each(function(){
						$('label[for="'+$(this).attr("id")+'"]').removeClass("checked")
					});
				$(this).addClass("checked");
				$toCheck.checked=true}});
				$("input#"+$label.attr("for")).bind("keypress",function(B){
					if(B.keyCode==32){
						if($.browser.msie){
							$('label[for="'+$(this).attr("id")+'"]').toggleClass("checked")
						}
						else{
								$(this).trigger("click")
							}
					return false}
				})
			})
		};
	checkAllstyledInput=function(B,A){
		if($(B).is(":checked")){
			$(A).find("input[type=checkbox]:not(:checked)").each(function(){
				$('label[for="'+$(this).attr("id")+'"]').trigger("click");
		
				if($.browser.msie){
					$(this).attr("checked","checked")}
				else{
					$(this).trigger("click")}
				})
		}
		else{
			$(A).find("input[type=checkbox]:checked").each(function(){
				$('label[for="'+$(this).attr("id")+'"]').trigger("click");
				if($.browser.msie){
					$(this).attr("checked","")
				}
				else{
				$(this).trigger("click")
				}
			})
		}
	};

// ***************** UL, OL LIST COLUMNIZER. TURNS LISTS INTO MULTIPLE COLUMNS
jQuery.fn.makeacolumnlists=function(settings){settings=jQuery.extend({cols:3,colWidth:0,equalHeight:false,startN:1},settings);if(jQuery('> li',this)){this.each(function(y){var y=jQuery('.li_container').size(),height=0,maxHeight=0,t=jQuery(this),classN=t.attr('class'),listsize=jQuery('> li',this).size(),percol=Math.ceil(listsize/settings.cols),contW=t.width(),bl=(isNaN(parseInt(t.css('borderLeftWidth'),10))?0:parseInt(t.css('borderLeftWidth'),10)),br=(isNaN(parseInt(t.css('borderRightWidth'),10))?0:parseInt(t.css('borderRightWidth'),10)),pl=parseInt(t.css('paddingLeft'),10),pr=parseInt(t.css('paddingRight'),10),ml=parseInt(t.css('marginLeft'),10),mr=parseInt(t.css('marginRight'),10),col_Width=Math.floor((contW-(settings.cols-1)*(bl+br+pl+pr+ml+mr))/settings.cols);if(settings.colWidth){col_Width=settings.colWidth;}
var colnum=1,percol2=percol;jQuery(this).addClass('li_cont1').wrap('<div id="li_container'+(++y)+'" class="li_container"></div>');if(settings.equalHeight=='li'){jQuery('> li',this).each(function(){var e=jQuery(this);var border_top=(isNaN(parseInt(e.css('borderTopWidth'),10))?0:parseInt(e.css('borderTopWidth'),10));var border_bottom=(isNaN(parseInt(e.css('borderBottomWidth'),10))?0:parseInt(e.css('borderBottomWidth'),10));height=e.height()+parseInt(e.css('paddingTop'),10)+parseInt(e.css('paddingBottom'),10)+border_top+border_bottom;maxHeight=(height>maxHeight)?height:maxHeight;});}
for(var i=0;i<=listsize;i++){if(i>=percol2){percol2+=percol;colnum++;}
var eh=jQuery('> li:eq('+i+')',this);eh.addClass('li_col'+colnum);if(jQuery(this).is('ol')){eh.attr('value',''+(i+settings.startN))+'';}
if(settings.equalHeight=='li'){var border_top=(isNaN(parseInt(eh.css('borderTopWidth'),10))?0:parseInt(eh.css('borderTopWidth'),10));var border_bottom=(isNaN(parseInt(eh.css('borderBottomWidth'),10))?0:parseInt(eh.css('borderBottomWidth'),10));mh=maxHeight-(parseInt(eh.css('paddingTop'),10)+parseInt(eh.css('paddingBottom'),10)+border_top+border_bottom);eh.height(mh);}}
jQuery(this).css({cssFloat:'left',width:''+col_Width+'px'});for(colnum=2;colnum<=settings.cols;colnum++){if(jQuery(this).is('ol')){jQuery('li.li_col'+colnum,this).appendTo('#li_container'+y).wrapAll('<ol class="li_cont'+colnum+' '+classN+'" style="width: '+col_Width+'px;"></ol>');}else{jQuery('li.li_col'+colnum,this).appendTo('#li_container'+y).wrapAll('<ul class="li_cont'+colnum+' '+classN+'" style="width: '+col_Width+'px;"></ul>');}}
if(settings.equalHeight=='ul'||settings.equalHeight=='ol'){for(colnum=1;colnum<=settings.cols;colnum++){jQuery('#li_container'+y+' .li_cont'+colnum).each(function(){var e=jQuery(this);var border_top=(isNaN(parseInt(e.css('borderTopWidth'),10))?0:parseInt(e.css('borderTopWidth'),10));var border_bottom=(isNaN(parseInt(e.css('borderBottomWidth'),10))?0:parseInt(e.css('borderBottomWidth'),10));height=e.height()+parseInt(e.css('paddingTop'),10)+parseInt(e.css('paddingBottom'),10)+border_top+border_bottom;maxHeight=(height>maxHeight)?height:maxHeight;});}
for(colnum=1;colnum<=settings.cols;colnum++){var eh=jQuery('#li_container'+y+' .li_cont'+colnum);var border_top=(isNaN(parseInt(eh.css('borderTopWidth'),10))?0:parseInt(eh.css('borderTopWidth'),10));var border_bottom=(isNaN(parseInt(eh.css('borderBottomWidth'),10))?0:parseInt(eh.css('borderBottomWidth'),10));mh=maxHeight-(parseInt(eh.css('paddingTop'),10)+parseInt(eh.css('paddingBottom'),10)+border_top+border_bottom);eh.height(mh);}}
jQuery('#li_container'+y).append('<br />');});}}
jQuery.fn.uncolumnlists=function(){jQuery('.li_cont1').each(function(i){var onecolSize=jQuery('#li_container'+(++i)+' .li_cont1 > li').size();if(jQuery('#li_container'+i+' .li_cont1').is('ul')){jQuery('#li_container'+i+' > ul > li').appendTo('#li_container'+i+' ul:first');for(var j=1;j<=onecolSize;j++){jQuery('#li_container'+i+' ul:first li').removeAttr('class').removeAttr('style');}
jQuery('#li_container'+i+' ul:first').removeAttr('style').removeClass('li_cont1').insertBefore('#li_container'+i);}else{jQuery('#li_container'+i+' > ol > li').appendTo('#li_container'+i+' ol:first');for(var j=1;j<=onecolSize;j++){jQuery('#li_container'+i+' ol:first li').removeAttr('class').removeAttr('style');}
jQuery('#li_container'+i+' ol:first').removeAttr('style').removeClass('li_cont1').insertBefore('#li_container'+i);}
jQuery('#li_container'+i).remove();});}

// ***************** scroll to top of page
$(document).ready(function() {	
    $(".toTop").hide().removeAttr("href");
    if ($(window).scrollTop()!="0"){ $(".toTop").fadeIn("slow"); }
    
    $(window).scroll(function(){
        if ($(window).scrollTop()=="0"){ 
            $(".toTop").fadeOut("slow");
        } else {
            $(".toTop").fadeIn("slow");
        }
    });
    $(".toTop").click(function(){ $("html, body").animate({ scrollTop: 105 }, "slow"); });
     
    // Load favourites windows
	$(".DeliciousLink").click(function(){
		window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url='+encodeURIComponent(location.href)+'&amp;title='+encodeURIComponent(document.title), 'delicious','toolbar=no,width=700,height=400');
		return false;
	});
	$(".DiggLink").click(function(){
		window.open('http://digg.com/submit?v=4&amp;noui&amp;jump=close&amp;url='+encodeURIComponent(location.href)+'&amp;title='+encodeURIComponent(document.title), 'digg','toolbar=no,width=800,height=600');
		return false;
	});
	$(".FBLink").click(function(){
		window.open('http://www.facebook.com/sharer.php?u='+encodeURIComponent(location.href)+'&amp;t='+encodeURIComponent(document.title), 'facebook','toolbar=no,width=800,height=500');
		return false;
	});
	$(".TwitterLink").click(function(){
		window.open('http://twitter.com/home?status='+encodeURIComponent(location.href)+'&amp;t='+encodeURIComponent(document.title), 'twitter','toolbar=no,width=800,height=500');
		return false;
	});
	$(".GoogleLink").click(function(){
		window.open('http://www.google.com/bookmarks/mark?op=add&bkmk='+encodeURIComponent(location.href)+'&amp;t='+encodeURIComponent(document.title), 'google','toolbar=no,width=800,height=500');
		return false;
	});
});



			function RateIt(id, folder, topic, averageRating, contentid) {
				jQuery.getJSON('/scripts/poll/rateit.aspx?folder='+folder+'&topic='+topic+'&contentid='+contentid+'&choiceid='+id, function(data){
					if(!data.error) { 
						jQuery('#foodRatingList_' + contentid).attr('class', jQuery('#rateit_' + contentid + ' a[choicevalue='+Round(data.data.averagerating)+']').attr('class'));
						jQuery('#starTitle_' + contentid).html(data.message);
						
						jQuery("#rateit_" + contentid + ".pg_rate_stars li a").unbind('mouseleave').unbind('mouseenter').unbind('click');

					}
					else {
						jQuery('#foodRatingList_' + contentid).attr('class', jQuery('#rateit_' + contentid + ' a[choicevalue='+Round(averageRating)+']').attr('class'));
						jQuery("#rateit_" + contentid + ".pg_rate_stars li a").unbind('mouseleave').unbind('mouseenter').unbind('click');
					}
				});
			}

			function Round(value) {

				return Math.round(value);

			}

			function SetEvents(contentid, averageRating) {

				jQuery('#rateit_' + contentid + '.pg_rate_stars li a').unbind('mouseenter mouseleave');
			
				// set event handlers							
				jQuery("#rateit_" + contentid+ ".pg_rate_stars li a").hover(
					function () {	
						classname = jQuery(this).attr('class'); 
						currentClass = jQuery('#rateit_' + contentid + ' a[choicevalue='+Round(averageRating)+']').attr('class'); 
						jQuery('#foodRatingList_' + contentid).removeClass(currentClass); 
						jQuery('#foodRatingList_' + contentid).addClass(classname); 
					}, 
					function () { 
						jQuery('#foodRatingList_' + contentid).removeClass(classname); 
						jQuery('#foodRatingList_' + contentid).addClass(currentClass);
					}); 
			}

