﻿window.addEvent('domready', function() {
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler2);
    if ($('ctl00_ctl00_ContentMain_txtEmail')) {
        addEmptyTextToInput('ctl00_ctl00_ContentMain_txtEmail', 'Email');
        addEventsToPassword();
        addEventToLoginInput('ctl00_ctl00_ContentMain_txtPassword');
    }
    showCustomData();
    addVoteEvents();
    addEditCartEvents();
    onlyNumbersMaster();
    loadCustomData();
});

function loadCustomData() {
    var banner;
    var hid = $('ctl00_ctl00_ContentMain_hidKeyWord');
    if (hid) {
        var hidSplite = hid.get('value').split(';');
        hidSplite.each(function(it, ind) {
            if ('#' + it == window.location.hash) {
                banner = it;
            }
        });
    }
    var bannerAux = $(banner + 'l');
    if (bannerAux) {
        bannerAux.blur();
        var caption = bannerAux.title || bannerAux.name || "";
        var group = bannerAux.rel || false;
        TB_show(caption, bannerAux.href, group);
    }
}

function onlyNumbersMaster() {
    var input = $('txtItemCart_Qty');
    if (input) {
        input.addEvent('keydown', function(evt) {
            if (evt.key == '0' || evt.key == '1' || evt.key == '2' || evt.key == '3' || evt.key == '4' || evt.key == '5' ||
            evt.key == '6' || evt.key == '7' || evt.key == '8' || evt.key == '9' || evt.key == 'backspace' ||
            (evt.code > 95 && evt.code < 106)) {
                if (this.get('value').length == 0 && (evt.key == '0' || evt.code == 96)) {
                    evt.returnValue = false; return false;
                }
                if (this.get('value').length > 1 && evt.key != 'backspace') {
                    evt.returnValue = false; return false;
                }
            } else {
                evt.returnValue = false; return false;
            }
        });
    }
}

function EndRequestHandler2(sender, args) {
    addEditCartEvents();
    closeSelectedCartItem();
}

function addEditCartEvents() {
    var trs = $$('tr.cart_items');
    trs.each(function(it, ind) {
        it.addEvent('click', function() {
            openSelectedCartItem(it);
        });
    });
}

function openSelectedCartItem(tr_item) {
    tr_item = $(tr_item);
    var rel = tr_item.get('rel');
    if (rel) {
        var splittedRel = rel.split('|');
        var itemID = splittedRel[0];
        var itemName = splittedRel[1];
        //var itemDescription;
        var itemPrice = splittedRel[2];
        var itemNotes = splittedRel[3];
        var itemQty = splittedRel[4];
        var itemOptions = splittedRel[5];
        var hidenOptions = splittedRel[6];

        $('ctl00_ctl00_ContentMain_hidOpenedItemCartID').value = itemID;
        $('ctl00_ctl00_ContentMain_hidCartItemOptions').value = hidenOptions;
        $('ctl00_ctl00_ContentMain_hidCartItemNotes').value = itemNotes;

        $('lblCartItem_Name').set('html', itemName);
        $('lblCartItem_Price').set('html', itemPrice);
        //$('lblCartItem_Description').set('html', itemDescription);
        if (itemNotes != "") {
            $('lblCartItem_Notes').set('html', "Notas: " + itemNotes);
        }
        else {
            $('lblCartItem_Notes').set('html', 'Sin notas.');
        }
        if (itemOptions != "") {
            $('lblCartItem_Options').set('html', itemOptions);
        }
        else {
            $('lblCartItem_Options').set('html', 'Sin opcionales.');
        }
        $('txtItemCart_Qty').value = itemQty;

        showSelectedCartItem(tr_item);
    }
}

function showSelectedCartItem(item) {
    item = $(item);
    container = $('cartItemData');
    container.setStyle('display', '');
    var top = item.getPosition().y - 1;
    var left = item.getPosition().x;
    container.setStyle('left', left);
    container.setStyle('top', top);
}

function closeSelectedCartItem() {
    $('ctl00_ctl00_ContentMain_hidOpenedItemCartID').value = "";
    $('ctl00_ctl00_ContentMain_hidCartItemOptions').value = "";
    $('lblCartItem_Name').set('html', '');
    $('lblCartItem_Price').set('html', '');
    //$('lblCartItem_Description').set('html', '');
    $('lblCartItem_Notes').set('html', '');
    $('lblCartItem_Options').set('html', '');
    $('txtItemCart_Qty').value = "";
    $('cartItemData').setStyle('display', 'none');
}

function updateCartItem() {
    $('ctl00_ctl00_ContentMain_hidCartItemQty').value = $('txtItemCart_Qty').value;
    __doPostBack('ctl00$ctl00$ContentMain$lnkUpdateCartItem', '');
}

function deleteItem() {
    __doPostBack('ctl00$ctl00$ContentMain$lnkDeleteCartItem', '');
}

function showCustomData() {
    $$('a.smoothbox').each(function(item, index) {
        item.setStyle('opacity', '0');
        item.fade('in');
    });
}

//agrega el enter al boton de buscar
function addEventToLoginInput(inputId) {
    var input = $(inputId);
    if (input) {
        input.addEvent('keypress', function(evt) {
            if (evt.key == 'enter') {
                javascript: __doPostBack('ctl00$ctl00$ContentMain$linkLogin', '');
            }
        });
    }
}

function addEmptyTextToInput(inputId, text) {
    var t = $(inputId);
    t.addEvents({
        'focus': function() {
            if (t.value == text) { t.value = ''; t.setStyle('color', '#000000'); t.setStyle('font-style', 'normal'); }
        },
        'blur': function() {
            if (t.value == '' || t.value == text) { t.value = text; t.setStyle('color', '#878787'); t.setStyle('font-style', 'normal'); }
        }
    });
    t.fireEvent('blur');
}

function addEventsToPassword(inputId) {
    var t = $('ctl00_ctl00_ContentMain_txtPassword');
    var t2 = $('txtPasswordDecoy');
    t.setStyle('display', 'none');
    t2.setStyle('display', 'block');
    t2.setStyle('color', '#878787');
    t.addEvents({
        'blur': function() {
            if (t.get('value') == '') {
                t.setStyle('display', 'none');
                t2.setStyle('display', 'block');
            }
        }
    });
    t2.addEvents({
        'focus': function() {
            t2.setStyle('display', 'none');
            t.setStyle('display', 'block');
            t.focus();
        }
    });
}

function fbs_click() {
    u = location.href;
    t = document.title;
    window.open('http://www.facebook.com/sharer.php?u=' + encodeURIComponent(u) + '&t=' + encodeURIComponent(t), 'sharer', 'toolbar=0,status=0,width=626,height=436');
    return false;
}

//VOTO DEL RESTAURANT
var restaurantID = 0;

function addVoteEvents() {
    //hidden
    var hidRest = $('ctl00_ctl00_ContentMain_hidRestaurantID');
    var hid = $('ctl00_ctl00_ContentMain_hidUserVoted');
    if (hid && hidRest) {
        restaurantID = hidRest.get('value');
        confVote(hid.get('value'));
    }
}

function confVote(val) {
    //imagen
    var img = $('img_vote');
    //link votar
    var link = $('link_vote');
    //message
    var message = $('ctl00_ctl00_ContentMain_lblMessageVote');
    //basic settings
    link.removeEvents();
    img.removeEvents();
    if (val == "0") {
        message.set('html', '¿Te gusta este restaurant?');
        img.set('class', 'gray');
        link.setStyle('display', 'block');
        link.set('html', 'Votar ahora');
        img.addEvents({
            'click': function() {
                vote(true);
            },
            'mouseenter': function() {
                img.set('class', 'green');
            },
            'mouseleave': function() {
                img.set('class', 'gray');
            }
        });
        link.addEvents({
            'click': function() {
                vote(true);
            },
            'mouseenter': function() {
                img.set('class', 'green');
            },
            'mouseleave': function() {
                img.set('class', 'gray');
            }
        });
    }
    else if (val == "1") {
        message.set('html', 'Has votado por este restaurant');
        img.set('class', 'green');
        link.setStyle('display', 'block');
        link.set('html', 'Quitar voto');
        img.addEvents({
            'click': function() {
                vote(false);
            },
            'mouseenter': function() {
                img.set('class', 'gray');
            },
            'mouseleave': function() {
                img.set('class', 'green');
            }
        });
        link.addEvents({
            'click': function() {
                vote(false);
            },
            'mouseenter': function() {
                img.set('class', 'gray');
            },
            'mouseleave': function() {
                img.set('class', 'green');
            }
        });
    }
    else {
        message.set('html', 'Debes estar logueado para votar');
        img.set('class', 'gray');
        link.setStyle('display', 'none');
    }
}

function vote(vote) {
    //imagen
    var img = $('img_vote');
    //link votar
    var link = $('link_vote');
    //val
    var hid = $('ctl00_ctl00_ContentMain_hidUserVoted');
    //votes count
    var totalVotes = $('ctl00_ctl00_ContentMain_lblVotes');
    //message
    var message = $('ctl00_ctl00_ContentMain_lblMessageVote');
    var voteRequest = new Request.JSON({
        'url': '/handlers/Votes.ashx',
        'onSuccess': function(responseJSON, responseText) {
            var hid = $('ctl00_ctl00_ContentMain_hidUserVoted');
            var totalVotes = $('ctl00_ctl00_ContentMain_lblVotes');
            //saco el spinner
            var r = JSON.decode(responseText);
            if (r.Error == '') {
                hid.set('value', '0');
                if (r.Voted) { hid.set('value', '1'); }
                totalVotes.set('html', r.TotalVotes);
                confVote(hid.get('value'));
            } else {
                //muestro mensaje de error
                message.set('html', r.Error);
                var hid = $('ctl00_ctl00_ContentMain_hidUserVoted');
                confVote(hid.get('value'));
            }
        },
        'onRequest': function() {
            //pongo el spinner y quito eventos
            img.removeEvents();
            link.removeEvents();
            link.set('html', 'Procesando...');
        },
        'onFailure': function(reqObj) {
            message.set('html', 'Ocurrió un error, inténtalo nuevamente');
            var hid = $('ctl00_ctl00_ContentMain_hidUserVoted');
            confVote(hid.get('value'));
        }
    }).post({ 'rID': restaurantID, 'v': vote });
}

//CARRITO

function showHidePreorderPanel(link) {
    if ($('preorder_panel')) {
        if ($('preorder_panel').getStyle('display') == 'none') {
            $('preorder_panel').setStyle('display', 'block')
            $(link).set('html', 'Cancelar');
        } else {
            $('preorder_panel').setStyle('display', 'none')
            $(link).set('html', 'Lo quiero para más tarde');
        }
    }
}