$(function() {

    $('input.default').each(function () {
        var default_val = $(this).attr('default');
		$(this).val(default_val);

        $(this).focus(
            function() {
                if(default_val == $(this).val()) {
                    $(this).val('');
                }
                $(this).addClass('focus');
            }
        ).blur(
            function() {
                if('' == $(this).val()) {
                    $(this).val(default_val);
                }
                $(this).removeClass('focus');
            }
        );
    });
	
	if($('#slideshow').size() > 0) {
    	//homepage hero slideshow, from http://malsup.com/jquery/cycle/
	    $('#slideshow').cycle({
			fx: 'fade',
			next:   '#ss_next', 
			prev:   '#ss_prev',
			pager:  '#slideshow_nav', 
			timeout: 5000,
		    // callback fn that creates a thumbnail to use as pager anchor 
		    pagerAnchorBuilder: function(idx, slide) { 
		        return '<a href="#" class="dot"></a>'; 
		    }/*,
			after: function(options) {
				$('#slide_index').html($(this).index() + 1);
			}*/
		});
	
		$('#hero').hover(function () {
			$('#slideshow').cycle('pause'); 
		}, function () {
			$('#slideshow').cycle('resume'); 
		});
	}
	
	$('.action').live('click', function() {
            var that = this;
            $.map(this.className.split(' '), function(className) {
                    var classNames = className.split('-');
                    var action = classNames.shift();
                    var targets = classNames.join('-');

                    if(!targets) {return;}

                    var elems = targets == 'this' ? $(that) : $('.'+targets);

                    switch(action) {
                            case 'show':elems.slideDown();break;
                            case 'hide':elems.slideUp();break;
                            case 'toggle':elems.slideToggle();break;
                            case 'submit':elems.submit();break;
                            case 'focus':elems.filter(':first').focus();break;
                            case 'checkall':elems.attr('checked', true);break;
                            case 'uncheckall':elems.attr('checked', false);break;
                            case 'togglecheck':elems.attr('checked', $(that).attr('checked'));break;
                            case 'activate':elems.addClass('active');break;
                            case 'deactivate':elems.removeClass('active');break;
                            case 'toggleActive':elems.toggleClass('active');break;
							case 'fadein':elems.fadeIn();break;
                            case 'fadeout':elems.fadeOut();break;
                    }
            });
    });
	
	//Setup RTEs for Rich Text
    $('form:not(.disabled) textarea.richtext').each(function() {
        this.style.width = $(this).width() - 5 + 'px'; // IE Fix
        this.editor = new nicEditor({
			//fullPanel : true,
            iconsPath: root + 'images/nicEditorIcons.gif',
            buttonList: ['fontSize', 'bold', 'italic', 'ul', 'ol', 'link', 'unlink', 'removeformat']
        });
        this.editor.panelInstance(this);
    });

	$('.datepicker').datepicker({ yearRange: '-0:+2' });
	
	$('form.disabled input, form.disabled select, form.disabled textarea').attr('disabled', 'disabled');
	
	$('select#classification').change(function () {
		var val = $(this).val(), id;
		
		//hide everything
		
		
		if(val == 'Associate Members') {
			id = '#associate';
		}
		else if(val == 'Non-Profit Groups') {
			id = '#non-profit';
		}
		else if(val == 'Accommodations') {
			id = '#hotel';
		}
		else {
			id = '#class_standard';
		}
		
		$('.class_extra:not(' + id + ')').fadeOut(function() {
			$(id).fadeIn();
		});
		
	});
	
	var updateRegCost = function () {
		var total = $('#participants_cost').text() * 1;
		
		$('.form_advert').each(function () {
			var $fa = $(this);
			
			if($('input.event_options:checked', $fa).val() === undefined) {
				$fa.css({'border-color': ''});
			}
			else if($('input.event_options:checked', $fa).val() == 'none') {
				$fa.css({'border-color': ''});
			}
			else {
				$fa.css({'border-color': 'green'});
			}
		});
		
		$('input.event_options:checked').each(function () {
			var $self = $(this);
			var id = $self.attr('id');
			
			total += $('label[for=' + id + '] .amount').text() * 1;
			
			$('#extra_options_data').css({'display': 'block'});
		});
		if($('input.event_options:checked').size() == 0) {
			$('#extra_options_data').css({'display': 'none'});
		}
		
		$('#total_cost').text(total);
	}
	
	$('input.event_options').change(updateRegCost);
	
	if($('input.event_options').size() > 0) {
		updateRegCost();
	}
	
	$('.toggle-sponsor_event').change(function () {
		if($(this).attr('checked') == false) {
			$('.sponsor_event_option:checked').attr('checked', false);
		}
		
		updateRegCost();
	});
	
	$('.toggle-advert_event').change(function () {
		if($(this).attr('checked') == false) {
			$('.advert_event_option:checked').attr('checked', false);
		}
		
		updateRegCost();
	});
	
	$('.toggle-advert_site').change(function () {
		if($(this).attr('checked') == false) {
			$('.advert_site_option:checked').attr('checked', false)
		}
		
		updateRegCost();
	});
});

