<?php

use yii\bootstrap\Html;
use yii\helpers\Url;
use frontend\extensions\Utils;

// check for voucher created
$date = new DateTime();

$lastDayWeek = $date->modify('next week +6 days');
$year = $lastDayWeek->format("Y");
$month = ($lastDayWeek->format("m") * 1) - 1;
$day = $lastDayWeek->format("d");

// get voucher in current week
$currentWeekNum = date("W");
$nextWeekNum = $date->format("W");

$thisDay = new DateTime();
$festivi = array();
while (true) {
    $d = $thisDay->format("d");
    $m = $thisDay->format("m");
    $y = $thisDay->format("Y");
    $w = $thisDay->format("W");

    if (strtotime("$y-$m-$d") > strtotime("2016-12-23")) {
        break;
    }

    $festiviAnno = Utils::getFestivi($y);
    if (Utils::isFestivo($festiviAnno, $d, $m)) {
        $festivi[] = "$y-$m-$d";
    }

    $thisDay = $thisDay->modify('+1 days');
}

if (Yii::$app->user->isGuest) {
    $voucherRequested = false;
} else {
    $voucherRequested = common\models\Voucher::find()->where(['utente' => Yii::$app->user->identity->msisdn, 'valido' => 1])->one();
}

$beforeShowDay = "var week = $.datepicker.iso8601Week(date);";

$beforeShowDay .= "var festivi = '" . implode(",", $festivi) . "';";
$beforeShowDay .= "var festiviArr = festivi.split(',');";
$beforeShowDay .= "var day = date.getDate() < 10? '0' + date.getDate() : date.getDate();";
$beforeShowDay .= "var month = date.getMonth() + 1 < 10? '0' + (date.getMonth() + 1) : (date.getMonth() + 1);";
$beforeShowDay .= "var year = date.getFullYear();";

$beforeShowDay .= "if($.inArray(year+'-'+month+'-'+day, festiviArr) >= 0){ return [false]; }";


$voucherAlready = $voucherRequested != NULL;


$cinema2day_1 = false; //(date('W', strtotime('2016-09-14')) == $currentWeekNum || date('W', strtotime('2016-09-14')) == $nextWeekNum );
$cinema2day_2 = false; //(date('W', strtotime('2016-10-12')) == $currentWeekNum || date('W', strtotime('2016-10-12')) == $nextWeekNum );
$cinema2day_3 = (date('W', strtotime('2016-11-09')) == $currentWeekNum || date('W', strtotime('2016-11-09')) == $nextWeekNum );
$cinema2day_4 = false; //(date('W', strtotime('2016-12-14')) == $currentWeekNum || date('W', strtotime('2016-12-14')) == $nextWeekNum );
?>

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false&language=it"></script>

<script type="text/javascript">

    //function(date){ ' . $beforeShowDay . ' var day = date.getDay(); if(day == 6 || day == 0) return [false]; return [true]; }
    function onBeforeShowDay(date) {

<?php echo $beforeShowDay ?>

        var day = date.getDay();
        var dayMonth = date.getDate();
        var monthIndex = date.getMonth();
        var year = date.getFullYear();

        if (day == 6 || day == 0)
            return [false];

        // if (dayMonth == 14 && monthIndex == 8 && year == 2016) // 14/09/2016
        //     return [false, 'cinema2day'];

        // if (dayMonth == 12 && monthIndex == 9 && year == 2016) // 12/10/2016
        //     return [false, 'cinema2day'];

        if (dayMonth == 9 && monthIndex == 10 && year == 2016) // 09/11/2016
            return [false, 'cinema2day'];

        // if (dayMonth == 14 && monthIndex == 11 && year == 2016) // 14/12/2016
        //     return [false, 'cinema2day'];

        return [true];
    }



    var selectedCinema;
    var selectedDate;
    // When the window has finished loading create our google map below
    google.maps.event.addDomListener(window, 'load', init);
    var geocoder;
    var bounds;
    var pinImage = '<?php echo Yii::$app->homeUrl ?>images/commons/map-pin.png';
    var openedWindow;
    var markers = [];
    var cinemas = [];
    var map;
    var nextStepVoucher = false;
    var loaded = false;
    var spettatoreSelected = 1;

    function init() {
        geocoder = new google.maps.Geocoder();
        bounds = new google.maps.LatLngBounds();
        // Basic options for a simple Google Map
        // For more options see: https://developers.google.com/maps/documentation/javascript/reference#MapOptions
        var mapOptions = {
            zoom: 11,
            streetViewControl: false,
            styles: [{"featureType": "water", "elementType": "geometry", "stylers": [{"color": "#e9e9e9"}, {"lightness": 17}]}, {"featureType": "landscape", "elementType": "geometry", "stylers": [{"color": "#f5f5f5"}, {"lightness": 20}]}, {"featureType": "road.highway", "elementType": "geometry.fill", "stylers": [{"color": "#ffffff"}, {"lightness": 17}]}, {"featureType": "road.highway", "elementType": "geometry.stroke", "stylers": [{"color": "#ffffff"}, {"lightness": 29}, {"weight": 0.2}]}, {"featureType": "road.arterial", "elementType": "geometry", "stylers": [{"color": "#ffffff"}, {"lightness": 18}]}, {"featureType": "road.local", "elementType": "geometry", "stylers": [{"color": "#ffffff"}, {"lightness": 16}]}, {"featureType": "poi", "elementType": "geometry", "stylers": [{"color": "#f5f5f5"}, {"lightness": 21}]}, {"featureType": "poi.park", "elementType": "geometry", "stylers": [{"color": "#dedede"}, {"lightness": 21}]}, {"elementType": "labels.text.stroke", "stylers": [{"visibility": "on"}, {"color": "#ffffff"}, {"lightness": 16}]}, {"elementType": "labels.text.fill", "stylers": [{"saturation": 36}, {"color": "#333333"}, {"lightness": 40}]}, {"elementType": "labels.icon", "stylers": [{"visibility": "off"}]}, {"featureType": "transit", "elementType": "geometry", "stylers": [{"color": "#f2f2f2"}, {"lightness": 19}]}, {"featureType": "administrative", "elementType": "geometry.fill", "stylers": [{"color": "#fefefe"}, {"lightness": 20}]}, {"featureType": "administrative", "elementType": "geometry.stroke", "stylers": [{"color": "#fefefe"}, {"lightness": 17}, {"weight": 1.2}]}]
        };
        var mapElement = document.getElementById('map');
        // Create the Google Map using our element and options defined above
        map = new google.maps.Map(mapElement, mapOptions);
<?php
foreach ($cinema as $c) {
    if ($c->latitudine != NULL && $c->longitudine != NULL) {
        ?>
                addMarker(<?= $c->latitudine ?>, <?= $c->longitudine ?>, "<?= $c->nome ?>", "<?= $c->indirizzo ?>", "<?= $c->citta ?>", "<?= $c->regione ?>", "<?= $c->provincia ?>", <?= $c->id ?>, "<?= $c->url ?>", '<?= $c->codice ?>');
        <?php
    }
}
?>

        if (!loaded) {
            loaded = true;
<?php if ($lastCinema != NULL) { ?>
                setTimeout(function () {
                    $('#regione').val('<?= $lastCinema->regione ?>');
                    $('#provincia').val("<?= $lastCinema->provincia ?>");
                    $('#provincia').removeAttr("disabled");
                    $('#citta').val("<?= $lastCinema->citta ?>");
                    $('#citta').removeAttr("disabled");
                    onChangeCitta(null, true);
                }, 500);
<?php } ?>
        }
    }

    function addMarker(latitude, longitude, nomecinema, indirizzo, citta, regione, provincia, idcinema, sito_internet, codice) {
        var pos = new google.maps.LatLng(latitude, longitude);
        var marker = new google.maps.Marker({
            map: map,
            position: pos,
            icon: pinImage
        });
        bounds.extend(pos);
        map.fitBounds(bounds);
        markers.push({
            'regione': regione,
            'provincia': provincia,
            'citta': citta,
            'marker': marker
        });
        var contentInfo = '<div class="infowindow"><h3>' + nomecinema + '</h3><p>' + indirizzo + ' ' + citta + '</p>';
        if (sito_internet != "") {
            var sito = (sito_internet.indexOf("http://") >= 0 || sito_internet.indexOf("https://") >= 0) ? sito_internet : "http://" + sito_internet;
            contentInfo += "<p><a href='" + sito + "' target='_blank'>" + sito_internet + "</a></p>";
        }

        var codice = "'" + codice + "'";
        contentInfo += '<p><a href="javascript:;" onclick="showProgrammazione(' + codice + ');">Consulta la programmazione</a></p>';
        var infowindow;
<?php if (Yii::$app->user->isGuest || $voucherAlready) { ?>
            contentInfo += '</div>';
<?php } else { ?>
            contentInfo += '<div class="btn-seleziona" onclick="selectCinema(' + idcinema + ');">SCEGLI CINEMA</div></div>';
<?php } ?>

        cinemas.push({
            'id': idcinema,
            'nome': nomecinema,
            'citta': citta,
            'regione': regione,
            'provincia': provincia,
        });
        infowindow = new google.maps.InfoWindow({
            content: contentInfo
        });
        google.maps.event.addListener(marker, 'click', function () {
            if (openedWindow)
                openedWindow.close();
            infowindow.open(map, marker);
            openedWindow = infowindow;
        });
    }

    function reloadMarkers() {
        var selectedRegione = $('#regione').val();
        var selectedProvincia = $('#provincia').val();
        var selectedCitta = $('#citta').val();
        bounds = new google.maps.LatLngBounds();
        for (var i = 0; i < markers.length; i++) {
            var m = markers[i];
            var inserted = true;
            m.marker.setMap(map);
            if (selectedRegione != "" && m.regione != selectedRegione) {
                m.marker.setMap(null);
                inserted = false;
            }

            if (selectedProvincia != "" && m.provincia != selectedProvincia) {
                m.marker.setMap(null);
                inserted = false;
            }

            if (selectedCitta != "" && m.citta != selectedCitta) {
                m.marker.setMap(null);
                inserted = false;
            }

            if (inserted) {
                bounds.extend(m.marker.getPosition());
            }
        }
        map.fitBounds(bounds);
        var zoom = map.getZoom();
        map.setZoom(zoom > 10 ? 10 : zoom);
    }

    function onChangeRegione(callback, withoutReset) {
        if (!withoutReset) {
            selectedCinema = null;
            $('.check_cinema').attr("src", "<?php echo Yii::$app->homeUrl ?>images/commons/check-unchecked.png");
            $('#lista-cinema').fadeOut();
            $('#scegli-data').fadeOut();
            $('#conferma-button').fadeOut();
            $('#data_scelta').val("");
            // disabled others
            $('#provincia').html("<option value>PROVINCIA</option>");
            $('#provincia').prop("disabled", true);
            $('#citta').html("<option value>CITTÀ</option>")
            $('#citta').prop("disabled", true);
        }

        var selectedRegione = $('#regione').val();
        if (selectedRegione != "") {
            $.ajax({
                url: '<?= Url::to(['site/loadprovince']) ?>',
                type: 'post',
                data: {
                    'regione': selectedRegione
                },
                success: function (data) {
                    $('#provincia').html(data);
                    $('#provincia').prop('disabled', false);
                }
            });
            $.pjax.reload({container: "#" + $('#lista-cinema-id').parent().attr('id'), timeout: 30000, data: {"regione": selectedRegione}}).success(function () {
                $('#lista-cinema').fadeIn();
                if (callback) {
                    callback();
                }
            });
        }

        reloadMarkers();
    }

    function onChangeProvincia(callback, withoutReset) {
        if (!withoutReset) {
            selectedCinema = null;
            $('.check_cinema').attr("src", "<?php echo Yii::$app->homeUrl ?>images/commons/check-unchecked.png");
            $('#lista-cinema').fadeOut();
            $('#scegli-data').fadeOut();
            $('#conferma-button').fadeOut();
            $('#data_scelta').val("");
            $('#citta').html("<option value>CITTÀ</option>")
            $('#citta').prop("disabled", true);
        }

        var selectedProvincia = $('#provincia').val();
        if (selectedProvincia != "") {
            $.ajax({
                url: '<?= Url::to(['site/loadcitta']) ?>',
                type: 'post',
                data: {
                    'provincia': selectedProvincia
                },
                success: function (data) {
                    $('#citta').html(data);
                    $('#citta').prop('disabled', false);
                }
            });
            $.pjax.reload({container: "#" + $('#lista-cinema-id').parent().attr('id'), timeout: 30000, data: {"provincia": selectedProvincia}}).success(function () {
                $('#lista-cinema').fadeIn();
                if (callback) {
                    callback();
                }
            });
        } else {
            var selectedRegione = $('#regione').val();
            if (selectedRegione != "") {
                $.pjax.reload({container: "#" + $('#lista-cinema-id').parent().attr('id'), timeout: 30000, data: {"regione": selectedRegione}}).success(function () {
                    $('#lista-cinema').fadeIn();
                });
            }
        }

        reloadMarkers();
    }

    function onChangeCitta(callback, withoutReset) {
        if (!withoutReset) {
            selectedCinema = null;
            $('.check_cinema').attr("src", "<?php echo Yii::$app->homeUrl ?>images/commons/check-unchecked.png");
            $('#lista-cinema').fadeOut();
            $('#scegli-data').fadeOut();
            $('#conferma-button').fadeOut();
            $('#data_scelta').val("");
        }
        var selectedCitta = $('#citta').val();
        if (selectedCitta != "") {
            $.pjax.reload({container: "#" + $('#lista-cinema-id').parent().attr('id'), timeout: 30000, data: {"citta": selectedCitta}}).success(function () {
                $('#lista-cinema').fadeIn();
                if (callback) {
                    callback();
                }
            });
        } else {
            var selectedProvincia = $('#provincia').val();
            if (selectedProvincia != "") {
                $.pjax.reload({container: "#" + $('#lista-cinema-id').parent().attr('id'), timeout: 30000, data: {"provincia": selectedProvincia}}).success(function () {
                    $('#lista-cinema').fadeIn();
                });
            } else {
                var selectedRegione = $('#regione').val();
                if (selectedRegione != "") {
                    $.pjax.reload({container: "#" + $('#lista-cinema-id').parent().attr('id'), timeout: 30000, data: {"regione": selectedRegione}}).success(function () {
                        $('#lista-cinema').fadeIn();
                    });
                }
            }
        }

        reloadMarkers();
    }

    $(function () {
        initLocandine();
        // change pajax defaults for avoid push state on gridview
        if ($.pjax.defaults) {
            $.pjax.defaults.push = false;
            $.pjax.defaults.history = false;
        }

        // top arrow
        $('#torna-su').click(function () {
            $('html, body').animate({
                'scrollTop': 0
            }, 800);
        });
        $(window).scroll(function () {
            checkForRichiediButton();
        });
        checkForRichiediButton();
        $(window).resize(function () {
            initMapHeight();
            initLocandine();
            // onLoadedLocandine();

            // $('#data_scelta').datepicker('hide');
            // $('#data_scelta').blur();
        });
        initMapHeight();
        $('#scegli-data .arrow-down').click(function (e) {
            $(this).hide();
            $('#data_scelta').focus();
            // $('.cinema2day_container').fadeTo( 'fast' , 0.5);
            $(this).show();
        });
    });
    function initMapHeight() {
        if ($(window).width() <= 767) {
            var mapHeight = $(window).height() - $('#header').height() - 56;
<?php if (Yii::$app->user->isGuest) { ?>
                mapHeight -= 60;
<?php } ?>

            $('#map').css('height', mapHeight + "px");
        } else {
            $('#map').css('height', "");
        }

        $('.check_spettatore').click(function () {
            var checkId = $(this).attr('id');
            if (checkId == 'check_spettatore_1') {
                spettatoreSelected = 1;
            } else {
                var nome2 = getTrimmedPValue('nome_2');
                var cognome2 = getTrimmedPValue('cognome_2');

                if (nome2.length > 0 && cognome2.length > 0)
                    spettatoreSelected = 2;
                else
                    spettatoreSelected = 1;
            }
            refreshSpettatore();
        });
    }

    function refreshSpettatore() {
        $('.check_spettatore').attr("src", "<?php echo Yii::$app->homeUrl ?>images/commons/check-unchecked.png");

        $('#check_spettatore_' + spettatoreSelected).attr("src", "<?php echo Yii::$app->homeUrl ?>images/commons/check.png");
    }

    function initLocandine() {
        $('.locandina img.original, .locandina img.over').each(function () {
            $(this).attr("src", $(this).data('img'));
        });
        $('#film-in-sala').waitForImages(function () {
            onLoadedLocandine();
        });
    }

    function onLoadedLocandine() {
        var totalWidth = $('.container-locandine').innerWidth();
        var numItems = 7;
        var screenWidth = $(window).width();
        if (screenWidth <= 1599) {
            numItems = 6;
        }
        if (screenWidth <= 1279) {
            numItems = 4;
        }
        if (screenWidth <= 1023) {
            numItems = 2;
        }
        if (screenWidth <= 767) {
            numItems = 1;
        }



        var itemWidth = Math.floor(totalWidth / numItems);
        $('.locandina').width(itemWidth - 40);
        if (numItems == 1) {
            // center element
            $('.locandina img.original, .locandina img.over').each(function () {
                $(this).css("left", ((itemWidth - 40) / 2 - $(this).width() / 2) + "px");
            });
        } else {
            $('.locandina img.original, .locandina img.over').each(function () {
                $(this).css('left', '0px').css("width", '100%').css("height", 'auto');
            });
        }

        var totWidth = 0;
        $('.list-locandine .locandina').each(function () {
            totWidth += $(this).outerWidth() + 40;
        });
        $('.list-locandine').width(totWidth);
        $('.list-locandine').css("left", 0);
        if ($('#film-in-sala').css("visibility") != "visible") {
            $('#film-in-sala').fadeOut(function () {
                $('#film-in-sala').css("visibility", "visible");
                $('#film-in-sala').fadeIn();
            });
        }



        $('#film-in-sala').css("max-height", "none");
        // give same size
        $first_locandina_width = $('.locandina img.original').first().css('width');
        $first_locandina_height = $('.locandina img.original').first().css('height');
        $('.locandina img.original, .locandina img.over').each(function () {
            $(this).css("width", $first_locandina_width).css("height", $first_locandina_height);
        });
        $('#locandine > #left-arrow').click(function () {
            moveLocandineLeft(true);
        });
        $('#locandine > #right-arrow').click(function () {
            moveLocandineRight(true);
        });
    }

    function checkForRichiediButton() {
        var topScroll = $(window).scrollTop();
        if ($('#richiedi-voucher-container').length) {
            if (topScroll > $('#richiedi-voucher-container').position().top + 50) {
                $('#richiedi-voucher-container-fixed').fadeIn();
            } else {
                $('#richiedi-voucher-container-fixed').fadeOut();
            }
        }
    }

    // manage moving locandine
    var movingLocandine = false;
    function moveLocandineLeft(mobile) {
        if (movingLocandine)
            return;
        closeFilmDetail();
        var screenWidth = $('.container-locandine').innerWidth();
        var left = $('.list-locandine').position().left;
        if (left < 0) {
            movingLocandine = true;
            $('.list-locandine').animate({
                left: (left + screenWidth) + "px"
            }, function () {
                movingLocandine = false;
            });
        }
    }

    function moveLocandineRight(mobile) {
        if (movingLocandine)
            return;
        closeFilmDetail();
        var left = $('.list-locandine').position().left * 1;
        var screenWidth = $('.container-locandine').innerWidth();
        if (Math.abs(left) + screenWidth < $('.list-locandine').width()) {
            movingLocandine = true;
            $('.list-locandine').animate({"left": (left - screenWidth) + "px"}, function () {
                movingLocandine = false;
            });
        }
    }

    function stopMoveLocandine() {
        clearInterval(movingLocandineInterval);
    }

    function selectCinema(cinema_id) {
        selectedCinema = cinema_id;
        $('.check_cinema').attr("src", "<?php echo Yii::$app->homeUrl ?>images/commons/check-unchecked.png");
        $('#check_' + cinema_id).attr("src", "<?php echo Yii::$app->homeUrl ?>images/commons/check.png");
        if ($(window).width() <= 767) {
            $('#scegli-cinema-mobile').fadeOut(function () {
                $('#scegli-data').fadeIn(function () {
                    $('html,body').animate({
                        scrollTop: $('#scegli-data').position().top + "px"
                    });
                });
            });
        } else {
            updateList(cinema_id);
            $('#scegli-data').fadeIn(function () {
                $('html,body').animate({
                    scrollTop: $('#scegli-data').position().top + "px"
                });
            });
        }
    }

    function updateList(cinema_id, tocheck) {
        if (typeof (tocheck) === 'undefined')
            tocheck = true;
        var selected;
        for (var i = 0; i < cinemas.length; i++) {
            if (cinemas[i].id == cinema_id) {
                selected = cinemas[i];
            }
        }
        if (selected) {
            changeRegione(selected.regione, selected.provincia, selected.citta, cinema_id, tocheck);
        }
    }

    function changeRegione(regione, provincia, citta, cinema_id, tocheck) {
        if ($('#regione').val() != regione) {
            $('#regione').val(regione);
            onChangeRegione(function () {
                changeProvincia(provincia, citta, cinema_id, tocheck);
            }, true);
        } else {
            changeProvincia(provincia, citta, cinema_id, tocheck);
        }
    }

    function changeProvincia(provincia, citta, cinema_id, tocheck) {
        if ($('#provincia').val() != provincia) {
            $('#provincia').val(provincia);
            onChangeProvincia(function () {
                changeCitta(citta, cinema_id, tocheck);
            }, true);
        } else {
            changeCitta(citta, cinema_id, tocheck);
        }
    }

    function changeCitta(citta, cinema_id, tocheck) {
        if ($('#citta').val() != citta) {
            $('#citta').val(citta);
            onChangeCitta(function () {
                if (tocheck) {
                    $('.check_cinema').attr("src", "<?php echo Yii::$app->homeUrl ?>images/commons/check-unchecked.png");
                    $('#check_' + cinema_id).attr("src", "<?php echo Yii::$app->homeUrl ?>images/commons/check.png");
                }
            }, true);
        } else {
            if (tocheck) {
                $('.check_cinema').attr("src", "<?php echo Yii::$app->homeUrl ?>images/commons/check-unchecked.png");
                $('#check_' + cinema_id).attr("src", "<?php echo Yii::$app->homeUrl ?>images/commons/check.png");
            }
        }
    }

    function onSelectDate(data) {
        selectedDate = data;
        // $('.cinema2day_container').fadeTo( 'fast' , 1);
        $('#dati-spettatore').fadeIn();
        $('#conferma-button').fadeIn();
    }

    function confirmDati() {
        $('#nomi-error').html("");
        $('#nomi-error').hide();

        var nome = getTrimmedPValue('nome');
        var cognome = getTrimmedPValue('cognome');

        if (nome.length == 0 || cognome.length == 0) {
            $('#nomi-error').html("Inserire il nominativo");
            $('#nomi-error').show();
            return;
        }

        $('#scegli-cinema-container').fadeOut(function () {
            $('#voucher-loader').fadeIn();
            $.ajax({
                url: '<?= Url::to(['site/confirmdati']) ?>',
                type: 'post',
                data: {
                    'c': selectedCinema,
                    'd': selectedDate,
                    'nome': getTrimmedPValue('nome'),
                    'cognome': getTrimmedPValue('cognome'),
                },
                success: function (data) {
                    nextStepVoucher = true;
                    $('#voucher-loader').fadeOut(function () {
                        $('#infografica-voucher').attr('src', '<?= Yii::$app->homeUrl ?>images/index/infografica_2.png');
                        $('#infografica-voucher-mobile').attr('src', '<?= Yii::$app->homeUrl ?>images/index/infografica_2_mobile.png');
                        $('#scegli-cinema').append(data);
                        $('#confirm-dati').fadeIn();
                    });
                    $('html, body').animate({
                        'scrollTop': $('#infografica').position().top + "px"
                    });
                }
            });
        });
    }

    function confirmVoucher() {
        var nome = getTrimmedPValue('nome');
        var cognome = getTrimmedPValue('cognome');

        if (nome.length == 0 || cognome.length == 0) {
            return;
        }

        $('#confirm-dati').fadeOut(function () {
            $('#confirm-dati').remove();
            $('#voucher-loader').fadeIn();
            $.ajax({
                url: '<?= Url::to(['site/confirmvoucher']) ?>',
                type: 'post',
                data: {
                    'c': selectedCinema,
                    'd': selectedDate,
                    's': spettatoreSelected,
                    'nome': getTrimmedPValue('nome'),
                    'cognome': getTrimmedPValue('cognome'),
                },
                success: function (data) {
                    nextStepVoucher = true;
                    $('#voucher-loader').fadeOut(function () {
                        if (data == "ERROR") {
                            $('#generation-error').fadeIn();
                        } else {
                            $('#infografica-voucher').attr('src', '<?= Yii::$app->homeUrl ?>images/index/infografica_3.png');
                            $('#infografica-voucher-mobile').attr('src', '<?= Yii::$app->homeUrl ?>images/index/infografica_3_mobile.png');
                            $('#scegli-cinema').append(data);
                            $('#confirmed').fadeIn();
                        }

                        $('html, body').animate({
                            'scrollTop': $('#infografica').position().top + "px"
                        });
                    });
                }
            });
        });
    }

    function indietroFromError() {
        $('#generation-error').fadeOut(function () {
            $('#infografica-voucher').attr('src', '<?= Yii::$app->homeUrl ?>images/index/infografica_1.png');
            $('#infografica-voucher-mobile').attr('src', '<?= Yii::$app->homeUrl ?>images/index/infografica_1_mobile.png');
            $('#confirm-dati').fadeOut(function () {
                nextStepVoucher = false;
                $('#confirm-dati').remove();
                if ($(window).width() <= 767) {
                    $('#scegli-data').hide();
                    $('#map-container').hide();
                    $('#scegli-cinema-mobile').show();
                    $('.right-select').show();
                }
                $('#scegli-cinema-container').fadeIn();
            });
        });
    }

    function modificaVoucher() {
        $('#infografica-voucher').attr('src', '<?= Yii::$app->homeUrl ?>images/index/infografica_1.png');
        $('#infografica-voucher-mobile').attr('src', '<?= Yii::$app->homeUrl ?>images/index/infografica_1_mobile.png');
        $('#confirm-dati').fadeOut(function () {
            nextStepVoucher = false;
            $('#confirm-dati').remove();
            if ($(window).width() <= 767) {
                $('#scegli-data').hide();
                $('#map-container').hide();
                $('#scegli-cinema-mobile').show();
                $('.right-select').show();
            }
            $('#scegli-cinema-container').fadeIn();
        });
    }


    function resetAreaCinema() {
        if (nextStepVoucher) { // reload
            window.location.href = "<?= Url::to(['site/index#cinema']) ?>";
            location.reload();
        }

    }



    function richiediVoucher() {
<?php if (!Yii::$app->user->isGuest) { ?>
            trackOutboundLink('RICHIEDI_VOUCHER_LOGGED');

            var destId = '#infografica';
            if ($(window).width() <= 768) {
                destId = '#scegli-cinema';
            }

            if (nextStepVoucher) { // reload
                window.location.hash = destId;
                window.location.reload();
            } else {
                $('html, body').animate({
                    'scrollTop': $(destId).position().top + "px"
                });
            }
<?php } else { ?>
            trackOutboundLink('RICHIEDI_VOUCHER_GUEST');
            checkLogin(true);
            //window.location.href = "<?= Url::to(['site/login', 'ri' => 1]) ?>";
<?php } ?>
    }

    function loadFilmDetail(id) {
        $('.locandina').removeClass("selected");
        $.ajax({
            url: '<?= Url::to(['site/filmdetail']) ?>',
            data: {
                'id': id
            },
            success: function (data) {
                $('#locandina_' + id).addClass("selected");
                $('#locandina-detail').html(data);
                $('#locandina-detail').slideDown();
                if ($(window).width() <= 767) {
                    $('html,body').animate({
                        'scrollTop': $('#locandina-detail').position().top + "px"
                    });
                } else {
                    $('html,body').animate({
                        'scrollTop': $('#film-in-sala').position().top + "px"
                    });
                }

            }
        });
    }

    function closeFilmDetail() {
        $('html,body').animate({
            'scrollTop': $('#film-in-sala').position().top + "px"
        });
        $('#locandina-detail').slideUp(function () {
            $('#locandina-detail').html("");
            $('.locandina').removeClass("selected");
        });
    }

    $(window).load(function () {
        setTimeout(function () {
            if (window.location.hash != "") {
                navigateTo(window.location.hash);
            }
        }, 500);
    });
    function showProgrammazione(id_cinema) {
        $.ajax({
            url: '<?= Url::to(['site/programmazione']) ?>',
            data: {
                'c': id_cinema
            },
            success: function (data) {
                $('#programmazione').html(data);
                showPopupProgrammazione();
            }
        });
    }

    function showPopupProgrammazione() {
        var windowHeight = $(window).outerHeight();
        var windowWidth = $(window).outerWidth();
        var popupHeight = $('#programmazione').outerHeight();
        var popupWidth = $('#programmazione').outerWidth();
        var top = 0;
        var left = 0;
        if (windowHeight > popupHeight) {
            top = $(window).scrollTop() + (windowHeight / 2 - popupHeight / 2);
        } else {
            top = $(window).scrollTop() + 20;
        }

        left = (windowWidth / 2) - (popupWidth / 2);
        $('#programmazione').css("top", top + "px");
        $('#programmazione').css("left", left + "px");
        $('#background-programmazione').fadeIn();
        $('#background-programmazione').click(function () {
            closePopupProgrammazione();
        });
        $('#programmazione').fadeIn();
    }

    function closePopupProgrammazione() {
        $('#background-programmazione').fadeOut();
        $('#programmazione').fadeOut(function () {
            $(this).html("");
        });
    }

    function cercaMobile() {
        $('#map-container').fadeIn(function () {
            init();
            reloadMarkers();
            $('html,body').animate({
                'scrollTop': $('#map-select-container').position().top + "px"
            });
        });
        $('.right-select').fadeOut();
    }

    function tornaCerca() {
        $('#map-container').fadeOut();
        $('.right-select').fadeIn(function () {
            $('html,body').animate({
                'scrollTop': $('#scegli-cinema-container').position().top + "px"
            });
        });
    }

    function showAllCinema() {
        $('#lista-cinema').fadeOut();
        $('#regione').val("");
        $('#provincia').val("");
        $('#citta').val("");
        reloadMarkers();
    }

    function onKeyUpNominativo() {
        var nome2 = getTrimmedPValue('nome_2');
        var cognome2 = getTrimmedPValue('cognome_2');

        if (nome2.length > 0 && cognome2.length > 0) {
            spettatoreSelected = 2;
            refreshSpettatore();
        } else if (spettatoreSelected == 2) {
            spettatoreSelected = 1;
            refreshSpettatore();
        }
    }

<?php if (!Yii::$app->user->isGuest) { ?>
        var sending = false;
        function sendMailAssistenza() {
            if (sending)
                return;

            $('.errors').hide();
            $('.confirm').hide();

            var nome = $('#nomecognome').pVal();
            var email = $('#email').pVal();
            var oggetto = $('#oggetto').pVal();
            var messaggio = $('#messaggio').pVal();

            if (nome.length == 0 || email.length == 0 || oggetto.length == 0 || messaggio.length == 0) {
                $('.errors').html("Tutti i campi sono obbligatori").show();
                if ($(window).width() <= 767) {
                    $('html,body').animate({
                        'scrollTop': $('.errors').position().top + "px"
                    });
                }
                return false;
            }

            if (!isValidEmail(email)) {
                $('.errors').html("E-Mail non valida").show();
                if ($(window).width() <= 767) {
                    $('html,body').animate({
                        'scrollTop': $('.errors').position().top + "px"
                    });
                }
                return false;
            }

            sending = true;
            $.ajax({
                url: '<?= yii\helpers\Url::to(['site/inviaassistenza']) ?>',
                type: 'post',
                dataType: "json",
                data: {
                    'nome': nome,
                    'email': email,
                    'oggetto': oggetto,
                    'messaggio': messaggio
                },
                success: function (data) {
                    if (data.result == 1) {
                        $('.confirm').show();
                        $('#nomecognome').val("");
                        $('#email').val("");
                        $('#messaggio').val("");

                        if ($(window).width() <= 767) {
                            $('html,body').animate({
                                'scrollTop': $('.confirm').position().top + "px"
                            });
                        }
                    } else {
                        $('.errors').html("Si è verificato un errore, riprovare.").show();

                        if ($(window).width() <= 767) {
                            $('html,body').animate({
                                'scrollTop': $('.errors').position().top + "px"
                            });
                        }
                    }
                },
                complete: function () {
                    sending = false;
                }
            });
        }
<?php } ?>

</script>

<div id="site-index">
    <?= $this->render("_visore") ?>

    <div id='login'>
        <?php echo $this->render('_login') ?>
    </div>

    <div id="film-anchor"></div>
    <?php if (!$voucherAlready) { ?>
        <div id='richiedi-voucher-container'>
            <div class="btn-richiedi-voucher" onclick="richiediVoucher();">
                RICHIEDI VOUCHER
            </div>
        </div>
    <?php } ?>

    <?php if (Yii::$app->user->isGuest && !$voucherAlready) { ?>
        <div id='richiedi-voucher-container-fixed'>
            <div class="btn-richiedi-voucher" onclick="richiediVoucher();">
                RICHIEDI VOUCHER
            </div>
        </div>
    <?php } ?>

    <div id="film-in-sala">
        <div class="content">
            <h2>Film in sala questa settimana</h2>
            <div id="locandine">
                <?= Html::img("@web/images/index/left-arrow.png", ['id' => 'left-arrow']) ?>

                <div class="container-locandine">
                    <div class="list-locandine">
                        <?php
                        foreach ($films as $film) {

                            if (!$film->immagine)
                                continue;

                            $img = $film->immagine;
                            // if (!$img)
                            //     $img = 'segnaposto_locandina.jpg'
                            ?>
                            <div class="locandina" id="locandina_<?= $film->id ?>" onclick="loadFilmDetail(<?= $film->id ?>)"> 
                                <?= Html::img("@web/locandine/segnaposto_locandina.jpg", ['class' => 'original', 'data-img' => Yii::getAlias("@web/locandine/$img")]) ?>
                                <?= Html::img("@web/locandine/segnaposto_locandina.jpg ", ['class' => 'over', 'data-img' => Yii::getAlias("@web/locandine/$img")]) ?>
                                <?= Html::img("@web/images/index/up-triangle.png", ['class' => 'up']) ?>
                            </div>
                        <?php } ?>
                        <div class="clearfix"></div>
                    </div>
                </div>

                <?= Html::img("@web/images/index/right-arrow.png ", ['id' => 'right-arrow']) ?>
            </div>

            <div id="locandina-detail"></div>
        </div>
    </div>

    <div id="infografica">
        <div class="content">
            <?php if (!$voucherAlready) { ?>
                <h3 class="richiedi-voucher">Richiedi il voucher cinema in tre semplici passi</h3>
                <p class="small">Il voucher cinema 2x1 è utilizzabile una sola volta nel periodo tra il 19 ed il 23 dicembre 2016.</p>
                <br/>
                <?= (Yii::$app->user->isGuest ? Html::img("@web/images/index/infografica-voucher.png", ['class' => 'desktop']) : Html::img("@web/images/index/infografica_1.png", ['id' => 'infografica-voucher', 'class' => 'desktop'])) ?>
                <?= (Yii::$app->user->isGuest ? Html::img("@web/images/index/infografica-voucher.png", ['class' => 'tablet']) : Html::img("@web/images/index/infografica_1.png", ['id' => 'infografica-voucher', 'class' => 'tablet'])) ?>
                <?= (Yii::$app->user->isGuest ? Html::img("@web/images/index/infografica-voucher-mobile.png", ['class' => 'mobile']) : Html::img("@web/images/index/infografica_1_mobile.png", ['id' => 'infografica-voucher-mobile', 'class' => 'mobile'])) ?>
            <?php } ?>
        </div>
    </div>

    <div id="scegli-cinema">
        <div id="generation-error">
            <p>Hai già richiesto un voucher per la settimana indicata</p>
            <br/>
            <div class="btn-indietro" onclick="indietroFromError();">
                INDIETRO
            </div>
        </div>

        <div id="scegli-cinema-container" class="content">

            <div id="scegli-cinema-mobile">
                <h3>
                    <?php if (Yii::$app->user->isGuest) { ?>
                        Cinema aderenti all'iniziativa
                    <?php } else { ?>
                        <?php if (!$voucherAlready) { ?>
                            Dove vuoi andare?<br/>
                        <?php } ?>
                        <?php echo (Yii::$app->user->isGuest || $voucherAlready) ? 'Scopri' : 'Scegli' ?> i cinema aderenti all’iniziativa
                    <?php } ?>
                </h3>

                <div id="map-select-container">
                    <div id='map-container'>
                        <div id="map"></div>

                        <div class="btn-indietro" onclick="tornaCerca();">
                            INDIETRO
                        </div>
                    </div>

                    <div class="right-select">
                        <div>
                            <a href="javascript:;" onclick="showAllCinema()">Tutti i cinema</a>
                        </div>
                        <div class="select">
                            <?= Html::dropDownList("regione", "", $regioni, ['id' => 'regione', 'prompt' => 'REGIONE', 'onchange' => 'onChangeRegione();']); ?>
                        </div>

                        <div class="select">
                            <?= Html::dropDownList("provincia", "", $province, ['id' => 'provincia', 'disabled' => 'disabled', 'prompt' => 'PROVINCIA', 'onchange' => 'onChangeProvincia();']); ?>
                        </div>

                        <div class="select">
                            <?= Html::dropDownList("citta", "", $cities, ['id' => 'citta', 'disabled' => 'disabled', 'prompt' => 'CITTÀ', 'onchange' => 'onChangeCitta();']); ?>
                        </div>

                        <div class="btn-cerca" onclick="cercaMobile();">
                            CERCA
                        </div>
                    </div>
                    <div class="clearfix"></div>
                </div>
            </div>

            <div id="lista-cinema">
                <?php
                \yii\widgets\Pjax::begin(['enablePushState' => false]);
                ?>
                <?=
                \yii\grid\GridView::widget([
                    'id' => 'lista-cinema-id',
                    'dataProvider' => $cinemaDataProvider,
                    'summary' => '',
                    'columns' => [
                            [
                            'header' => 'PREFERITO',
                            'format' => 'html',
                            'visible' => !Yii::$app->user->isGuest && !$voucherAlready,
                            'value' => function ($model, $key, $index, $column) use ($lastCinema) {
                                // if ($lastCinema != NULL && $model['id'] == $lastCinema->id) {
                                if ($model->preferito) {
                                    return Html::img("@web/images/commons/icon-favorite.png");
                                } else {
                                    return "";
                                }
                            },
                            'contentOptions' => ['style' => 'text-align:center;']
                        ],
                            [
                            'header' => 'NOME CINEMA',
                            'attribute' => 'nome',
                            'contentOptions' => ['style' => 'text-align:center;']
                        ],
                            [
                            'header' => 'INDIRIZZO',
                            'attribute' => 'indirizzo',
                            'value' => function($data) {
                                return ($data->indirizzo != null && $data->indirizzo != "") ? $data->indirizzo . ' - ' . $data->citta : "-";
                            },
                        ],
                            [
                            'header' => 'TELEFONO',
                            'attribute' => 'telefono',
                            'headerOptions' => ['class' => 'inv-cell'],
                            'contentOptions' => ['style' => 'text-align:center;', 'class' => 'inv-cell'],
                            'value' => function($data) {
                                return ($data->telefono != null && $data->telefono != "") ? $data->telefono : "-";
                            },
                        ],
                            [
                            'header' => 'SITO INTERNET',
                            'attribute' => 'url',
                            'format' => ['url', ['target' => '_blank']],
                            'headerOptions' => ['class' => 'inv-cell'],
                            'contentOptions' => ['style' => 'text-align:center;', 'class' => 'inv-cell'],
                            'value' => function($data) {
                                return ($data->url != null && $data->url != "") ? $data->url : "-";
                            },
                        ],
                            [
                            'header' => 'PROGRAMMAZIONE',
                            'format' => 'raw',
                            'value' => function ($model, $key, $index, $column) {
                                return Html::a("Consulta la programmazione", "javascript:;", ['onclick' => 'showProgrammazione(' . $model['codice'] . ')']);
                            },
                            'contentOptions' => ['style' => 'text-align:center;']
                        ],
                            [
                            'header' => 'SELEZIONA',
                            'format' => 'raw',
                            'visible' => !Yii::$app->user->isGuest && !$voucherAlready,
                            'value' => function ($model, $key, $index, $column) {
                                return "<a href = 'javascript:;' onclick = 'selectCinema({$model['id']})'>" . Html::img("@web/images/commons/check-unchecked.png", ['class' => 'check_cinema', 'id' => 'check_' . $model['id']]) . "</a>";
                            },
                            'contentOptions' => ['style' => 'text-align:center;']
                        ],
                    ],
                ])
                ?>
                <?php \yii\widgets\Pjax::end(); ?>
            </div>

            <div id="scegli-data">

                <h3>Quando vuoi andare?<br/>Scegli la data</h3>
                <div class="date-container">
                    <?=
                    \yii\jui\DatePicker::widget([
                        'name' => 'data_scelta',
                        'options' => [
                            'id' => 'data_scelta',
                            'readonly' => 'readonly',
                        ],
                        'language' => 'it',
                        'dateFormat' => 'dd/MM/yyyy',
                        'clientOptions' => [
                            'minDate' => (time() >= strtotime('2016-12-19 00:00:00')) ? '0' : new \yii\web\JsExpression("new Date(2016, 11, 19)"),
                            'maxDate' => new \yii\web\JsExpression("new Date(2016, 11, 23)"),
                            // 'beforeShowDay' => new \yii\web\JsExpression('function(date){ ' . $beforeShowDay . ' var day = date.getDay(); if(day == 6 || day == 0) return [false]; return [true]; }'),
                            'beforeShowDay' => new \yii\web\JsExpression('onBeforeShowDay'),
                            'dayNamesMin' => new \yii\web\JsExpression('["DOM", "LUN", "MAR", "MER", "GIO", "VEN", "SAB"]'),
                            'onSelect' => new \yii\web\JsExpression('function(data, inst){ onSelectDate(data); }'),
                            'beforeShow' => new \yii\web\JsExpression('function(){ $(".cinema2day_container").fadeTo( "fast" , 0.5); }'),
                            'onClose' => new \yii\web\JsExpression('function(){ $(".cinema2day_container").fadeTo( "fast" , 1); }'),
                        ]
                    ])
                    ?>

                    <?= Html::img("@web/images/commons/arrow-down.png", ['class' => 'arrow-down']) ?>
                </div>

                <?php if ($cinema2day_1) { ?>
                    <div class="cinema2day_container">
                        In occasione del Cinema2day per la giornata del <strong>14 settembre 2016</strong> non è possibile richiedere il Voucher Cinema. L’iniziativa Cinema2day è una promozione non cumulabile con il Vantaggio Cinema 2x1 secondo regolamento di TIM PRIME <i>go</i>.
                    </div>
                <?php } ?>

                <?php if ($cinema2day_2) { ?>
                    <div class="cinema2day_container">
                        In occasione del Cinema2day per la giornata del <strong>12 ottobre 2016</strong> non è possibile richiedere il Voucher Cinema. L’iniziativa Cinema2day è una promozione non cumulabile con il Vantaggio Cinema 2x1 secondo regolamento di TIM PRIME <i>go</i>.
                    </div>
                <?php } ?>

                <?php if ($cinema2day_3) { ?>
                    <div class="cinema2day_container">
                        In occasione del Cinema2day per la giornata del <strong>9 novembre 2016</strong> non è possibile richiedere il Voucher Cinema. L’iniziativa Cinema2day è una promozione non cumulabile con il Vantaggio Cinema 2x1 secondo regolamento di TIM PRIME <i>go</i>.
                    </div>
                <?php } ?>

                <?php if ($cinema2day_4) { ?>
                    <div class="cinema2day_container">
                        In occasione del Cinema2day per la giornata del <strong>14 dicembre 2016</strong> non è possibile richiedere il Voucher Cinema. L’iniziativa Cinema2day è una promozione non cumulabile con il Vantaggio Cinema 2x1 secondo regolamento di TIM PRIME <i>go</i>.
                    </div>
                <?php } ?>


                <div id="dati-spettatore">
                    <h3>Chi sarà l'intestatario del Voucher Cinema?</h3>
                    <p>
                        Indica il nominativo dell'intestatario del Voucher Cinema.<br/>
                    </p>
                    <br/>
                    <p id="nomi-error" class="error"></p>
                    <br/>
                    <div class="row-spettatore">
                        <div class="input">
                            <label>Nome</label>
                            <input type="text" id="nome" placeholder="Nome" />
                        </div>

                        <div class="input">
                            <label>Cognome</label>
                            <input type="text" id="cognome" placeholder="Cognome" />
                        </div>
                        <div class="clearfix"></div>
                    </div>
                </div>

                <div id="conferma-button" onclick="confirmDati();">
                    Conferma
                </div>
            </div>

        </div>

        <div id="voucher-loader">
            <?= Html::img("@web/images/ajax-loader.gif") ?>
        </div>


        <?php
//                        $voucher = common\models\Voucher::findOne(9);
//                        $cinema = $voucher->cinema0;
//                        echo $this->render('_confirmed', ['voucher' => $voucher, 'cinema' => $cinema]);
        ?>
    </div>


    <div id="faqs">
        <h2>FAQ</h2>

        <?= $this->render('_faq') ?>

        <?php if (!Yii::$app->user->isGuest) { ?>
            <h2>
                Se non abbiamo risposto alla tua domanda,<br/>
                inviaci la tua richiesta
            </h2>
        <?php } ?>
    </div>

    <?php if (!Yii::$app->user->isGuest) { ?>
        <div id="assistenza">
            <div id='form'>
                <div class="content">
                    <div class="errors">Errore</div>

                    <div class="confirm">Richiesta inviata con successo</div>

                    <input type="text" id="nomecognome" placeholder="Nome e Cognome" name="nomecognome" class="input-half first" />

                    <input type="text" id="email" placeholder="Indirizzo e-mail" name="email" class="input-half" />
                    <input type="text" id="oggetto" placeholder="Oggetto" name="oggetto" class="input-full" value="Informazione TIM Cinema" readonly="readonly" tabindex="-1" />

                    <textarea id="messaggio" placeholder="Messaggio"></textarea>
                </div>
            </div>

            <div id='btn-invia' onclick="sendMailAssistenza();">
                INVIA
            </div>
        </div>
    <?php } ?>

    <div id="torna-su">
        Torna su<br/>
        <?= Html::img("@web/images/commons/arrow-up.png") ?>
    </div>
</div>

<div id="background-programmazione"></div>
<div id="programmazione"></div>
