function buscar_operadoras(combo) {

    $('#rwnumero').hide();
    $('#solodisponible1').empty().hide();
    $('#operadorarg').empty();
    $('#operadorasarg').hide();
    $('#tr-depto').hide();
    $('#registrate_lr').hide();

    if (combo.selectedIndex < 0) return;

    var valor = combo.val();

    if (valor == 0) return;

    $.getJSON('ajax/operadoras/'+valor,
        function(data) {
            if (data.usa_rangos == 0) $('#operadorasarg').show();
            var oprow = $('<tr>').addClass('in-page-row1').append($('<th>').attr('width','100').html('Operadora'+(data.operadoras.length>1?'s':'')));
            var enviorow = $('<tr>').addClass('in-page-row3').append($('<th>').attr('width','100').html('Costo Envío'));
            var receprow = $('<tr>').addClass('in-page-row1').append($('<th>').attr('width','100').html('Costo Recepción'));
            var promociones = $('<div>');
            var opers = new Array(data.operadoras.length);
            var numeroPromocion = 1;
            var numeroEjemplo = "";
            for (var i = 0; i < data.operadoras.length; i++) {
                opers[i] = data.operadoras[i].nombre_operadora;
                var guiaPromocion = '';
                if (data.operadoras[i].mensaje_promocion != null) {
                    guiaPromocion = '<sup>'+(numeroPromocion++)+'</sup>';
                    $('<span>').html(guiaPromocion + ' ' + data.operadoras[i].mensaje_promocion).appendTo(promociones);
                }
                oprow.append($('<td>').attr({valign:'middle',align:'center'}).html(opers[i]+'<br/>').append($('<img>').attr({vspace:'4',height:'16',border:'0',src:data.operadoras[i].icono})));
                var precioSend = data.operadoras[i].precio_send == 0 ? 'Gratis' : data.operadoras[i].moneda+' '+data.operadoras[i].precio_send;
                var precioRecep = data.operadoras[i].precio_recep == 0 ? 'Gratis' : data.operadoras[i].moneda+' '+data.operadoras[i].precio_recep;
                enviorow.append($('<td>').attr('align','center').html(precioSend + guiaPromocion));
                receprow.append($('<td>').attr('align','center').html(precioRecep + guiaPromocion));
                if (data.usa_rangos == 0) {
                    var option = $('<option>').attr('value',data.operadoras[i].idoperador).html(data.operadoras[i].nombre_operadora).attr('numero',data.operadoras[i].numero_ejemplo);
                    if (typeof idoperador != 'undefined' && data.operadoras[i].idoperador == idoperador)
                        option.attr('selected','selected');
                    option.appendTo('#operadorarg');
                }
                if (numeroEjemplo == '') numeroEjemplo = data.operadoras[i].numero_ejemplo;
            }
            $('<table>').attr({cellpadding:6,cellspacing:2,border:0, style:'background: rgb(10, 182, 206) none repeat scroll 0% 0%;'})
                                                                .append(oprow).append(enviorow).append(receprow).appendTo('#solodisponible1');
            promociones.appendTo('#solodisponible1');
                                                $('#solodisponible1').show();
            $('#rwnumero').show();
            if (numeroEjemplo != "") {
                $('#numero_ejemplo').html(numeroEjemplo);
                $('#rwnumero .style5').show();
                                                                $('#registrate_lr').show();
            }
            else $('#rwnumero .style5').hide();
            if (data.usa_rangos == 0) {
                $('#operadorarg').unbind('change').change(function() {
                    if (this.selectedIndex >= 0 && this.options.length > 0) {
                        $('#rwnumero').show();
                    }
                    else $('#rwnumero').hide();
                    if ($(this).attr('numero') != null) {
                        $('#numero_ejemplo').html($(this).attr('numero'));
                        $('#rwnumero .style5').show();
                    }
                    else $('#rwnumero .style5').hide();
                });
            }
        });
}

function buscar_departamentos(combo) {
    var idpais = combo.val();
    $('#tr-depto').hide();
    $('#depto').empty();
    $.getJSON('ajax/departamentos/'+encodeURIComponent(idpais), {}, function(data) {
        if (data.departamentos.length > 0) {
            $('#tr-depto').show();
            var cmb = $('<select>').attr({'id':'departamento','name':'departamento','class':'registrate_select'});
            $('<option>').attr('value','0').html('Selecciona').appendTo(cmb);
            for (var i = 0; i < data.departamentos.length; i++) {
                var depto = data.departamentos[i];
                var option = $('<option>').attr('value', depto.codigo).html(depto.nombre);
                if (typeof iddepto != 'undefined' && depto.codigo == iddepto)
                    option.attr('selected','selected');
                option.appendTo(cmb);
            }
            cmb.appendTo('#depto');
        }
    });
}

var puedevalidar = true;
var timeoutID = 0;
var validmobile = false;
function validar_movil(elem) {
    $(elem).hide();
    if (!puedevalidar) {
        alert('Esta funcion estara disponible en un minuto, intente en unos segundos');
        $(elem).show();;
        return;
    }
    validmobile = false;
    $('#operador').empty();
    var cmbpais = $('#pais').get(0),cmboper = ($('#operadorarg') != null ? $('#operadorarg').get(0) : null),txtnumero = $('#telefono').get(0),cmbdepto = ($('#departamento') != null ? $('#departamento').get(0) : null);
    if (typeof cmboper == 'undefined') cmboper = null;
    if (typeof cmbdepto == 'undefined') cmbdepto = null;
    if (cmbpais.selectedIndex == 0) {
        show_error('Selecciona un pais');
        $(elem).show();
        return;
    }
    if (cmboper != null && cmboper.selectedIndex < 0 && cmboper.options.length > 0) {
        show_error('Selecciona una operadora');
        $(elem).show();;
        return;
    }
    if (cmbdepto != null && cmbdepto.selectedIndex <= 0) {
        show_error('Selecciona un departamento');
        $(elem).show();;
        return;
    }
    if (!txtnumero.value) {
        show_error('Ingresa tu numero');
        $(elem).show();;
        return;
    }
    var pais = cmbpais.options[cmbpais.selectedIndex].value, oper = cmboper!=null && cmboper.selectedIndex >= 0?cmboper.options[cmboper.selectedIndex].value:0, numero = txtnumero.value, depto = cmbdepto!=null && cmbdepto.selectedIndex > 0?cmbdepto.options[cmbdepto.selectedIndex].value:0;
    puedevalidar = false;
    timeoutID = window.setTimeout(function() {
        puedevalidar = true;
        window.clearTimeout(timeoutID);
    }, 30000);
    $.getJSON('ajax/validaMovil/'+pais+'/'+oper+'/'+numero+'/'+depto, function(data) {
        if (!data.error) {
            validmobile = true;
            if (data.codigo === 0) {
                $('#operador').html('Para completar tu registro es necesario que envies un mensaje de texto (SMS) desde tu celular con la palabra \''+data.messagestr+'\' a la marcaci&oacute;n '+data.messagenumber+' (costo $1.50 pesos + IVA)');
            }
            else {
                $('#operador').html('Recibir&aacute;s un mensaje de texto en tu m&oacute;vil con el n&uacute;mero de asociaci&oacute;n que debes ingresar en el siguiente paso.');
            }
            $('#tos').show();
            $('#operador').show();
            $('#validation_code').show();
            $('#register_button').show();
        }
        else {
            $(elem).show();
            show_error(data.errorMessage);
        }
    });
}

var validtwitter = false;
function validar_twitter() {
    validtwitter = false;
    $('#valida-tw').empty();
    var usuario = $('#usuariotw').val(), contrasenia = $('#passwordtw').val();
    $.post('ajax/validaTwitter/',
        {'usuario': usuario, 'clave': contrasenia},function(data) {
            if (data.error == 0) {
                if (data.screen_name != usuario) {
                    $('<img>').attr({src:'assets/img/icons/no.png',width:'16'}).appendTo('#valida-tw');
                    $('<span>').html('Utiliza el usuario y no el correo').appendTo('#valida-tw');
                    $('#usuariotw').val(data.screen_name);
                    return false;
                }
                else {
                    validtwitter = true;
                    $('<img>').attr({src:'assets/img/icons/yes.png',width:'16'}).appendTo('#valida-tw');
                    return true;
                }
            }
            else {
                $('<img>').attr({src:'assets/img/icons/no.png',width:'16'}).appendTo('#valida-tw');
                return false;
            }
        },
    'json');
}

function validar_informacion() {
    if (!validmobile) {
        show_error('Debes validar tu número de celular');
        return false;
    }
    if (!$('#acepto:checked').is(':checked')) {
        show_error('Debe aceptar los términos y condiciones para continuar.');
        return false;
    }
    if (!validtwitter && !oauth) {
        show_error('Debes validar tu cuenta de twitter');
        return false;
    }
    return true;
}

function asociar_cuenta() {
    if (validar_informacion())
        $('#regform').get(0).submit();
}

function show_error(message) {
    alert(message);
}

