function reloadCities()
{

	$( '#ip-city' ).empty();
				
	var stateCode = $( '#ip-state option:selected' )[0].value;
			
	if ( cities[ stateCode ] )
	{
	
		$( '<option></option>' ).appendTo( '#ip-city' );
	
		for ( var cityIndex = 0; cityIndex < cities[ stateCode ].length; cityIndex++ )
		{
				
			var newOption = $( '<option>' + cities[ stateCode ][ cityIndex ] + '</option>' )
			
			if ( newOption.text() == ipCity )
				newOption.attr( 'selected' , 'selected' );
			
			newOption.appendTo( '#ip-city' );
				
		} // for
			
	} // if
	else
	{
		
		$.get( 
			'/json/' + stateCode + '/cities/' , {} , 
			function( json )
			{

				var response = eval( '(' + json + ')' );  				
				cities[ stateCode ] = response.cities;
				reloadCities();

			} // function
		);

	} // else

} // reloadCities

function reloadEvents()
{

	var parameters = {};
	parameters.state = $( '#ip-state option:selected' )[0].value;
	parameters.city = $( '#ip-city option:selected' )[0].value;

	$( 'table.events' ).empty();
	
	
	$.get( 
			'/json/concert/near/' , parameters , 
			function( json )
			{

				var response = eval( '(' + json + ')' );  				
				var concerts = response.concerts;
				var previousDate = '';
				
				for ( var concertIndex = 0; concertIndex < concerts.length; concertIndex++ )
				{
				
					var concert = concerts[ concertIndex ];
					var dateParts = concert.date.split( '-' );

					if ( concert.date != previousDate )
					{
					
						if ( previousDate != '' )
						{
						
							concertTd.appendTo( dateTr );
							dateTr.appendTo( 'table.events' );
						
						} // if
						
						dateTr = $( '<tr><td class="date"><a class="month" href="/' + dateParts[0] + '/' + dateParts[1] + '/">' + monthName[ parseInt( dateParts[1] , 10 ) ] + '</a><a class="day" href="/' + dateParts[0] + '/' + dateParts[1] + '/' + dateParts[2] + '/">' + parseInt( dateParts[2] , 10 ) + '</a></td></tr>' );

						concertTd = $( '<td class="details"></td>' );

						previousDate = concert.date;
					
					} // if
				
					$( '<div class="event shaded padded"><a class="band" href="http://playinghere.com/band/' + concert.band.name_path + '/">' + concert.band.name + '</a> <span class="time">' + concert.time + '</span> at <a href="/' + concert.venue.state + '/' + concert.venue.city_path + '/' + concert.venue.name_path + '/">' + concert.venue.name + '</a> in <a href="/' + concert.venue.state + '/' + concert.venue.city_path + '/">' + concert.venue.city + '</a> &#8212; <a href="/' + dateParts[0] + '/' + dateParts[1] + '/' + dateParts[2] + '/' + concert.venue.state + '/' + concert.venue.city_path + '/' + concert.venue.name_path + '/" class="discuss">discuss</a></div>' )
						.appendTo( concertTd );
					
				} // for
				
				concertTd.appendTo( dateTr );
				dateTr.appendTo( 'table.events' );

			} // function
		);

} // reloadEvents

$( document ).ready(

	function()
	{

		ipCity = $( '#ip-city' ).text();
		var state = $( '#ip-state' ).text();

		$( '#ip-note' ).empty();

		var stateSelect = $( '<select id="ip-state"></select>' )
			.change( 
			
				function()
				{
					
					ipCity = false;
					reloadCities();
			
				} // function
			);
		
		$( '#browse select option' ).each(
		
			function( optionIndex )
			{
			
				if ( this.value != '' )
				{
				
					var newOption = $( this ).clone( true );
					
				
					if ( newOption.text() == state )					
						newOption.attr( 'selected' , 'selected' );	
					
					newOption.appendTo( stateSelect );
				
				} // if
			
			} // function
		
		);
		
		var citySelect = $( '<select id="ip-city"></select>' )
			.change( reloadEvents );

		var newNote = $( '<div>Upcoming concerts near </div>' )

		stateSelect.appendTo( newNote );
		$( '<span> &#187; </span>' ).appendTo( newNote );
		citySelect.appendTo( newNote );
		$( '<span>:</span>' ).appendTo( newNote );
		
		newNote.appendTo( '#ip-note' );

		reloadCities();

	} // function

);

var ipCity = false;
var cities = new Array();
var monthName = new Array( '' , 'JAN' , 'FEB ' , 'MAR' , 'APR' , 'MAY' , 'JUN' , 'JUL' , 'AUG' ,  'SEP' , 'OCT' , 'NOV' , 'DEC' );