﻿
//Cambio de Idioma
function fnChangeLanguage(pIdioma){
    //Cambiamos la Variable de Entorno Idioma
    PageMethods.setIdioma(pIdioma,ValidacionIdioma);   
}

function ValidacionIdioma (){
 //Direccionamos a la Pagina Inicial
    document.location = "Default.aspx";
}

//Ver Calendario Escolar Anual
function VerCalendarioEscolar(pAño){  
    document.location="CalendarioEscolar.aspx?cod=CE&yr=" + pAño 
}

function ValidarCooperativista(pUser,pPasword){
    //Efecto del boton al perder el foco
    this.blur();
    //Comprobamos que no este vacio          
    if (pUser.value== "" || pPasword.value== "") {alert ('Invalid User/Pasword.'); return;}
    var vUserId=hex_md5(pUser.value);       
    document.location="LoginCooperativista.aspx?cod=LG&user=" + pUser.value + "&pas=" + pPasword.value + "&UserId=" + vUserId   ; 
}

function Validar(pUser,pPasword){
    var vUsuario = new cLogin();  //Clase Publica disponible por  EnablePageMethods="true"    
    
    //Efecto del boton al perder el foco
    this.blur();
    //Comprobamos que no este vacio    
    if (pUser.value== "" || pPasword.value== "") {alert ('Invalid User/Pasword.'); return;}
    //Validamos al Cooperativista  
    vUsuario.vUser=pUser.value; vUsuario.vPass=pPasword.value;    
    PageMethods.ValidarLogin(vUsuario,Validacion);    //Debe ser la ultima intruccion (Asincrona)    
}

function Validacion(pOk){
    var vCodPaginaDestino = "cod2";
    var vPaginaDestino; 
    var vParametrosPagina=window.location.search.substring(1);   
    //Podria devolver mas valores si en el Return del metodo retornara la clase publica.
    if (pOk==true)
        {
            if(InStr(vParametrosPagina, vCodPaginaDestino)>0 && Len(vParametrosPagina)>0 )
                {
                    vPaginaDestino=Right(vParametrosPagina,2);
                    if (vPaginaDestino=="LI")
                        document.location="Listas.aspx?cod=" + vPaginaDestino;
                    else if(vPaginaDestino=="ES")
                        document.location = "Estatutos.aspx?cod=" + vPaginaDestino;
                    else if (vPaginaDestino == "RA")
                        document.location = "RinconAlumno.aspx?cod=" + vPaginaDestino;
                    else if (vPaginaDestino == "DC")
                        document.location = "Documentos.aspx?cod=" + vPaginaDestino;
                    else if (vPaginaDestino == "EC")
                        document.location = "EvaluarComedor.aspx?cod=" + vPaginaDestino;      
                }                
         }
    else
        {alert ('Invalid User/Pasword.');}
    }

function ValidarOlvidoContraseña(pUser, pEmail) {
        var vUsuario = new cLogin();  //Clase Publica disponible por  EnablePageMethods="true"    

        //Efecto del boton al perder el foco
        this.blur();
        //Comprobamos que no este vacio       
        if (pUser.value == "" || pEmail.value == "") { alert('Invalid User/Email.'); return; }
        //Validamos Email
        if (!valEmail(pEmail.value)){alert ("Invalid Email."); return;}
        //Validamos al Cooperativista (User,Email)
        vUsuario.vUser = pUser.value; vUsuario.vPass = pEmail.value;
        PageMethods.ValidarOlvidoContraseña(vUsuario, ValidacionOlvidoContraseña);    //Debe ser la ultima intruccion (Asincrona)
    }

    function ValidacionOlvidoContraseña(pOk) {
         if (pOk == "") {
             alert('Password to Email: ' + document.getElementById('txtEmail').value);
         } else if (pOk == "Invalid User/Email.") {
             alert('Invalid User/Email.');
         } else {         
             alert(pOk);
         }            
 }

function valEmail(valor) {
        re = /^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$/
        if (!re.exec(valor)) {
            return false;
        } else {
            return true;
        }
 }

//======================================================================================
//                                                                                      LIBRERIA DE FUNCIONES
//======================================================================================

// Las funciones son:
//		Left, Right, Mid, LTrim, RTrim, Trim, InStr, RInStr, Space, 
//		jString (esta se llamará así, ya que String es una palabra reservada)
//		UCase, LCase, Len, 
// Otras funciones adicionales:
//		StrReverse
// Constantes:
//		vbCrLf, vbCr, vbLf, vbTab, 
//
//-----------------------------------------------------------------------------
// Códigos escape:
//
// \b = Backspace
// \f = Form feed
// \n = Line feed
// \r = Carriage return
// \t = Horizontal tab
//-----------------------------------------------------------------------------
// Constantes
var vbCr = "\r";
var vbLf = "\n";
var vbCrLf = vbCr+vbLf;
var vbTab = "\t";

function Left(s, n){
	// Devuelve los n primeros caracteres de la cadena
	if(n>s.length)
		n=s.length;
		
	return s.substring(0, n);
}

function Right(s, n){
	// Devuelve los n últimos caracteres de la cadena
	var t=s.length;
	if(n>t)
		n=t;
		
	return s.substring(t-n, t);
}

function Mid(s, n, c){
	// Devuelve una cadena desde la posición n, con c caracteres
	// Si c = 0 devolver toda la cadena desde la posición n
	
	var numargs=Mid.arguments.length;
	
	// Si sólo se pasan los dos primeros argumentos
	if(numargs<3)
		c=s.length-n+1;
		
	if(c<1)
		c=s.length-n+1;
	if(n+c >s.length)
		c=s.length-n+1;
	if(n>s.length)
		return "";
		
	return s.substring(n-1,n+c-1);
}

function LTrim(s){
	// Devuelve una cadena sin los espacios del principio
	var i=0;
	var j=0;
	
	// Busca el primer caracter <> de un espacio
	for(i=0; i<=s.length-1; i++)
		if(s.substring(i,i+1) != ' '){
			j=i;
			break;
		}
	return s.substring(j, s.length);
}

function RTrim(s){
	// Quita los espacios en blanco del final de la cadena
	var j=0;
	
	// Busca el último caracter <> de un espacio
	for(var i=s.length-1; i>-1; i--)
		if(s.substring(i,i+1) != ' '){
			j=i;
			break;
		}
	return s.substring(0, j+1);
}

function Trim(s){
	// Quita los espacios del principio y del final
	return LTrim(RTrim(s));
}

function InStr(n, s1, s2){
	// Devuelve la posición de la primera ocurrencia de s2 en s1
	// Si se especifica n, se empezará a comprobar desde esa posición
	// Sino se especifica, los dos parámetros serán las cadenas
	var numargs=InStr.arguments.length;
	
	if(numargs<3)
		return n.indexOf(s1)+1;
	else
		return s1.indexOf(s2, n)+1;
}

function RInStr(n, s1, s2){
	// Devuelve la posición de la última ocurrencia de s2 en s1
	// Si se especifica n, se empezará a comprobar desde esa posición
	// Sino se especifica, los dos parámetros serán las cadenas
	var numargs=RInStr.arguments.length;
	
	if(numargs<3)
		return n.lastIndexOf(s1)+1;
	else
		return s1.lastIndexOf(s2, n)+1;
}

function Space(n){
	// Devuelve una cadena con n espacios
	var t="";
	
	for(var i=1; i<=n; i++)
		t=t+" ";
	
	return t;
}

function jString(n, c){
	// Devuelve n veces el caracter c
	var t="";
	
	for(var i=1; i<=n; i++)
		t=t+c;
	return t;
}

function UCase(s){
	// Devuelve la cadena convertida a mayúsculas
	return s.toUpperCase();
}

function LCase(s){
	// Devuelve la cadena convertida en minúsculas
	return s.toLowerCase();
}

function Len(s){
	// Devuelve la longitud de la cadena s
	return s.length;
}

function StrReverse(s){
	// Invierte la cadena
	var i=s.length;
	var t="";
	
	while(i>-1){
		t=t+ s.substring(i,i+1);
		i--;
	}
	return t;
}



