/*
    Initialize Events
    ---------------------------------------------------------------*/
    $(document).ready(function(event){
        $exceptions                 = ['antispam','antihack'];

        $('#page_header a[rel="events"]').bind('click',toggle_galleria);
        
        $('a[rel="video"]').bind('click',{'width':'600px','height':'400px'},external_window);
        $('a[rel="facebook"]').bind('click',external_window);
        $('a[rel="twitter"]').bind('click',external_window);
        $('a[rel="submit"]').bind('click',submit_form);
        $('a[rev="external"]').bind('click',external_window);
        $('a[rel="external"]').bind('click',external_window);
        $('a[rel="pdf_form"]').bind('click',{'width':'800px','height':'400px'},external_window);
        $('a[rel="add_member"]').bind('click',add_member);
        $('a[rel="delete_member"]').bind('click',delete_member);
        
        $('input[name="password"]').bind('keypress',{'key':'enter'},login);
        $('select.other').bind('change',toggle_other);
    });
    
    
    
    
/*
    Site Events
    ---------------------------------------------------------------*/
    
    
    /* External Window
    ---------------------------------------------------------------*/
    function external_window(event){
        var $width              = '';
        var $height             = '';
        
        if(event.data          != undefined){
            event.data.width   != undefined ? $width    = '600px' : '';
            event.data.height  != undefined ? $height   = '400px' : '';
        }
        
        window.open($(this).attr('href'),'bigbonesbash',"width="+$width+",height="+$height+"");
    
        return false;
    }
    
    
    /* Share This
    ---------------------------------------------------------------*/
    function share_this(event){
        alert('test');
        return false;
    }
    
    
    /* Toggle Other
    ---------------------------------------------------------------*/
    function toggle_other(event){
        $(this).val() == 'other' ? $(this).siblings('[name="other"]').attr('class','other_chosen') : $(this).siblings('[name="other"]').attr('class','other');
    }
    
    /* Toggle Galleria
    ---------------------------------------------------------------*/
    function toggle_galleria(event){
        if($('#galleria').is(':visible')){
            $('#galleria').hide();
        } else {
            $('#galleria').show();
            $('#galleria a').lightBox({imageBtnClose:'/images/site/galleria-close.gif',imageLoading:'/images/site/galleria-loading.gif'});
            $('#galleria li:first-child a').click();
        }
        
        return false;
    }
        
    
    
    /* Add Member
    ---------------------------------------------------------------*/
    function add_member(event){
        var $add_member             = $('#member_info div:nth-child('+($('#member_info div').length - 1)+')').clone();
        var $new_member             = $add_member;
        var $new_member_id          = parseInt($new_member.children('[name^="m_names_"]').attr('name').replace('m_names_','')) + 1;
        
        $new_member.children('[name^="m_names_"]').attr('name','m_names_'+$new_member_id).val('');
        $new_member.children('[name^="m_t_shirts_"]').attr('name','m_t_shirts_'+$new_member_id).val('');        
        
        $('#member_info div:last-child').before($new_member);
        
        $(':input[name^="m_"]').each(function(event){ $exceptions.push($(this).attr('name')); });
        $('a[rel="delete_member"]').bind('click',delete_member);
        
        return false;
    }
    
    /* Delete Member
    ---------------------------------------------------------------*/
    function delete_member(event){
        if($('#member_info div').length > 2){
            $(this).parent().remove();
        }
    }
    
    
    
    /* Login
    ---------------------------------------------------------------*/
    function login(event){
        if(event.keyCode == 13){
            $(this).parents('form').submit();
        
            return false;
        }
    }
    
    
    /* Submit Form
    ---------------------------------------------------------------*/
    function submit_form(event){        
        var $form                   = $(this).parents('form').attr('id');
        var $form_errors            = 0;
        var $form_message           = '';
        
        $('form#'+$form+' :input').each(function(event){
            if(!in_array($(this).attr('name'),$exceptions)){
            	if($(this).val()   == ''){
            	    $form_errors   ++;
            	    $form_message   = $form_message+'\n > '+$(this).siblings('label').text();
            	}
            }
        });
        
        if($('input[name="agreement"]').length > 0){
            if(!$('input[name="agreement"]').is(':checked')){
                $form_errors           ++;
                $form_message           = $form_message+'\n > Agreement';
            }
        }
        
        
        if($('form#'+$form+' [name="antispam"]').val() == ''){
            if($form_errors        == 0){
                $('form#'+$form).submit();
            } else {
                alert("There are [ "+$form_errors+" ] form errors in your submission.\n\nPlease review your entry, fulfill all required fields, and resubmit.\n\n"+$form_message);
            }
        }
        
        return false;
    }
