
$nymag_j(function initFlyouts () {	
		// hoverIntent plugin -- http://cherne.net/brian/resources/jquery.hoverIntent.html
		var config = {
			sensitivity: 7, interval: 200, timeout:200,
			over: expandFlyout, //function that is triggered on hover 
			out:  hideFlyout   //function that is triggered on mouseout
		};
		
		$nymag_j("div.filter ul li.parent").hoverIntent(config);
		
		function expandFlyout () {
				$nymag_j("#nightlife-module select").css("visibility","hidden");
				$nymag_j(this).addClass("hover");
				setTopPosition(this);
		}
		
		function hideFlyout () {
				$nymag_j("#nightlife-module select").css("visibility","visible");
				$nymag_j(this).removeClass("hover");			
		}
		
		/*
		var childConfig = {
			sensitivity: 7, interval: 200, timeout:400,
			over: function(){$nymag_j(this).addClass("childHover")},
			out:  function(){$nymag_j(this).removeClass("childHover")}
		}
		$nymag_j("div.filter ul li.child").hoverIntent(childConfig);
		$nymag_j("li.child").each(function () {
			$nymag_j(this).children("ul").wrap('<div class="childToggleMenu"><div class="wrap"><div class="innerWrap"></div></div></div>');
		});	
		*/
});

	$nymag_j(function wrapFlyoutPanels () {
			$nymag_j("li.parent").each(function () {
				$nymag_j(this).children("ul").wrapAll('<div class="toggleMenu"><div class="wrap"></div></div>');
			});
	});

	function setTopPosition (el) {
			var offset = {};
			var offset = $nymag_j(el).offset();
			var top = (offset.top - 15)
			$nymag_j(el).children("div.toggleMenu").css("top",top);
	}

	$nymag_j(function setFlyoutWidth(){
		$nymag_j("div#neighborhood div.toggleMenu").each(function () {
			var columns = $nymag_j(this).find("li.column").length;
			var columnWidth = 142;
			var finalWidth = (columnWidth * columns) + 35;	
			$nymag_j(this).width(finalWidth);
			$nymag_j(this).children().children("ul").children("li.column:last").after('<br class="clearFix" />');			
		});
	});



	$nymag_j(function removeBorderBackgrounds(){
		$nymag_j("div.filter ul li.last").each(function () {
				$nymag_j(this).css("backgroundImage", "none");
				$nymag_j(this).css("border", "none");
		});
	});



	$nymag_j(function truncateFilterList(){
		$nymag_j("div.collapse").each(function () {
			$nymag_j(this).children().children("li:gt(5)").hide();
			$nymag_j(this).children().children("li:last").after('<li class="revealMore"><a href="#">Show All</a></li>');
		});
	});
	

	$nymag_j(function setupHorizontalPanel (){
		$nymag_j("div.horizontalPanel").each(function () {
			$nymag_j(this).wrap('<div class="panelWrap"></div>');
			var offset = {};
			var offset = $nymag_j(this).offset();
			var top = (offset.top - 3)
			$nymag_j(this).css("top",top);			
			$nymag_j(this).width(176);
			$nymag_j(this).parent().css("height","100%");
			$nymag_j(this).prepend('<p class="closePanel"><a href="#">close</a></p>');
			$nymag_j(this).children("ul").children("li.column:first").children("ul").children("li:last").after('<li class="togglePanel"><a href="#" class="showMore">Show More</a></li>');
			$nymag_j(this).children("ul").children("li.column:last").after('<br class="clearFix" />');
		});	
	});

	$nymag_j(function revealMoreFilters(){
			$nymag_j("li.revealMore a").toggle(
			      function () {
					$nymag_j(this).parent().siblings().show();
					$nymag_j(this).text("Show Less");
			      },
			      function () {
					$nymag_j(this).parent().siblings(':gt(5)').not('li.revealMore').hide();
					$nymag_j(this).text("Show All");
			      });
	});
		
		

	$nymag_j(function toggleFilterPanel(){
			$nymag_j(".togglePanel a").toggle(
			      function () {
						setPanelHeight(this);
						determinePanelWidth(this);
						togglePanelClasses(this);
						toggleBtnTxt(this);
			      },
			      function () {
					  	setPanelHeight(this);
						determinePanelWidth(this);
						togglePanelClasses(this);
						toggleBtnTxt(this);			
			      });
		});
	
		
	function determinePanelWidth (el) {
		var newEl = el;
		var width = $nymag_j(el).parents("div.horizontalPanel").width();
		var finalWidth = ($nymag_j(el).parents("div.horizontalPanel").find("li.column").length * 160);
			if (width == 176) {			
				$nymag_j(el).parents("div.horizontalPanel").width(finalWidth + 5);
			}
			else {			
				$nymag_j(el).parents("div.horizontalPanel").width(176);
			}
	}
		
	function setPanelHeight (el) {
		var height = $nymag_j(el).parents("div.panelWrap").css("height");
		if (height == "100%") {
				var finalHeight = $nymag_j(el).parents("div.panelWrap").height();
				$nymag_j(el).parents("div.panelWrap").height(finalHeight);
			}
			else {
				$nymag_j(el).parents("div.panelWrap").css("height","100%");
			}
	}
	
	function togglePanelClasses(el) {
		$nymag_j(el).parents("div.horizontalPanel").toggleClass("expandedPanel");
		$nymag_j(el).toggleClass("showMore");
	}

	function toggleBtnTxt(el) {
		var curText = $nymag_j(el).text();
			if (curText == 'Show More') {
				$nymag_j(el).text('Show Less');
			}
			else {
				$nymag_j(el).text('Show More');
			}
	}



	$nymag_j(function closeFilterPanel(){
			$nymag_j(".closePanel a").click(
				 function () {											
					determinePanelWidth(this);
					var parentContainer = $nymag_j(this).parents("div.horizontalPanel");
					parentContainer.width(176);
					parentContainer.removeClass("expandedPanel");
					parentContainer.find("li.togglePanel a").text("Show More");
					parentContainer.find("li.togglePanel a").addClass("showMore");					
					$nymag_j(this).parents("div.panelWrap").css("height","100%");
					return false;
			});
	});

	$nymag_j(function (){
			$nymag_j("li.other_dates a:first").toggle(
			      function () {
						initCalendars();
						showStartCalendar();
						$nymag_j(this).parent().toggleClass("hover");
						var offset = {};
						var offset = $nymag_j(this).offset();
						var top = (offset.top - 15);
						$nymag_j(this).siblings("div.toggleMenu").css("top",top);
						$nymag_j(this).siblings("div.toggleMenu").css("width",366);
			      },
			      function () {
						$nymag_j(this).parent().toggleClass("hover");
			      });
		});
	
		function toggleDatePicker(el) {
			$nymag_j(el).parents(".other_dates").toggleClass("hover");
		}
	
	
	
		function initEventDatePicker() {
			$nymag_j('#start_div').datepicker({
				hideIfNoPrevNext: true, 	    
				minDate: 0, 
				maxDate: 365,
				changeMonth: false,
				changeYear: false,
				onSelect:function(input_val){
					$nymag_j('#startDate, #endDate').val(input_val);
					var min_date=new Date(new Date($nymag_j('#startDate').val()));
					$nymag_j('#end_div').datepicker('change', {minDate: min_date});
					$nymag_j('#end_div').datepicker('setDate');				
					showEndCalendar();
				 }
			}), 
			$nymag_j('#end_div').datepicker({
				hideIfNoPrevNext: true, 
				minDate: 0, 
				maxDate: 365, 
				changeMonth: false,
				changeYear: false,			
				onSelect:function(input_val){
					$nymag_j('#endDate').val(input_val);
				} 			
			})
		}
		
		 function initCalendars() {
			$nymag_j("#end_div, .endDateLabel").hide();
			$nymag_j("#start_div").hide();
			$nymag_j('#startDate,#endDate').val("");
			$nymag_j('#start_div').datepicker('setDate');
			$nymag_j("input#startDate:disabled, input#endDate:disabled").addClass("disabledInput");
		 }

		function showStartCalendar(){
			$nymag_j("#start_div").show();
			$nymag_j(".startDateLabel").show();
			$nymag_j("#end_div").hide();
			$nymag_j("#startCalWidget").hide();
			$nymag_j(".endDateLabel").hide();
			$nymag_j("a#submitDate").addClass("inactive");
			$nymag_j("input#endDate").addClass("inactive");
			$nymag_j("input#startDate").removeClass("inactive");
			//disableDateSubmit();
		}

		function showEndCalendar(){
			$nymag_j("#start_div").hide();
			$nymag_j(".startDateLabel").hide();
			$nymag_j("#end_div").show();
			$nymag_j("#startCalWidget").show();
			$nymag_j(".endDateLabel").show();
			$nymag_j("a#submitDate").removeClass("inactive");
			$nymag_j("input#endDate").removeClass("inactive");
			$nymag_j("input#startDate").addClass("inactive");
			enableDateSubmit();
		}

		function enableDateSubmit() {
			 $nymag_j("a#submitDate").click(
					function () {
						nym_date_submit();
						return false;
			});
		}

		function disableDateSubmit() {
			 $nymag_j("a#submitDate").bind("click");
			 $nymag_j("a#submitDate").click(
					function () {
						return false;
			});

		}
				
		 function nym_date_submit() { 	 			 
			 var startDate = document.getElementById('startDate').value;
			 var startDate = startDate.split("/",3)
			 var startYear = startDate[2].substring(2);
			 var prettyStartDate = startDate[0] + "/" + startDate[1] + "/" + startYear;
			
			 var endDate = document.getElementById('endDate').value;
			 var endDate = endDate.split("/",3)
			 var endYear = endDate[2].substring(2);
			 var prettyEndDate = endDate[0] + "/" + endDate[1] + "/" + endYear;
			
			 
			 document.getElementById('from_dt').value = prettyStartDate; 	 
			 document.getElementById('to_dt').value = prettyEndDate;
			 document.getElementById('dateRangeSearch').submit();
		 }
