﻿function CheckCondicionesPago()
{
    var Result = false;
    var Condiciones =$get('ctl00_MainContentPlaceHolder_UC_Datos_Pago1_chkCondicionesPago');

    if (Condiciones == null || Condiciones.checked == true)
    {
        var TipoPago = $get('ctl00_MainContentPlaceHolder_UC_Datos_Pago1_dropTipoPago');

        TipoPago = TipoPago[TipoPago.selectedIndex].value;
        
        if (TipoPago == 'fp1') {

            if (Condiciones != null) {

                Result = CheckCondicionesPagoTarjetas();

                if (!Result) {
                    Condiciones.checked = false;
                }
            }
            else {

                Result = true;
            }
        }
        else if (TipoPago == 'fp2')
        {
            Result = true;
        }
       
    }
    else
    {
        MostrarCapaAvisos("Debe confirmar que ha leido y aceptado las condiciones del contrato. Por favor, active el check correspondiente para poder continuar.");
        //BuscarErrorCache(event, "91000009");        
    }
    
    return Result;
}

//Condiciones en caso de tarjeta de credito
function CheckCondicionesPagoTarjetas()
{
    var Result = false;

    if (ValidarTipoTarjeta())
    {
        if (ValidarTarjeta())
        {            
            if (ValidarNombreApe())
            {
                Result = true;
            }
            else
            {                
                BuscarErrorCache(event,"86500003");//_VALIDACION_PAGO_NOMBREAPE
            }    
        }
        else
        {
            BuscarErrorCache(event,"86500002");//_VALIDACION_PAGO_CVV
        }
    }
    else
    {        
        BuscarErrorCache(event,"86500001");//_VALIDACION_PAGO_NUMTARJETA
    }

    return Result;
}

function ValidarTipoTarjeta()
 {
    var DrpTipoTarjeta = $get('ctl00_MainContentPlaceHolder_UC_Datos_Pago1_dropTipoPago').value;
    //var DrpTipoTarjeta = $get('ctl00_MainContentPlaceHolder_UC_Datos_Pago1_DropDTipTarjeta').value;
    var numero = $get('ctl00_MainContentPlaceHolder_UC_Datos_Pago1_TxtNumTarjeta').value;
    var ok=false;
  
    if(DrpTipoTarjeta != "")
    {
        ok=ValidarTipoNumero(DrpTipoTarjeta,numero);
    }
    
    return ok;
}

function ValidarTarjeta() 
{ 
 correcto=true;
// if( $get('ctl00_MainContentPlaceHolder_UC_Datos_Pago1_TxtNumTarjeta')!= null )
// {
     var numero = $get('ctl00_MainContentPlaceHolder_UC_Datos_Pago1_TxtNumTarjeta').value;
     if(numero !=''){
          
         if (isNaN(numero)&&((numero.length !=16))){//&&(numero.length !=18){
          correcto=false;
          }
          var suma = 0;
          for (i=numero.length;i > 0; i--) {
           //Si la posición es impar
           if (i % 2 == 1) {
             var doble = "" + (parseInt(numero.substring(i - 1, i)) * 2);
           //Si el doble tiene más dos cifras (o sea es mayor que 9)
             if (doble.length == 2) {
              doble = parseInt(doble.substring(0,1)) + parseInt(doble.substring(1,2));
             }
           suma += parseInt(doble);
           }
             //Si la posición es par
            else {
               suma += parseInt(numero.substring(i - 1, i));
            }
            
          }//for
           //Si la suma total no es divisible por 10 entonces el número no es válido
          if (suma % 10 != 0) {
            correcto=false;
            
          }
        }//if si es distinto de null
        else{
         correcto=false;
        }
//    }else
//    {  
//       // Pago con factura
//       // Faltan detalles de validacion
//       if( $get('ctl00_MainContentPlaceHolder_UC_Datos_Pago1_txtCodAceptacion')!= null)
//       {
//            var codigo = $get('ctl00_MainContentPlaceHolder_UC_Datos_Pago1_txtCodAceptacion').value;
//            if(codigo!='')
//               correcto = true;
//            else 
//               correcto = false;
//       }
//    }
    
  return correcto;
 
}

//validar codigo de seguridad dependiendo del combo elegido
//arguments1-->el valor del combo --arguments2-->valor de la caja de texto
function ValidarTipoNumero(tipo,numero)
{

//voy a considera longitud 6 para las 2 hasta que sepamos los requisitos
//esto es lo que estaba puesto
    correcto=false;
    
    switch(tipo)
    {
    case "VI"://el numero de tamaño entre 13 y 16 y la primera cifra = 4
        if((numero.length>=13)&&(numero.length<=16)&& (String(numero).substr(0,1)=="4"))
            correcto=true;
        else
            correcto=false;
        break;
             
    case "AX"://el numero de tamaño 15 y las 2 primeras  cifras = 34 o 37
        if((numero.length==15)&& ((numero.substr(0,2)=="34")||(numero.substr(0,2)=="37")))
            correcto=true;
        else
            correcto=false;
        break;
        
        
    case "DC":
        if((numero.length==14)&& ((numero.substr(0,2)=="36")||(numero.substr(0,2)=="38")
            ||(Number(numero.substr(0,3))>=300)&&(Number(numero.substr(0,3))<=305)))
            {
                correcto=true;
             }
        else
            correcto=false;
        break;
        
    case "CA":
        if( (numero.length==16)&& (Number(numero.substr(0,2))>=51) && (Number(numero.substr(0,2))<=55) )
            correcto=true;
        else
            correcto=false;
        break;
       
    case "XS":
        if( (numero.length==16)&& (Number(numero.substr(0,2))>=51) && (Number(numero.substr(0,2))<=55) )
            correcto=true;
        else
            correcto=false;
        break;
     
   case "EC":
        if( (numero.length==16)&& (Number(numero.substr(0,2))>=51) && (Number(numero.substr(0,2))<=55) )
            correcto=true;
        else
            correcto=false;
        break;
    
    default:
        correcto=false;
    }
    return (correcto);
}

function ValidarNombreApe() 
{
    var Result = false;

    var cajanombre =$get('ctl00_MainContentPlaceHolder_UC_Datos_Pago1_TxtTitular').value;

    if ((/^([A-Z]|[a-z]|ñ|Ñ|ç|Ç|á|é|í|ó|ú|Á|É|Í|Ó|Ú|ü|Ü|-|\s){2,48}$/.test(jsTrimAll(cajanombre))))
    {
        Result = true;
    }

    return Result;
}
        
function ValFechaCaducidad(elem)
{
    var mesAux;
    var anioAux;
    var fecha = new Date();
    
    if (elem.id == 'ctl00_MainContentPlaceHolder_UC_Datos_Pago1_DropDMesCaducidad')
    {
        mesAux = elem;
        anioAux = $get('ctl00_MainContentPlaceHolder_UC_Datos_Pago1_DropDAnioCaducidad');
    }
    else
    {
        mesAux = $get('ctl00_MainContentPlaceHolder_UC_Datos_Pago1_DropDMesCaducidad');
        anioAux = elem;
    }
    
    if ((mesAux.selectedIndex < fecha.getMonth()) && (anioAux.options[anioAux.selectedIndex].text == fecha.getFullYear()))
    {
        mesAux.selectedIndex = fecha.getMonth();            
    }
}

function CambioFormaPago()
{
    //Combo inicial
    comboFormaPago = $get('ctl00_MainContentPlaceHolder_UC_Datos_Pago1_dropTipoPago').selectedIndex;

    if (comboFormaPago > 1)
    {
        //alertaResiberNet();
    }
}

function alertaResiberNet()
{
    alert('Pendiente de implementacion en otras plataformas (Resiber-ResiberNet)');
}
