(function ($) {
    $.fn.selectBaby = function () {

        var element = this;

        if ($(this).attr('class') != 'ignoreSelectBaby') {
            replaceSelections();
        }
        



        function replaceSelections() {
            $(element).hide().each(function () {



                var container = $('<div></div>');
                var selected = $('<div></div>');
                var options = []
                var newlist = $('<ul></ul>');


                container.css({
                    width: $(this).width() + 6,
                    position: 'relative'
                }).addClass('selectListContainer ' + $(this).attr('class'));
                selected.addClass('selectListHeader corners');
                newlist.css({
                    position: 'absolute',
                    left: '0',
                    display: 'none',
                    width: $(this).width() + 6,
                    zIndex: '999'
                }).addClass('selectList');
                selected.text($(this).children('option:selected').text().substr(0, 28));

                $(this).children('option').each(function () {
                    options.push($(this).text());
                });
                for (var i = 0; i <= options.length - 1; i++) {
                    newlist.append($('<li></li>'));
                    newlist.children().eq(i).text(options[i]);
                }
                newlist.find('li:last-child').addClass('corners-bottom');
                container.append(selected).append(newlist);
                container.data('selectID', $(this).attr('id'));
                $(this).after(container);
                $('.selectList').css('top', $('.selectListHeader').outerHeight());

            });
        };

        $('#aspnetForm').undelegate('.selectList li', 'click');
        $('#aspnetForm').undelegate('.selectListHeader', 'click');

        $('#aspnetForm').delegate('.selectListHeader', 'click', function (e) {
            e.stopPropagation();
            $(this).next().slideToggle();
            if ($(this).hasClass('corners')) {
                $(this).removeClass('corners').addClass('corners-top');
            } else {
                $(this).removeClass('corners-top').addClass('corners');
            }
            //console.log('select list header click');
        });



        $('#aspnetForm').delegate('.selectList li', 'click', function (e) {
            e.stopPropagation();
            $(this).parent().slideUp();
            $(this).parent().siblings('.selectListHeader').text($(this).text().substr(0, 28)).removeClass('corners-top').addClass('corners');
            var parentSelect = $(this).parents('.selectListContainer').data('selectID');
            //alert(parentSelect);
            var getVal = $('#' + parentSelect + ' option').eq($(this).index()).val();
            $('#' + parentSelect).val(getVal);
            $('#' + parentSelect).change();
            //console.log('select list li click')
            if ($(this).parents('.buyClubTicket').length != 0) {
                var $container = $(this).parents('.buyClubTicket');
                var $button = $container.find('.addToBasket');
                var productID = $container.find('select.ticketType option:selected').val();
                var quantity = $container.find('select.ticketQuantity option:selected').val();
                //console.log(productID);
                //console.log(quantity);
                $button.data('productID', productID);
                $button.data('quantity', quantity);
                if ($(this).parents('.selectListContainer').hasClass('ticketType')) {
                    $container.find('.price').hide();
                    $container.find('.price').eq($(this).index()).show();
                    $container.find('.bookingFee').hide();
                    $container.find('.bookingFee').eq($(this).index()).show();
                }
            }
        });

        //$('.buyClubTicket .selectList').delegate('li', 'click', function(){
        //console.log('hi');

        //});

        $('body').live('click', function () {
            $('.selectList').slideUp();
            //console.log('body click');
        });
    };
})(jQuery);
