// JavaScript Document

var theBandId;
var theVenueId;
var theVenueName;
var themePath;
var newDays = '';

var sect;

$(function() {
	
	//if(newDays != null) newDays = null;
		
	// SHOW THE LOADER
	$('.loading').css('display', 'block');
	
	// SET THE MENU ACTIVE
	$('.schedulemenu').addClass('active over');
			
	// ADD VENUE MENU ROLLOVERS	
	$('#venues').find('a').hover(
		function() {
			$(this).addClass('over');
		},
		function() {
			$(this).removeClass('over');
		}
	);	
	

	// LOAD THE CONCERTS	
	SWFAddress.addEventListener(SWFAddressEvent.CHANGE, getAddress);
	
// END THE ON LOAD FUNCTION
});

function setVenue($new) {
	var params = ''
	if($new != null) {
		params = '?new='+$new;
	}
	SWFAddress.setValue('/' + params);	
}

function getAddress() {

	var sections = SWFAddress.getValue().split('/');
	var venuename = ''; //sections[1];
	var venue = null;
	/*
	switch(venuename) {
		case '930': venue = 2; theVenueName = '930'; break;
		case 'merriweather':  venue = 3; theVenueName = 'merriweather'; break;
		case 'imp': venue = 4; theVenueName = 'imp'; break;
	}
	*/
	
	venue = 3; 
	theVenueName = 'merriweather';
	
	var band = sections.length > 1 ? sections[1] : null;
	
	if(band != null) theBandId = band;
	
	var setNew = SWFAddress.getParameter('new');
	if(setNew == '') setNew = null;
		
	//console.log(theBandId);
	
	// VENUE WAS NOT PREVIOUSLY SET OR PREVIOUS VENUE DIFFERENT THEN NEW VENUE
	if(venue != theVenueId || theVenueId == null) { //|| setNew = null || setNew != newDays
		if(venue != null) {
			theVenueId = venue; 
			//newDays = null;
		} else { 
			theVenueName = '930'; 
			theVenueId = 2; 
		}
		newDays = null;
		//console.log('LOAD THE CONCERTS');
		loadConcerts(theVenueId, setNew);
	} else if(setNew != newDays) {
		//console.log('LOAD THE CONCERTS CAUSE OF NEW');
		newDays = setNew;
		loadConcerts(theVenueId, setNew);
	} else if(theBandId == null) {
		//console.log('DO NOTHING');
	} else findBand();
	
}

function loadConcerts($loc, $new) {
		
	$('#venues a.active').removeClass('active');
	
	/*
	if($loc== 2) {
		tabId = 0;
		sect = '930';
	} else if($loc == 3) {
		tabId = 1;
		sect = 'merriweather';
	} else if($loc >= 4) {
		tabId = 2;
		sect = 'imp';
	}
	*/
	
	$loc = 3;
	
	//if(sect != '930') $('#new_all').css('display', 'none');	
	
	//$('#venues a:eq('+ (tabId) +')').addClass('active');
	
	if($new != null && $new != '') {
		$('#new_all a#all').removeClass('active');
		$('#new_all a#new').addClass('active');
	} else {
		$('#new_all a#all').addClass('active');
		$('#new_all a#new').removeClass('active');	
	}
	
	$.ajax({
		url: themePath+'/get_concerts.php',
		dataType: 'html',
		type: 'POST',
		data: 'loc=' + $loc + '&imgPath=' + themePath + '&newDays=' + $new,
		beforeSend: function() {
			$('#concertlistings').html('<div class="loading"><h2>LOADING CONCERT LISTINGS</h2><img src="'+themePath+'/images/global/loader.gif" /></div>');
		},
		success: concertsloaded
	});	
	
	//pageTracker._trackPageview('/concerts/section/' + sect);
}

function concertsloaded(html) {
	 	
	$('#concertlistings').html(html);
	
	// CORRECT NON JAVASCRIPT SETTINGS
	$('#venues').css('visibility', 'visible');
	$('.bar .moreinfo').css({visibility:'visible'});
	
	$('#new_all').css('display', 'block');
	/*
	if(sect == '930') 
	else $('#new_all').css('display', 'none');	
	*/
	$('#concertlistings').addClass('allowpointer');
	
	// SET UP THE MORE INFO
	$('.concert_listing').find('.moreinfo').hover(
		function() {
			$(this).addClass('over');
		},
		function() {
			$(this).removeClass('over');
		}
	).click(moreinfo);
	
	// IMAGE MORE INFO CLICK
	$('.concert_listing').find('img.band').click(moreinfo);
		
	// NAME MORE INFO CLICK	
	$('.concert_listing').find('.name').click(moreinfo);
	
	// INFO MORE INFO CLICK	
	$('.concert_listing').find('.info').click(moreinfo);
	
	
	$('.concert_listing .topbg .close').hover(
		function() {
			$(this).addClass('over');
		},
		function() {
			$(this).removeClass('over');
		}
	).click(clickCloseBand);
	
	$('.concert_listing .buy .details').hover(
		function() {
			$(this).css('color', '#FFFFFF');	
			$(this).children('.detailsCopy').css('display', 'block');
		}, 
		function() {
			$(this).css('color', '#6FC9FB');	
			$(this).children('.detailsCopy').css('display', 'none');
		}
	)
	/*
		$('.concert_listing div.secondary').css('border', '2px red solid');
	
	console.log($('.concert_listing div.secondary'));
*/
	
	findBand(true);
}

function findBand($scroll) {
	updateMainImage(null, $('#event_' + theBandId));
	//console.log(theBandId);
	showBand($('#event_' + theBandId)); //.find('.name').click();
	if($scroll) $.scrollTo($('#event_' + theBandId), 800);
	theBandId = null;
	//console.log('FIND THE BAND');
}

function showBand($band) {
	// RESET OLD CONCERT
	/*
	$('.concert_listing.open').find('div.selected').removeClass('selected');
	$('.concert_listing.open').find('.band').bind('click', moreinfo);
	$('.concert_listing.open').find('.name').bind('click', moreinfo);
	$('.concert_listing.open').find('.info').bind('click', moreinfo);
	$('#right').find('.open').removeClass('open').accordion("destroy");
	*/
	
	//console.log($band);
	
	closeBand();
				
	$band.find('.band').unbind('click', moreinfo);
	$band.find('.name').unbind('click', moreinfo);
	$band.find('.info').unbind('click', moreinfo);
	
	$band.addClass('open').accordion({ 
		header: 'div.title', 
		alwaysOpen: true,
		clearStyle: true,
		animated: false,
		autoheight: false
	}).bind('firstopen', updateMainImage).bind('firstclose', resetImage).bind('open', updateImage).bind('track', trackOpen);
		
}

function closeBand() {
	$('.concert_listing.open').find('div.selected').removeClass('selected');
	$('.concert_listing.open').find('.band').bind('click', moreinfo);
	$('.concert_listing.open').find('.name').bind('click', moreinfo);
	$('.concert_listing.open').find('.info').bind('click', moreinfo);
	$('#right').find('.open').removeClass('open').accordion("destroy");	
}

function clickCloseBand() {
	var params = SWFAddress.getParameter('new');
	if(params != '') params = '?new=' + params;
	//console.log(params);
	var sections = SWFAddress.getValue().split('/');
	var venuename = sections[1];
	SWFAddress.setValue('//' + params);		
	
	closeBand();
}

function moreinfo() {
	var id = $(this).parents('.concert_listing').attr('id').substr(6);
	var setNew = SWFAddress.getParameter('new');
	var params = '';
	if(setNew != '') params = '?new=' + setNew;
	SWFAddress.setValue('/' + id + '/' + params);
	//theVenueName + '/' + 
}

function trackOpen(event, $item) {
	//console.log('track it ' + addslashes($item));
	//pageTracker._trackPageview('/schedule/view/' + addslashes($item));
}

function addslashes( str ) { 
    return (str+'').replace(/([\\"'])/g, "\\$1").replace(/\0/g, "\\0");
}

function secondOpen(event, $item) {
	//console.log($item);	
}

function resetImage(event, $item) {
	$($item).find('.lgImgHolder img.band').each( 
		function(index) {
			if($(this).attr('src_sm') != undefined) {
				var largesrc = $(this).attr('src_sm');
				$(this).attr('src', largesrc);
			}
		}
	);
}

function updateMainImage(event, $item) {	
	//console.log('first');
	$($item).find('.lgImgHolder img.band').each( 
		function(index) {
			if($(this).attr('src_lg') != undefined) {
				var largesrc = $(this).attr('src_lg');
				$(this).attr('src', largesrc);
			}
		}
	);
	
}

function updateImage(event, $item) {	
	$($item).find('.lgImgHolder img.band').each( 
		function(index) {
			if($(this).attr('src_lg') != undefined) {
				var largesrc = $(this).attr('src_lg');
				$(this).attr('src', largesrc);
			}
		}
	);
	
}