//Funcion que elimina espacion al inicio y al final de una cadena function trim ( inputStringTrim ) { fixedTrim = ""; lastCh = " "; for (x=0; x < inputStringTrim.length; x++) { ch = inputStringTrim.charAt(x); if ((ch != " ") || (lastCh != " ")) { fixedTrim += ch; } lastCh = ch; } if (fixedTrim.charAt(fixedTrim.length - 1) == " ") { fixedTrim = fixedTrim.substring(0, fixedTrim.length - 1); } return fixedTrim } function fSubmitElimPer(form,arch,opcion,actPermisos,idFechasComp,idUsuariosComp,recurso,nombreRecurso,tipoRecurso,nivelComp,codRecursos) { //ELIMAR COMPARTIR RECURSOS O CAMBIAR PERMISOS DE ACCESO //alert(idFechasComp); var continua = "1"; var masDeUno = 0; var msg = ""; var nuevosPermisos=""; if (opcion == 10) { masDeUnoElim = fVerificaElementoSel(form); nuevosPermisos=fObtenPermisos(form); masDeUnoPer = fVerificaCambios(actPermisos,nuevosPermisos); if ((masDeUnoElim > 0) || (masDeUnoPer>0)) { /*if (masDeUno == 1) msg = "Esta seguro que ya no desea compartir el recurso seleccionado?"; else msg = "Esta seguro que ya no desea compartir los recursos seleccionados?"; */ msg="Esta seguro de realizar dichos cambios?" if (!confirm(msg) ) { continua = 0; } } else { continua = 0; //alert("Debe seleccionar por lo menos un elemento."); alert("Debe realizar por lo menos una modificación"); } } if (continua == "1") { form.accion.value=opcion; form.action = arch; form.actPermisos.value=actPermisos; form.nuevosPermisos.value=nuevosPermisos; form.recurso.value=recurso; form.nombreRecurso.value=nombreRecurso; form.tipoRecurso.value=tipoRecurso; form.idFechasComp.value=idFechasComp; form.idUsuariosComp.value=idUsuariosComp; form.codRecursos.value=codRecursos; form.nivelCompartido.value=nivelComp; form.submit(); } } function fSubmitReemplazar(form,arch,codigoRecursoComp,nombreRecursoComp,tipoRecursoComp,codigoPropietario,fechaComparte) { form.action=arch; form.recurso.value=codigoRecursoComp; form.nombreRecurso.value=nombreRecursoComp; form.tipoRecursoCompartido.value=tipoRecursoComp; form.codigoPropietario.value=codigoPropietario; form.fechaComparte.value=fechaComparte; form.submit(); } function fSubmitOrdenar(form,arch,opcion,vez) { form.action=arch; form.opcionOrd.value=opcion; form.vezOrd.value=vez; form.submit(); } function fValidaFecha(dia,mes,anho) { var error=0; if((anho < 1900) || (anho > 2050) || (mes < 1) || (mes > 12) || (dia < 1) || (dia > 31)) error=1; else { var resto = anho%4; //alert(resto); if((anho%4 != 0) && (mes == 2) && (dia > 28)) error=1; // Año no viciesto y es febrero y el dia es mayor a 28 else { if ((((mes == 4) || (mes == 6) || (mes == 9) || (mes==11)) && (dia>30)) || ((mes==2) && (dia>29))) { error=1; } } } return error; } function fIngresar(form,arch) { if (form.usuario.value.length == 0) { alert("Falta ingresar el código"); form.usuario.focus(); } else { if (form.password.value.length == 0) { alert("Falta ingresar la contraseña"); form.password.focus(); } else { form.action = arch; form.submit(); } } } //Funcion que verifica el ingreso de los datos necesario para los usuarios //externos function fIngresarPublico(form,arch) { if (form.email.value.length == 0) { alert("Falta ingresar el Correo Eletrónico"); form.email.focus(); } else { if (form.password.value.length == 0) { alert("Falta ingresar la contraseña"); form.password.focus(); } else { form.action = arch; form.submit(); } } } function fSubmit(form,arch) { form.action = arch; form.submit(); } //Funcion que hace el submit y pasa una variable function fSubmitVariable(form,arch,valor) { form.accionPersonal.value = valor; form.action = arch; form.submit(); } function fSubmitCompHasta(form,arch,codigoRecursoComp,nombreRecursoComp,fechaComparte,fechaFinCompartido,tipoRec,email,idUsuarioComp) { form.action=arch; form.recurso.value=codigoRecursoComp; form.nombreRecurso.value=nombreRecursoComp; form.fechaFinCompartido.value=fechaFinCompartido; form.fechaComparte.value=fechaComparte; form.tipoRecurso.value=tipoRec; form.codigoCompartidoA.value=idUsuarioComp; form.email.value=email; form.submit(); } function fSelecDeselec(form) { for(i=0 ; i|';"; encontrado = "0"; num = caracteres_invalidos.length; i=0; while ((i= 0 ) encontrado = "1"; i = i + 1; } if (encontrado == "1") return 1; else return 0; } //Funcion que valida el nombre dato a un directorio function fVerificaNombreDirectorio(cadena) { var RegExPattern = /[^A-Za-z0-9\s\-\_]/; if (cadena.match(RegExPattern)) { return 1; } else { return 0; } } function fVerificaFechaSel(diaSel,mesSel,anoSel) { var error = 0; //fecha actual var now = new Date(); var anoAct = now.getYear(); if (anoAct < 1000) anoAct+=1900; var mesAct = now.getMonth(); mesAct += 1; var diaAct = now.getDate(); if (anoSel < anoAct) error = 1; else if ((mesSel < mesAct) && (anoSel==anoAct)) error = 1; else if ( (diaSel < diaAct) && (mesSel == mesAct) && (anoSel==anoAct)) error = 1; return error; } //Funcion que verifica el numero de elementos selecionados function fVerificaElementoSel(form) { var numElemen = 0; for(i=0 ; i< form.elements.length; i++) { if (form.elements[i].type == "checkbox") { if(form.elements[i].checked) { numElemen = numElemen + 1; } } } return numElemen; } function fVerificaCambios(actPermisos,nuevosPermisos) { var numElemen = 0; //alert(act) for(i=0 ; i< actPermisos.length; i++) { if(nuevosPermisos.charAt(i)!=actPermisos.charAt(i)) { numElemen = numElemen + 1; } } return numElemen; } function fObtenPermisos(form) { permisos=""; for(i=0 ; i< form.elements.length; i++) { if (form.elements[i].type == "select-one") { if ((form.elements[i].value=="L")||(form.elements[i].value=="E")) permisos=permisos+form.elements[i].value; } } return permisos; } function fSubmitCopiar(form,arch,opcion,codigoPadreCop,directorioDestino) { form.accion.value=opcion; form.action = arch; form.codigoPadreCop.value=codigoPadreCop; form.directorioDestino.value=directorioDestino; form.submit(); } function fSubmitMover(form,arch,opcion,codigoPadreCop,directorioDestino) { form.accion.value=opcion; form.action = arch; form.codigoPadreMov.value=codigoPadreCop; form.directorioDestino.value=directorioDestino; form.submit(); } function fSubirArchivo(form,arch,opcion,cantArch) { var continua = "1"; //Verificamos que por lo menos se este subiendo un archivo var numElem = form.elements.length; var cantArch = cantArch; var numVacios = 0; var cont = 0; while ((cont < numElem ) && (continua == "1")) { if ( (form.elements[cont].type == "file") && (form.elements[cont].value.length == 0 ) ) { numVacios ++; } cont ++; } if (cantArch == numVacios) continua = "0"; if (continua == "0") { alert ("Debe indicar la ruta del archivo local a subir."); form.archivoLocal[cont].focus(); } else { document.getElementById('parteSubir').style.display="none"; form.accion.value=opcion; form.action = arch; form.cantArch.value=cantArch; form.submit(); window.setTimeout("StartAnimation()",100); } } function StartAnimation() { document.getElementById('parteProgreso').style.display=""; } function fReemplazarArchivo(form,arch,opcion) { var sube = ""; if (opcion != "16") { if (form.archivoLocal.value.length == 0 ) { alert ("Debe indicar la ruta del archivo local a subir."); form.archivoLocal.focus(); } else sube = "1"; } else //para el caso de reemplazar ya un archivo sube = "1"; if (sube == "1") { document.getElementById('parteSubir').style.display="none"; form.accion.value=opcion; form.action = arch; //form.cantArch.value=cantArch; form.submit(); window.setTimeout("StartAnimation()",100); } } var ventanaEspera; function fAbreVentanaDeEspera(form,arch) { var sesion = form.sesion.value; var url = arch + "?sesion=" + sesion; ventanaEspera = window.open(url,"espera","toolbar=no,location=no,status=no,menubar=no,width=350,height=150,top=250,left=350,resizable=no,scrollbars=no"); } function closeDep() { ventanaEspera.close(); } function fSubmitSubirArchivo(form,arch,opcion,cantArch) { fAbreVentanaDeEspera(form,"espera.php"); var continua = "1"; //Verificamos que por lo menos se este subiendo un archivo var numElem = form.felements.length; var cantArch = cantArch; var numVacios = 0; var cont = 0; while ((cont < numElem ) && (continua == "1")) { if ( (form.elements[cont].type == "file") && (form.elements[cont].value.length == 0 ) ) { numVacios ++; } cont ++; } if (cantArch == numVacios) continua = "0"; if (continua == "0") { alert ("Debe indicar la ruta del archivo local a subir."); form.archivoLocal[cont].focus(); } else { form.accion.value=opcion; form.action = arch; form.cantArch.value=cantArch; form.submit(); } } //Funcion que valida cada uno de los emails ingresados en el textares // y verifica que no se trate de crear un grupo con el propio mail //del usuario actual. //Recibe todos los emails en un arreglo function fValidaEmailsGrupo(form,contactos) { var emailUsuActual = form.emailUsu.value; esUsuActual = 0; numEmails = contactos.length; cont = 0; resul = 1; while ((cont < numEmails) && (resul == "1")) { emailVerifica = contactos[cont]; if (emailVerifica.length > 0) { if (emailVerifica == emailUsuActual) resul = "-1"; // El usuario actual no puede formar parte del grupo else resul = fValidaEmail(emailVerifica); } cont = cont + 1; } return resul; } function fValidaEmails(contacto) { posSalto=contacto.indexOf("\n"); if (posSalto==-1)//era un solo email { resul=fValidaEmail(contacto); } else { while (posSalto>0) { //Se separan uno a uno los emils email=contacto.substring(0,posSalto); email = trim(email); contacto=contacto.substring(posSalto+1,contacto.length); resul= fValidaEmail(email); if (resul==0) break; posSalto=contacto.indexOf("\n"); } if ((resul==1) &&(contacto.length > 0)) resul= fValidaEmail(contacto); } return resul; } function fSubmitCompartir(form,arch,opcion,numUsuSis,numUsuExt) { var continua = "1"; var masDeUno = 0; var msg = ""; var numElem = form.elements.length; var codigoUsuActual = form.codigoUsu.value; var emailUsuActual = form.emailUsu.value; var numVaciosSis = 0; var numVaciosExt = 0; var emailErrorSis = 0; var emailErrorExt = 0; var cont = 0; var usuEncontrado = 0; //Primero se verificara que por lo menos se esta compartiendo //a una persona ya sea del sistema o externa. while ((cont < numElem ) && (usuEncontrado == 0)) { //Se cuenta la cantidad de elementos correspondientes a usuarios del sistema //que estan en blanco if ( (form.elements[cont].type == "textarea") && (form.elements[cont].name == "emailsUsuSist[]") && (form.elements[cont].value == "" ) ) { numVaciosSis = numVaciosSis + 1; } else if ((form.elements[cont].type == "textarea") && (form.elements[cont].name == "emailsUsuSist[]") && (form.elements[cont].value == emailUsuActual )) usuEncontrado = 1; //Se cuenta la cantidad de elementos correspondientes a otros usuarios //que estan en blanco if ( (form.elements[cont].type == "textarea") && (form.elements[cont].name == "emailExt[]") && (form.elements[cont].value == "" ) ) { numVaciosExt = numVaciosExt + 1; } else if ( (form.elements[cont].type == "textarea") && (form.elements[cont].name == "emailExt[]") && (form.elements[cont].value == emailUsuActual ) ) usuEncontrado = 2; //Se verifica la validez de los emails pucp que se hayan ingresado if ((form.elements[cont].type == "textarea") && (form.elements[cont].name == "emailsUsuSist[]") && (form.elements[cont].value.length > 0) ) { if (!fValidaEmails(form.elements[cont].value)) emailErrorSis ++; } //Se verifica la validez de los emails externos que se hayan ingresado if ((form.elements[cont].type == "textarea") && (form.elements[cont].name == "emailExt[]") && (form.elements[cont].value.length > 0) ) { if (!fValidaEmails(form.elements[cont].value)) emailErrorExt ++; } cont ++; } //fin del while if (usuEncontrado == 1) { continua = 0; alert ("No se puede compartir a Ud. mismo. Email incorrecto."); self.focus(); } else if (usuEncontrado == 2) { continua = 0; alert ("No se puede compartir a Ud. mismo. Email incorrecto."); self.focus(); } else { numUsuSisComp = numUsuSis; if ( (numUsuSisComp == numVaciosSis) && (numUsuExt == numVaciosExt)) continua = "0"; if (continua == "0") { alert ("Debe ingresar por lo menos un usuario a quien compartir."); self.focus(); } else { //Email pucp o externos invalidos if ( (emailErrorSis > 0) || (emailErrorExt > 0) ) { if (emailErrorSis > 0) { continua = "0"; if ( (emailErrorSis == 1) && (numUsuSis == 1)) msg = "La dirección de correo ingresada de usuarios pucp es incorrecta "; else if ( (emailErrorExt == 1) && (numUsuExt > 1)) msg = "Una de las direcciones de correo ingresadas de usuarios pucp es incorrecta "; else msg = "Algunas de las direcciones de correo ingresadas de usuarios pucp son incorrectas "; alert(msg); self.focus(); } if (emailErrorExt > 0) { continua = "0"; if ( (emailErrorExt == 1) && (numUsuExt == 1)) msg = "La dirección de correo ingresada de usuarios externos es incorrecta "; else if ( (emailErrorExt == 1) && (numUsuExt > 1)) msg = "Una de las direcciones de correo ingresadas de usuarios externos es incorrecta "; else msg = "Algunas de las direcciones de correo ingresadas de usuarios externos son incorrectas "; alert(msg); self.focus(); } } else { //Se verificara que se haya ingresado las fechas respectivas, siempre //y cuando tambien se haya ingresado algun usuario. //Para poder hacer la verificacion correctamente, se guardara en arreglos //independientes todos los datos, ya que estos se forman dinamicamente en la //página. var emailsSis=new Array(); var diaSis=new Array(); var mesSis=new Array(); var anoSis=new Array(); var email=new Array(); var diaExt=new Array(); var mesExt=new Array(); var anoExt=new Array(); var cont = 0; var contEmailSis = 0,contDiaSis=0,contMesSis=0,contAnoSis=0; var contEmailExt = 0,contDiaExt=0,contMesExt=0,contAnoExt=0; var posFecha = 0; while (cont < numElem ) { nombreVarDiaSis = "diaSis" + contDiaSis; nombreVarMesSis = "mesSis" + contMesSis; nombreVarAnoSis = "anoSis" + contAnoSis; nombreVarDiaExt = "diaExt" + contDiaExt; nombreVarMesExt = "mesExt" + contMesExt; nombreVarAnoExt = "anoExt" + contAnoExt; switch(form.elements[cont].name) { case "emailsUsuSist[]": emailsSis[contEmailSis] = form.elements[cont].value; contEmailSis++; break; case "diaSis" + contDiaSis: diaSis[contDiaSis] = form.elements[cont].value; contDiaSis++; break; case "mesSis" + contMesSis: mesSis[contMesSis] = form.elements[cont].value; contMesSis++; break; case "anoSis" + contAnoSis: anoSis[contAnoSis] = form.elements[cont].value; contAnoSis++; break; case "emailExt[]": email[contEmailExt] = form.elements[cont].value; contEmailExt++; break; case "diaExt" + contDiaExt: diaExt[contDiaExt] = form.elements[cont].value; contDiaExt++; break; case "mesExt" + contMesExt: mesExt[contMesExt] = form.elements[cont].value; contMesExt++; break; case "anoExt" + contAnoExt: anoExt[contAnoExt] = form.elements[cont].value; contAnoExt++; break; }; contAnt = cont; cont++; }//fin del while //Verificacion de los usuarios del sistema var contSis = 0; var faltaFecha = 0; var errorFechaActual = 0; var errorFechaExiste=0; contDiaSis--; contDiaExt--; while ((contSis < numUsuSis) && (faltaFecha == 0) && (errorFechaActual == 0) && (errorFechaExiste == 0)) { if (emailsSis[contSis] != "") { if (diaSis[contSis] == "") faltaFecha = 1; else { //Se verifica que la fecha seleccionado no sea menor a la fecha actual. errorFechaActual=fVerificaFechaSel(diaSis[contSis],mesSis[contSis],anoSis[contSis]); //se verifica que la fecha exista errorFechaExiste=fValidaFecha(diaSis[contSis],mesSis[contSis],anoSis[contSis]); } } contSis++; } if ( (faltaFecha == 1) || (errorFechaActual == 1) || (errorFechaExiste == 1)) { continua = 0; if (faltaFecha == 1) alert("Debe seleccionar un día válido"); else if (errorFechaActual == 1) alert("Una de las fechas seleccionadas es menor a la fecha actual"); else if (errorFechaExiste== 1) alert("Una de las fechas seleccionadas no existe"); self.focus(); } else { //Verificacion de los usuarios externos var contExt = 0; var faltaFecha = 0; var errorFechaActual = 0; var errorFechaExiste = 0; while ((contExt < numUsuExt) && (faltaFecha == 0) && (errorFechaActual == 0) && (errorFechaExiste == 0)) { if (email[contExt] != "") { if (diaExt[contExt] == "") faltaFecha = 1; else { //Se verifica que la fecha seleccionado no sea menor a la fecha actual. errorFechaActual = fVerificaFechaSel(diaExt[contExt],mesExt[contExt],anoExt[contExt]); errorFechaExiste=fValidaFecha(diaExt[contExt],mesExt[contExt],anoExt[contExt]); } } contExt++; } if ( (faltaFecha == 1) || (errorFechaActual == 1) || (errorFechaExiste == 1)) { continua = 0; if (faltaFecha == 1) alert("Debe seleccionar un día válido"); else if (errorFechaActual == 1) alert("Una de las fechas seleccionadas es menor a la fecha actual"); else if (errorFechaExiste== 1) alert("Una de las fechas seleccionadas no existe"); self.focus(); } } //fin else de faltaFecha }//fin else de emailError }//fin de else de continua }//fin de else de usuEncontrado if (continua == "1") { form.accion.value=opcion; form.action = arch; form.numUsuSis.value=numUsuSis; form.numUsuExt.value=numUsuExt; form.submit(); } } function fSubmitCamPropiedades(form,arch,opcion,nombreRecurso,tipoRecurso,recurso,fecha0,fecha1) { //GRABAR PROPIEDADES var continua = "1"; //Verificamos el nombre del archivo if (form.nuevoNombre.value.length == 0) { continua=0; alert("Debe ingresar un nombre válido."); form.nuevoNombre.focus(); } else if (fVerificaNombreDirectorio(form.nuevoNombre.value) == 1) { continua=0; alert("El nombre ingresado tiene carácteres inválidos."); form.action = ""; form.nuevoNombre.focus(); } if (continua == "1") { form.accion.value=opcion; form.action = arch; form.fechaCreacion0.value=fecha0; form.fechaCreacion1.value=fecha1; form.nombreRecurso.value=nombreRecurso; form.tipoRecurso.value=tipoRecurso; form.recurso.value=recurso; form.submit(); } } function fSubmitContExt(form,arch,opcion) { var continua = "1"; var resul=1; if (form.nuevoContacto.value.length == 0) { continua = 0; alert("Falta ingresar el email del nuevo contacto."); form.nuevoContacto.focus(); } else { contacto=form.nuevoContacto.value; posComa=contacto.indexOf(","); if (posComa==-1)//era un solo email { resul=fValidaEmail(form.nuevoContacto.value); if (resul==0) { alert("Debe ingresar una dirección electrónica válida"); form.nuevoContacto.focus(); continua=0; } } else {// se separa cada email para validarlos while (posComa>0) { email=contacto.substring(0,posComa); contacto=contacto.substring(posComa+1,contacto.length); resul=resul && fValidaEmail(email); if (resul==0) break; posComa=contacto.indexOf(","); } if (resul==1) resul=resul && fValidaEmail(contacto); if (resul==0) { alert("Una dirección electrónica no es válida"); form.nuevoContacto.focus(); continua=0; } } } if (continua == "1") { form.accion.value=opcion; form.action = arch; form.submit(); } } function fVerEmailProhibido(loginCorreo) { var prohibidos =["dia","dirinfo","webfiles"] var num = prohibidos.length; var i = 0; var encontrado = 0; while ((i 1) msg = "Esta seguro que desea eliminar los elementos seleccionados?"; else msg = "Debe seleccionar algún elemento."; if (masDeUno > 0) { if (!confirm(msg)) continua = "0"; } else { alert(msg); continua = "0"; } } else if (opcion==8)//CAMBIAR FECHA DE FIN DE COMPARTICION { er=fVerificaFechaSel(form.dia.value,form.mes.value,form.anho.value) if (er==0) { er=fValidaFecha(form.dia.value,form.mes.value,form.anho.value); if (er==1) { continua=0; alert("La fecha ingresada no existe") } } else { continua=0; alert("La fecha seleccionada debe ser mayor o igual a la fecha actual") } } else //ACTUALIZAR DATOS PERSONALES if (opcion == 12) { var codigo = trim(form.nuevoCodigo.value); var nom = trim(form.nuevoNombre.value); var pat = trim(form.nuevoApePat.value); var email = trim(form.nuevoEmail.value); var passOri = trim(form.origenPassword.value); var nuevoPass = trim(form.nuevoPassword.value); var reNuevoPass = trim(form.reNuevoPassword.value); if ((codigo.length == 0) && (nom.length == 0) && (pat.length == 0) && (email.length == 0) && (passOri.length == 0) && (nuevoPass.length == 0) && (reNuevoPass.length == 0) ) { continua = 0; alert("Falta ingresar los datos solicitados."); form.nuevoCodigo.focus(); } else if (codigo.length == 0) { continua = 0; alert("Falta ingresar el código."); form.nuevoCodigo.focus(); } else if (email.length == 0) { continua = 0; alert("Falta ingresar el correo electrónico."); form.nuevoEmail.focus(); } else if (!fValidaEmail(email)) { alert("Debe ingresar una dirección electrónica válida"); continua = 0; form.nuevoEmail.focus(); } else if ((nom.length != 0) && (pat.length == 0) && (email.length != 0)) { continua = 0; alert("Falta ingresar el apellido paterno."); form.nuevoApePat.focus(); } else if ((nom.length == 0) && (pat.length != 0) && (email.length != 0)) { continua = 0; alert("Falta ingresar el nombre"); form.nuevoNombre.focus(); } else if ((passOri.length != 0) || (nuevoPass.length != 0) || (reNuevoPass.length != 0) ) { var msg = "Esta seguro que también desea cambiar su contraseña?"; if (confirm(msg)) { if (passOri.length == 0) { continua = 0; alert("Falta ingresar la contraseña original"); form.origenPassword.focus(); } else if (nuevoPass.length == 0) { continua = 0; alert("Falta ingresar la nueva contraseña"); form.nuevoPassword.focus(); } else if (reNuevoPass.length == 0) { continua = 0; alert("Falta ingresar la confirmación de la nueva contraseña"); form.reNuevoPassword.focus(); } else if (nuevoPass.length > 10) { continua = 0; alert("La nueva contraseña no debe de exceder los 10 caracteres."); form.nuevoPassword.focus(); } else if (nuevoPass != reNuevoPass) { continua = 0; alert("Las nuevas contraseñan no son iguales"); form.nuevoPassword.focus(); } else form.cambiaPass.value = 1; }//fin de confirma }//fin de existe datos cambio password. }//fin de opcion 12 else //Edicion de datos de un contacto externo if (opcion == 13) { var email = form.nuevoEmailContacto.value; if (email.length == 0) { continua = 0; alert("Falta el correo electrónico."); form.nuevoEmailContacto.focus(); } else if (!fValidaEmail(email)) { alert("Debe ingresar una dirección electrónica válida"); continua = 0; form.nuevoEmail.focus(); } } else //ELIMINAR CONTACTOS if (opcion == 15) { masDeUno = fVerificaElementoSel(form); if (masDeUno > 0) { if (masDeUno == 1) msg = "Esta seguro que desea eliminar el contacto seleccionado ?"; else msg = "Esta seguro que desea eliminar los contactos seleccionados ?"; if (!confirm(msg) ) continua = 0; }else { continua = 0; alert("Debe seleccionar por lo menos un elemento."); } } else //REGISTRO DE NUEVO USUARIO if (opcion == 18) { var nombres = trim(form.nombresNuevoUsu.value); var paterno = trim(form.paternoNuevoUsu.value); var materno = trim(form.maternoNuevoUsu.value); var email = trim(form.emailNuevoUsu.value); var dominio = form.dominio.value; //Pasamos todo el email a minusculas email = email.toLowerCase(); if ((nombres.length == 0)&& (paterno.length==0) && (materno.length==0) && (email.length==0)) { continua=0; alert("Por favor, ingrese los datos solicitados"); form.nombresNuevoUsu.focus(); } else if (nombres.length == 0) { continua=0; alert("Por favor, ingrese su nombre."); form.nombresNuevoUsu.focus(); } else if (paterno.length == 0) { continua=0; alert("Por favor, ingrese su apellido paterno."); form.paternoNuevoUsu.focus(); } else if (email.length == 0) { continua=0; alert("Por favor, ingrese su login de correo."); form.emailNuevoUsu.focus(); }else { //Sacamos el login para verificar que no este en la //lista de no permitidos var loginCorreo = email.substring(0,email.indexOf('@')); if (!fVerificaDominio(email,dominio)||fVerEmailProhibido(loginCorreo)) { continua=0; alert("La dirección eletrónica ingresada es incorrecta."); form.emailNuevoUsu.focus(); } } } else //REGISTRO DE NUEVO GRUPO if (opcion == 19) { var tipoContacto = form.creaContacto.value; if (tipoContacto == "G") //Grupo { var nombreGrupo = form.nombreGrupo.value; var emailsGrupo = form.emailsGrupo.value; if (nombreGrupo.length == 0) { continua = 0; alert("Falta ingresar el nombre del grupo."); form.nombreGrupo.focus(); } else if (emailsGrupo.length == 0) { continua = 0; alert("Falta ingresar las direcciones electrónicas."); form.emailsGrupo.focus(); } else { //Se pasa a un arreglo cada uno de los emails emails = emailsGrupo.split("\n"); var valido = fValidaEmailsGrupo(form,emails); if ( (valido == 0) || (valido == "-1")) { if (valido == 0) msg = "Alguna de las direcciones ingresadas es incorrecta."; if (valido == "-1") msg = "Ud. no puede formar parte de ningun grupo."; alert(msg); form.emailsGrupo.focus(); continua = 0; } } } else if (tipoContacto == "U") //Contacto personal { var nombres = form.nombresContacto.value; var paterno = form.paternoContacto.value; var materno = form.maternoContacto.value; var email = form.emailContacto.value; var emailUsu = form.emailUsu.values; if ((nombres.length == 0) && (paterno.length == 0)&& (materno.length == 0) && (email.length == 0) ) { alert("Debe ingresar alguno de los datos para realizar la búsqueda"); form.nombresContacto.focus(); } else if (email.length > 0) { if (!fValidaEmail(email)) { alert("El email ingresado no es válido"); form.emailContacto.focus(); continua = 0; } else if (emailUsu == email) { alert("Debe ingresar una dirección diferente a la suya."); form.emailContacto.focus(); continua = 0; } } } } else //GRABAR CONTACTOS PUCP if (opcion == "20") { //Se verifica si se ha seleccionado algun elemento. masDeUno = fVerificaElementoSel(form); //Se verifica la cantidad de elementos seleccionados para //determinar el tipo de mensaje. if (masDeUno == 1) msg = "Esta seguro que desea agregar a sus contactos a la persona seleccionada?"; else if (masDeUno > 1) msg = "Esta seguro que desea agregar a sus contactos a las personas seleccionadas?"; else msg = "Debe seleccionar algún elemento."; if (masDeUno > 0) { if (!confirm(msg)) continua = "0"; } else { alert(msg); continua = "0"; } } else //GRABAR CONTACTOS EXTERNO if (opcion == 21) { var email = trim(form.email.value); var emailUsuActual = form.emailUsu.value; if (email.length == 0) { continua=0; alert("Por favor, ingrese el email."); form.email.focus(); } else if (email == emailUsuActual) { continua=0; alert("Debe ingresar una dirección diferente a la suya."); form.email.focus(); } else if (!fValidaEmail(email)) { continua=0; alert("El email ingresado no es válido."); form.email.focus(); } } else //REGISTRAR CONTRASEÑA if (opcion == 22) { var pass1 = trim(form.nuevoPass.value); var pass2 = trim(form.nuevoPassRe.value); if ((pass1.length == 0) || (pass2.length == 0)) { continua=0; alert("Por favor, ingrese los datos solicitados."); form.pass1.focus(); } else if (pass1 != pass2) { continua=0; alert("Las contraseñas ingresadas son diferentes."); form.pass2.focus(); } } else //ENVIO RECORDATORIO CONTRASEÑA if (opcion == 23) { var email = trim(form.emailUsu.value); if (email.length == 0) { continua=0; alert("Por favor, ingrese su dirección electrónica"); form.emailUsu.focus(); }else if (!fVerificaCaracter(email,"@")) { continua=0; alert("La dirección ingresada es incorrecta."); form.emailUsu.focus(); } } if (continua == "1") { form.accion.value=opcion; form.action = arch; form.submit(); } } function fVerificaDominio(email,dominio) { //Sacamos todo lo que hay luego del @ var final = email.substring(email.indexOf('@')+1); //Dividimos el email en partes de acuerdo al punto var partesEmail = final.split('.'); tamPartes = partesEmail.length; //tomamos las tres primeras posiciones del arreglo, lo unimos y lo //comparamos //con el dominio var dominioEmail = partesEmail[tamPartes-3]+"."+partesEmail[tamPartes-2]+"."+partesEmail[tamPartes-1]; if (dominioEmail == dominio) return true; else return false; } function fSubmitAccionesAdmin(form,arch,opcion,maximo) { var continua = 1; //Nuevo Usuario if (opcion == 1) { if (form.codigoNuevoUsu.value.length == 0) { alert ("Debe ingresar el código del nuevo usuario."); form.codigoNuevoUsu.focus(); continua = "0"; } else if (form.nombresNuevoUsu.value.length == 0) { alert ("Debe ingresar el nombre del nuevo usuario."); form.nombresNuevoUsu.focus(); continua = "0"; } else if (form.paternoNuevoUsu.value.length == 0) { alert ("Debe ingresar el apellido paterno del nuevo usuario."); form.paternoNuevoUsu.focus(); continua = "0"; } else if (form.emailNuevoUsu.value.length == 0) { alert ("Debe ingresar el email del nuevo usuario."); form.emailNuevoUsu.focus(); continua = "0"; } else if (form.espacio.value.length == 0) { alert("Debe ingresar el espacio de disco asignado."); form.espacio.focus(); continua = "0"; } else if (parseInt(form.espacio.value) > maximo) { alert("El máximo valor de espacio asignado no debe exceder de "+ maximo + "Mb"); form.espacio.focus(); continua = "0"; } else if (form.passwordNuevoUsu.value.length == 0) { alert("Debe ingresar la contraseñ a para el nuevo usuario."); form.passwordNuevoUsu.focus(); continua = "0"; } } else //Eliminar usuarios if (opcion == 2) { //Se verifica si se ha seleccionado algun elemento. masDeUno = fVerificaElementoSel(form); //Se verifica la cantidad de elementos a elimimar para determinar //el tipo de mensaje. if (masDeUno == 1) msg = "Al realizar esta acción se eliminará todo lo relacionado al usuario.\nEsta seguro que desea eliminarlo?"; else if (masDeUno > 1) msg = "Al realizar esta acción se eliminará todo lo relacionado a lo usuarios.\nEsta seguro que desea eliminarlos?"; else msg = "Debe seleccionar algún usuario."; if (masDeUno > 0) { if (!confirm(msg)) continua = "0"; } else { alert(msg); continua = "0"; } } else //Edicion de datos if (opcion == 3) { if (form.codigoEdita.value.length == 0) { alert ("Debe ingresar el código del usuario."); form.codigoEdita.focus(); continua = "0"; } else if (form.nombresEdita.value.length == 0) { alert ("Debe ingresar el nombre del usuario."); form.nombresEdita.focus(); continua = "0"; } else if (form.paternoEdita.value.length == 0) { alert ("Debe ingresar el apellido paterno del usuario."); form.paternoEdita.focus(); continua = "0"; } else if (form.espacioDiscoEdita.value.length == 0) { alert("Debe ingresar el espacio de disco asignado."); form.espacioDiscoEdita.focus(); continua = "0"; } else if (parseInt(form.espacioDiscoEdita.value) > maximo) { alert("El maximo valor de espacio asignado no debe exceder de "+ maximo + "Mb"); form.espacioDiscoEdita.focus(); continua = "0"; } else { if (form.nuevoPass.value == "1") { msg = "Esta seguro que desea cambiar la contraseña del usuario?"; if (!confirm(msg)) { continua = 0; form.nuevoPass.focus(); } } } } else //Envio de mensaje if (opcion == 4) { //Se verifica que se haya ingresado algun email o que se envie a //todos if ((form.para.value.length == 0)&&(!form.todos.checked)) { alert("Debe ingresar por lo menos un email o seleccionar \"Enviar a todos\""); form.para.focus(); continua = 0; } else { if (form.asunto.value.length == 0) { alert("Falta ingresar el asunto del mensaje"); form.asunto.focus(); continua = 0; } else if (form.mensaje.value.length == 0) { alert("Falta ingresar el contenido del mensaje"); form.mensaje.focus(); continua = 0; } } } if (continua == "1") { form.accion.value=opcion; form.action = arch; form.submit(); } } function fIngresaDirectorio(form,codigoRecurso,directorio,arch,vezOrd) { form.directorioActual.value = directorio; form.codigoPadre.value=codigoRecurso; form.vezOrd.value=vezOrd; form.action = arch; form.submit(); } function fIngresaDirectorioBuscado(form,codigoRecurso,directorio,arch) { form.directorioActual.value =""; form.directorio.value=directorio; form.codigoPadre.value=codigoRecurso; form.action = arch; form.submit(); } function fIngresaDirectorioComp(form,codigoRecurso,directorio,arch,fechafincomp,tipoPermiso,codigoCompartido,nExpCar,opcion,fechaComparte,vezOrd) { form.directorioActual.value = directorio; form.codigoPadre.value=codigoRecurso; form.fechaFinCompartido.value=fechafincomp; form.fechaComparte.value=fechaComparte; form.tipoPermiso.value=tipoPermiso; if (opcion==1) form.codigoPropietario.value=codigoCompartido; else form.codigoCompartidoA.value=codigoCompartido; form.nExpCar.value=nExpCar; form.vezOrd.value=vezOrd; form.action = arch; form.submit(); } function fSubmitSubir(form,coddirant,dirant,arch,vezOrd) { form.codigoPadre.value = coddirant; form.directorio.value=dirant; form.vezOrd.value=vezOrd; form.action = arch; form.submit(); } function fSubmitSubirComp(form,coddirant,dirant,arch,nExpCar,vezOrd) { form.codigoPadre.value = coddirant; form.directorio.value=dirant; form.nExpCar.value=nExpCar; form.vezOrd.value=vezOrd; form.action = arch; form.submit(); } function fMuestraDirectorio(form,arch,opt) { form.tipoDirectorio.value = opt; form.action = arch; form.submit(); } function fSubmitMovCop(form,arch) { //Se verifica si se ha seleccionado algun elemento. masDeUno = fVerificaElementoSel(form);; if (masDeUno == 0) alert("Debe de seleccionar al menos un elemento."); else { form.action = arch; form.iniciaMovCop.value="1"; form.submit(); } } function fBajar(form,arch,accion,elemento) { form.accion.value=accion; form.recurso.value=elemento; form.action = arch; form.submit(); } function fNavegarMov(form,carpeta,codigoPadre,arch,op,directorioDestino) { form.carpetaMueve.value = carpeta; form.codigoPadreMov.value=codigoPadre; form.directorioDestino.value=directorioDestino; form.opcionSubBaj.value=op; form.action = arch; form.submit(); } function fNavegarCop(form,carpeta,codigoPadre,arch,op,directorioDestino) { form.carpetaCopy.value = carpeta; form.codigoPadreCop.value=codigoPadre; form.directorioDestino.value=directorioDestino; form.opcionSubBaj.value=op; form.action = arch; form.submit(); } function fSubmitAumentar1(form,arch,num) { form.numUsuSis.value = num; form.action = arch; form.submit(); } function fSubmitAumentar2(form,arch,num) { form.numUsuExt.value = num; form.action = arch; form.submit(); } function fAbreVentana(form,arch,numSel,contacto) { var sesion = form.sesion.value; var url = arch + "?sesion=" + sesion + "&num=" + numSel + "&tC=" + contacto; var hWnd = window.open(url,"BuscaDatos","toolbar=no,location=no,status=no,menubar=no,width=500,height=400,resizable=no,scrollbars=yes"); } function fAbreVentanaUsuarios(form,arch) { var sesion = form.sesion.value; var url = arch + "?sesion=" + sesion; var hWnd = window.open(url,"ListaUsuarios","toolbar=no,location=no,status=no,menubar=no,width=500,height=600,resizable=no,scrollbars=yes"); } function fSubmitBuscar(form,arch) { if ( (form.apePaterno.value.length == 0) && (form.apeMaterno.value.length == 0) && (form.nombres.value.length == 0) && (form.email.value.length == 0) ) { alert("Debe ingresar por lo menos uno de los criterios de búsqueda"); form.apePaterno.focus(); } else { form.action = arch; form.buscar.value = "1"; form.submit(); } } function fSubmitValidarCampos(form,arch) { if ( (form.apePaterno.value.length == 0) && (form.apeMaterno.value.length == 0) && (form.nombres.value.length == 0) && (form.email.value.length == 0) ) { alert("Debe ingresar por lo menos uno de los criterios de búsqueda"); form.nombres.focus(); } else { form.action = arch; form.buscar.value = "1"; form.submit(); } } function fSubmitCerrar() { window.close(); } function fContinuarBusqueda(form,arch) { form.action = arch; form.buscar.value = "0"; form.submit(); } function fSelecciona(form,num,numResul) { //posicion donde se ubicaran los datos seleccionados luego de la busqueda var numSel = form.num.value; //Numero total de elementos de la pagina donde se colocaran los datos. var numElem = window.opener.document.frmGeneral.elements.length; if (numResul == 1) { var dato1 = form.codigoBuscado.value; var dato2 = form.resulBusca.value; } else { var dato1 = form.codigoBuscado[num].value; var dato2 = form.resulBusca[num].value; } //Numero de datos que se jalaran var numDatosBusca = 2; //Contadores var cont = 0; var numDatos = 0; var contDato1=0; var contDato2=0; //Se recorre todos los elementos de la pagina donde se jalaran los datos //hasta encontrar el lugar adecuado segun numSel. while ((cont 0) { //Se recorre todos los elementos de la pagina donde se jalaran los datos //hasta encontrar el lugar adecuado segun numSel y se jala el datos que en //ese momento se encuentra en el text para concatenarlo con lo demas. //Contacto del sistema if (tipoContacto == "1") { while ((cont 0) { //Se recorre todos los elementos de la pagina donde se jalaran los datos //hasta encontrar el lugar adecuado while ((cont < numElem)&&(encontrado == 0)) { if (window.opener.document.frmGeneral.elements[cont].name == "para") { datoBase = window.opener.document.frmGeneral.elements[cont].value; encontrado = 1; } cont++; } var e1 = datoBase; for (var i = 0; i < form.elements.length; i++) { var e = form.elements[i]; if (e.name == 'emailBuscado' && e.checked) { if (e1) e1 += "\n"; e1 += e.value; } } window.opener.document.frmGeneral.para.value = e1; window.close(); } else { alert("Debe seleccionar algúntacto."); form.emailBuscado.focus(); } } //Funcion que verifica que una cadena tenga un determinado caracter. function fVerificaCaracter(cadena,caracter) { var posCaracter = cadena.indexOf(caracter); if (posCaracter != -1) return true; else return false; } //Funcion que valida una direccion de correo electronica completa; es decir //valida que contenga un nombre de usuario adecuado, arroba, nombre de //dominio. function fValidaEmail(direccion) { posArroba=direccion.indexOf("@"); if (posArroba==-1)//era un solo email { return false; }else return true; } function fIgualarFechasSis(form) { var numSis = form.numUsuSis.value; //alert(numSis); //Verificamos que se haya seleccionado una fecha valida en la //primera fila. var dia = form.diaSis0.value; var mes = form.mesSis0.value; var ano = form.anoSis0.value; if ((dia == "") || (mes == "") || (ano == "")) { alert("Debe seleccionar una fecha válida."); if (dia == "") form.diaSis0.focus(); if (mes == "") form.mesSis0.focus(); if (ano == "") form.anoSis0.focus(); form.seleccionaTodoSis.checked = false; }else { var cont=1; var contSis = 0; var contSisDia = 0; var contSisMes = 0; var contSisAno = 0; numSis = numSis * 3; //por dia, mes y ano var elemTotal = form.elements.length; while ((cont < elemTotal) && (contSis