function doAjax(targetURL, targetContainer) {
    $('#' + targetContainer).load(targetURL);
}

function showResponse(request) {};

$(function () {
    $('.sortable_table th').css('cursor', 'pointer');
    $('.sortable_table').tablesorter();
    
    $('#theBethelClock').imclock();
    
    setTimeout(function () {
        $(".pageAlert").slideUp('slow');
    },
    20000);
    
    $('#home_calendar .calendar_controls a').live('click', function(){
		$.ajax({
			url: $(this).attr('href'),
			success : function(html){
				$('#home_calendar').html(html);
			}
		});
		return false;
	});
    
    $('#submit').click(change_price);
    $('.remove-user').click(function () {
        return confirm('Are you sure that you wish to remove this member from your family account?');
    });
    $('textarea.autogrow').autogrow();
    $('.ajaxSubmit').live('click', function () {
        $.get($(this).attr('href'));
        return false;
    });
    
    $('.family_member_add').submit(function () {
        var email = $(this).children('div').children('.add_member_email');
        var cost = $(this).children('input').eq(0);
        var submit_button = $(this).children('div').children('span').children('input');
        if (submit_button.hasClass('remove_family_member')) {
            $.ajax({
                url: site_url + 'shop/remove/family_member/' + email.val(),
                method: 'POST',
                async: false
            });
            email.removeAttr('disabled');
            submit_button.removeClass('remove_family_member').val('Add Member');
            return false;
        }
        if (member_exists(email) == 'true') {
            add_family_member(email.val(), cost.val());
            email.attr('disabled', 'true');
            submit_button.addClass('remove_family_member').val('Remove Member');
        }
        return false;
    });
    
    var dates = $('#user_start_date').val();
    if (dates) {
        change_price();
        dates = dates.split('-');
        $('.datePicker').datepicker({
            numberOfMonths: 2,
            onClose: function () {
                change_price();
                show_catchup_videos();
                catchup_count();
            },
            dateFormat: 'yy-mm-dd',
            minDate: new Date('2008', 12 - 1, 14)
        });
    }
    $('.ajax a').live('click', function () {
        $.ajax({
            url: $(this).attr('href'),
            method: 'POST',
            success: function (html) {
                $('.ajax').html(html);
            }
        });
        return false;
    });
});

function change_price() {
    setTimeout(function () {
        var get_date = $('.datePicker').val();
        $.ajax({
            type: 'POST',
            url: site_url + 'account/calculate_catchup_price',
            data: 'catchup_date_picker=' + get_date + '&subscriptions_payment_options_id=' + $('#subscriptions_payment_options_id').val() + '&products_levels_id=' + $('#products_levels_id').val(),
            success: function (msg) {
                $('#total_catch_up_cost').html(msg);
                $('input[name = catchup_price]').val(msg);
            }
        });
    },
    500);
}

function show_catchup_videos() {
    $('#additional-videos').load(site_url + 'account/display_media_grid/' + $('.datePicker').val() + '/' + $('#user_start_date').val());
}

function catchup_count() {
    $('#num-vids').load(site_url + 'account/number_of_videos/' + $('.datePicker').val() + '/' + $('#user_start_date').val());
}

function verify_member_exists(value) {
    return $.ajax({
        url: site_url + 'account/check_member_exists',
        type: 'POST',
        data: 'email=' + value,
        async: false,
        success: function (msg) {
            return String(msg);
        }
    }).responseText;
}

function member_exists(obj) {
    var color = '#ffffff';
    if ($(obj).val()) {
        color = '#eebcb9';
        var result = verify_member_exists($(obj).val());
        if (result == 'true') {
            color = '#d4eeb9';
            $('#error_message').fadeOut();
            $('#success_message').fadeIn();
        } else {
            $('#error_message').fadeIn();
            $('#success_message').fadeOut();
        }
    }
    $(obj).css('background-color', color);
    return result;
}

function add_family_member(email, cost) {
    var result = $.ajax({
        url: site_url + 'account/add_family_members',
        type: 'POST',
        data: 'add_member_email=' + email + '&cost_per_member=' + cost,
        async: false,
        success: function (msg) {
            return String(msg);
        }
    });
    return String(result.responseText);
}

function popUp(URL, width, height) {
    window.open(URL, randomString(), 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=1,width=' + width + ',height=' + height);
}

function randomString() {
    var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
    var string_length = 8;
    var randomstring = '';
    for (var i = 0; i < string_length; i++) {
        var rnum = Math.floor(Math.random() * chars.length);
        randomstring += chars.substring(rnum, rnum + 1);
    }
    return randomstring;
}

jQuery.fn.center = function () {
    this.css("position", "absolute");
    this.css("top", ($(window).height() - this.height()) / 2 + $(window).scrollTop() + "px");
    this.css("left", ($(window).width() - this.width()) / 2 + $(window).scrollLeft() + "px");
    return this;
}

$(function () {
    $('.slideshow').cycle({
        fx: 'fade',
        // choose your transition type, ex: fade, scrollUp, shuffle, etc...
        timeout: 6000
    });
    $('.slideshow img').show();

    $("a").tooltip({
        showURL: false,
        track: true,
        showBody: 'nl'
    });

    $('body').append('<div id="modal_box"></div>');
    $('body').append('<div id="modal_expose"></div>');

    $('#modal_box').draggable();

    $('a').click(function () {
        if ($(this).attr('rel') == 'moodalbox') {

            var more_info = $.ajax({
                url: $(this).attr('href'),
                'async': false
            }).responseText;

            $('#modal_expose').fadeIn();
            $('#modal_box').html('<div class="close"><a href="#">Close [x]</a></div><div class="modal_content">' + more_info + '</div>').center().fadeIn();
            return false;
        }
    });

    $('div.close, #modal_expose').live('click', function () {
        $('#modal_expose').fadeOut();
        $('#modal_box').fadeOut('normal', function () {
            $(this).html('');
        });
        return false;
    });

});