﻿var $j = jQuery.noConflict();

function facebookPostQuiz() {
    FB.login(function (response) {
        if (response.session) {
            var fName = '';
            var fId = '';
            var fLink = '';
            FB.api('/me', function (response) {
                fName = response.name;
                fId = response.id;
                fLink = response.link;
            });
            var publish = {
                method: 'stream.publish',
                message: 'har testet sin viden om dansk politik.',
                picture: 'http://konservative.dk/images/valgkampagne/fbook-logo-c.png',
                link: 'http://konservative.dk/',
                name: 'Klog på dansk politik?!',
                caption: '',
                description: 'Deltag i vores daglige quiz',
                actions: { name: 'Deltag i vores daglige quiz', link: 'http://konservative.dk/' }
            };

            FB.api('/me/feed', 'post', publish, function (response) {
                if (!response || response.error) {
                    $j('.quiz .step2').stop(true, true).slideUp('fast', function () {
                        $j('.quiz .step4').slideDown('slow');
                    });
                } else {
                    Konservative.Services.QuizService.Answer(fName, fLink, fId, $j('input:radio[name=quiz-radio.2]:checked').val(), null, null, null);
                    $j('.quiz .step2').stop(true, true).slideUp('fast', function () {
                        $j('.quiz .step3').slideDown('slow');
                    });
                }
            });

        } else {
            $j('.quiz .step2').stop(true, true).slideUp('fast', function () {
                $j('.quiz .step4').slideDown('slow');
            });
        }
    }, { perms: 'read_stream,publish_stream' });
}


function pFinderFunction() {
    Konservative.Services.LocateUnionService.GetUnionLinks($j('.p-finder input').val(), function (data) {
        if (data.length != 1) {
            if (data.length != 0) {
                var postalHTML = '';
                for (i = 0; i < data.length; i++) {
                    if (!(data[i]['Name'] == '')) {
                        postalHTML += '<div><a href="' + data[i]['Link'] + '" title="">' + data[i]['Name'] + '</a></div>';
                    }
                }
                $j('#p-finder-result').html(postalHTML);
                $j('.p-finder-step1').stop(true, true).hide();
                $j('.p-finder-step2').stop(true, true).fadeIn('500');
            } else {
                $j('.p-finder-step1').append('<span style="color: red">Ikke et gyldigt postnummer</span>');
            }
        } else {
            window.location.href = data[0]['Link'];
        }
    }, function (error) { alert(error); }, null);
}

$j(document).ready(function () {

    //slider cycle
    if ($j('#slider').length > 0) {
        if ($j('#slider .item').length > 1) {
            if ($j('.big-grey').length > 0) {
                $j('#slider .items').cycle({
                    timeout: 0,
                    prev: '.slider-prev',
                    next: '.slider-next',
                    pager: '.slider-nav ul',
                    pagerAnchorBuilder: function (idx, slide) {
                        return '.slider-nav li:eq(' + idx + ') a';
                    }
                });
                $j('.slider-next, .slider-prev').css('display', 'block');
            } else {
                $j('#slider .items').cycle({
                    timeout: 8000,
                    pause: 1,
                    prev: '.slider-prev',
                    next: '.slider-next',
                    pager: '.slider-nav ul',
                    pagerAnchorBuilder: function (idx, slide) {
                        return '.slider-nav li:eq(' + idx + ') a';
                    }
                });
                $j('#slider .slider-nav, #slider .slider-remote, .slider-next, .slider-prev').css('display', 'block');
            }
        }
        /*else {
        $j('#slider .slider-nav, #slider .slider-remote, .slider-next, .slider-prev').css('display', 'none');
        }*/
    }

    //auto clear on fields
    $j('.input-text').each(function () {
        var default_value = this.value;
        $j(this).focus(function () {
            if (this.value == default_value) {
                this.value = '';
            }
        });
        $j(this).blur(function () {
            if (this.value == '') {
                this.value = default_value;
            }
        });
    });

    //custom checkboxes
    $j('input:radio').checkbox();

    //news paging
    $j(".frontpage .news-list").quickPager({ pageSize: '2' });
    $j(".area-frontpage .box-2col .news-list").quickPager({ pageSize: '3' });

    //sharefeeds click
    $j('.sharefeeds-btn').click(function (event) {
        event.preventDefault();
        $j('.sharefeeds-btn').removeClass('active');
        $j(this).addClass('active');
        $j('.sharefeeds .content').stop(true, true).hide();
        $j('.' + $j(this).find('a').attr('rel')).stop(true, true).fadeIn('500');
    });

    // p-finder
    $j('.submit-p-finder').click(function (event) {
        event.preventDefault();
        pFinderFunction();
    });
    $j('.p-finder-step1 input').keypress(function (event) {
        if (event.which == '13') {
            event.preventDefault();
            pFinderFunction();
        }
    });
    //// p-finder-back
    $j('#p-finder-back').click(function (event) {
        event.preventDefault();
        $j('.p-finder-step2').stop(true, true).hide();
        $j('#p-finder-result').html(' ');
        $j('.p-finder-step1 span').remove();
        $j('.p-finder-step1').stop(true, true).fadeIn('500');
    });

    //quiz submit
    //// validate on 1st step
    $j('.quiz .step1 .submit a').click(function () {
        if ($j('input:radio[name=quiz-radio.2]:checked').length < 1) {
            alert('V\346lg en svar mulighed');
            return false;
        }
        $j('.quiz .step1').stop(true, true).slideUp('fast', function () {
            $j('.quiz .step2').slideDown('slow');
            $j('#question-my-answer').html($j('input:radio[name="quiz-radio.2"]:checked').parent().find('.q-label').html());
        });
        return false;
    });

    //// init facebook TODO: get the real app id
    // FB app id for konservative.dk 148772671859843
    // FB app id for konservativemain.test.dkis.dk 142481255815748  
    FB.init({ appId: '148772671859843', status: true, cookie: true, xfbml: true });

    //// set the facebook link
    $j('.quiz .quiz-facebook-link').click(function (event) {
        event.preventDefault();
        facebookPostQuiz();
    });

    //set the dropdown menu
    $j("ul.sf-menu").superfish({
        speed: 'fast',
        autoArrows: false,
        dropShadows: false,
        pathClass: 'currentArea',
        onBeforeShow: function () {
            $j('.main-menu .sf-breadcrumb').removeClass('active');
            $j('.main-menu .currentArea').removeClass('active');
        }
    });

    //opinion bar
    $j('.o-bar-nav .btn a').click(function (event) {
        event.preventDefault();
        if ($j(this).html() == 'Minimer') {
            $j(this).html('Se alle politiske emner');
        } else {
            $j(this).html('Minimer');
        }

        $j('.o-bar-content').slideToggle('fast');
        $j('.o-bar-nav .btn').toggleClass('active');
    });

    //apply select box styling
    $j("select.dd-select").msDropDown();

    //apply sharethis
    if ($j('.sharethis-btn').length > 0) {
        stLight.options({ publisher: '5a5dc2b6-a2a9-45b0-b5e6-89871f6d7bcf' });
        $j('.sharethis-btn').toggle(function () {
            $j('.sharethis-con').css('display', 'block');
        }, function () {
            $j('.sharethis-con').css('display', 'none');
        });

        $j('.sharethis-btn').hover(function () {
            $j('.sharethis-con').css('display', 'block');
        }, function () {
            $j('.sharethis-con').css('display', 'none');
        });
    }

    // become member form
    //// validate fields
    if ($j('.join-form').length > 0) {
        if ($j.url.param('success') == 'true') {
            alert('Tak, Vi har modtaget din indmeldelse.');
        }
        if ($j.url.param('success') == 'false') {
            alert('Desv\346rre skete der en fejl og vi kunne ikke fuldf\370re din indmeldelse - pr\370v venligst igen eller kontakt os via e-mail.');
        }
        $j('.form-btn input').attr('disabled', 'disabled');
        $j('.join-form .form-row:eq(0) input,.join-form .form-row:eq(1) input,.join-form .form-row:eq(2) input,.join-form .form-row:eq(4) input:eq(0),.join-form .form-row:eq(4) input:eq(1),.join-form .form-row:eq(5) input,.join-form .form-row:eq(6) input').blur(function () {
            if ($j(this).val() == '') {
                $j(this).addClass('error');
                $j('.join-form .form-error').css('display', 'block');
            } else {
                $j(this).removeClass('error');
            }
            if ($j('.join-form .error').length < 1) {
                $j('.join-form .form-error').css('display', 'none');
            }
            if ($j('.join-form .form-row:eq(0) input').val() != '' && $j('.join-form .form-row:eq(1) input').val() != '' && $j('.join-form .form-row:eq(2) input').val() != '' && $j('.join-form .form-row:eq(4) input:eq(0)').val() != '' && $j('.join-form .form-row:eq(4) input:eq(1)').val() != '' && $j('.join-form .form-row:eq(5) input').val() != '' && $j('.join-form .form-row:eq(6) input').val() != '') {
                $j('.form-btn input').removeAttr('disabled');
            }
        });
    }
    //// zip price
    if ($j('#member-price').length > 0) {
        $j('input.join-zip').keyup(function () {
            if ($j(this).val().length > 3) {
                postalCode = $j(this).val();
                Konservative.Services.PostalPriceService.GetPostalCodePrices(postalCode, function (data) {
                    if (data) {
                        var postalHTML = '<p>Pris for medlemsskab i postnummer ' + postalCode + '</p>';
                        for (i = 0; i < data.length; i++) {
                            if (!(data[i]['PriceValue'] == '')) {
                                postalHTML += '<div class="price-wrap"><div class="price-type">' + data[i]['PriceType'] + '</div><div class="price-value">kr. ' + data[i]['PriceValue'] + ',00</div></div>';
                            }
                        }
                        $j('#member-price').html(postalHTML);
                        $j('input.join-zip').removeClass('error');
                    } else {
                        $j('input.join-zip').addClass('error');
                        $j('#member-price').html('Ikke et gyldigt postnummer');
                    }
                }, function (error) { alert('error'); }, null);
            }
        });
    }

});


