﻿/// <reference path="jquery-1.3.2-vsdoc.js" />

function highlightRowOnHover() {
    $('.gridview tr:not(.gridfooter)').hover(
        function() { $(this).addClass('selectedrow'); },
        function() { $(this).removeClass('selectedrow'); }
    );
} 

// PRINCIPAL
function master() {
    $('#UserName').watermark(' Usuario');
    $('#Password').watermark(' Contraseña');
    $('#criterio').watermark('Buscar productos');
    $('#loginsearchdisplay #login button, #loginsearchdisplay #search button').hover(
                function() {
                    var src = $(this).children('img')[0].src;
                    $(this).children('img')[0].src = src.replace('-default.', '-hover.');
                },
                function() {
                    var src = $(this).children('img')[0].src;
                    $(this).children('img')[0].src = src.replace('-hover.', '-default.');
                }
            );
}

// PORTADA
function setHeightTablaPortada() {
    var rows = $('#tablaportada tr');
    for (var i = 0; i < rows.length; i++) {
        var contents = $(rows[i]).find('.content');
        var max = 0;
        for (var j = 0; j < contents.length; j++) {
            if (max < $(contents[j]).height())
                max = $(contents[j]).height();
        }
        ($(rows[i]).find('.content')).css('height', max);
    }
}

function setCollapse() {
    $('#tablaportada .seccion span.header, #tablaportada .seccion span.header-inactive').click(
                function() {
                    var $content = $(this).next();

                    var velocity = 1000;
                    $content.css('background-color', '#EAB239');
                    if ($content.is(':visible')) {
                        $(this).attr('class', 'header-inactive');
                        $content.fadeOut(velocity);
                        $content.next().fadeOut(velocity, resizeTablaPortadaParent);
                    } else {
                        $(this).attr('class', 'header');
                        $content.fadeIn(velocity, function() { $content.css('background-color', 'white'); });
                        $content.next().fadeIn(velocity);
                        resizeTablaPortadaParent();
                    }
                }
            );
}

function setVisibility() {
    $('#tablaportada tr:gt(0) .content, #tablaportada tr:gt(0) .content+div').hide();
    $('#tablaportada tr:gt(0) .header').attr('class', 'header-inactive');
    resizeTablaPortadaParent();
}

function resizeTablaPortadaParent() {
    var h = 0;
    function sumarHeight() {
        h = h + $(this).height();
    }
    if (!$('#tablaportada').exists()) {
        return false;
    }
    $('#main').children().each(sumarHeight);
    h = $('#tablaportada').position().top + h - $('#divider').position().top;
    $('#tablaportada').parent().height(h);
}

// SUCURSALES
function swapContent() {
    var id = $('#texto div:visible').attr('id')
    var nro = id.substring(id.length - 1);
    var src = $('#images #imgslider').attr('src');
    var dest = src.replace(src.substring(src.length - 5), nro + '.jpg');
    $('#images img#imgslider').attr('src', dest);
    $('.botonesnavegacion #posicion').html(nro + ' de 4');
}


function move(toprevious) {
    var $actual = $('#texto div:visible');
    var $prev = null;
    if (toprevious)
        $prev = $actual.prev();
    else
        $prev = $actual.next();
    if ($prev.exists()) {
        $actual.hide();
        $prev.show();
        swapContent();
    }
}

function movePrevious() {
    move(true);
}

function moveNext() {
    move(false);
}

jQuery.fn.changeImageOnHover = function() {
    function onOver() {
        var src = $(this).children('img')[0].src;
        $(this).children('img')[0].src = src.replace('-inactive', '-active');
    }

    function onOut() {
        var src = $(this).children('img')[0].src;
        $(this).children('img')[0].src = src.replace('-active', '-inactive');
    }

    $(this).hover(onOver, onOut);
}

// FORMULARIOS
function changeImageOnHoverButtons() {
    $('.buttons button[type], .buttons a').hover(
              function() {
                  var src = $(this).children('img')[0].src;
                  $(this).children('img')[0].src = src.replace('-inactive', '-active');
              },
              function() {
                  var src = $(this).children('img')[0].src;
                  $(this).children('img')[0].src = src.replace('-active', '-inactive');
              }
    );
}

//USUARIOS
function inicializarUsers() {
    function onClickCheckBoxes() {
        var $input = $(this);
        $.post(
                $(this).next('input:hidden').next('input:hidden').attr('title'),
                { condicion: $(this).is(':checked') },
                function(j) {
                    var color = (j.result) ? '#4D7086' : '#E7371A';
                    showResult($input, color);
                },
                "json"
        );
    }

    $('td input:checkbox.bloqueado').click(onClickCheckBoxes);
    highlightRowOnHover();
}

//MOTIVOS DE CONTACTO
function MotivosContacto() {
    function updateData(j, btn) {
        var $next = $(btn).closest('td').next();
        $next.children(':checkbox').attr('checked', j.Anulado);
        $next = $next.next();
        $next.children(':input').val(j.Descripcion);
    }

    function getDataToPost(btn) {
        var id = $(btn).closest('td').children(':input:hidden').val();
        var url = (id > 0) ? location.href : $(btn).attr('href');
        var $next = $(btn).closest('td').next();
        var anulado = $next.children(':checkbox').attr('checked');
        $next = $next.next();
        var descripcion = $next.children(':input').val();
        return {
            IdMotivoContacto: id,
            Anulado: anulado,
            Descripcion: descripcion,
            url: url
        };
    }

    function isCreate(btn) {
        return $(btn).closest('td').children(':input:hidden').val() == 0;
    }

    function getDeleteMessage(btn) {
        var _descripcion = $(btn).closest('td').next().next().children('span').text();
        var msg = '¿Está seguro que desea eliminar el motivo de contacto {0}?\n\n' +
                          'Se eliminarán también todas los comentarios de contacto relacionados.';
        return msg.replace('{0}', _descripcion);
    }

    function inicializarControles() {
        $('.griddata tr:last :checkbox').attr('checked', false);
        $('.griddata tr:last :input[name=Descripcion]').val('');
        $('.griddata tr:last :input[name=Descripcion]').focus();
    }

    return {
        InicializarControles: inicializarControles,
        GetDeleteMessage: getDeleteMessage,
        IsCreate: isCreate,
        GetDataToPost: getDataToPost,
        UpdateData: updateData
    };
}

//SECCIONES DE NOVEDADES
function SeccionesNovedades() {
    function updateData(j, btn) {
        var $next = $(btn).closest('td').next();
        $next.children(':checkbox').attr('checked', j.Activo);
        $next = $next.next();
        $next.children(':input').val(j.Descripcion);
    }

    function getDataToPost(btn) {
        var id = $(btn).closest('td').children(':input:hidden').val();
        var url = (id > 0) ? location.href : $(btn).attr('href');
        var $next = $(btn).closest('td').next();
        var anulado = $next.children(':checkbox').attr('checked');
        $next = $next.next();
        var descripcion = $next.children(':input').val();
        return {
            IdSeccionNovedad: id,
            Activo: anulado,
            Descripcion: descripcion,
            url: url
        };
    }

    function isCreate(btn) {
        return $(btn).closest('td').children(':input:hidden').val() == 0;
    }

    function getDeleteMessage(btn) {
        var _descripcion = $(btn).closest('td').next().next().children('span').text();
        var msg = '¿Está seguro que desea eliminar la sección de novedad {0}?\n\n' +
                  'Se eliminarán también todas las novedades relacionadas.';
        return msg.replace('{0}', _descripcion);
    }

    function inicializarControles() {
        $('.griddata tr:last :checkbox').attr('checked', true);
        $('.griddata tr:last :input[name=Descripcion]').val('');
        $('.griddata tr:last :input[name=Descripcion]').focus();
    }

    return {
        InicializarControles: inicializarControles,
        GetDeleteMessage: getDeleteMessage,
        IsCreate: isCreate,
        GetDataToPost: getDataToPost,
        UpdateData: updateData
    };
}

//AVISOS DE EMPLEO
function AvisosEmpleos() {
    function onClickEliminar(e) {
        e.preventDefault();
        var result = confirm('¿Está seguro que desea eliminar este aviso?\n\n' +
                                 'También se eliminarán todas las postulaciones relacionadas.');
        if (result) {
            $.post($(this).attr('href'));
            location.reload();
        }
    }

    function addNextSpan() {
        $(this).append($(this).next('span').html());
        $(this).next('span').remove();
    }
    
    $('.verdetalle a').changeImageOnHover();
    $('hr:last').hide();
    $('.verdetalle a:contains("Eliminar")').click(onClickEliminar);
    $('span.adminactions').each(addNextSpan);
}

//NOVEDADES
function Novedades() {
    function confirmDelete(e) {
        var msg = '¿Está seguro que desea eliminar esta novedad? \n\n' +
                  'No podrá deshacer esta acción. \n' +
                  'Recuerde que puede poner la novedad como no disponible.\n ';
        return confirm(msg);
    }
    SlideShow.first();
    $('p.toolbar a:contains("Eliminar")').click(confirmDelete);
    var h = 0;
    function sumarHeight() {
        h = h + $(this).height();
    }
    $('#main').children().each(sumarHeight);
    h = $('.detallenovedad').parent().position().top + h - $('#divider').position().top;
    $('.detallenovedad').parent().parent().height(h);

    $('.menunovedades li hr:last').hide();
}

//FORMAS DE PAGO
function FormasPago() {
    function updateData(j, btn) {
        var $next = $(btn).closest('td').next();
        $next.children(':checkbox').attr('checked', j.Anulado);
        $next = $next.next();
        $next.children(':input').val(j.Descripcion);
    }

    function getDataToPost(btn) {
        var id = $(btn).closest('td').children(':input:hidden').val();
        var url = (id > 0) ? location.href : $(btn).attr('href');
        var $next = $(btn).closest('td').next();
        var anulado = $next.children(':checkbox').attr('checked');
        $next = $next.next();
        var descripcion = $next.children(':input').val();
        return {
            IdFormaPago: id,
            Anulado: anulado,
            Descripcion: descripcion,
            url: url
        };
    }

    function isCreate(btn) {
        return $(btn).closest('td').children(':input:hidden').val() == 0;
    }

    function getDeleteMessage(btn) {
        var _descripcion = $(btn).closest('td').next().next().children('span').text();
        var msg = '¿Está seguro que desea eliminar la forma de pago {0}?\n\n' +
                  'Se eliminarán también todas las proformas relacionadas.';
        return msg.replace('{0}', _descripcion);
    }

    function inicializarControles() {
        $('.griddata tr:last :checkbox').attr('checked', false);
        $('.griddata tr:last :input[name=Descripcion]').val('');
        $('.griddata tr:last :input[name=Descripcion]').focus();
    }

    return {
        InicializarControles: inicializarControles,
        GetDeleteMessage: getDeleteMessage,
        IsCreate: isCreate,
        GetDataToPost: getDataToPost,
        UpdateData: updateData
    };
}
