/* --------- START CSV PLUGIN --------------------
 * Usage:
 *  jQuery.csv()(csvtext)               returns an array of arrays representing the CSV text.
 *  jQuery.csv("\t")(tsvtext)           uses Tab as a delimiter (comma is the default)
 *  jQuery.csv("\t", "'")(tsvtext)      uses a single quote as the quote character instead of double quotes
 *  jQuery.csv("\t", "'\"")(tsvtext)    uses single & double quotes as the quote character
 */
jQuery.extend({
    csv: function(delim, quote, linedelim) {
        delim = typeof delim == "string" ? new RegExp( "[" + (delim || ","   ) + "]" ) : typeof delim == "undefined" ? ","    : delim;
        quote = typeof quote == "string" ? new RegExp("^[" + (quote || '"'   ) + "]" ) : typeof quote == "undefined" ? '"'    : quote;
        lined = typeof lined == "string" ? new RegExp( "[" + (lined || "\r\n") + "]+") : typeof lined == "undefined" ? "\r\n" : lined;

        function splitline (v) {
            // Split the line using the delimitor
            var arr  = v.split(delim),
                out = [], q;
            for (var i=0, l=arr.length; i<l; i++) {
                if (q = arr[i].match(quote)) {
                    for (j=i; j<l; j++) {
                        if (arr[j].charAt(arr[j].length-1) == q[0]) { break; }
                    }
                    var s = arr.slice(i,j+1).join(delim);
                    out.push(s.substr(1,s.length-2));
                    i = j;
                }
                else { out.push(arr[i]); }
            }

            return out;
        }

        return function(text) {
            var lines = text.split(lined);
            for (var i=0, l=lines.length; i<l; i++) {
                lines[i] = splitline(lines[i]);
            }
            return lines;
        };
    }
});
/* ------ END CSV PLUGIN ------------------------- */

/* ------ START COOKIE PLUGIN -------------------- */

/**
 * Cookie plugin
 *
 * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 */

jQuery.cookie = function(name, value, options) {
    if (typeof value != 'undefined') { // name and value given, set cookie
        options = options || {};
        if (value === null) {
            value = '';
            options.expires = -1;
        }
        var expires = '';
        if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
            var date;
            if (typeof options.expires == 'number') {
                date = new Date();
                date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
            } else {
                date = options.expires;
            }
            expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
        }
        // CAUTION: Needed to parenthesize options.path and options.domain
        // in the following expressions, otherwise they evaluate to undefined
        // in the packed version for some reason...
        var path = options.path ? '; path=' + (options.path) : '';
        var domain = options.domain ? '; domain=' + (options.domain) : '';
        var secure = options.secure ? '; secure' : '';
        document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
    } else { // only name given, get cookie
        var cookieValue = null;
        if (document.cookie && document.cookie != '') {
            var cookies = document.cookie.split(';');
            for (var i = 0; i < cookies.length; i++) {
                var cookie = jQuery.trim(cookies[i]);
                // Does this cookie string begin with the name we want?
                if (cookie.substring(0, name.length + 1) == (name + '=')) {
                    cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                    break;
                }
            }
        }
        return cookieValue;
    }
};

/* ------ END COOKIE PLUGIN -------------------- */



$(document).ready(function(){

	//prep page
	$(".no-js").remove();

	// Showtimes
	if ( $("body").hasClass("showtimes") ) {
		
		$.get("showtimes.txt", function(data) {
			// IMPORTANT -- sanitize commas
			data = data.replace(/,/g , "&#44;");
			data = data.replace(/---/g , "<br />");
			data = data.replace(/XX/g , "'");
			
			array = $.csv("\t") (data);
			
			//remove header row from csv
			array.splice(0, 1);
			
			var tableInnards = '';
			
			
			//build rows
			$.each(array, function() {
				var row = String(this).split(",");
				var evDateNum = row[6];
				var evTimeNum = row[7];
				var evTime = 'time unknown';
				var evState = row[0];
				var evDate = row[1];
				var evVenue = row[2] + '<br />' + row[3];
				var evCharge = row[4];
				var evContact = row[5];
				//if anything's in the row, go ahead
				if (row != '') {
					// time table...
					if ( evTimeNum == NaN ) { evTime = 'time unknown'; }
					
					else if ( evTimeNum == 0 ) { evTime = '12:00 AM'; }
					else if ( evTimeNum == 100 ) { evTime = '1:00 AM'; }
					else if ( evTimeNum == 200 ) { evTime = '2:00 AM'; }
					else if ( evTimeNum == 300 ) { evTime = '3:00 AM'; }
					else if ( evTimeNum == 400 ) { evTime = '4:00 AM'; }
					else if ( evTimeNum == 500 ) { evTime = '5:00 AM'; }
					else if ( evTimeNum == 600 ) { evTime = '6:00 AM'; }
					else if ( evTimeNum == 700 ) { evTime = '7:00 AM'; }
					else if ( evTimeNum == 800 ) { evTime = '8:00 AM'; }
					else if ( evTimeNum == 900 ) { evTime = '9:00 AM'; }
					else if ( evTimeNum == 1000 ) { evTime = '10:00 AM'; }
					else if ( evTimeNum == 1100 ) { evTime = '11:00 AM'; }
					else if ( evTimeNum == 1200 ) { evTime = '12:00 PM'; }
					else if ( evTimeNum == 1300 ) { evTime = '1:00 PM'; }
					else if ( evTimeNum == 1400 ) { evTime = '2:00 PM'; }
					else if ( evTimeNum == 1500 ) { evTime = '3:00 PM'; }
					else if ( evTimeNum == 1600 ) { evTime = '4:00 PM'; }
					else if ( evTimeNum == 1700 ) { evTime = '5:00 PM'; }
					else if ( evTimeNum == 1800 ) { evTime = '6:00 PM'; }
					else if ( evTimeNum == 1900 ) { evTime = '7:00 PM'; }
					else if ( evTimeNum == 2000 ) { evTime = '8:00 PM'; }
					else if ( evTimeNum == 2100 ) { evTime = '9:00 PM'; }
					else if ( evTimeNum == 2200 ) { evTime = '10:00 PM'; }
					else if ( evTimeNum == 2300 ) { evTime = '11:00 PM'; }
					//half hours
					else if ( evTimeNum == 30 ) { evTime = '12:30 AM'; }
					else if ( evTimeNum == 130 ) { evTime = '1:30 AM'; }
					else if ( evTimeNum == 230 ) { evTime = '2:30 AM'; }
					else if ( evTimeNum == 330 ) { evTime = '3:30 AM'; }
					else if ( evTimeNum == 430 ) { evTime = '4:30 AM'; }
					else if ( evTimeNum == 530 ) { evTime = '5:30 AM'; }
					else if ( evTimeNum == 630 ) { evTime = '6:30 AM'; }
					else if ( evTimeNum == 730 ) { evTime = '7:30 AM'; }
					else if ( evTimeNum == 830 ) { evTime = '8:30 AM'; }
					else if ( evTimeNum == 930 ) { evTime = '9:30 AM'; }
					else if ( evTimeNum == 1030 ) { evTime = '10:30 AM'; }
					else if ( evTimeNum == 1130 ) { evTime = '11:30 AM'; }
					else if ( evTimeNum == 1230 ) { evTime = '12:30 PM'; }
					else if ( evTimeNum == 1330 ) { evTime = '1:30 PM'; }
					else if ( evTimeNum == 1430 ) { evTime = '2:30 PM'; }
					else if ( evTimeNum == 1530 ) { evTime = '3:30 PM'; }
					else if ( evTimeNum == 1630 ) { evTime = '4:30 PM'; }
					else if ( evTimeNum == 1730 ) { evTime = '5:30 PM'; }
					else if ( evTimeNum == 1830 ) { evTime = '6:30 PM'; }
					else if ( evTimeNum == 1930 ) { evTime = '7:30 PM'; }
					else if ( evTimeNum == 2030 ) { evTime = '8:30 PM'; }
					else if ( evTimeNum == 2130 ) { evTime = '9:30 PM'; }
					else if ( evTimeNum == 2230 ) { evTime = '10:30 PM'; }
					else if ( evTimeNum == 2330 ) { evTime = '11:30 PM'; }
					// first quarter hours
					else if ( evTimeNum == 15 ) { evTime = '12:15 AM'; }
					else if ( evTimeNum == 115 ) { evTime = '1:15 AM'; }
					else if ( evTimeNum == 215 ) { evTime = '2:15 AM'; }
					else if ( evTimeNum == 315 ) { evTime = '3:15 AM'; }
					else if ( evTimeNum == 415 ) { evTime = '4:15 AM'; }
					else if ( evTimeNum == 515 ) { evTime = '5:15 AM'; }
					else if ( evTimeNum == 615 ) { evTime = '6:15 AM'; }
					else if ( evTimeNum == 715 ) { evTime = '7:15 AM'; }
					else if ( evTimeNum == 815 ) { evTime = '8:15 AM'; }
					else if ( evTimeNum == 915 ) { evTime = '9:15 AM'; }
					else if ( evTimeNum == 1015 ) { evTime = '10:15 AM'; }
					else if ( evTimeNum == 1115 ) { evTime = '11:15 AM'; }
					else if ( evTimeNum == 1215 ) { evTime = '12:15 PM'; }
					else if ( evTimeNum == 1315 ) { evTime = '1:15 PM'; }
					else if ( evTimeNum == 1415 ) { evTime = '2:15 PM'; }
					else if ( evTimeNum == 1515 ) { evTime = '3:15 PM'; }
					else if ( evTimeNum == 1615 ) { evTime = '4:15 PM'; }
					else if ( evTimeNum == 1715 ) { evTime = '5:15 PM'; }
					else if ( evTimeNum == 1815 ) { evTime = '6:15 PM'; }
					else if ( evTimeNum == 1915 ) { evTime = '7:15 PM'; }
					else if ( evTimeNum == 2015 ) { evTime = '8:15 PM'; }
					else if ( evTimeNum == 2115 ) { evTime = '9:15 PM'; }
					else if ( evTimeNum == 2215 ) { evTime = '10:15 PM'; }
					else if ( evTimeNum == 2315 ) { evTime = '11:15 PM'; }
					// third quarter hours
					else if ( evTimeNum == 45 ) { evTime = '12:45 AM'; }
					else if ( evTimeNum == 145 ) { evTime = '1:45 AM'; }
					else if ( evTimeNum == 245 ) { evTime = '2:45 AM'; }
					else if ( evTimeNum == 345 ) { evTime = '3:45 AM'; }
					else if ( evTimeNum == 445 ) { evTime = '4:45 AM'; }
					else if ( evTimeNum == 545 ) { evTime = '5:45 AM'; }
					else if ( evTimeNum == 645 ) { evTime = '6:45 AM'; }
					else if ( evTimeNum == 745 ) { evTime = '7:45 AM'; }
					else if ( evTimeNum == 845 ) { evTime = '8:45 AM'; }
					else if ( evTimeNum == 945 ) { evTime = '9:45 AM'; }
					else if ( evTimeNum == 1045 ) { evTime = '10:45 AM'; }
					else if ( evTimeNum == 1145 ) { evTime = '11:45 AM'; }
					else if ( evTimeNum == 1245 ) { evTime = '12:45 PM'; }
					else if ( evTimeNum == 1345 ) { evTime = '1:45 PM'; }
					else if ( evTimeNum == 1445 ) { evTime = '2:45 PM'; }
					else if ( evTimeNum == 1545 ) { evTime = '3:45 PM'; }
					else if ( evTimeNum == 1645 ) { evTime = '4:45 PM'; }
					else if ( evTimeNum == 1745 ) { evTime = '5:45 PM'; }
					else if ( evTimeNum == 1845 ) { evTime = '6:45 PM'; }
					else if ( evTimeNum == 1945 ) { evTime = '7:45 PM'; }
					else if ( evTimeNum == 2045 ) { evTime = '8:45 PM'; }
					else if ( evTimeNum == 2145 ) { evTime = '9:45 PM'; }
					else if ( evTimeNum == 2245 ) { evTime = '10:45 PM'; }
					else if ( evTimeNum == 2345 ) { evTime = '11:45 PM'; }
					// twenty after
					else if ( evTimeNum == 20 ) { evTime = '12:20 AM'; }
					else if ( evTimeNum == 120 ) { evTime = '1:20 AM'; }
					else if ( evTimeNum == 220 ) { evTime = '2:20 AM'; }
					else if ( evTimeNum == 320 ) { evTime = '3:20 AM'; }
					else if ( evTimeNum == 420 ) { evTime = '4:20 AM'; }
					else if ( evTimeNum == 520 ) { evTime = '5:20 AM'; }
					else if ( evTimeNum == 620 ) { evTime = '6:20 AM'; }
					else if ( evTimeNum == 720 ) { evTime = '7:20 AM'; }
					else if ( evTimeNum == 820 ) { evTime = '8:20 AM'; }
					else if ( evTimeNum == 920 ) { evTime = '9:20 AM'; }
					else if ( evTimeNum == 1020 ) { evTime = '10:20 AM'; }
					else if ( evTimeNum == 1120 ) { evTime = '11:20 AM'; }
					else if ( evTimeNum == 1220 ) { evTime = '12:20 PM'; }
					else if ( evTimeNum == 1320 ) { evTime = '1:20 PM'; }
					else if ( evTimeNum == 1420 ) { evTime = '2:20 PM'; }
					else if ( evTimeNum == 1520 ) { evTime = '3:20 PM'; }
					else if ( evTimeNum == 1620 ) { evTime = '4:20 PM'; }
					else if ( evTimeNum == 1720 ) { evTime = '5:20 PM'; }
					else if ( evTimeNum == 1820 ) { evTime = '6:20 PM'; }
					else if ( evTimeNum == 1920 ) { evTime = '7:20 PM'; }
					else if ( evTimeNum == 2020 ) { evTime = '8:20 PM'; }
					else if ( evTimeNum == 2120 ) { evTime = '9:20 PM'; }
					else if ( evTimeNum == 2220 ) { evTime = '10:20 PM'; }
					else if ( evTimeNum == 2320 ) { evTime = '11:20 PM'; }
		
					var ev4TimeNum = evTimeNum.toString();
					if (ev4TimeNum.length == 3) {
						ev4TimeNum = '0'+ev4TimeNum;
					} else if (ev4TimeNum.length == 2) {
						ev4TimeNum = '00'+ev4TimeNum;
					} else if (ev4TimeNum.length == 1) {
						ev4TimeNum = '000'+ev4TimeNum;
					} else if (ev4TimeNum.length == 0 || ev4TimeNum.length >4) {
						ev4TimeNum = '0000';
					}
					
					tableInnards += '<tr expire="'+evDateNum+'" date="'+evDateNum+ev4TimeNum+'" time="'+evTimeNum+'" state="'+evState+'"><td class="state"><span class="inState" style="display:block;clear:both;">'+evState+'</span> <p class="filter" style="background:#4e5584;color:#ffffff;margin:0.5em -0.65em 0;padding:0.5em 0.2em 0.75em;display:none;font-size:0.8em;" class="sidenote"><a href="#" class="only" style="clear:both;display:block;margin:0 0 0.5em;border-bottom:1px solid #cccccc;padding-bottom:0.5em;color:#ffffff;">Only '+evState+'</a> <a href="#" class="hide" style="border:0;color:#ffffff;">Hide '+evState+'</a></p></td><td class="date">'+evDate+' <em>'+evTime+'</em></td><td class="venue">'+evVenue+'</td><td class="charge">'+evCharge+'</td><td class="contact">'+evContact+'</td></tr>'
				}
			});
			//build HTML
			$("#js-table").append('<div class="sortby">Sort by: <a class="state">State</a> | <a class="date">Date</a></div><table class="showtimes-table unsorted" style="width:100%;"><thead><tr><th class="state">State</th><th class="date">Date &amp; Time</th><th class="venue">Venue</th><th class="charge">Charge</th><th class="contact">Contact Info</th></tr></thead><tbody>'+tableInnards+'</tbody></table>');
			
			function sortStateDn() {
				// sort by state
				var thisHead = $(this);
				var thisTable = $("#js-table>table");
				var rows = $("#js-table>table tbody tr").get();
				rows.sort(function(a, b) {
					var compA = $(a).attr("state").toUpperCase();
					var compB = $(b).attr("state").toUpperCase();
					return (compA < compB) ? -1 : (compA > compB) ? 1 : 0;
				})
				$.each(rows, function(idx, itm) { thisTable.append(itm); });
			};
			sortStateDn();
			$(".sortby a.state").css("fontWeight","bold");

			// remove expired rows
			function removeOld() {
				var today = new Date();
				var todayYr = today.getFullYear();
				var todayMo = today.getMonth() + 1;
				if ( todayMo < 10 ) {
					todayMo = '0'+todayMo;
				}
				var todayDay = today.getDate();
				if ( todayDay < 10 ) {
					todayDay = '0'+todayDay;
				}
				var today2 = todayYr+''+todayMo+''+todayDay;
				var today = today2;
				$("#js-table tr").each(function() {
					var expires = $(this).attr("expire");
					if ( expires < today ) {
						$(this).addClass("old");
					}		
				});
				$("#js-table tr.old").remove();
			};
			removeOld();
			
			
			// state filter dropdown
			/** want to:
				1) cycle through table, adding attrib 'state' to array
				2) make sure each state is listed only once in array
				3) cycle through array, building select option for each state
				4) make choosing an option from the select display the given state
			**/
			
		});
		
		// sort table
		$("table.showtimes-table thead th").live("click", function() {
			var normalOrReverse =  ( $("#js-table table").hasClass("unsorted") || $("#js-table table").hasClass("reverseSorted") );
			var sorted = ( $("#js-table table").hasClass("sorted") );
			
			var stateTrip = ( $("#js-table table").hasClass("cat-date") );
			var dateTrip = ( $("#js-table table").hasClass("cat-state") );
			
			function clearClass() { $("#js-table table").removeClass("cat-date").removeClass("cat-state"); };
			function highState(thisHead) {
				$("#js-table th, #js-table td").removeClass("highlight");
				$("#js-table .state").addClass("highlight");
				$(".sortby a.date").css("fontWeight","normal");
				$(".sortby a.state").css("fontWeight","bold");
			};
			function highDate(thisHead) {
				$("#js-table th, #js-table td").removeClass("highlight");
				$("#js-table .date").addClass("highlight");
				$(".sortby a.state").css("fontWeight","normal");
				$(".sortby a.date").css("fontWeight","bold");
			};
			
			if ( $(this).hasClass("state") && (normalOrReverse || stateTrip) ) {
				// sort by state
				var thisHead = $(this);
				var thisTable = $("#js-table>table");
				var rows = $("#js-table>table tbody tr").get();
				rows.sort(function(a, b) {
					var compA = $(a).attr("state").toUpperCase();
					var compB = $(b).attr("state").toUpperCase();
					return (compA < compB) ? -1 : (compA > compB) ? 1 : 0;
				})
				$.each(rows, function(idx, itm) { thisTable.append(itm); });

				$("#js-table table").removeClass("unsorted").removeClass("reverseSorted").addClass("sorted");
				highState();
				$(".arr-up, .arr-dn").removeClass("arr-up").removeClass("arr-dn");
				$("th.state").addClass("arr-dn");
				clearClass();
				$("#js-table table").addClass("cat-state");

			} else if ( $(this).hasClass("date") && (normalOrReverse || dateTrip) ) {
				// sort by date, then time
				var thisTable = $("#js-table>table");
				var rows = $("#js-table>table tbody tr").get();
				rows.sort(function(a, b) {
					var compA = $(a).attr("date");
					var compB = $(b).attr("date");
					return (compA < compB) ? -1 : (compA > compB) ? 1 : 0;
				})
				$.each(rows, function(idx, itm) { thisTable.append(itm); });
				
				$("#js-table table").removeClass("unsorted").removeClass("reverseSorted").addClass("sorted");
				highDate();
				$(".arr-up, .arr-dn").removeClass("arr-up").removeClass("arr-dn");
				$("th.date").addClass("arr-dn");
				clearClass();
				$("#js-table table").addClass("cat-date");
				
			} else if ( $(this).hasClass("state") && (sorted || stateTrip) ) {
				// REVERSE sort by state
				var thisTable = $("#js-table>table");
				var rows = $("#js-table>table tbody tr").get();
				rows.sort(function(a, b) {
					var compA = $(a).attr("state").toUpperCase();
					var compB = $(b).attr("state").toUpperCase();
					return (compA > compB) ? -1 : (compA < compB) ? 1 : 0;
				})
				$.each(rows, function(idx, itm) { thisTable.append(itm); });

				$("#js-table table").addClass("unsorted").addClass("reverseSorted").removeClass("sorted");
				highState();
				$(".arr-up, .arr-dn").removeClass("arr-up").removeClass("arr-dn");
				$("th.state").addClass("arr-up");
				clearClass();
				$("#js-table table").addClass("cat-state");

			} else if ( $(this).hasClass("date") && (sorted || dateTrip) ) {
				// REVERSE sort by date, the time
				var thisTable = $("#js-table>table");
				var rows = $("#js-table>table tbody tr").get();
				rows.sort(function(a, b) {
					var compA = $(a).attr("date");
					var compB = $(b).attr("date");
					return (compA > compB) ? -1 : (compA < compB) ? 1 : 0;
				})
				$.each(rows, function(idx, itm) { thisTable.append(itm); });
				
				$("#js-table table").addClass("unsorted").addClass("reverseSorted").removeClass("sorted");
				highDate();
				$(".arr-up, .arr-dn").removeClass("arr-up").removeClass("arr-dn");
				$("th.date").addClass("arr-up");
				clearClass();
				$("#js-table table").addClass("cat-date");
				
			}
			
		});
		$("a.state, a.date").live("click", function() {
			if ( $(this).hasClass("state") ) {
				$("table.showtimes-table thead th.state").click();
			} else if( $(this).hasClass("date") ) {
				$("table.showtimes-table thead th.date").click();
			}
		});
		
		// filtering
		// show/hide filters
		$("table.showtimes-table tbody tr td").live("mouseover", function(e) {
			var thisRow = $(this).parents("tr");
			var thisState = thisRow.attr("state");
			if ( $("body").hasClass("filter-show") ) {
				//do nothing
			} else {
				$(thisRow).find(".filter").show();
				$("body").addClass("filter-show");
			}
		});
		$("table.showtimes-table tbody tr td").live("mouseout", function() {
			$(".filter-show .filter").hide();
			$("body").removeClass("filter-show");
		});
		// do the filtering
		$("table.showtimes-table tbody td.state a").live("click", function() {
			thisState = $(this).parent().parent().parent().attr("state");
			if ( $(this).hasClass("only") ) {
				$("table.showtimes-table tbody tr[state!='"+thisState+"']").hide();
				if ( ($(this).text() == ('Only ' + thisState)) ) {
					$("table.showtimes-table tbody tr[state='"+thisState+"'] td.state a.only").text("Reset");
				} else if ( $(this).text() == 'Reset') {
					$("table.showtimes-table tbody tr[state='"+thisState+"'] td.state a.only").text("Only " + thisState);
					$("table.showtimes-table tbody tr[state!='"+thisState+"']").show();
				}
				return false;
			} else if( $(this).hasClass("hide") ) {
				//test if it'll be blank, and restore hidden rows if so				
				if ( ($("table.showtimes-table tbody tr:visible:first").attr("state") == thisState) && ( $("table.showtimes-table tbody tr:visible:last").attr("state") == thisState) ) {
					$("table.showtimes-table tbody tr[state!='"+thisState+"']").show();
				}
				//then go ahead and hide it
				$("table.showtimes-table tbody tr[state='"+thisState+"']").hide();
				return false;
			} else { return false; }
		});
		
		// show sidebar option
		$("#article").append("<p id='get-hide' class='noshow'><- Show Sidebar</p>");
		$("#get-hide").click(function() {
			$("body").toggleClass("show-side");
			$("#sidebar").toggle();
			$("#get-hide").toggleClass("noshow");
			if ( $("#get-hide").hasClass("noshow") ) {
				$("#get-hide").text("<- Show Sidebar");
			} else {
				$("#get-hide").text("Hide Sidebar ->");
			}
		});
		
		// legal warning thing
		if ( $.cookie("legal-hide-showtimes") == "true" ) {
			$("#legal-alert").hide();
		}
		$("#legal-alert").append("<div class='close-alert' title='Close'>x</div>");
		$(".close-alert").live("click", function() {
			$(this).parent(".alert").slideUp();
			$.cookie("legal-hide-showtimes", "true", { expires: 365 });
		});	
		
	}
	
	// end Showtimes
});