function addLoadEvent(func) { var oldonload = window.onload; if (typeof window.onload != 'function') { window.onload = func; } else { window.onload = function() { if (oldonload) { oldonload(); } func(); }; } } addLoadEvent(initFormLimits); addLoadEvent(function() { /* more code to run on page load */ }); var weekday=new Array(7); weekday[0] = "Domingo"; weekday[1] = "Lunes"; weekday[2] = "Martes"; weekday[3] = "Miercoles"; weekday[4] = "Jueves"; weekday[5] = "Viernes"; weekday[6] = "Sábado"; /* onKeyPress validation function */ function validVal(event, keyRE) { /* var keynum=new String(); var keychar; var numcheck; var meta; if(window.event) { keynum = window.event.keyCode; meta=window.event.ctrlKey || window.event.metaKey; } else if(event.which) { keynum = event.which; alert (event.ctrlKey); alert (event.metaKey); meta=(event.ctrlKey || event.metaKey); } keychar = String.fromCharCode(keynum); if (keynum.toString().search	(/^(8|9|13|45|46|35|36|37|39)$/) != (-1) ) return true; else return (keychar.search(keyRE)!=(-1)); */ try { if ( String.fromCharCode(((navigator.appVersion.indexOf('MSIE') != (-1)) ? window.event.keyCode : event.which)).search(keyRE) != (-1) || ( navigator.appVersion.indexOf('MSIE') == (-1) && ( event.keyCode.toString().search(/^(8|9|13|45|46|35|36|37|39)$/) != (-1) || event.ctrlKey || event.metaKey ) ) ) { return true; } else { return false; } } catch(e) { alert (e.description); return true; } } function stringToRegExp(pattern, flags) { return new RegExp( pattern.replace(/[\[\]\\{}()+*?.$^|]/g, function(m) { return '\\' + m; }), flags); } function initFormLimits() { for (j=0; j<document.forms.length; j++) { var theForm = document.forms[j]; for(i=0; i<theForm.elements.length; i++){ if(theForm.elements[i].type == "text" || theForm.elements[i].type == "textarea" ){ switch (theForm.elements[i].getAttribute('tipo')) { case "3": theForm.elements[i].style.textAlign = 'right'; theForm.elements[i].style.paddingRight = '2px'; theForm.elements[i].onkeypress = function(event) { return validVal(event, /[0-9,.\n\r]/); }; break; case "4": theForm.elements[i].style.textAlign = 'right'; theForm.elements[i].style.paddingRight = '2px'; theForm.elements[i].onkeypress = function(event) { return validVal(event, /[0-9\n\r]/); }; break; } } } } } function getFechaCalendario(sform, scampo, modo,ponHora) { try { var val; if ( (document.forms[sform]) && (document.forms[sform].elements[scampo])) { val= document.forms[sform].elements[scampo].value; AbrePopUp('/es/comun/calendario.asp?form=' + sform + '&campo=' + scampo + '&h=' + ponHora + '&fecha=' + val + '&m=' + modo,'calendario',300,500); } } catch (e) { alert (e.description); } } function maxLongitudTA(obj,max) { var zonaCars=document.getElementById('div_ncars_' + obj.id); if (obj.value.length>max) { obj.value=obj.value.substring(0, max); } if (zonaCars) { zonaCars.innerHTML=obj.value.length; } } function focusPrimerCampo(nombreForm) { try { for (i=0 ; i<document.forms[nombreForm].length;i++) if (document.forms[nombreForm].elements[i].type=='text') { if (!document.forms[nombreForm].elements[i].readonly) { document.forms[nombreForm].elements[i].focus(); break; } } } catch (e) { } finally { } } function RecibeValor(form, casilla, valor) { if (form && document.forms[form]) { var b=document.forms[form].elements[casilla]; if (b) b.value=valor; else try { document.getElementById(casilla).innerHTML=unescape(valor); } catch (e) { alert ('no encontrado'); } } else { var a=document.getElementById(casilla); if (a) { try { if (document.getElementById(casilla).type == 'text' || document.getElementById(casilla).type == 'select-one' || document.getElementById(casilla).type == 'hidden') document.getElementById(casilla).value=unescape(valor); else document.getElementById(casilla).innerHTML=unescape(valor); } catch (e) { alert (e.description); } } } return 0; } function validaTfno () { var key=window.event.keyCode; if ((key < 48 || key > 57) && (key!=32) && (key!=43) && (key!=45) && (key!=40) && (key!=41)){ window.event.keyCode=0; } } function isNumerico(num) { try { var vtmp=new String(num); vtmp=vtmp.replace(",","."); return (!isNaN(vtmp)); } catch (e) { return (false); } } function guardaFormSTD(nombreForm) { var res; res=checkForm(nombreForm); if (res=='') { var theForm = document.forms[nombreForm]; var nombre; if (theForm) for(i=0; i<theForm.elements.length; i++){ if(theForm.elements[i].type == "select-multiple"){ nombre=theForm.elements[i].id; if (nombre.substr(nombre.length-7,7)!='|Origen') seleccionaSelectId(theForm.elements[i].id,true); } } document.forms[nombreForm].submit(); } else alert (res); } function guardaFormSTD2(nombreForm) { var res; res=checkForm(nombreForm); if (res=='') { document.forms[nombreForm].submit(); } else alert (res); } function checkForm(nombreForm) { try { var i; var form; var elemento; var camposrequeridos; var vtmp; var sDesCampo; var loginId; var loginInfo; var text; var split ; var k; var nMal; form=document.getElementById(nombreForm); camposrequeridos=''; if (!form) camposrequeridos='Form NO Encontrado, verificar ID'; if (form) { for (i=0 ; i<form.length ; i++) { if (form.elements[i].getAttribute('descripcion')) sDesCampo=form.elements[i].getAttribute('descripcion'); else sDesCampo=form.elements[i].name; if ( (form.elements[i].getAttribute('tipo')=="104") ) { text=form.elements[i].value.replace(/\s+$/g, ""); split= text.split("\n"); nMal=0; for (k=0;k<split.length;k++) { if (! isNumerico(split[k])) { nMal++; break; } } if (nMal>0) { camposrequeridos=camposrequeridos + 'No ha introducido un campo válido <' + sDesCampo + '>' + unescape("%0A"); form.elements[i].style.backgroundColor='#FCD869'; } else { form.elements[i].style.backgroundColor=''; } } if ( (form.elements[i].getAttribute('tipo')=="3") || (form.elements[i].getAttribute('tipo')=="4") ) { if (! isNumerico(form.elements[i].value)) { camposrequeridos = camposrequeridos + 'No ha introducido un campo válido <' + sDesCampo + '>' + unescape("%0A"); form.elements[i].style.backgroundColor='#FCD869'; } else { form.elements[i].style.backgroundColor=''; } } if ( form.elements[i].getAttribute('tipo')=="2") { if (form.elements[i].value && !isDate(form.elements[i].value)) { camposrequeridos = camposrequeridos + 'No ha introducido un campo válido <' + sDesCampo + '>' + unescape("%0A"); form.elements[i].style.backgroundColor='#FCD869'; } else { form.elements[i].style.backgroundColor=''; } } if (form.elements[i].getAttribute('obligatorio')=='S' && form.elements[i].value=='' || (form.elements[i].type=='checkbox' && (form.elements[i].getAttribute('obligatorio')=='S' && !form.elements[i].checked))) { camposrequeridos=camposrequeridos + 'Se Requiere <' + sDesCampo + '>' + unescape("%0A"); form.elements[i].style.backgroundColor='#F08080'; } else { if (form.elements[i].style.backgroundColor=='#F08080') form.elements[i].style.backgroundColor=''; } if (form.elements[i].getAttribute('maxlength')) { if (form.elements[i].value.length>form.elements[i].getAttribute('maxlength')) { camposrequeridos=camposrequeridos + 'Ha superado la longitud máxima (' + form.elements[i].getAttribute('maxlength') +') / <' + sDesCampo + '>' + unescape("%0A"); } } } } return (camposrequeridos); }catch (e) { alert (e.description); return (-1); } } function checkFormA(nombreForm, aCampos) { try { var i; var form; var elemento; var camposrequeridos; var vtmp; form=document.getElementById(nombreForm); camposrequeridos=''; if (form) { for (i=0 ; i<form.length ; i++) { if ( (form.elements[i].tipo=="3" || form.elements[i].tipo=="4") ) { if (! isNumerico(form.elements[i].value)) { camposrequeridos=camposrequeridos + 'No ha introducido un <' + form.elements[i].name + '> valido' + unescape("%0A"); form.elements[i].style.backgroundColor='Orange'; } else { form.elements[i].style.backgroundColor=''; } } if ( form.elements[i].tipo=="2") { if ( ! isDate(form.elements[i].value)) { camposrequeridos=camposrequeridos + 'No ha introducido un <' + form.elements[i].name + '> valido' + unescape("%0A"); form.elements[i].style.backgroundColor='Orange'; } else { form.elements[i].style.backgroundColor=''; } } } for (i=0 ; i<aCampos.length ; i++) { if (form.item(aCampos[i])) { if (form.item(aCampos[i]).value=='') { camposrequeridos=camposrequeridos + 'Se Requiere <' + form.item(aCampos[i]).name + '>' + unescape("%0A"); form.item(aCampos[i]).style.backgroundColor='LightCoral'; } else { if (form.item(aCampos[i]).style.backgroundColor=='LightCoral') form.item(aCampos[i]).style.backgroundColor=''; } } } } return (camposrequeridos); }catch (e) { alert (e.description); return (-1); } } function moveBetweenSelects(from,to) { var i; var max; i=0; max=from.length; for(cont=0; cont< max; cont++) { if(from.options[i].selected) { j=0; alreadyInList = false; while((j < to.length) && (to.options[j].value)) { if(to.options[j].value == from.options[i].value) { alreadyInList=true; } j++; } if(!alreadyInList) { var text = from.options[i].text; var value = from.options[i].value; var option = new Option(text, value, false, false); option.selected = false; from.options[i] = null; to.options[to.options.length]=option; } else i++; } else i++; } } function moveSeleccionadosID(from,to) { var objFrom; var objTo; objFrom=document.getElementById(from); objTo=document.getElementById(to); moveBetweenSelects(objFrom,objTo); } function moveTodosID(from, to) { var objFrom; var objTo; objFrom=document.getElementById(from); objTo=document.getElementById(to); for(i=0; i < objFrom.length; i++) objFrom.options[i].selected=true; moveBetweenSelects(objFrom,objTo); } function moveSeleccionados(from,to) { moveBetweenSelects(from,to); } function moveTodos(from, to) { for(i=0; i < from.length; i++) from.options[i].selected=true; moveBetweenSelects(from,to); } function confirmaBorrar (tabla,filtro,pregunta) {	var res=confirm(pregunta); if (res) { AbrePopUp ('/comun/borraRegistro.asp?tabla=' + tabla + '&filtro=' + filtro,'borrar',400,300,0); } } function isCamposRequeridos(nomcamposrequeridos,descamposrequeridos,nomcamposnumericos,descamposnumericos) {	camposrequeridos=''; camposnumericos=''; for (i=0 ; i<nomcamposnumericos.length ; i++) { var tmp=document.all(nomcamposnumericos[i]); if (tmp) { if ( (! (tmp.value>=0)) && (! (tmp.value<0)) ) { camposnumericos=camposnumericos + 'No ha introducido un campo válido <' + descamposnumericos[i] + '>' + unescape("%0A"); } } }	for (i=0 ; i<nomcamposrequeridos.length ; i++) { var tmp=document.all(nomcamposrequeridos[i]); if (tmp) { if (!tmp.value) { camposrequeridos=camposrequeridos + 'Se Requiere <' + descamposrequeridos[i] + '>' + unescape("%0A"); } } } if (! camposrequeridos && !camposnumericos) { return true; } else { alert ('Errores encontrados:' + unescape("%0A") + unescape("%0A") + camposrequeridos + unescape("%0A") + unescape("%0A") + camposnumericos); return false; } } function fnsFechaCorta() { var d, s; d = new Date(); s= d.getDate() + "/"; s += (d.getMonth() + 1) + "/"; s += d.getYear(); return(s); } function num2Float(num) { var vtmp=new String(num); vtmp=vtmp.replace(",","."); if (!vtmp) vtmp = 0; vtmp=parseFloat(vtmp); return vtmp; } function getDateJSIngles(strDate) { var a=new Date(strDate); if (isNaN(a)) return false; strDate=new String(strDate); var tmpS=strDate.split(" "); strDate=new String(tmpS[0]); var dateParts = strDate.split("/"); if (dateParts.length<3) return false; if (isNaN(dateParts[0]) || isNaN(dateParts[1]) || isNaN(dateParts[2])) return false; var compDate = eval(dateParts[0]) + "/" + eval(dateParts[1]) + "/" + eval(dateParts[2]); var d = new Date(eval(dateParts[2]),eval(dateParts[1])-1,dateParts[0]); var monthDay = (d.getDate()) + "/" +eval(d.getMonth()+1) + "/"; var valDate2 = monthDay + d.getYear(); var valDate4 = monthDay + d.getFullYear(); d.setYear(d.getFullYear()); return d; } function DaysDelta(_v1,_v2) { var _delta = 0; var _a1 = _v1; var _a2 = _v2; /* if (_v1.getTime() < _v2.getTime()) { _a1 = _v2; _a2 = _v1; } */ _delta = _a1.getTime() - _a2.getTime(); _delta /= (1000 * 60 * 60 * 24); return _delta; } function fnsGetTxtMes (mes) { try { aMeses=''; aMeses=[]; aMeses=['','Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre']; return (aMeses[mes]); } catch (e) { return (''); } } function fechaInglesa(sfecha){ dia=datePart(sfecha,0); mes=datePart(sfecha,1); anio=datePart(sfecha,2); var d=new Date(mes + '/' + dia + '/' + anio); return (d); } function datePart(sFecha,queParte){ try { strD1=new String(sFecha); var dateParts1 = strD1.split("/"); return (dateParts1[queParte]); } catch (e) { return (-2); } } function dateDiff (d1, d2){ try { strD1=new String(d1); strD2=new String(d2); var dateParts1 = strD1.split("/"); var dateParts2 = strD2.split("/"); var fecha1 = new Date(dateParts1[1] + "/" + dateParts1[0] + "/" + dateParts1[2]); var fecha2 = new Date(dateParts2[1] + "/" + dateParts2[0] + "/" + dateParts2[2]); return ((fecha2-fecha1)/ (1000 * 60 * 60 * 24)); } catch (e) { return (-2); } } function getFechaCampo(strDate) { if (strDate=='') return ''; var a=new Date(strDate); strDate=new String(strDate); var tmpS=strDate.split(" "); strDate=new String(tmpS[0]); if (strDate.search("-")>=0) { var dateParts = strDate.split("-"); if (dateParts.length<3) return ''; if (isNaN(dateParts[0]) || isNaN(dateParts[1]) || isNaN(dateParts[2])) return ''; var compDate = eval(dateParts[0]) + "/" + eval(dateParts[1]) + "/" + eval(dateParts[2]); var d = new Date(eval(dateParts[0]),eval(dateParts[1])-1,dateParts[2]); if (d.getFullYear()>2100 || d.getFullYear()<1950) return ''; if ( ( (d.getYear() == dateParts[0]) || (d.getFullYear()== dateParts[0]) ) && ( eval(d.getMonth()) == eval(dateParts[1])-1) ) return d; else return ''; } else { if (strDate.length == 8 && isNumerico(strDate)) { var dateParts=new Array(); dateParts[0]=strDate.substr(0,4); dateParts[1]=strDate.substr(4,2); dateParts[2]=strDate.substr(6,2); var compDate = eval(dateParts[0]) + "/" + eval(dateParts[1]) + "/" + eval(dateParts[2]); var d = new Date(eval(dateParts[0]),eval(dateParts[1])-1,dateParts[2]); if (d.getFullYear()>2100 || d.getFullYear()<1950) return ''; if ( ( (d.getYear() == dateParts[0]) || (d.getFullYear()== dateParts[0]) ) && ( eval(d.getMonth()) == eval(dateParts[1])-1) ) return d; else return ''; } else { var dateParts = strDate.split("/"); if (dateParts.length<3) return ''; if (isNaN(dateParts[0]) || isNaN(dateParts[1]) || isNaN(dateParts[2])) return ''; var compDate = eval(dateParts[0]) + "/" + eval(dateParts[1]) + "/" + eval(dateParts[2]); var d = new Date(eval(dateParts[2]),eval(dateParts[1])-1,dateParts[0]); var monthDay = (d.getDate()) + "/" +eval(d.getMonth()+1) + "/"; if (d.getFullYear()>2100 || d.getFullYear()<1950) return ''; var valDate2 = monthDay + d.getYear(); var valDate4 = monthDay + d.getFullYear(); if (compDate == valDate2 || compDate == valDate4 ) return d; else return ''; } } } function isDate(fEntrada) { strDate=getFechaCampo(fEntrada); if (strDate!='') return true; else return false; } function seleccionaSelectId(idObjSelect,trueFalse) { var i; var objSelect=document.getElementById(idObjSelect); if (objSelect) for (i=0 ; i<objSelect.length;i++) objSelect.options[i].selected=trueFalse; } function seleccionaSelect(objSelect,trueFalse) { var i; for (i=0 ; i<objSelect.length;i++) objSelect.elements[i].selected=trueFalse; } function fnsQuitaComas(sCad) { return sCad.replace(/,,/g, ",");} function bloqueaSelect (objSeleccion, soloValor) { if (! (objSeleccion.value==soloValor)) { alert('Valor NO Valido'); objSeleccion.value=soloValor; } } function deselectTodosChk(sForm, chkRec) { try { var i, len, obj; len = document.forms[sForm].elements.length; for (i=0; i < len; i++) { obj = document.forms[sForm].elements[i]; if ( obj.name == chkRec && obj.type == "checkbox" ) obj.checked = false; } } catch (e) { alert (e.description); } } function cambiaTodosChk(sForm, chkSend, chkRec) { try { var i, len, obj; len = document.forms[sForm].elements.length; if (document.getElementById(chkSend).checked == true) for (i=0; i < len; i++) { obj = document.forms[sForm].elements[i]; if ( obj.name == chkRec && obj.type == "checkbox" ) obj.checked = true; } else for (i=0; i < len; i++) { obj = document.forms[sForm].elements[i]; if ( obj.name == chkRec && obj.type == "checkbox" ) obj.checked = false; } } catch (e) { alert (e.description); } } function inputOn(inputID, infoID) { try { var input = document.getElementById(inputID); var info = document.getElementById(infoID); if (info!=null) info.style.display = 'none'; if (input!=null) { input.style.display = 'inline'; input.focus(); } } catch (e) { alert (e.description); } } function inputOff(inputID, infoID) { try { var input = document.getElementById(inputID); var info = document.getElementById(infoID); if (input!=null) { if (input.value.length == 0) { input.style.display = 'none'; if (info!=null) info.style.display = 'inline'; } } } catch (e) { alert (e.description); } } function duplicaFecha(c1,c2) { var campof1=document.getElementById(c1); var campof2=document.getElementById(c2); if (campof1 && campof2) { var mes1=document.getElementById(c1 + '_mes'); var anio1=document.getElementById(c1 + '_anio'); var dia1=document.getElementById(c1 + '_dia'); var diasem1=document.getElementById(c1 + '_infodia'); var mes2=document.getElementById(c2 + '_mes'); var anio2=document.getElementById(c2 + '_anio'); var dia2=document.getElementById(c2 + '_dia'); var diasem2=document.getElementById(c2 + '_infodia'); if (mes1 && anio1 && dia1 && mes2 && anio2 && dia2) { mes2.value=mes1.value; dia2.value=dia1.value; anio2.value=anio1.value; /*if (hora1 && hora2) { hora2.value=hora1.value; min2.value=min1.value; }*/ diasem2.innerHTML=diasem1.innerHTML; campof2.value=campof1.value; } else alert('no se duplica fecha' + mes1); } } function anulaCampoFecha(campo, val) { try { if (val) { document.getElementById(campo).value = ''; showZona('container_' + campo, 'none'); } else { showZona('container_' + campo, ''); } } catch (e) { } } function priv_writefecha(cf) { var mes=document.getElementById(cf + '_mes'); var anio=document.getElementById(cf + '_anio'); var dia=document.getElementById(cf + '_dia'); var hora=document.getElementById(cf + '_hora'); var min=document.getElementById(cf + '_min'); var diasem=document.getElementById(cf + '_infodia'); var campof=document.getElementById(cf); var valHora; var d=new Date(anio.value,mes.value-1,dia.value); if (hora && min) valHora=' ' + hora.value + ':' + min.value; else valHora=''; var sMes=new String(mes.selectedIndex+1); var sDia=new String(dia.value); sMes='0' + sMes; sMes=sMes.substring(sMes.length-2); sDia='0' + sDia; sDia=sDia.substring(sDia.length-2);	campof.value=anio.value + sMes + sDia + valHora; if (anio.value && mes.value && dia.value) diasem.innerHTML=weekday[d.getDay()]; if (campof.onchange) setTimeout(campof.onchange,0); } function saveStatusAJAX(m, valor, ad1, ad2) {	try { var httpGetDatos = getHTTPObject(); if (httpGetDatos.readyState == 4 || httpGetDatos.readyState == 0) { httpGetDatos.open("GET", '/es/comun/_remote.asp?fx=RAJAX&m=' + m + '&v=' + valor + '&ad1=' + ad1 + '&ad2=' + ad2 + '&rand=' + Math.floor(Math.random() * 1000000), true); httpGetDatos.onreadystatechange = function() { var results; try { if (httpGetDatos.readyState == 4) { results = httpGetDatos.responseText; runResultadoAjax('prueba', results); } } catch (e) { alert(e.description); } }; httpGetDatos.send(null); } } catch (e) { alert('err:' + e.description); } } 