$(document).ready(function() {
    $('ul#policyList li p').hide();
    initAccordeon();
    initGroupLayer();

    $('#recipeList tr').each(function() {
        $(this).bind('click', function() {
            document.location.href = $(this).children('td').eq(1).children('a').attr('href');
        });
    });

    setSectionHeight();
    $(window).resize(function() {
        setSectionHeight();
    });

    if ($('form.tafForm').length) validateTAF();
    if ($('form.dlForm').length) validateDl();
    if ($('form.contactForm').length) validateContact();

    $.datepicker.setDefaults($.datepicker.regional[""]);
    $(".calInput").datepicker({
        changeMonth: true,
        changeYear: true,
        showOtherMonths: true,
        selectOtherMonths: true,
        closeText: 'schlie&szlig;en',
        prevText: '&#x3c;zur&uuml;ck',
        nextText: 'Vor&#x3e;',
        currentText: 'heute',
        monthNames: ['Januar', 'Februar', 'M&auml;rz', 'April', 'Mai', 'Juni',
		'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'],
        monthNamesShort: ['Jan', 'Feb', 'M&auml;r', 'Apr', 'Mai', 'Jun',
		'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'],
        dayNames: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'],
        dayNamesShort: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],
        dayNamesMin: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],
        weekHeader: 'Wo',
        dateFormat: 'dd.mm.yy',
        firstDay: 1,
        isRTL: false,
        showMonthAfterYear: false,
        yearSuffix: '',
        minDate: new Date(2006, 1 - 1, 1),
        maxDate: new Date(),
        showAnim: 'fadeIn',
        beforeShow: function(input, inst) {
            inst.dpDiv.css({ marginTop: -100 - input.offsetHeight + 'px', marginLeft: input.offsetWidth + 5 + 'px' });
        }

    });

    downloadRezeptBild();
    $('.back2Top').bind('click', function() {
        $('body,html,#root section').scrollTop(0);
    });
});


function initAccordeon() {
    $('#policyList h2').bind('click', function() {
        $('#policyList h2.active').not($(this)).removeClass('active');
        $(this).addClass('active');
        $('#policyList p:visible').not($(this).next()).slideUp(300);
        $(this).next().slideDown(300);
    });
}
function initGroupLayer() {
    $('a#linkUnileverGroup').bind('click', function(event) {
        event.preventDefault();
        $('#unileverLayer').modal({
            overlayClose: true 
        });
    });
}
function showRecipedetailImage() {
    $('a#linkRecipeDetailImage').bind('click', function(event) {
        event.preventDefault();
        $.get($(this).attr('href'), function(data) {
            $(data).modal({
                closeHTML: "<a href='#' title='Close' class='modal-close'>x</a>",
                //position: ["15%", ],
                overlayId: 'contact-overlay',
                containerId: 'contact-container',
                onOpen: contact.open,
                onShow: contact.show,
                onClose: contact.close
            });
        });

        $('#unileverLayer').modal({
            overlayClose: true
        });
    });
}

function setSectionHeight() {
    var hoehe = $(window).height();
    $('section').height(hoehe - 233);
    $('.ie6 .contentBox').css('visibility', 'visible');
}

function validateTAF() {
    $('form.tafForm').bind('submit', function(event) {
        var formState = true;
        var filter = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/i;

        $('#redaktion, #empf_redaktion, #email, #empf_email').each(function() {
            $(this).prev().removeClass('error');
            $(this).removeClass('error');
            if ($(this).val() == "") {
                $(this).prev().addClass('error');
                $(this).addClass('error');
                formState = false;
            } else {
            if (!filter.test($(this).val()) && ($(this).id == 'email' || $(this).id == 'empf_email')) {
                    $(this).prev().addClass('error');
                    $(this).addClass('error');
                    formState = false;
                }
            }
        });

        if (!formState) {
            $('.mandatoryInfo').addClass('error');
        }

        return formState;
    });

}

function downloadRezeptBild() {
    if (typeof dlimage !== "undefined") {
        $.download('/Rezepte/downloadBild', 'dl=1');
    }
}
function validateDl() {
    $('form.dlForm').bind('submit', function(event) {
        var formState = true;
        var filter = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/i;

        $('#redaktion, #email').each(function() {
            $(this).prev().removeClass('error');
            $(this).removeClass('error');
            if ($(this).val() == "") {
                $(this).prev().addClass('error');
                $(this).addClass('error');
                formState = false;
            } else {
                if (!filter.test($(this).val()) && $(this).attr('id') == 'email') {
                    $(this).prev().addClass('error');
                    $(this).addClass('error');
                    formState = false;
                }
            }
        });
        if (!$('#agb').attr('checked')) {
            $('#agb').parent().addClass('error');
            formState = false;
        }
        if (!formState) {
            $('.mandatoryInfo').addClass('error');
        }

        return formState;
    });
}
function validateContact() {
    $('form.contactForm').bind('submit', function(event) {
        var formState = true;
        var filter = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/i;

        $('#redaktion, #email, #ansprechpartner').each(function() {
            $(this).prev().removeClass('error');
            $(this).removeClass('error');
            if ($(this).val() == "" || $(this).val() == "0") {
                $(this).prev().addClass('error');
                $(this).addClass('error');
                formState = false;
            } else {
                if (!filter.test($(this).val()) && $(this).attr('id') == 'email') {
                    $(this).prev().addClass('error');
                    $(this).addClass('error');
                    formState = false;
                }
            }
        });
        if (!formState) {
            $('.mandatoryInfo').addClass('error');
        }

        return formState;
    });
}

/*
* --------------------------------------------------------------------
* jQuery-Plugin - $.download - allows for simple get/post requests for files
* by Scott Jehl, scott@filamentgroup.com
* http://www.filamentgroup.com
* reference article: http://www.filamentgroup.com/lab/jquery_plugin_for_requesting_ajax_like_file_downloads/
* Copyright (c) 2008 Filament Group, Inc
* Dual licensed under the MIT (filamentgroup.com/examples/mit-license.txt) and GPL (filamentgroup.com/examples/gpl-license.txt) licenses.
* --------------------------------------------------------------------
*/

jQuery.download = function(url, data, method) {
    //url and data options required
    if (url && data) {
        //data can be string of parameters or array/object
        data = typeof data == 'string' ? data : jQuery.param(data);
        //split params into form inputs
        var inputs = '';
        jQuery.each(data.split('&'), function() {
            var pair = this.split('=');
            inputs += '<input type="hidden" name="' + pair[0] + '" value="' + pair[1] + '" />';
        });
        //send request
        jQuery('<form action="' + url + '" method="' + (method || 'post') + '">' + inputs + '</form>')
		.appendTo('body').submit().remove();
    };
};

