﻿window.addEvent('domready', function() {
    setSearchFocus();
    checkMsg();

    //Agrego eventos a los links para popUp prepedir
    $$('a.prep').addEvent('click', function(evt) {
        evt.preventDefault(); //esto hace que no se lleve al enlace
        $('lnkPrepedir').set('href', this.get('href')); //seteo href del link del popUp
        showPopUpPrepedir(); //muestro popup
    });
});

function checkMsg() {
    var hid = $('ctl00_ContentMain_hidMsg');
    if (hid) {
        if (hid.get('value') == '1') {
            showMsg();
        }
    }
}

function filterOptions(ctr) {
    var div = $('ctl00_ContentMain_divTopToolbar');
    var content = $('divFiltros');

    var myFx = new Fx.Tween(div, {
        duration: 100,
        transition: 'linear',
        property: 'height'
    });

    var mostrar = 'Mostrar filtros';
    var mostratBr = 'Mostrar';
    var ocultar = 'Ocultar filtros';
    var ocultarBr = 'Esconder';

    var hid = $('ctl00_ContentMain_hidCountryID');
    if (hid) {
        if (hid.get('value') == '7') {
            mostrar = mostratBr;
            ocultar = ocultarBr;
        }
    }

    var tam = div.getStyle('height');
    if (div) {
        if (tam != '116px') {
            myFx.start(0, 116);
            ctr.set('html', ocultar);
            content.removeClass('showFilters');
            content.addClass('hideFilters');
        }
        else {
            myFx.start(116, 0);
            ctr.set('html', mostrar);
            content.removeClass('hideFilters');
            content.addClass('showFilters');
        }
    }
}

var resultsOverlay;

function showResultsOverlay() {
    if (!resultsOverlay) {
        resultsOverlay = new Overlay(document.body, {
            id: 'mrOverlay',
            color: '#000',
            duration: 300,
            opacity: 0.2,
            zIndex: 10,
            onClick: function() {
                closePopComments();
                closePopReviews();
                closePopMsg();
                closePopPrepedir();
            }
        });
    }
    resultsOverlay.open();
}

function showMsg() {
    var cont = 'fb_pop-Msg';
    showResultsOverlay();
    var container = $(cont);
    var fullSize = window.getScrollSize();
    var viewport = window.getSize();
    var scroll = window.getScroll();
    container.setStyle('display', 'block');
    var contSize = container.getSize();
    var top = (viewport.y - contSize.y) / 2 - 50;
    if (top <= 0) { top = 20; }
    var left = (viewport.x - contSize.x) / 2;
    container.setStyle('left', left);
    container.setStyle('top', top + scroll.y);
    var i = (contSize.y - 40) / 3;
    $(cont).setStyle('display', 'block');
}

function showPopUpPrepedir() {
    var cont = 'fb_pop-PrePedir';
    showResultsOverlay();
    var container = $(cont);
    var fullSize = window.getScrollSize();
    var viewport = window.getSize();
    var scroll = window.getScroll();
    container.setStyle('display', 'block');
    var contSize = container.getSize();
    var top = (viewport.y - contSize.y) / 2 - 50;
    if (top <= 0) { top = 20; }
    var left = (viewport.x - contSize.x) / 2;
    container.setStyle('left', left);
    container.setStyle('top', top + scroll.y);
    var i = (contSize.y - 40) / 3;
    $(cont).setStyle('display', 'block');
}

function showReviews(restoId, avgRating, restoName, countComments, page) {
    var cont = 'pop_reviews';
    showResultsOverlay();
    var container = $(cont);
    var fullSize = window.getScrollSize();
    var viewport = window.getSize();
    var scroll = window.getScroll();
    container.setStyle('display', 'block');
    var contSize = container.getSize();
    var top = (viewport.y - contSize.y) / 2 - 120;
    if (top <= 0) { top = 20; }
    var left = (viewport.x - contSize.x) / 2;
    container.setStyle('left', left);
    container.setStyle('top', top + scroll.y);
    var i = (contSize.y - 40) / 3;
    showRestaurantReviews(restoId, avgRating, restoName, countComments, page);
}

function showComments(restoId) {
    var cont = 'pop_comments';
    showResultsOverlay();
    var container = $(cont);
    var fullSize = window.getScrollSize();
    var viewport = window.getSize();
    var scroll = window.getScroll();
    container.setStyle('display', 'block');
    var contSize = container.getSize();
    var top = (viewport.y - contSize.y) / 2 - 120;
    if (top <= 0) { top = 20; }
    var left = (viewport.x - contSize.x) / 2;
    container.setStyle('left', left);
    container.setStyle('top', top + scroll.y);
    var i = (contSize.y - 40) / 3;
    showRestaurantComments(restoId);
}

function closePopReviews() {
    var cont = 'pop_reviews';
    var container = $(cont);
    container.setStyle('display', 'none');
    resultsOverlay.close();
}

function closePopComments() {
    var cont = 'pop_comments';
    var container = $(cont);
    container.setStyle('display', 'none');
    resultsOverlay.close();
}

function closePopMsg() {
    var cont = 'fb_pop-Msg';
    var container = $(cont);
    container.setStyle('display', 'none');
    resultsOverlay.close();
}

function closePopPrepedir() {
    var cont = 'fb_pop-PrePedir';
    var container = $(cont);
    container.setStyle('display', 'none');
    resultsOverlay.close();
}

function scrollPromos(obj, total) {
    var div = $('divScrollPromos');
    if (div) {
        div.setStyle('overflow', 'none');
        div.setStyle('overflow-y', 'scroll');
        $(obj).setStyle('display', 'none');
        $('spanCurrPromoCount').set('html', total);
    }
}

function showRestaurantComments(restoID) {
    $('loading_promos').setStyle('display', 'block');
    var div = $('pop_content_promos');
    div.set('html', '');
    new Request.JSON({
        'url': '/handlers/GetPromos.ashx',
        'onSuccess': function(responseJSON, responseText) {
            var html = responseText;
            if (div);
            {
                div.set('html', html);
            }
            $('loading_promos').setStyle('display', 'none');
        },
        'onFailure': function(reqObj) {
            div.set('html', 'No se pudo procesar su solicitud, por favor vuelva a intentarlo');
            if (m_geoInfo && m_geoInfo.country == 'Brasil') {
                div.set('html', 'Não foi possível processar sua solicitação, por favor tente novamente');
            }
        }
    }).post({ 'id': restoID });
}

function showRestaurantReviews(restoId, avgRating, restoName, countComments, page) {
    var load = $('loading_reviews');
    load.setStyle('display', 'block');
    var div = $('pop_content_reviews');
    div.set('html', '');
    new Request.JSON({
        'url': '/handlers/GetReview.ashx',
        'onSuccess': function(responseJSON, responseText) {
            var html = responseText;
            if (div);
            {
                div.set('html', html);
            }
            load.setStyle('display', 'none');
        },
        'onFailure': function(reqObj) {
            div.set('html', 'No se pudo procesar su solicitud, por favor vuelva a intentarlo');
            if (m_geoInfo && m_geoInfo.country == 'Brasil') {
                div.set('html', 'Não foi possível processar sua solicitação, por favor tente novamente');
            }
        }
    }).post({ 'id': restoId, 'rating': avgRating, 'resto': restoName, 'count': countComments, 'page': page });
}


function newSearch() {
    var txtSearchAddress = $(prefix + 'ctl00_txtSearchAddress');
    var txtSearchOptional = $(prefix + 'ctl00_txtSearchOptional');
    var lnkSearch = $(prefix + 'ctl00_lnkSearch');
    txtSearchOptional.set('value', '');
    
    $('fb_pop-Msg').setStyle('display', 'none');
    lnkSearch.fireEvent("click");
}

