/**
 * Bootstrap.js - JavaScript bootstrapper
 * 
 * @author Webstores <info at webstores dot nl>
 *         Copyright (c) Webstores internet totaalbureau <http://www.webstores.nl/>
 */
$(document).ready(function() {
	
    // Utilities
    WS.Util.externalLinks();
    WS.Util.rowClick();
    WS.Util.fixPlaceholders();
	
    // IE6 fixes
    if(/msie 6/i.test(navigator.userAgent)) {
        WS.Util.fixIE6HoverList();
    }
	
    // AJAX loading
    $(document.body).ajaxStart(function() {
        $(this).addClass('loading');
    }).ajaxComplete(function() {
        $(this).removeClass('loading');
    });

    // Fontsizer
    var fs = new FontSizer('#font-size', {
        applyTo: ['#content']
    });
	
    // Gallery
    if($('.gallery').length > 0) {
        var gallery = new Gallery('.gallery');
    }
	
    // Togglers
    $('.accordion').each(function() {
        switch(this.id) {
            /*case 'whatever-accordion':
				new Toggler(this).expand($(this).find('li:first-child'));
				break;*/
            default:
                new Toggler(this);
                break;
        }
    });
		
    // Validation
    $('form:not(#enquete-questions-form):not(#enquete)').each(function(i, el) {
        $(el).validate();
    });

    // Enquete questions toggler
    if($('#enquete-questions').length) {
        var enqueteToggler = new Toggler('#enquete-questions, .enquete-question', {
            doNotCollapseAll: true,
            allowMultiple: false,
            showActiveToggler: true,
            onAfterCollapse: function(item, toggler) {
                toggler.parent().removeClass('selected');
                item.find('input').attr('disabled', true);
            },
            onAfterExpand: function(item, toggler) {
                toggler.parent().addClass('selected');
                item.find('input').removeAttr('disabled');
            }
        });
        enqueteToggler.expand($('.enquete-question:first-child'), $('#enquete-questions li:first-child a'));

        // Enquete validation
        $('.next-question').each(function() {
            $(this).click(function(e) {
                e.preventDefault();
                var messages = {};
                $('#enquete-questions-form').find('.required').each(function() {
                    messages[$(this).attr('name')] = 'U moet nog een optie kiezen!';
                });
                if($(this).parents('form').validate({
                    onsubmit: false,
                    messages: messages,
                    showErrors: function(errorMap, errorList) {
                        $(errorList).each(function() {
                            if(!$(this.element).parents('.options').next('label.error').length) {
                                $(this.element).parents('.options').after('<label class="error">'+this.message+'</label>');
                            }
                        });
                    }
                }).form()) {
                    if($(this).attr('href') != '#' && $('#'+$(this).attr('href').split('#')[1]).length > 0) {
                        enqueteToggler.expand($($(this).attr('href')), $('#enquete-questions li a[href='+$(this).attr('href')+']'));
                    }
                }
            });
        });

        $('#enquete-questions-form button[type=submit]').click(function(e) {
            e.preventDefault();
            var messages = {};
            $('#enquete-questions-form').find('.required').each(function() {
                messages[$(this).attr('name')] = 'Vraag '+$(this).attr('name').split('-')[1]+' is nog niet ingevuld!';
            });

            var enqueteForm = $(this).parents('form');
            enqueteForm.find('input').removeAttr('disabled');
            $.removeData(enqueteForm.get(), 'validator');

            var lastQuestion = $(this).parents('.enquete-question').find('.options');

            if(enqueteForm.validate({
                onsubmit: false,
                messages: messages,
                showErrors: function(errorMap, errorList) {
                    errorList = errorList.reverse();
                    $(errorList).each(function() {
                        if(!lastQuestion.next('label.error-'+$(this.element).attr('name')).length) {
                            lastQuestion.after('<label class="error error-'+$(this.element).attr('name')+'">'+this.message+'</label>');
                        }
                    });
                    console.log([errorMap, errorList]);
                }
            }).form()) {
                enqueteForm.submit();
            }
        });
    }
    
    
    if($('#enquete').length) {
        $('#enquete button[type=submit]').click(function(e) {
            e.preventDefault();
            var messages = {};
            $('#enquete').find('.required').each(function() {
                var qid = $(this).attr('name').split('-')[1].split(']')[0];
                messages[$(this).attr('id').split('-')[0]] = 'Vraag '+qid+' is nog niet ingevuld!';
            });
            
            $('#enquete label.error').remove();

            if($(this).parents('form').validate({
                onsubmit: false,
                messages: messages,
                showErrors: function(errorMap, errorList) {
                    $(errorList).each(function() {
                        if(!$(this.element).parents('div.row').children('label.error').length) {
                            $(this.element).parents('div.row').prepend('<label class="error">'+this.message+'</label>');
                        }
                    });
                }
            }).form()) {   
                $(this).parents('form').submit();             
            }
        });
    }

    if($('#specialist-locations').length) {
        $('#specialist-locations').tabs();
    }

});

shadowSubmit = function() {
    return false;
}


deleteComment = function( id ) {
    if(confirm('Sind Sie sicher, dass Sie diesn Beitrag loschen?'))
    {
        
        $.post('/de/pages/comment_remove', {
            id: id
        }, function(data) {
            $('#comment' + id).remove();
        });

        
    }
};

function removeImage( id, type )
{
    /*
    $.ajax({
        type: 'POST',
        dataType: 'json',
        url: '/account/image_remove',
        data: {
            id: id,
            path: type
        },
        success: function(cb){
            if(cb.success)
            {
                $('#gImg_' + id).fadeOut('slow', function() {
                    $('#gImg_' + id).remove();
                });
            }
        }
    });*/

    $.post('/de/account/image_remove', {
        id: id,
        path: type
    }, function(data) {
        $('#gImg_' + id).fadeOut('slow', function() {
            $('#gImg_' + id).remove();
        });
    });
}
