/**************************************************************************************************/
/********************************** NUEVO LOGIN CON RUT Y DIGITO JUNTOS****************************/
/**************************************************************************************************/
function checkRutField(rut)
{
  var tmpstr = "";
  for ( i=0; i < rut.length ; i++ )   //>
    if ( rut.charAt(i) != ' ' && rut.charAt(i) != '.' && rut.charAt(i) != '-' )
      tmpstr = tmpstr + rut.charAt(i);
  rut = tmpstr;
  largo = rut.length;

  tmpstr = "";
  for ( i=0; rut.charAt(i) == '0' ; i++ );
  for (; i < rut.length ; i++ )   //>
     tmpstr = tmpstr + rut.charAt(i);
  rut = tmpstr;
  largo = rut.length;

  if ( largo < 2 )    //>
  {
    alert("Debe ingresar el RUT completo.");
    return false;
  }
  for (i=0; i < largo ; i++ )   //>
  {
    if( (rut.charAt(i) != '0') && (rut.charAt(i) != '1') && (rut.charAt(i) !='2') && (rut.charAt(i) != '3') && (rut.charAt(i) != '4') && (rut.charAt(i) !='5') && (rut.charAt(i) != '6') && (rut.charAt(i) != '7') && (rut.charAt(i) != '8') && (rut.charAt(i) != '9') && (rut.charAt(i) !='k') && (rut.charAt(i) != 'K') )
    {
      alert("El valor ingresado no corresponde a un RUT v\u00E1lido.");
      return false;
    }
  }
  var invertido = "";
  for ( i=(largo-1),j=0; i>=0; i--,j++ )
    invertido = invertido + rut.charAt(i);
  var drut = "";
  drut = drut + invertido.charAt(0);
  drut = drut + '-';
  cnt = 0;
  for ( i=1,j=2; i<largo; i++,j++ )     //>
    {
    if ( cnt == 3 )
    {
      //drut = drut + '.';
      j++;
      drut = drut + invertido.charAt(i);
      cnt = 1;
    }
    else
    {
      drut = drut + invertido.charAt(i);
      cnt++;
    }
  }
  invertido = "";
  for ( i=(drut.length-1),j=0; i>=0; i--,j++ )
    invertido = invertido + drut.charAt(i);
  document.LoginForm.ssousername.value = invertido;
  if(!checkDV(rut))
    return false;

  
  return true;
}
function checkDV(rut)
{
  largo = rut.length;
  if(largo < 2){    //>
    alert("Debe ingresar el RUT completo.");
    document.LoginForm.ssousername.select();
    document.LoginForm.ssousername.focus();
    return false;
  }
  if(largo > 2){
    
    dv = rut.charAt(largo-1);
    rut = rut.substring(0, largo - 1);
    
  }
  else{
    rut = rut.charAt(0);
  }

  if(!checkCDV(dv))
     return false;
  if(rut == null || dv == null){
      return false;
  }
  var dvr = '0';
  suma = 0;
  mul  = 2;
  for (i= rut.length -1 ; i >= 0; i--){
    suma = suma + rut.charAt(i) * mul;
    if(mul == 7){
      mul = 2;
    }
    else{
      mul++;
    }
  }
  res = suma % 11;
  if (res==1){
    dvr = 'k';
  }
  else{
    if(res==0){
      dvr = '0';
    }
    else{
      dvi = 11-res;
      dvr = dvi + "";
    }
  }
  if(dvr != dv.toLowerCase()){
alert("El RUT ingresado no es v\u00E1lido.");
    //document.LoginForm.ssousername.select();
    //document.LoginForm.ssousername.focus();
    //document.LoginForm.ssousername.value = "";
    return false;
  }
  return true;
}
function checkCDV(dvr)
{
  dv = dvr + "";
  if(dv != '0' && dv != '1' && dv != '2' && dv != '3' && dv != '4' && dv != '5' && dv != '6' && dv != '7' && dv != '8' && dv != '9' && dv != 'k'  && dv != 'K'){
    alert("Debe ingresar un digito verificador v\u00E1lido.");
    document.LoginForm.ssousername.select();
    document.LoginForm.ssousername.focus();
    return false;
  }
  return true;
}
function checkAll(){ 
	rut_val = document.LoginForm.ssousername.value;  
	if(rut_val.length == 0){         
	    alert("Ingrese su RUT");
        document.LoginForm.ssousername.select();
	    document.LoginForm.ssousername.focus();
	    return;
	}
	if(!checkRutField(document.LoginForm.ssousername.value)){  
      //  document.login.rut_aux.select();
	 //   document.login.rut_aux.focus();
	    return;
	}

	var tmpstr = "";
  	for(i=0; i < rut_val.length ; i++){     //>
    	if(rut_val.charAt(i) != ' ' && rut_val.charAt(i) != '.' && rut_val.charAt(i) != '-'){
      		tmpstr = tmpstr + rut_val.charAt(i);
      	}
    }
    rut_val = tmpstr;
    rut_valor = rut_val.substring(0,rut.length);
  	document.form.rut.value = rut_val.substring(0,rut.length);
  	document.form.dig.value = rut_val.substring(rut.length,rut.length+1);	
  	document.LoginForm.ssousername.value = "";
  	document.form.dig.value = document.login.dig.value.toUpperCase();

}


// Formatea el rut

function formatea(rut){

  if ( (!(isNaN(rut.charAt(0))) ) && (rut != "") ) {  

    var tmpstr = '';
    for ( i=0; i < rut.length ; i++ )
      if ( rut.charAt(i) != ' ' && rut.charAt(i) != '.' && rut.charAt(i) != '-' )
        tmpstr = tmpstr + rut.charAt(i);
    rut = tmpstr;
    largo = rut.length;
    tmpstr = '';
    for ( i=0; rut.charAt(i) == '0' ; i++ );
      for (; i < rut.length ; i++ )
        tmpstr = tmpstr + rut.charAt(i);
    rut = tmpstr;
    largo = rut.length;

    var invertido = '';
    for ( i=(largo-1),j=0; i>=0; i--,j++ )
      invertido = invertido + rut.charAt(i);
    var drut = '';
    drut = drut + invertido.charAt(0);
    drut = drut + '-';
    cnt = 0;
    for ( i=1,j=2; i<largo; i++,j++ ){
      if ( cnt == 3 ){
        drut = drut + '.';
        j++;
        drut = drut + invertido.charAt(i);
        cnt = 1;
      }else{
        drut = drut + invertido.charAt(i);
        cnt++;
      }
    }
    invertido = '';
    for ( i=(drut.length-1),j=0; i>=0; i--,j++ )
      invertido = invertido + drut.charAt(i);

    return invertido;        

  } else {

  return rut;

  }

}



/*************************************************************************************************/
/*************************************************************************************************/

