var interval;
$(document).ready(function()
{
    $('a#delete').click(handleDelete);
    $('a#export').click(handleExport);
    $('a#export-all').click(handleExportAll);

    checkTables();
    initAdminSearch();

    $('.tooltip').tooltip();

    $('#submit').click(function()
    {
        if (!$(this).hasClass('disabled'))
        {
            $(this).addClass('disabled');
            $("#upload-form form").submit();
        }
    });
    
    var submitting = false;
    $("#upload-form form").submit(function()
    {
        if (!submitting)
        {
            submitting = true;
            $(this).ajaxSubmit(
            {
                dataType: 'json',
                success: function(response)
                {
                    if (response.success)
                    {
                    	$('.errorSummary').hide();
                    	$('#form-inner').hide();
                    	$('#success-holder').show();
                        $('#success-holder').html('<div id="thankyou">'+
                                              '<h3>Thanks for submitting!</h3>'+
                                              '<a href="#" onclick="loadForm(); return false;">'+
                                              '<img src="images/btn_add_another.gif" border="0" alt="Add Another One" />'+
                                              '</a>'+
                                              '</div>');                                              
                        reloadFlash();
                        interval = setInterval('loadForm()', 4000);
                    }
                    else
                    {
                    	$('.errorSummary').show();
                        $('label').removeClass('error');
                        var errors = [];
                        for (var field in response.errors)
                        {
                            $('label[for=Content_'+field+']').addClass('error');
                            errors.push(response.errors[field][0])
                        }

                        var message = '';
                        if (errors.length > 1)
                        {
                            message = "Please fill in all required fields below";
                        }
                        else
                        {
                            message = errors[0];
                        }

                        $('.errorSummary').html('<strong class="error">'+message+'</strong>').show();
                        try {
                        	Recaptcha.reload();
                        }
                        catch (e) {}
                    }
                    submitting = false;
                    $('#submit').removeClass('disabled');
                }
            });
        }
        return false;
    });
});

function loadForm()
{
	$('#form-inner').show();
	$('#success-holder').hide();
	clearInterval(interval);	
	$('#upload-form form').clearForm();
	try {
    	Recaptcha.reload();
    }
    catch (e) {}
}

function initAdminSearch()
{
    var doSearch = function()
    {
        if ($('#keyword').val() != "")
        {
            document.location = 'index.php?r=site/admin&keyword='+$('#keyword').val();
        }
    }

    $('#admin-search').click(doSearch);

    $('#keyword').keyup(function(e)
    {
        if (e.keyCode == 13)
            doSearch();
    });
}

function toggleType(el)
{
    var value = el.value;
    $('.toggable').hide();
    if (value != '') {
        $('#content-'+value).show();
    }
}

function countCharacters(el)
{
    $("#statement-counter").html(500-el.value.length+' Remaining...');
}

$("#content-text textarea").keypress(function(event)
{
    var key = event.which;
    //all keys including return.
    if (key >= 33 || key == 13) {
        var maxLength = $(this).attr("maxlength");
        var length = this.value.length;
        if (length >= maxLength) {
            event.preventDefault();
        }
    }
});

function reloadFlash()
{
    var swf = (navigator.appName.indexOf("Microsoft") != -1) ? window['story-board'] : document['story-board'];
    swf.reload();
}

function getCheckboValues()
{
    var contents = [];
    $('.checkbox').each(function()
    {
        if (this.checked)
            contents.push(this.value);
    });

    return contents;
}

function handleExportAll()
{
    $('#export-form').remove();
    $('body').append('<form action="index.php?r=site/adminExportAll" method="post" id="export-form"></form>')
    $('#export-form').submit();
    return false;
}

function handleExport()
{
    var contents = getCheckboValues();
    if (contents.length)
    {
        $('#export-form').remove();
        $('body').append('<form action="index.php?r=site/adminExport" method="post" id="export-form">'+
                         '<input type="hidden" name="contents" value="'+contents.join(',')+'"/>'+
                         '</form>')

        $('#export-form').submit();
        return false;
    }
    else
    {
        alert('You must select at least one content to perform this action.');
    }

    return false;
}

function handleDelete()
{
    var action = ($(this).hasClass('flag')) ? 'deleteFlag' : 'adminDeletePost';
    var contents = getCheckboValues();
    if (contents.length )
    {
        $.post('index.php?r=site/'+action, {contents:contents.join(',')}, function(response){
            if (response.success) {
                $.each(contents, function(el, id){
                   $('#row'+id).remove();
                });
            }
            else {
                alert(response.message);
            }
        },
        'json');
    }
    else
    {
        alert('You must select at least one content to perform this action.');
    }

    return false;
}

function checkTables()
{
    $('#master-check').change(function(){
        if (this.checked)
            $('.checkbox').attr('checked', 'checked');
        else
            $('.checkbox').attr('checked', '');
    });
}
