var newsletter_ids="120";
function callError(input, msg){
    if(!input.jquery) input=$(input);
	input.val(msg).addClass("error").effect("highlight", {color: "#ffe400"}, 1200).focus(function(){
		this.value = "";
		input.removeClass("error");
	});
}

function callSuccess(input, msg){
    if(!input.jquery) input=$(input);
	input.val(msg).addClass("success").effect("highlight", {color: "#ffe400"}, 1200).focus(function(){
		this.value = "";
		input.removeClass("success");
	});
}
function newsletterSub(data){
	var newsletter_form = $("#grubstreet-newsletter");
	var newsletter_email = $("#gs-txt");
	if(data.status==0){
		callSuccess(newsletter_email, "Thank you for signing up");
	} else {
		callError(newsletter_email, "Email is already subscribed");
	}
}


function getAllComments(){
	var d = jQuery('.entry');
	var elems = [];
	d.each(function(e, elem){               
		var container_id = jQuery(elem).find('.comments').attr('id');
		var url = jQuery(elem).find('.permalink')[0];
		if (container_id && url){
			elems.push({container_id: container_id, article_url: url.href}); 
		}
	});
	get_comment_counts(elems);
}

//spAZ Navigation
(function($) {
$.fn.spazNav=function(o){
    return this.each(function(){
    	var o = this;
		var rs = $('.spaz-nav a[href*=#]',o);
        rs.each(function(){
            if($('.spaz ' + this.hash,o).length > 0){
                $(this).click(function() {
					rs.each(function(){ $(this).parent().removeClass("spaz-on"); });
					$(this).parent().addClass("spaz-on");
					if($(this.hash).length > 0) {
                        var divOffset = $('.spaz',o).offset().top;
                        var pOffset = $('.spaz ' + this.hash,o).offset().top;
                        var pScroll = pOffset - divOffset;
                        $('.spaz',o).animate({scrollTop: '+=' + pScroll + 'px'}, 1000);
                    }
                    return false;
                });
            } else {
                var letter = $(this).html();
                $(this).parent().append(letter);
                $(this).remove();
            }
        });
	});
}})(jQuery);

(function ($) {
    $.fn.navPanel = function (o) {
		o = $.extend({
			close_btn: "",
			back_btn: "",
			pointer_btn: "",
			max_panels: 1,
			visible: 1,
			circular: false,
			build_ajax_url: null,
			on_close: null,
			height: function(){ return 399 },
			width: function(){ return 375 },
			top_offset: function(){ return 0; },
			left_offset: function(){ return 0; }
		},
		o || {});

		var func = {
			before_carousel : function(curr, nav, panels){
				var curr = parseInt(curr[0].className.substring(5));
				var next;

				if(nav.data("back_btn")){
					if(curr != 1) panels[curr-1].hide();
					if(curr == 2) $("> span.back_btn img",nav).hide();
				} else if(curr!=panels.length){
					next = curr+1;

					panels[curr-1].css("display","none")
					panels[next-1].prev().html(nav.data("ajax_title")); //Update Next Panel Title
					panels[next-1].css("overflow","hidden").html("<h5 class='loading'><img src='http://nymag.comhttp://images.nymag.com/gfx/ico/loading.gif' />Loading&hellip;</h5>").show(); //Put in AJAX loading icon & show
				}
			},
			end_carousel : function(curr, nav, panels){
				var curr = parseInt(curr[0].className.substring(5));

				if((curr == 1) || nav.data("back_btn")){
					panels[curr-1].css("display","block");
				} else {
					$("> span.back_btn img",nav).show();

					var ajax_url = nav.data("ajax_call").substring(2);
					var next_panel_type = nav.data("ajax_call").substring(0,1);
					if(o.build_ajax_url)
						ajax_url = o.build_ajax_url.call(this, ajax_url, next_panel_type);

					panels[curr-1].css("display","block").css("overflow","auto");
					$.get(ajax_url,
						function callback(data) {
							if(next_panel_type=="j"){
								data = eval('(' + data + ')');
								var content = "<ul>";
								for(var i=0; i<data.length; i++){
									content += '<li><a href="/fashion/search/models/?N=' + data[i].id + '" class="list-link">' + data[i].name + '</a></li>';
								}
								content += "</ul>";
								panels[curr-1].html(content);
							} else {
								panels[curr-1].html(data);
							}
							$('.panel-list',panels[curr-1]).spazNav();
							//Add click functionality to all next links for current panel
							$(".next",panels[curr-1]).click(function() {
								nav.data("ajax_title",$(this).attr("title"));
								nav.data("ajax_call",$(this).children()[0].className)
								nav.trigger("nav_move_panel","forward");
								return false; //Make sure href isn't followed
							});
						}
					);
				}

			}
		}

		return this.each(function() {
			var nav = $(this);
			var nav_el = this;
			var panels = new Array();
			var panel_framework = "";
			var buttons_html = "<button class='nav_prev_btn'>laquo;</button><button class='nav_next_btn'>laquo;</button>";
			var button_list = new Array();
			var curr_panel = 1;

			if(o.back_btn != "") panel_framework += "<span id='back_btn' class='back_btn' class='back'><img src='" + o.back_btn + "' /></span>";
			if(o.close_btn != "") panel_framework += "<span class='close' class='back'><img src='" + o.close_btn + "' /></span>";
			if(o.pointer_btn != "") panel_framework += "<span class='pointer' class='back'><img src='" + o.pointer_btn + "' /></span>";

			panel_framework += "<div class='panel-wrap'><ul>";
			for(i=1; i<=o.max_panels; i++){
				var first_panel = (i==1) ? "placeholder " : "";
				var first_panel_img = (i==1) ? "<img src='/gfx/px/x.gif' height='" + o.height.call(this) + "' width='" + o.width.call(this) + "' />" : "";
				panel_framework += "<li class='panel" + i + "'><div class='" + first_panel + "panel-div'><div class='panel-header'></div><div class='load-content'>" + first_panel_img + "sdjf ajkshdfakshdf kahs</div></div></li>";
				buttons_html += "<button class='panel-" + i + "-btn'></button>";
				button_list.push("#" + nav_el.id + " > button.panel-" + i + "-btn");
			}
			panel_framework += "</ul></div>"

			panel_framework += buttons_html;
			nav.append(panel_framework);
			$("ul li div.load-content",nav).each(function(){ panels.push($(this)); });

			//Handle clicking of back button on carousel
			$("> button.nav_next_btn",nav).click(function(){ });	
			$("> button.nav_prev_btn",nav).click(function(){ });	
			nav
				.bind("nav_move_panel", function(e, d){
					if(d=="forward"){
						nav.data("back_btn",false);
						$("> button.nav_next_btn",nav).click();
					} else{
						nav.data("back_btn",true);
						$("> button.nav_prev_btn",nav).click();
					}
				})
				.bind("nav_close", function(){
					$("> span.close",nav).click();
				})
				.bind("nav_show", function(e, d){
					d.e.stopPropagation();
					$("body").click(function(){ nav.trigger("nav_close"); });
					nav.data("curr_parent",d.target_parent.id);

					nav.data("id", d.id);
					nav.addClass(d.id).addClass("nav-panel");

					panels[0].prev().html(d.title); //Update Panel 1 title
					panels[0].css("overflow","auto").html("<h5 class='loading'><img src='http://images.nymag.com/gfx/ico/loading.gif' />Loading&hellip;</h5>"); //Add ajax loading icon for Panel 1

					nav.data("back_btn","true");
					$("> button.panel-1-btn",nav).click();
					nav.data("back_btn","false");

					var start_top_offset;
                    if($.browser.msie && $.browser.version <=7){
						start_top_offset = $(d.target_parent).offset().top;
                    } else {
						start_top_offset = $(d.target_parent).offset().top;
                    }
                    
					if((d.e.clientY+nav.height()) > $(window).height()){
						var diff = (d.e.clientY+nav.height()) - $(window).height();
						nav.css("top",start_top_offset-diff+o.top_offset.call(this, d.target_parent) + "px");
						$("> span.pointer img",nav).css("top", diff+11+"px");
					} else {
						nav.css("top",start_top_offset+o.top_offset.call(this, d.target_parent) + "px");
						$("> span.pointer img",nav).css("top","11px");
					}
					nav.css("left",$(d.target_parent).width()+o.left_offset.call(this, d.target_parent));

					nav.show("fast",function(){
						panels[0].load(d.ajax_call, function(){
							if($.browser.msie && ($.browser.version <= 7)){ 
								$("a i.img",nav).click(function(){
									window.location = $(this).parent().attr("href");
								});
							}

							$('.panel-list',$(this)).spazNav();
							$(".next",panels[0]).click(function() {
								nav.data("ajax_title",$(this).attr("title"));
								nav.data("ajax_call",$(this).children()[0].className)
								nav.trigger("nav_move_panel","forward");
								return false; 
							});


						});
					});
				})
				.click(function(e){ e.stopPropagation(); });

			//Handle clicking of back button on carousel	
			$("> span.back_btn",nav).click(function () {
				nav.trigger("nav_move_panel","back");
			});

			//handle clicking of close button on carousel
			$("> span.close",nav).click(function () {
				if(o.on_close)
					ajax_url = o.on_close.call(this, nav);

				nav.removeClass(nav.data("id"));
				nav.removeData("id");
				$("spaz ul",nav).html("");
				$(this).parent().hide("fast");
				$("body").unbind("close_nav_" + nav_el.id);
			});

			nav.css({"left":"-1000px", "position":"absolute", "display":"block"});
			//Construct carousel, hide it then reset positioning
			$("> div.panel-wrap", nav).jCarouselLite({
				btnNext: "#" + nav_el.id + " > button.nav_next_btn",
				btnPrev: "#" + nav_el.id + " > button.nav_prev_btn",
				btnGo: button_list,
				visible: o.visible,
				circular: o.circular,
				beforeStart: function(curr_div) { func.before_carousel(curr_div,nav,panels); },
				afterEnd: function(curr_div) { func.end_carousel(curr_div,nav,panels); }
			});
			nav.hide().addClass("nav-panel-left");

		});
    }
})(jQuery);


var recentReviewsData;
function urr_json(data) {
	recentReviewsData = data;
	$.each(recentReviewsData.reviews, function(i) {
		var user_name = this.username;
                var name = this.name;
                var listing_name = this.listing_name;
                var avg_rating = this.avg_rating;
                var urr_url = this.urr_url;
                var myny_url = this.myny_url;
                var review = this.review;
                var street_address = this.street_address;
                var date_posted = this.date_posted.substring(5).replace("-","/");
                date_posted = (parseInt(date_posted)<10) ? date_posted.substring(1) : date_posted;

		$("#recent-reader-reviews .content").append("<dl><dt><span class=\'container\'><a href=\'"+urr_url+"\'>"+name+"</a>" + street_address +
			"<span class=\'rating-num\'>"+avg_rating+"</span><span class=\'rating-text\'>Average Rating</span></span>" + 
			"</dt><dd><p>&quot;"+review+"&quot; <a class=\'read-more\' href=\'"+urr_url+"\'>Read More</a> &raquo</p>" +
			"<p class=\'posted\'>Posted "+date_posted+" By <a href=\'"+myny_url+"\'>"+user_name+"</a></p></dd></dl>");
			 if (i == 0) {
			 $("#recent-reader-reviews .content").append("<div class=\'divider\'></div>");
			}
	});
}

//Rotator Stuff
var curr=0;
var max=5;
var next = true;
var windowTimer;
var tagList = new Array();
var currTag = "";
var tgs = readCookie("tabs");
var tgs_li = "";
var load_more = true;
var primaryImg;
var entry_id=0;
var jared;

function switchTimer(i, scroll){
	scroll = (typeof scroll=="undefined") ? true : scroll;
	curr = (i<0) ? max-1 : i;
	curr = (curr==max) ? 0 : curr;
	next = (!next || i==max) ? false : curr+1;
	var ul = $("#rotator-entries");
    $("#rotator-controls li:eq(" + (curr+1) +")").addClass("active").siblings().removeClass("active");
	ul.fadeOut((scroll ? 500 : 350),function(){
		var img = ul.find("li:eq(" + curr + ")");
		img.css("visibility","visible").siblings().css("visibility","hidden");
		
		if(img.attr("src")=="") img.find("img").attr("src",img.attr("title"));
	
		if(next){
			img = img.next().find("img");
			if(img.attr("src")=="") img.attr("src",img.attr("title"));
		}
		ul.css("left",(-405*curr)+"px").fadeIn(300,function(){ if($.browser.msie) this.style.filter = ""; });
		if(scroll){
		    clearTimeout(windowTimer);
            windowTimer = setTimeout("switchTimer(" + (curr+1) + ")",4000);
		}
	});
}




function initRotators(){
	clearTimeout(windowTimer);
	curr=0;
	windowTimer = setTimeout("switchTimer(" + (curr+1) + ")",4000);
	$("#rotator").hover(
		function(){ 
		    clearTimeout(windowTimer);
		    if(!$.browser.msie || $.browser.version!=6)
		        $("#rotator-controls").fadeIn("fast"); },
		function(){
		    clearTimeout(windowTimer);
		    windowTimer = setTimeout("switchTimer(" + (curr+1) + ")",3000); 
            if(!$.browser.msie || $.browser.version!=6)
		        $("#rotator-controls").fadeOut("fast");
		}
	);
	$("#rotator-controls").click(function(e){
	    var curr_tag = e.target ? e.target : e.srcElement;
		if(curr_tag.tagName != "LI") return;
		
		var num = parseInt(curr_tag.id.substring(4));
		switch(curr_tag.className){
			case "prev": switchTimer(curr-1,false);
						 break;
			case "next": switchTimer(curr+1,false);
						 break;
			case "active": return;
			default: switchTimer(num-1,false);
			         break;
		}
	});
}

