var lstview_i;
var lstview_j;
var lstview_row;
var StartingRow = 0;
var strTable = '';
var orgEndingRow;
var strFilterByMonth = 'All';
var arrDataByMonth;
var NoResults = 1;
var initNumRes = 20;
var HomeAwayAll = 'home';
var RowColorChecker = 0;
var HOmeAwayAll_calview = '0'; 
var FilterByVenue = 'All';
var VenueDropDown = '';
var FirstTimeVenueCounter = 0;
var searchFilterClass = '';
var eventListClass ='';

function createVenueDropdown() {
	VenueDropDown = VenueDropDown.replace(" selected","");
	VenueDropDown = VenueDropDown.replace('<option value="' + FilterByVenue + '">', '<option value="' + FilterByVenue + '" selected>');
	
	if(FirstTimeVenueCounter == 0)
	{
		var varr = new Array();
		var zstr='';
		for(lstview_i=0;lstview_i<lstview_rows;lstview_i++)
		{
			lstview_row = ticketArray[lstview_i].length;
			var cv = ticketArray[lstview_i][lstview_row-1];
			if (zstr.indexOf(cv) <0) {
				var narr = new Array ([cv]);
				varr = varr.concat(narr);
				zstr = zstr + cv;
			}
		}
		varr.sort();
		VenueDropDown = '<select id="FilterByVenue" onchange="doVenueFilter();" class="filterbymonth">';
		VenueDropDown += '<option value="All">All</option>';
		for(lstview_i=0;lstview_i<varr.length;lstview_i++)
		{
			VenueDropDown += '<option value="' + varr[lstview_i] + '">';
			VenueDropDown += varr[lstview_i] + '</option>';
		}
		VenueDropDown += '</select>';
		FirstTimeVenueCounter = 1;
	}
}

function modeSwitch(val) {
	if (val == 'Calendar') {
		doCalendar();
	} else if (val == 'List') {
		showList();
	}
}

function hasMonthEvent(theMonth) {
	for (var i = 0; i < dA.length; i++) {
		var cm = parseInt(Venue[i].split("|")[1]);
		if (cm == theMonth) {
			return true;
		}
	}
	return false;
}

function CrateTable()
{

	var allresults = false;
	if ('All' == initNumRes) {
		allresults = true;
		initNumRes = ticketArray.length;
	}
	NumberOfPages = initNumRes;
	strTable = '<div id="searchFilterBox"' + searchFilterClass + '><table  valign="top" cellpadding="0"><tr>';
	
	if(TabActive)
	{
		strTable += '<td align="right" style="padding-right:5px">SHOW:</td>';
		strTable += '<td style="padding-right:20px"><select style="width:100px; font-size:11px; text-transform:none" onChange="javascript:SelectedTab(this.value);">';		
		if(HomeAwayAll == 'home')
		{
			strTable += '<option value="home" selected>Home Games</option>';
			strTable += '<option value="away">Away Games</option>';
			strTable += '<option value="all">All Games</option>';

		}
		else if(HomeAwayAll == 'away')
		{
			strTable += '<option value="home">Home Games</option>';
			strTable += '<option value="away" selected>Away Games</option>';
			strTable += '<option value="all">All Games</option>';
		}
		else if(HomeAwayAll == 'all')
		{
			strTable += '<option value="home">Home Games</option>';
			strTable += '<option value="away">Away Games</option>';
			strTable += '<option value="all" selected>All Games</option>';
		}
		strTable += '</select></td>';
	}
	
	strTable += '<td align="right" style="padding-right:5px">RESULTS PER PAGE:</td>';
	strTable += '<td style="padding-right:20px"><select id="ResultsPerPage" style="width:50px; font-size:11px; text-transform:none" onchange="updateResultsPerPage();">';
    strTable += '<option value="10">10</option>';
    strTable += '<option value="20">20</option>';
    strTable += '<option value="50">50</option>';
	strTable += '<option value="100">100</option>';
    strTable += '</select></td>';
	strTable = strTable.replace('<option value="' + initNumRes + '">', '<option value="' + initNumRes + '" selected>');

    var monthColumn = '<td align="right" style="padding-right:5px">MONTH:</td><td style="padding-right:20px"><select id="FilterByMonth" style="width:80px; font-size:11px; text-transform:none" onchange="updateResultsPerPage();">';
	monthColumn += '<option value="All">All</option>';
	if (hasMonthEvent(1)) monthColumn += '<option value="1">January</option>';
	if (hasMonthEvent(2)) monthColumn += '<option value="2">February</option>';
	if (hasMonthEvent(3)) monthColumn += '<option value="3">March</option>';
	if (hasMonthEvent(4)) monthColumn += '<option value="4">April</option>';
	if (hasMonthEvent(5)) monthColumn += '<option value="5">May</option>';
	if (hasMonthEvent(6)) monthColumn += '<option value="6">June</option>';
	if (hasMonthEvent(7)) monthColumn += '<option value="7">July</option>';
	if (hasMonthEvent(8)) monthColumn += '<option value="8">August</option>';
	if (hasMonthEvent(9)) monthColumn += '<option value="9">September</option>';
	if (hasMonthEvent(10)) monthColumn += '<option value="10">October</option>';
	if (hasMonthEvent(11)) monthColumn += '<option value="11">November</option>';
	if (hasMonthEvent(12)) monthColumn += '<option value="12">December</option>';
	monthColumn += '</select></td>';
	monthColumn = monthColumn.replace('<option value="' + strFilterByMonth + '">', '<option value="' + strFilterByMonth + '" selected>');
	strTable += monthColumn;
	
	var modeColumn= '<td align="right" style="padding-right:5px">VIEW:</td><td><SELECT style="width:80px; font-size:11px; text-transform:none" onchange="javascript:modeSwitch(this.value)">';
	modeColumn += '<option value="List">List View</option>';
	modeColumn += '<option value="Calendar">Calendar View</option>';
	modeColumn += '</select></td>';
	strTable += modeColumn;

	strTable += '</tr></table></div>';
	

	strTable += '<div id="eventList"' + eventListClass + '>';
	strTable += '<div id="columnTitles"><table width="587" cellpadding="0"><tr><td width="241" align="center">EVENT NAME</td><td width="139" align="center">DATE/TIME</td><td width="190" align="center">VENUE/CITY</td></tr></table></div><div id="listentry_container">';
	
	
	TotalResults = 0;
	DisplayedResults = 0;
	var lstview_i = 0;
	var offsetResults = initNumRes*(currentPage-1);

	for(i=0;i<ticketArray.length;i++)
	{
		var lstview_row = ticketArray[i].length;
		var currentMonth = Venue[i].split("|")[1];
		var currentVenue = ticketArray[i][lstview_row-1];
		var currentLoc = ticketArray[i][lstview_row-2];
		if ((currentMonth == strFilterByMonth || strFilterByMonth =="All") && (HomeAwayAll=='all' || currentLoc == HomeAwayAll) ) {
			TotalResults++;
			NoResults=0;
			if (offsetResults <=0 && DisplayedResults < initNumRes) {
				DisplayedResults++;
				if(RowColorChecker == 0)
				{
					strTable += '<div class="listLightRow">';
					RowColorChecker = 1;
				}
				else
				{
					strTable += '<div class="listDarkRow">';
					RowColorChecker = 0;
				}
				
				strTable += '<table cellpadding="0" cellspacing="10" align="left" width="100%"><tr valign="middle">';

				//iterate through all the columns
				for(lstview_j=0;lstview_j<(lstview_row-2);lstview_j++) 
				{
					if (lstview_j==0) {
						strTable += '<td class="listeventname" width="235px">' + ticketArray[i][lstview_j] + '&nbsp;</td>';
					} else if (lstview_j==1) {
						strTable += '<td class="listeventdetails" width="130px">' + ticketArray[i][lstview_j] + '&nbsp;</td>';
					} else if (lstview_j==2) {
						strTable += '<td class="listeventdetails" width="190px">' + ticketArray[i][lstview_j] + '&nbsp;</td>';
					} else {
						strTable += '<td class="listeventdetails" width="146px">' + ticketArray[i][lstview_j] + '&nbsp;</td>';
					}
				}
				strTable += '</tr></table></div>';
			} else {
				offsetResults--;
			}
			
		}
	}
	strTable += '</div></div>'; //closes event list and listentry container
	
	strTable += '<div id="resultsShowing" align="right"><table cellspacing="0" cellpadding="0" border="0">';
	if(NoResults == 0)
	{
		var fn = currentPage*initNumRes-(initNumRes-1);
		var tn = currentPage*initNumRes;
		if (tn > TotalResults) tn = TotalResults;
		_rz = 'Showing ' + fn + ' - ' + tn + ' of ' + TotalResults + ' results';

		strTable += '<tr><td colspan="2"><div class="showing">' + _rz + '</div></td></tr>'
		if(currentPage > 1 && tn < TotalResults)
		{
			strTable += '<tr><td width="110"> <div class="ReadmoreRed'+ArrowTextColor+'"><div class="next_arrow prev_arrow'+TableColor+'"></div><a href="javascript:void(0);" onclick="PreviousPage(); return false;">Prev Page</a></div></td>';
			strTable += '<td width="84"> <div class="next_arrow next_arrow'+TableColor+'"></div><div class="ReadmoreRed'+ArrowTextColor+'"><a href="javascript:void(0);" onclick="NextPage(); return false;">Next Page</a></div></td></tr></table></div>';
		} else if (currentPage == 1 && tn < TotalResults) {
			strTable += '<tr><td width="110"></td>';
			strTable += '<td width="84"> <div class="next_arrow next_arrow'+TableColor+'"></div><div class="ReadmoreRed'+ArrowTextColor+'"><a href="javascript:void(0);" onclick="NextPage(); return false;">Next Page</a></div></td></tr></table></div>';
		} else if(currentPage > 1 && tn >= TotalResults) {
			strTable += '<tr><td width="110"></td>';
			strTable += '<td width="84"> <div class="ReadmoreRed'+ArrowTextColor+'"><div class="next_arrow prev_arrow'+TableColor+'"></div><a href="javascript:void(0);" onclick="PreviousPage(); return false;">Prev Page</a></div></td></tr></table></div>';
		}

	} else {
		strTable = strTable.replace('Showing x - y of z results.', 'Showing 0 - 0 of 0 results.')
		strTable += '<tr><td colspan="2"><div class="showing">Showing 0 - 0 of 0 results</div></td></tr>';
	}
	
	//strTable = strTable.replace(/<tr class=\"row1\"><\/tr>/g,'');
	//strTable = strTable.replace(/<tr class=\"row2\"><\/tr>/g,'');

	strTable += '</table></div>';
	
	document.getElementById('lstviewEvent').innerHTML = strTable;
	RowColorChecker = 0;
}

function doVenueFilter() {
	HomeAwayAll="all";
	updateResultsPerPage();
}

function updateResultsPerPage()
{
	currentPage=1;
	NoResults = 1; //assume no results found..
    initNumRes = document.getElementById('ResultsPerPage').value;
	strFilterByMonth = document.getElementById('FilterByMonth').value;
	CrateTable();
}
var currentPage =1;
function NextPage()
{
	currentPage++;
	CrateTable();
	window.scrollTo(0,0);
}

function PreviousPage()
{
	currentPage--;
	CrateTable();
	window.scrollTo(0,0);
}

function SelectedTab(strSelectedTab)
{
	HomeAwayAll = strSelectedTab;
	updateResultsPerPage();
}