$(document).ready(function(){

	
	$('.calendar').val('mm/dd/yyyy');
	$('.jcalendar').datepicker({
		numberOfMonths: 1,
		minDate: new Date(),
		showAnim: 'blind',
		hideAnim: 'blind',
		dateFormat: 'mm/dd/yy'
	});
	
	//$('.reviews-am').slideUp('slow');

	// -- Defined Variables
	var AJAX	= '<p class="loader"><img src="/assets/images/ajax-loader.gif" alt="" /> Loading...</p>';
	var AJAX2	= '/assets/images/ajax-loader.gif';
	var backup	= [];

	// -- Dominant Tabs
	$('.dominant-tabs .tab').click(function(){
		if($('.dominant-tabs').hasClass('return_true'))
		{
			return true;
		}

		$(this).siblings().each(function(){
			$(this).removeClass('active').addClass('inactive');
			var src= $('img', this).attr('src');
			if(src.match('-'))
			{
				src = src.replace('-active', '-inactive');
			} else {
				src = src.replace('_active', '_inactive');
				if($(this).hasClass('usertab'))
				{
					$('.reviews-pro').fadeIn('fast');
					$('.reviews-am').fadeOut('fast');
				} else if($(this).hasClass('protab')) {
					$('.reviews-pro').fadeOut('fast');
					$('.reviews-am').fadeIn('fast');
				}
			}
			$('img', this).attr('src', src);
		});

		$(this).addClass('active');
		var src= $('img', this).attr('src');
		if(src.match('-'))
		{
			src = src.replace('-inactive', '-active');
		} else {
			src = src.replace('_inactive', '_active');
		}
		$('img', this).attr('src', src);

		$(this).css('position', 'relative');

		var tab = $(this).attr('title');

		return false;
	});

	// -- AJAX -----------------------------------------------------

	if($('.inner div').hasClass('ajax_area_01'))
	{
		$('.ajax_area_01').ready(function(){ GATEKEEPER(); });
		$('.dominant-tabs .tab.tab1').click(function(){ AJAXINIT(); });
		$('.dominant-tabs .tab.tab2').click(function(){ AJAXINIT2('Venues'); });
		$('.dominant-tabs .tab.tab3').click(function(){ AJAXINIT2('Festivals'); });
		$('.dominant-tabs .tab.tab4').click(function(){ AJAXINIT2('Presenters'); });
	}

	// -- Defined Functions

	function GATEKEEPER()
	{
		var hash	= (location.hash).replace('#', '');
		var tab		= 1;

		switch(hash)
		{
			case 'Companies':
				tab = 1;
				break;
			case 'Venues':
				tab = 2;
				break;
			case 'Festivals':
				tab = 3;
				break;
			case 'Presenters':
				tab = 4;
				break;
		}

		var defaults	= tab;
		tab				= '.dominant-tabs .tab.tab' + tab;
		var title		= $(tab).attr('title');
		
		if(defaults == 1)
			AJAXINIT();
		else
			AJAXINIT2(title);

		$(tab).click();
	}

	function AJAXINIT()
	{
		$('.hiddable').slideDown('slow');

		$('.listing1 .ajax_loader h2 span').html('Chicago Dance Companies');
		$('.listing2 .ajax_loader h2 span').html('Visiting Dance Companies');
		$('.ajax_loader .ajax').html(AJAX);

		jQuery.post('/directory/companies/1/all/', null, function(data){
			$('.ajax_area_01 .ajax').html(data.Response);
		}, 'json');
		
		jQuery.post('/directory/companies/0/all/', null, function(data){
			$('.ajax_area_02 .ajax').html(data.Response);
		}, 'json');

		$('.listing1 .letters a').each(function(){
			$(this).removeClass('active');
		})

		$('.listing2 .letters a').each(function(){
			$(this).removeClass('active');
		})

		$('.letters').each(function(){
		})
	}

	function AJAXINIT2(type)
	{
		$('.hiddable').slideUp('slow');

		$('.ajax_loader h2 span').html(type);
		$('.ajax_loader .ajax').html(AJAX);

		jQuery.post('/directory/'+ type +'/all/', null, function(data){
			$('.ajax_area_01 .ajax').html(data.Response);
		}, 'json');
		
		$('.listing1 .letters a').each(function(){
			$(this).removeClass('active');
		})

		$('.letters').each(function(){
		})
	}

	// -- Letter Handlers

	$('.listing1 .letters a').click(function(){
		var starting	= ($(this).attr('title')).replace('#', '');
		var tab			= $('.dominant-tabs .tab.active').attr('title');
		var url			= '';

		$('.ajax_area_01 .ajax').html(AJAX);

		if(tab == 'Companies')
			url = 'companies/1/' + starting + '/';
		else
			url = tab + '/' + starting + '/';

		jQuery.post(url, null, function(data){
			$('.ajax_area_01 .ajax').html(data.Response);
		}, 'json')

		$('.listing1 .letters a').each(function(){
			$(this).removeClass('active');
		})

		$(this).addClass('active');

		return false;
	});

	$('.listing2 .letters a').click(function(){
		var starting	= ($(this).attr('title')).replace('#', '');
		var tab			= $('.dominant-tabs .tab.active').attr('title');
		var url			= '';

		$('.ajax_area_02 .ajax').html(AJAX);

		if(tab == 'Companies')
			url = 'companies/0/' + starting + '/';
		else
			url = tab + '/' + starting + '/';

		jQuery.post(url, null, function(data){
			$('.ajax_area_02 .ajax').html(data.Response);
		}, 'json')

		$('.listing2 .letters a').each(function(){
			$(this).removeClass('active');
		})

		$(this).addClass('active');

		return false;
	});

	$('.cause_calendar .hot').live('click', function(){
		jQuery.post('/performance/details/' + ($(this).attr('href')), null, function(data){
			$('#dialog').html(data.Content);
			$('#dialog').attr('title', data.Title);

			$('#dialog').dialog({
				bgiframe: true,
				modal: true,
				autoOpen: false,
				position: '30px'
			}).dialog('open');
		}, 'json');

		return false;
	});

	$('.cause_calendar .none').live('click', function(){
		jQuery.post('/performance/details/' + ($(this).attr('href')), null, function(data){
			$('#dialog').html(data.Content);
			$('#dialog').attr('title', data.Title);

			$('#dialog').dialog({
				bgiframe: true,
				modal: true,
				autoOpen: false,
				position: '30px'
			}).dialog('open');
		}, 'json');

		return false;
	});

	$('.cause_calendar .reg').live('click', function(){
		jQuery.post('/performance/details/' + ($(this).attr('href')), null, function(data){
			$('#dialog').html(data.Content);
			$('#dialog').attr('title', data.Title);

			$('#dialog').dialog({
				bgiframe: true,
				modal: true,
				autoOpen: false,
				position: '30px'
			}).dialog('open');
		}, 'json');

		return false;
	});

	$('.cause_calendar .thirdparty').live('click', function(){
		jQuery.post('/performance/details/' + ($(this).attr('href')), null, function(data){
			$('#dialog').html(data.Content);
			$('#dialog').attr('title', data.Title);

			$('#dialog').dialog({
				bgiframe: true,
				modal: true,
				autoOpen: false,
				position: '30px'
			}).dialog('open');
		}, 'json');

		return false;
	});

	$(".external").click(function(){
		var newWindow = window.open(this.getAttribute('href'), '_blank');
		if (newWindow) {
			if (newWindow.focus) {
				newWindow.focus();
				return false;
			}
		} else {
			return true;
		}
	});

	$('.hidden_fieldset .info').slideUp(0);
	$('.hidden_fieldset').slideUp(0);

	$('.click_one').click(function(){
		$('.hidden_fieldset.one').slideDown('slow');
		$('.info').slideUp('slow');
		$('.hidden_fieldset.two').slideUp('slow');
		$('.hidden_fieldset.three').slideUp('slow');
	})

	$('.click_two').click(function(){
		$('.hidden_fieldset.two').slideDown('slow');
		$('.info').slideUp('slow');
		$('.hidden_fieldset.one').slideUp('slow');
		$('.hidden_fieldset.three').slideUp('slow');
	})

	$('.click_three').click(function(){
		$('.hidden_fieldset.three').slideDown('slow');
		$('.info').slideUp('slow');
		$('.hidden_fieldset.two').slideUp('slow');
		$('.hidden_fieldset.one').slideUp('slow');
	});

	$('.learn_more').parent().parent().next('div').slideUp(0);

	$('.learn_more').click(function(){
		$(this).parent().parent().next('div').slideDown('slow');
		$(this).parent().parent().next('div').attr('title', 'isdown');
	});
	$('.appended_close').live('click', function(){
		$(this).parent().attr('title', '');
		$('.hidden_fieldset a.learn_more').each(function(){
			$(this).parent().next('div').slideUp('normal');
			$(this).parent().next('div').html('');
		});
	});

	// No default radio buttons or checkboxes on refresh
	$('input[type="radio"]').removeAttr('checked');
	$('input[type="checkbox"]').removeAttr('checked');

	// Share Section
	
	$('#shared-popup .share-form form, .share-popup .share-form form').submit(function(){
		
		var $from			= $('#from', this).val();
		var $from_address	= $('#from_address', this).val();
		var $emails			= $('#emails', this).val();
		var $message		= $('#personal_message', this).val();
		var $page			= $('#page', this).val();
		jQuery.post('/share/friends/', { from: $from, from_address: $from_address, emails: $emails, personal_message: $message, page: $page}, function(data){
			if(data.Response == 'thanks')
			{
				$('.share-form form').html("<p>You've successfully shared this page with your friends!</p>");
			} else {
				
				$('.share-form form p.whoops').remove();
				var more_box = $('.description-block');
				var mb_height = more_box.css('height');
				$('.share-holder').css('height', '340px');
				more_box.css('height', '340px');
				$('.share-form form').html('<p class="whoops">Whoops! There was a problem with your submission, make sure you have a valid email addresses and all fields are filled out completely.</p>' + $('.share-form form').html());
			}
		}, 'json');
		return false;
	});

	$('.stars li a').live('click', function(){
		$('#one_star').removeClass('star-active').addClass('star-inactive');
		$('#two_star').removeClass('star-active').addClass('star-inactive');
		$('#three_star').removeClass('star-active').addClass('star-inactive');
		$('#four_star').removeClass('star-active').addClass('star-inactive');
		$('#five_star').removeClass('star-active').addClass('star-inactive');
		var rating = 0;
		switch($(this).attr('id'))
		{
			case 'one_star':
				$('#one_star').removeClass('star-inactive').addClass('star-active');
				rating = 1;
				break;
			case 'two_star':
				$('#one_star').removeClass('star-inactive').addClass('star-active');
				$('#two_star').removeClass('star-inactive').addClass('star-active');
				rating = 2;
				break;
			case 'three_star':
				$('#one_star').removeClass('star-inactive').addClass('star-active');
				$('#two_star').removeClass('star-inactive').addClass('star-active');
				$('#three_star').removeClass('star-inactive').addClass('star-active');
				rating = 3;
				break;
			case 'four_star':
				$('#one_star').removeClass('star-inactive').addClass('star-active');
				$('#two_star').removeClass('star-inactive').addClass('star-active');
				$('#three_star').removeClass('star-inactive').addClass('star-active');
				$('#four_star').removeClass('star-inactive').addClass('star-active');
				rating = 4;
				break;
			case 'five_star':
				$('#one_star').removeClass('star-inactive').addClass('star-active');
				$('#two_star').removeClass('star-inactive').addClass('star-active');
				$('#three_star').removeClass('star-inactive').addClass('star-active');
				$('#four_star').removeClass('star-inactive').addClass('star-active');
				$('#five_star').removeClass('star-inactive').addClass('star-active');
				rating = 5;
				break;
		}
		$('.new_rating').val(rating);
		return false;
	});

	$('#review-popup form').submit(function(){
		var $name			= $('#name', this).val();
		var $title			= $('#title', this).val();
		var $review			= $('#review', this).val();
		var $performance	= $('#performance', this).val();
		var $url			= $('#url', this).val();
		var $headline		= $('#rtitle', this).val();
		var $rating			= $('.new_rating', this).val();
		jQuery.post('/reviews/add/', { name: $name, headline: $headline, title: $title, review: $review, rating: $rating, performance: $performance, url: $url}, function(data){
			var dResponse = data.Response;
			$('#review_response').html(dResponse);
			if((dResponse == "<p>Your review is awaiting moderation by an administrator.</p>"))
			{
				$('#review-popup form fieldset').remove();
				$('#review-popup .stars').parent().children().remove();
			}
		}, 'json');
		return false;
	});

	

	$('a.lightbox').lightBox();

	$('.submit-list').slideUp(0);
	$('.checkavail').click(function(){
		var $style = $(this).prev('input').css('background');
		$(this).prev('input').css('background', '#fff url('+AJAX2+') no-repeat center right');
		jQuery.post('/page/check/'+($('#Username').val()), null, function(data){
			if(data.Response == false)
			{
				$('.available').html('  Username already in use');
				$('.submit-list').slideUp(0);
			} else {
				$('.available').html('  Available');
				$('.submit-list').slideDown(0);
			}
			$('.checkavail').prev('input').css('background', $style);
		}, 'json');
	});

	$('.confirm').click(function(){
		if(confirm('Are you sure?'))
		{
			return true;
		} else {
			return false;
		}
	});

	$('div.loader-overlay').html('<p class="loader"><img src="/assets/images/ajax3.gif" alt="" /> Loading...</p>');

	$('.get_content').click(function(){
		$('.get_content').parent().parent().next('div').slideUp('normal').html('').attr('title', '');
		$(this).parent().parent().next('div').slideDown('normal')
		var params	= $(this).attr('href');
		params		= params.split('/');
		jQuery.post('/tickets/get_content/' + params[0] + '/' + params[1], null, function(data){
			$('#cp' + params[1]).html(data.Content + '<a href="#close" class="appended_close">Close</a>');
		}, 'json');
		return false;
	})

});	

	if(window.location.hash == '#reviews')
	{
		$('#reviews').hide().height('auto').slideDown(400);
		f_reviews = false;
		$(window).scrollTop($('#reviews').offset().top);
	}

	if(window.location.hash == '#share')
	{
		displayPopup($('#shared-popup'), true);
	}
