


var loadTab = function(tabID){
	var selectedTab = '#'+tabID+'Tab';
	var selectedContent = '#'+tabID+'Content';
	var selectedContentHeight = $(selectedContent).height();
	
	///Make the new content the first in the list so it slides down nicely
	//$(selectedContent).detach().prependTo('#homeShowContent');
	
	$('.tabs>ul>li>a.selected').removeClass();
	$(selectedTab).addClass('selected');
	
	$('.showContent:visible').fadeTo(200,0.0,function(){
		$(this).hide();
		$('#homeShowContent').animate( {height: (selectedContentHeight+40)+'px'}, 200, function(){
			$(selectedContent).fadeTo(400,100.0);
		});
	});

}




var loadFeaturedSlider = function (userzip) {
	var loaderContent = '<li class="loading"></li>';
	$('#featuredSlider').html(loaderContent);
	$.ajax({
		type: "GET",
		url: "/ajax/loadfeatures.cfm",
		data: { zipcode: userzip },
		returnType: 'json',
		success: function(result){
			var obj = jQuery.parseJSON(result);
			var columns = obj.COLUMNS;
			var data = obj.DATA;
			var theSlides = '';
			var thisSlide = '';
			for (i=0;i<data.length;i++) {
				for (j=0;j<columns.length;j++) { 
					// Set the following fields: URL,SHOWTIMINGID,IMAGE,TITLE,DESCRIPTION
					var dataValue = data[i][j];
					if (dataValue != null) {
						dataValue = dataValue.toString();
						dataValue = dataValue.replace(/"/g,"&quot;");
						dataValue = dataValue.replace(/'/g,"&#39;");
					}
					eval(columns[j] + " =  '" + dataValue + "'");
				}
				thisURL = (URL.length!=0) ? URL : 'http://www.laughstub.com/buyTicket.cfm?showTimingID='+SHOWTIMINGID;
				thisSlide = '<li>'
						  + '<a href="' + thisURL + '" class="featuredLink"><img width="620" height="250" src="http://www.laughstub.com/images/featuredSlides/' + IMAGE + '" border="0" /><span class="featuredLinkInfo"><strong>' + TITLE + '</strong><em>' + DESCRIPTION + '</em></span></a>'
						  + '</li>';
				theSlides = theSlides + thisSlide;
			}
			$('#featuredSlider').cycle('destroy');
			$('#slider-wrapper').html('<ul id="featuredSlider"></ul>');
			$('#featuredSlider').html(theSlides);
			$('.featuredLinkInfo').hide();
			$('#featuredSlider').after('<div id="featuredNav">').cycle({
				timeout:    7500, 
				speed:      1000, 
				fx: 		'fade',
				pager:  	'#featuredNav',
				pause:      1,
				before:		function(currSlideElement, nextSlideElement, options, forwardFlag) {
								$('#slider-overlay').attr('href',$(nextSlideElement).children().attr('href'));
							}
			});
			$('#slider-overlay').hover( function(){ $('.featuredLinkInfo').fadeTo(300, 0.6); $('#featuredSlider').cycle('pause'); },function(){ $('.featuredLinkInfo').fadeTo(300, 0); $('#featuredSlider').cycle('resume'); });
			
			// Center the slides
			$('#featuredNav').css('left',function(){
				var total = $('#featuredSlider').children().length;
				var final = 320-(Math.ceil((total*15)/2));
					final = final+'px';
				return final;
			});
			
		}
	});
}



var loadAdContent = function(userzip) { 
	var loaderContent = '<li class="loading"></li>';
	$('#adContent').html(loaderContent);
	$.ajax({
		type: "GET",
		url: "/ajax/loadAds.cfm",
		data: { zipcode: userzip },
		returnType: 'json',
		success: function(result){
			var obj = jQuery.parseJSON(result);
			var columns = obj.COLUMNS;
			var data = obj.DATA;
			var theAds = '';
			var thisAd = '';
			for (i=0;i<data.length;i++) {
				for (j=0;j<columns.length;j++) { 
					// Set the following fields: ADCONTENT
					var dataValue = data[i][j];
					if (dataValue != null) {
						dataValue = dataValue.toString();
						dataValue = dataValue.replace(/"/g,"&quot;");
						dataValue = dataValue.replace(/'/g,"&#39;");
					}
					eval(columns[j] + " =  '" + dataValue + "'");
				}
				thisAd = '<li>' + ADCONTENT + '</li>';
				theAds = theAds + thisAd;
			}
			$('#adContent').html(theAds);
		}
	});
}




var loadLocalContent = function() {
	var userZipcode = "";
	var cookie = "LAUGHSTUBLOCATION=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(cookie) == 0) userZipcode = c.substring(cookie.length,c.length);
	}
	
	// We should now have the user's zipcode from the cookie in the variable userZipcode. If thi is still blank, something is wrong and we can load the nationwide content
	// alert(userZipcode);
	loadPageContent(userZipcode)
	
}



var loadPageContent = function(userZipCode) {
	//UserZipCode can be '00000' or contain a valid zipcode. All the functions called should default to nationwide content in the case of a '00000' zipcode
	
	// 1) Update the location dropdown in the search
	updateLocationDropdown(userZipCode);
	
	// 2) update the Venues menu slider
	
	// 3) Update the Comedian menu slider
	
	// 4) Load the featured slider content
	loadFeaturedSlider(userZipCode);

	// 5) Load the ad content
	loadAdContent(userZipCode);

	// 6) Load the Top Upcoming Shows content
	
	// 7) Load the Discounted Dhows content
	
	// 8) Load the Today's Shows content
	
	// 9) Load the This Weekend content
	
	// 10) Update the Featured Venues content
	
}




	
var todaysShows = function (userzip) {
	/* Check to make sure the content is not already loaded */
	if($('#todayResults').children().size()==0){ 
		
		var loaderContent = '<li class="loading">Finding live comedy...</li>';
		$('#todayResults').html(loaderContent);
		
		$.ajax({
			type: "GET",
			url: "/ajax/getTodaysShows.cfm",
			data: { zipcode: userzip },
			returnType: 'json',
			success: function(result){
				var obj = jQuery.parseJSON(result);
				var columns = obj.COLUMNS;
				var data = obj.DATA;
				var theResults = '';
				var thisResult = '';
				var cycleList = new Array();
				if(data.length>0){
					for (i=0;i<data.length;i++) {
						for (j=0;j<columns.length;j++) { 
							// Set the following fields: SHOWDESCRIPTION,ROWCLASS,SHOWTIMINGID,SHOWNAME,IMGCONTENT,IMGCOUNT,VENUELOGO,VENUENAME,VENUEADDRESS,DAYOFWEEK,MONTH,DAY,TIME,PRICE
							var dataValue = data[i][j];
							if (dataValue != null) {
								dataValue = dataValue.toString();
								dataValue = dataValue.replace(/'/g,"&#39;");
							}
							eval(columns[j] + " =  '" + dataValue + "'");
						}
						thisResult = '<li class="' + ROWCLASS + '">'
								   + '<a href="/buyTicket.cfm?showTimingID=' + SHOWTIMINGID + '&buy" title="Buy tickets for ' + SHOWNAME + '">'
								   + '<span class="showimages" id="todayshowimages' + SHOWTIMINGID + '">'
								   + IMGCONTENT
								   + '</span>'
								   + '<span class="titledescription">'
								   + '<span class="title">' + SHOWNAME + '</span>'
								   + '<span class="description">' + SHOWDESCRIPTION + '</span>'
								   + '</span>'
								   + '<span class="venue">'
								   + '<img src="/images/venues/' + VENUELOGO +'" width="100" alt="' + VENUENAME + '" /><br />'
								   + '<strong>' + VENUENAME + '</strong><br />'
								   + VENUEADDRESS
								   + '</span>'
								   + '<span class="datetime">'
								   + '<span class="dayofweek">' + DAYOFWEEK + '</span>'
								   + '<span class="date">'
								   + '<span class="month">' + MONTH + '</span>'
								   + '<span class="day">' + DAY + '</span>'
								   + '</span>'
								   + '<span class="time">' + TIME + '</span>'
								   + '</span>'
								   + '<span class="price">' + PRICE + '</span>'
								   + '<span class="tickets">Get Tickets!</span>'
								   + '</a>'
								   + '</li>';
						theResults = theResults + thisResult;
						if(IMGCOUNT>1){
							// Add this row to the list of rows to apply the jQuery Cycle to
							cycleList[cycleList.length] = SHOWTIMINGID;
						}
						
					}
					$('#todayResults').html(theResults);
					
					// jQuery Cycle stuff if there is more than one image...
					for (k=0;k<cycleList.length;k++) {
						$('#todayshowimages'+cycleList[k]).cycle({
							timeout:    4000, 
							speed:      1000, 
							fx: 		'scrollLeft'
						});
					}
				} // End data length > 0
				
				var newContentHeight = $('#todayContent').height();
				$('#homeShowContent').animate( {height: (newContentHeight+40)+'px'}, 200);
				
			} // End success
		}); // End .ajax() call
		
		
	} // End check if container is empty
}	
	







	
var weekendShows = function (userzip) {
	/* Check to make sure the content is not already loaded */
	if($('#weekendResults').children().size()==0){ 
		
		var loaderContent = '<li class="loading">Finding live comedy...</li>';
		$('#weekendResults').html(loaderContent);
		
		$.ajax({
			type: "GET",
			url: "/ajax/getWeekendShows.cfm",
			data: { zipcode: userzip },
			returnType: 'json',
			success: function(result){
				var obj = jQuery.parseJSON(result);
				var columns = obj.COLUMNS;
				var data = obj.DATA;
				var theResults = '';
				var thisResult = '';
				var cycleList = new Array();
				if(data.length>0){
					for (i=0;i<data.length;i++) {
						for (j=0;j<columns.length;j++) { 
							// Set the following fields: SHOWDESCRIPTION,ROWCLASS,SHOWTIMINGID,SHOWNAME,IMGCONTENT,IMGCOUNT,VENUELOGO,VENUENAME,VENUEADDRESS,DAYOFWEEK,MONTH,DAY,TIME,PRICE
							var dataValue = data[i][j];
							if (dataValue != null) {
								dataValue = dataValue.toString();
								dataValue = dataValue.replace(/"/g,"&quot;");
								dataValue = dataValue.replace(/'/g,"&#39;");
							}
							eval(columns[j] + " =  '" + dataValue + "'");
						}
						thisResult = '<li class="' + ROWCLASS + '">'
								   + '<a href="/buyTicket.cfm?showTimingID=' + SHOWTIMINGID + '&buy" title="Buy tickets for ' + SHOWNAME + '">'
								   + '<span class="showimages" id="weekendshowimages' + SHOWTIMINGID + '">'
								   + IMGCONTENT
								   + '</span>'
								   + '<span class="titledescription">'
								   + '<span class="title">' + SHOWNAME + '</span>'
								   + '<span class="description">' + SHOWDESCRIPTION + '</span>'
								   + '</span>'
								   + '<span class="venue">'
								   + '<img src="/images/venues/' + VENUELOGO +'" width="100" alt="' + VENUENAME + '" /><br />'
								   + '<strong>' + VENUENAME + '</strong><br />'
								   + VENUEADDRESS
								   + '</span>'
								   + '<span class="datetime">'
								   + '<span class="dayofweek">' + DAYOFWEEK + '</span>'
								   + '<span class="date">'
								   + '<span class="month">' + MONTH + '</span>'
								   + '<span class="day">' + DAY + '</span>'
								   + '</span>'
								   + '<span class="time">' + TIME + '</span>'
								   + '</span>'
								   + '<span class="price">' + PRICE + '</span>'
								   + '<span class="tickets">Get Tickets!</span>'
								   + '</a>'
								   + '</li>';
						theResults = theResults + thisResult;
						if(IMGCOUNT>1){
							// Add this row to the list of rows to apply the jQuery Cycle to
							cycleList[cycleList.length] = SHOWTIMINGID;
						}
						
					}
					$('#weekendResults').html(theResults);
					
					// jQuery Cycle stuff if there is more than one image...
					for (k=0;k<cycleList.length;k++) {
						$('#weekendshowimages'+cycleList[k]).cycle({
							timeout:    4000, 
							speed:      1000, 
							fx: 		'scrollLeft'
						});
					}
				} // End data length > 0
				
				var newContentHeight = $('#weekendContent').height();
				$('#homeShowContent').animate( {height: (newContentHeight+40)+'px'}, 200);
				
			} // End success
		}); // End .ajax() call
		
		
	} // End check if container is empty
}	
	


var recordsPerPage = 10;
var loadPage = 1;

var searchShowsFirstTime = function (zipcode,startDate,endDate) {
	if(($('#showResults').children().size()==0)){ 
		searchShows(zipcode,startDate,endDate);
	} else {
		$('#showLoader .loading').addClass('hide');
		$('#showLoader .loadingLink').removeClass('hide');
	}
}

var searchShows = function (zipcode,startDate,endDate) {
	
	$('#showLoader .loading').removeClass('hide');
	$('#showLoader .loadingLink').addClass('hide');
	
	var qryStr = 'zipcode='+zipcode+'&startDate='+startDate+'&endDate='+endDate+'&pageNo='+loadPage+'&recordsPerPage='+recordsPerPage;
	$.ajax({
		type: "GET",
		url: "/ajax/searchShowsPaging.cfm",
		data: qryStr,
		returnType: 'json',
		success: function(result){
			var obj = jQuery.parseJSON(result);
			var columns = obj.COLUMNS;
			var data = obj.DATA;
			var theResults = '';
			var thisResult = '';
			var cycleList = new Array();
			if(data.length>0){
				for (i=0;i<data.length;i++) {
					for (j=0;j<columns.length;j++) { 
						// Set the following fields: SHOWDESCRIPTION,ROWCLASS,SHOWTIMINGID,SHOWNAME,IMGCONTENT,IMGCOUNT,VENUELOGO,VENUENAME,VENUEADDRESS,DAYOFWEEK,MONTH,DAY,TIME,PRICE
						var dataValue = data[i][j];
						if (dataValue != null) {
							dataValue = dataValue.toString();
							dataValue = dataValue.replace(/'/g,"&#39;");
						}
						eval(columns[j] + " =  '" + dataValue + "'");
					}
					
					thisResult = '<li class="' + ROWCLASS + '">'
							   + '<a href="/buyTicket.cfm?showTimingID=' + SHOWTIMINGID + '&buy" title="Buy tickets for ' + SHOWNAME + '">'
							   + '<span class="showimages" id="theshowimages' + SHOWTIMINGID + '">'
							   + IMGCONTENT
							   + '</span>'
							   + '<span class="titledescription">'
							   + '<span class="title">' + SHOWNAME + '</span>'
							   + '<span class="description">' + SHOWDESCRIPTION + '</span>'
							   + '</span>'
							   + '<span class="venue">'
							   + '<img src="/images/venues/' + VENUELOGO +'" width="100" alt="' + VENUENAME + '" /><br />'
							   + '<strong>' + VENUENAME + '</strong><br />'
							   + VENUEADDRESS
							   + '</span>'
							   + '<span class="datetime">'
							   + '<span class="dayofweek">' + DAYOFWEEK + '</span>'
							   + '<span class="date">'
							   + '<span class="month">' + MONTH + '</span>'
							   + '<span class="day">' + DAY + '</span>'
							   + '</span>'
							   + '<span class="time">' + TIME + '</span>'
							   + '</span>'
							   + '<span class="price">' + PRICE + '</span>'
							   + '<span class="tickets">Get Tickets!</span>'
							   + '</a>'
							   + '</li>';
					theResults = theResults + thisResult;
					if(IMGCOUNT>1){
						// Add this row to the list of rows to apply the jQuery Cycle to
						cycleList[cycleList.length] = SHOWTIMINGID;
					}
					
				}
				$('#showLoader .loading').addClass('hide');
				$('#showLoader .loadingLink').removeClass('hide');
				loadPage = parseInt(loadPage) + 1;
				$('#showResults').html($('#showResults').html() + theResults);
				for (k=0;k<cycleList.length;k++) {
					$('#theshowimages'+cycleList[k]).cycle({
						timeout:    4000, 
						speed:      1000, 
						fx: 		'scrollLeft'
					});
				}
			}
			else {
				$('#showLoader .loading').addClass('hide');
				$('#showLoader .loadingLink').html('No More Shows to Display').removeClass('hide');
			}
			var newContentHeight = $('#weekendContent').height();
			$('#homeShowContent').animate( {height: (newContentHeight+40)+'px'}, 200);
		}
	});
		
}

