function loadEventSchedule(eventId,loadLocal,cache,ticketAlert) {
	if (ticketAlert) {
		loadEventAlertTable(eventId,PageColor);
	} else {
		var jsonUrl = "/javascript/events_v2.shtml?eventId=" + eventId
		if (cache) {
			jsonUrl = jsonUrl + "&jbtest=true";
		}
		$.ajax({
		  url: jsonUrl,
		  cache: false,
		  success: function(data){
			dj_eval(data,true);
			if (loadLocal) {
				loadLocalContent(eventId);
			}
		  }
		});
	}
}

function loadEventScheduleByCity(eventId,city) {
	$.ajax({
	  url: "/javascript/events.shtml?eventId=" + eventId + "&city=" + city,
	  cache: false,
	  success: function(data){
		dj_eval(data,true);
	  }
	});
}

function loadEventScheduleByVenue(eventId,venueId) {
	$.ajax({
	  url: "/javascript/events.shtml?jbtest=true&venueId=" + venueId + "&eventId=" + eventId,
	  cache: false,
	  success: function(data){
		dj_eval(data,true);
	  }
	});
}

function loadEventScheduleByRegion(eventId,regionId) {
	$.ajax({
	  url: "/javascript/events.shtml?jbtest=true&regionId=" + regionId + "&eventId=" + eventId,
	  cache: false,
	  success: function(data){
		dj_eval(data,true);
	  }
	});
}

function loadEventAlertTable(eventId,style) {
	$.ajax({
	  url: "/javascript/eventAlert.shtml?eventId=" + eventId + "&style=" + style,
	  cache: true,
	  success: function(responseText){
		 $("#lstviewEvent").html(responseText);
	  }
	});
}

function dj_eval(/*String*/ scriptFragment, /*bool*/forceGlobal){ 
  // summary: Perform an evaluation in the global scope.  Use this rather than calling 'eval()' directly.
  // description: Placed in a separate function to minimize size of trapped evaluation context.
  // note:
  //  - JSC eval() takes an optional second argument which can be 'unsafe'.
  //  - Mozilla/SpiderMonkey eval() takes an optional second argument which is the
  //    scope object for new symbols.

  // Fix to evaluate in global scope for IE
  if (forceGlobal && window.execScript) {
    window.execScript(scriptFragment);
    return 1; // or just return?
  } 
  if (forceGlobal) {
    // From: http://trac.dojotoolkit.org/ticket/236
    var script = document.createElement('script');
    var content = document.createTextNode(scriptFragment);
    script.appendChild(content);
    script.type = 'text/javascript';
    script.defer = false;
    var head = document.getElementsByTagName('head').item(0);
    head.appendChild(script);
    return 1; // or just return?
  }
  return dj_global.eval ? dj_global.eval(scriptFragment) : eval(scriptFragment); 	// mixed
}

function echeck(str) {

	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	if (str.indexOf(at)==-1){
	   alert("Invalid E-mail Address")
	   return false
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	   alert("Invalid E-mail Address")
	   return false
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		alert("Invalid E-mail Address")
		return false
	}

	 if (str.indexOf(at,(lat+1))!=-1){
		alert("Invalid E-mail Address")
		return false
	 }

	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		alert("Invalid E-mail Address")
		return false
	 }

	 if (str.indexOf(dot,(lat+2))==-1){
		alert("Invalid E-mail Address")
		return false
	 }
	
	 if (str.indexOf(" ")!=-1){
		alert("Invalid E-mail Address")
		return false
	 }

	 return true					
}

function chkForm() {
	if (echeck(document.forms.eventAlertForm.email.value)) document.forms.eventAlertForm.submit();
}

function writeMessage(message) {
	var theElm = document.getElementById("lstviewEvent");
	theElm.innerHTML = "<p class=\"eventinfo\" style=\"padding:10px 0px 10px 0px;color:#336699\">" + message + "</p>"; 
}

function ajaxAlert(eventId) {
	var theEmail = document.getElementById("alertEmail").value;
	var regionId = 0;
	if (document.getElementById("regionId")) {
		regionId = document.getElementById("regionId").value;
	}
    if (!echeck(theEmail)) return;
	$.ajax({
	  url: "/shop/addEventAlert.shtml?email=" + theEmail + "&regionId=" + regionId + "&eventId=" + eventId,
	  cache: false
	});
	writeAlertSuccess();
}

function writeAlertSuccess() {
	var theElm = document.getElementById("lstviewEvent");
	var theHtml = "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" bgcolor=\"#FFFFFF\" align=\"center\" id=\"eventAlert\">";
	theHtml = theHtml + "<tr align=\"left\" valign=\"top\">" +
        		"<td height=\"17\" colspan=\"2\"><p><img src=\"http://www.vividseats.com/images/nav/btn-next.jpg\" width=\"6\" height=\"9\">&nbsp;Thank You! We'll send you an email when tickets for this event become available.<br><br></p></td>" +
      		"</tr></table>";
	theElm.innerHTML = theHtml;
	s1=s_gi('vividseatscom');
	s1.events = "event7";
	void(s1.t());
	pageTracker._trackPageview("/email/eventalert"); 
}

function updateTable() {
	initNumRes = document.getElementById("ResultsPerPage").value;
	strFilterByMonth = document.getElementById("FilterByMonth").value;
	CrateTable();
}
function updateTab(val) {
	initNumRes = document.getElementById("ResultsPerPage").value;
	strFilterByMonth = document.getElementById("FilterByMonth").value;
	HomeAwayAll = val;
	CrateTable();
}

function showCalendar() {
	document.getElementById('lstviewEvent').innerHTML ='';
	document.getElementById('lstviewEvent').style.display = "none";
	HOmeAwayAll_calview="0";
	if (TabActive == false) HOmeAwayAll_calview="0";
	start();
}
function showList() {
	document.getElementById('calendar').innerHTML ='';
	document.getElementById('lstviewEvent').style.display = "block";
	CrateTable();
	if (hasLocal) {
		$("#localContent").html(localContent);
	}
}

function PreviousPage()
{
	currentPage--;
	CrateTable();
	if (hasLocal && currentPage==1) {
		$("#localContent").html(localContent);
	}
	window.scrollTo(0,0);
}

function loadNextPage() {
	currentPage++;
	CrateTable();

}
function doCalendar() {
	try {
		createVenueDropdown();
	} catch (x) {}
	showCalendar();
}

function locationChanged(zip,region) {
	$.nyroModalRemove();
	if (zip != null) {
		$.get("/shop/updateLocation.shtml?zip=" + zip,{}, function() {loadLocalContent(eventId);});
	} else {
		$.get("/shop/updateLocation.shtml?regionId=" + region,{}, function() {loadLocalContent(eventId);});
	}
	
}

var localContent ="";
var hasLocal = false;
function loadLocalContent(eventId) {
	$.ajax({
	  url: "/javascript/localevents.shtml?eventId=" + eventId + "&pageColor=" + PageColor,
	  cache: true,
	  success: function(responseText){
		if (responseText.indexOf("regionName") >= 0 && $("#localContent").length > 0) {
			hasLocal = true;
			localContent = responseText;
			$("#localContent").html(localContent);
			$($.fn.nyroModal.settings.openSelector).nyroModal();
			$("#localpanel").html("Current Location: " + $('#regionName').html() + " (<a id=\"localizer\" href=\"#\">change</a>)");
			$("#location_textbox").html($('#regionName').html() + " Events&nbsp;&nbsp;&nbsp;");
			$('#localizer').click(function(e) {
				e.preventDefault();
				$.nyroModalSettings({
					zIndexStart: 10000,
					minWidth:330,
					minHeight:140,
					padding:0
				});
				$.nyroModalManual({
					url: '/shop/changelocation.shtml'
				});
				return false;
			});
		}
	  }
	});
}

