function obtiene_ruta(formulario) { ruta=String(window.location); ruta2=ruta.substring(0,(ruta.lastIndexOf('.nsf')+5)); ruta3=ruta2.concat(formulario); visform=formulario.substring(0,4) visform2=visform.substring(2) visform3=visform.substring(0,1) if (visform2=="VT") { ruta4=ruta3.concat('?openview'); // Formulario Mostrar Imágenes por Título } else { if(visform3=="V") { ruta4=ruta3.concat('?openview'); // Formulario Mostrar Imágenes por Título } else { ruta4=ruta3.concat('?openform'); // Formulario Mostrar Imágenes por Título } } window.document.forms[0].total.value=ruta4; } //obtiene_ruta(); function refrescar() { if (window.document.forms[0].Refrescar.value=="0") { window.document.forms[0].Refrescar.value="1"; _doClick('$Refresh', this, null) } } //refrescar function valida_existe(ArrayVal,ArrayTotal) { x=0; //indice de ArrayNuevo ArrayNuevo=new Array(); cont=0; for (i=0;i= "0") && (c <= "9")) } function isInteger (s) { var i; if (isEmpty(s)) return false; for (i = 0; i < s.length; i++) { var c = s.charAt(i); if (!isDigit(c)) return false; } return true; } function isNonnegativeInteger (s) { // The next line is a bit byzantine. What it means is: // a) s must be a signed integer, AND // b) one of the following must be true: // i) s is empty and we are supposed to return true for // empty strings // ii) this is a number >= 0 return (isSignedInteger(s) && (isEmpty(s) || (parseInt (s) >= 0) ) ); } function isSignedInteger (s) { if (isEmpty(s)) return false; else { var startPos = 0; // skip leading + or - if ( (s.charAt(0) == "-") || (s.charAt(0) == "+") ) startPos = 1; return (isInteger(s.substring(startPos, s.length))) } } function makeArray(n) { for (var i = 1; i <= n; i++) { this[i] = 0 } return this } var daysInMonth = makeArray(12); daysInMonth[1] = 31; daysInMonth[2] = 29; // must programmatically check this daysInMonth[3] = 31; daysInMonth[4] = 30; daysInMonth[5] = 31; daysInMonth[6] = 30; daysInMonth[7] = 31; daysInMonth[8] = 31; daysInMonth[9] = 30; daysInMonth[10] = 31; daysInMonth[11] = 30; daysInMonth[12] = 31; function isIntegerInRange (s, a, b) { if (isEmpty(s)) return false; if (!isInteger(s)) return false; var num = parseInt (s); return ((num >= a) && (num <= b)); } function isMonth (s) { if (isEmpty(s)) return false; // Format may yield "05 Wed" or "Wed 05" so look for substring of 2 chars. if (s.length > 2) { var space = s.indexOf(" "); if (space >2) s = s.slice( space + 1, s.length); else s = s.slice( 0, space ); } // now strip out leading 0 because parseInt() will not! s = stripLeadingCharsInBag (s, "0") return isIntegerInRange (s, 1, 12); } function isDay (s) { if (isEmpty(s)) return false; // Format may yield "05 Wed" or "Wed 05" so look for substring of 2 chars. if (s.length > 2) { var space = s.indexOf(" "); if (space >2) s = s.slice( space + 1, s.length); else s = s.slice( 0, space ); } // now strip out leading 0 because parseInt() will not! s = stripLeadingCharsInBag (s, "0") return isIntegerInRange (s, 1, 31); } function stripLeadingCharsInBag (s, bag) { var i; var returnString = ""; for (i = 0; i < s.length; i++) { var c = s.charAt(i); if (bag.indexOf(c) == -1) { returnString = s.substring( i, s.length); break; } } return returnString; } function daysInFebruary (year) { return ( ((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0) ) ) ? 29 : 28 ); } function isYear (s) { if (isEmpty(s)) return false; if (!isNonnegativeInteger(s)) return false; return ((s.length == 2) || (s.length == 4)); } // isDate (STRING year, STRING month, STRING day) function isDate (year, month, day) { if (! (isYear(year) && isMonth(month) && isDay(day))) return false; var intYear = parseInt(year); var intMonth = parseInt(month); var intDay = parseInt(day); // catch invalid days, except for February if (intDay > daysInMonth[intMonth]) return false; if ((intMonth == 2) && (intDay > daysInFebruary(intYear))) return false; return true; } function isWhitespace (s) { var i; var whitespace = " \t\n\r"; if (isEmpty(s)) return true; for (i = 0; i < s.length; i++) { var c = s.charAt(i); if (whitespace.indexOf(c) == -1) return false; } return true; } function stripCharsInBag (s, bag) { var i; var returnString = ""; for (i = 0; i < s.length; i++) { // Check that current character isn't whitespace. var c = s.charAt(i); if (bag.indexOf(c) == -1) returnString += c; } return returnString; } function stripWhitespace (s) { var whitespace = " \t\n\r"; return stripCharsInBag (s, whitespace) } function valida_numero(numero) { res=0; for (i=0;i= num_dec) { return parseFloat(num); } if (num[postindex] < 5) { numero = parseFloat(num.substring(0,num.lastIndexOf('.')+dec+1)); } else { var i = postindex; while ((i+1) < num.length && num[i] == 5) { i++; } numero = parseFloat(num); var potencia = num.substring(num.lastIndexOf('.'),i).length; var divisor = divisor = Math.pow(10,potencia); var incr = new Number(0); for (var j = i; j >= postindex; j--, divisor /= 10) { if (num[j] >= 5) { incr = (10 - num[j]) / divisor; numero += incr; num = ""+numero+""; } else { continue; } } numero = ""+numero+""; numero = numero.substr(0,num.lastIndexOf('.')+dec+1); } return numero; } var D var imgDir var fixedX = -1 var fixedY = -1 var startAt = 1 var showWeekNumber = 0 var showToday = 1 //Muestra el día actual //var showToday = 0 //No Muestra el día actual var gotoString = "Ir a mes Actual" var todayString = "Hoy es" var weekString = "Wk" var scrollLeftMessage = "Haga Click en el scroll para ir al mes anterior. Mantenga pulsado el botón del ratón para hacer scroll automáticamente." var scrollRightMessage = "Haga Click en el scroll para ir al mes siguiente. Mantenga pulsado el botón del ratón para hacer scroll automáticamente." var selectMonthMessage = "Haga Click para seleccionar un mes." var selectYearMessage = "Haga Click para seleccionar un periodo anual." var selectDateMessage = "Seleccionar [date] como fecha." var crossobj, crossMonthObj, crossYearObj, monthSelected, yearSelected, dateSelected, omonthSelected, oyearSelected, odateSelected, monthConstructed, yearConstructed, intervalID1, intervalID2, timeoutID1, timeoutID2, ctlToPlaceValue, ctlNow, dateFormat, nStartingYear var bPageLoaded=false var today=new Date() var dateNow=today.getDate() var monthNow=today.getMonth() var yearNow =today.getYear() var imgsrc=new Array("drop1.gif","drop2.gif","left1.gif","left2.gif","right1.gif","right2.gif") var img=new Array() var bShow=false function hideElement(elmID,overDiv ){ for( i = 0; i < D.tags(elmID).length; i++ ){ obj=D.tags(elmID)[i] if( !obj || !obj.offsetParent ){continue} objLeft=obj.offsetLeft; objTop=obj.offsetTop; objParent=obj.offsetParent; while(objParent.tagName.toUpperCase() != "BODY" ){ objLeft+=objParent.offsetLeft; objTop+=objParent.offsetTop; objParent=objParent.offsetParent;} objHeight=obj.offsetHeight; objWidth=obj.offsetWidth; if((overDiv.offsetLeft + overDiv.offsetWidth ) <= objLeft ); else if(( overDiv.offsetTop + overDiv.offsetHeight ) <= objTop ); else if( overDiv.offsetTop >= ( objTop + objHeight )); else if( overDiv.offsetLeft >= ( objLeft + objWidth )); else{obj.style.visibility = "hidden"}} } function showElement( elmID ){ for( i = 0; i < D.tags( elmID ).length; i++){ obj = D.tags( elmID )[i]; if( !obj || !obj.offsetParent ){continue} obj.style.visibility = ""} } function HolidayRec (d, m, y, desc){ this.d = d this.m = m this.y = y this.desc = desc } var HolidaysCounter = 0 var Holidays = new Array() function addHoliday (d, m, y, desc){Holidays[HolidaysCounter++] = new HolidayRec ( d, m, y, desc )} var monthName = new Array("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre") //var monthName = new Array("January","February","March","April","May","June","July","August","September","October","November","December") if (startAt==0){dayName = new Array("Dom","Lun","Mar","Mie","Jue","Vie","Sab") }else{dayName = new Array("Lun","Mar","Mie","Jue","Vie","Sab","Dom")} var styleAnchor="text-decoration:none;color:black;cursor:hand" var styleLightBorder="border-style:solid;border-width:1px;border-color:#a0a0a0;cursor:hand" function swapImage(srcImg, destImg){document.getElementById(srcImg).setAttribute("src",imgDir + destImg)} function initDXCal(){ imgDir=D.imagepath.innerText+"/" for (i=0;i
Close the Calendar
" if (showToday==1){t+=""} t+="" D.dsp4.innerHTML=t crossobj=D.calendar.style hideCalendar() crossMonthObj=D.selectMonth.style crossYearObj=D.selectYear.style monthConstructed=false; yearConstructed=false; if (showToday==1){ D.lblToday.innerHTML=todayString+" "+dayName[(today.getDay()-startAt==-1)?6:(today.getDay()-startAt)]+", " + dateNow +" "+monthName[monthNow].substring(0,3)+" "+yearNow+""} sHTML1="   " sHTML1+="   " sHTML1+=" " sHTML1+=" " D.caption.innerHTML=sHTML1 bPageLoaded=true } function hideCalendar(){crossobj.visibility="hidden" if(crossMonthObj!=null){crossMonthObj.visibility="hidden"} if(crossYearObj!=null){crossYearObj.visibility="hidden"} showElement( 'SELECT', D.calendar) } function constructDate(d,m,y){ sTmp = dateFormat sTmp = sTmp.replace("dd","") sTmp = sTmp.replace("d","") sTmp = sTmp.replace("",padZero(d)) sTmp = sTmp.replace("",d) sTmp = sTmp.replace("mmm","") sTmp = sTmp.replace("mm","") sTmp = sTmp.replace("m","") sTmp = sTmp.replace("",m+1) sTmp = sTmp.replace("",padZero(m+1)) sTmp = sTmp.replace("",monthName[m]) return sTmp.replace ("yyyy",y) } function padZero(num){return (num< 10)? '0' + num : num} function closeCalendar(){var sTmp;hideCalendar() ctlToPlaceValue.value =constructDate(dateSelected,monthSelected,yearSelected)} function StartDecMonth(){intervalID1=setInterval("decMonth()",80)} function StartIncMonth(){intervalID1=setInterval("incMonth()",80)} function incMonth(){monthSelected++;if(monthSelected>11){monthSelected=0;yearSelected++};constructCalendar()} function decMonth(){monthSelected--;if(monthSelected<0){monthSelected=11;yearSelected--}constructCalendar()} function constructMonth() { popDownYear() if (!monthConstructed) { sHTML="" for(i=0; i<12;i++){ sName=monthName[i] if (i==monthSelected){sName=""+sName+""} sHTML+=" " + sName + " "} D.selectMonth.innerHTML=""+sHTML+"
" monthConstructed=true }} function popUpMonth() { constructMonth() crossMonthObj.visibility="visible" crossMonthObj.left=parseInt(crossobj.left) + 50 crossMonthObj.top=parseInt(crossobj.top) + 26 hideElement( 'SELECT', D.selectMonth) } function popDownMonth(){crossMonthObj.visibility="hidden"} function incYear() { for(i=0; i<7; i++){ newYear=(i+nStartingYear)+1 if(newYear==yearSelected){txtYear=" "+newYear+" " } else{txtYear=" "+newYear+" " } document.getElementById("y"+i).innerHTML=txtYear} nStartingYear ++ bShow=true } function decYear(){ for(i=0; i<7; i++){ newYear=(i+nStartingYear)-1 if (newYear==yearSelected){txtYear=" "+newYear+" " } else{txtYear=" "+newYear+" "} document.getElementById("y"+i).innerHTML = txtYear} nStartingYear -- bShow=true } function selectYear(nYear) { yearSelected=parseInt(nYear+nStartingYear); yearConstructed=false; constructCalendar(); popDownYear(); } function constructYear() { popDownMonth() sHTML="" if (!yearConstructed) { sHTML="-" j =0 nStartingYear=yearSelected-3 for(i=(yearSelected-3); i<=(yearSelected+3); i++){sName=i if(i==yearSelected){sName=""+sName+""} sHTML += " " + sName + " " j ++} sHTML+= "+" D.selectYear.innerHTML= ""+sHTML+"
" yearConstructed=true }} function popDownYear() { clearInterval(intervalID1) clearTimeout(timeoutID1) clearInterval(intervalID2) clearTimeout(timeoutID2) crossYearObj.visibility= "hidden" } function popUpYear() { var leftOffset constructYear() crossYearObj.visibility="visible" leftOffset=parseInt(crossobj.left) + D.spanYear.offsetLeft leftOffset+=6 crossYearObj.left=leftOffset crossYearObj.top=parseInt(crossobj.top)+26 } function WeekNbr(n) { year = n.getFullYear(); month = n.getMonth() + 1; if (startAt == 0) {day = n.getDate() + 1;} else {day = n.getDate();} a = Math.floor((14-month) / 12); y = year + 4800 - a; m = month + 12 * a - 3; b = Math.floor(y/4) - Math.floor(y/100) + Math.floor(y/400); J = day + Math.floor((153 * m + 2) / 5) + 365 * y + b - 32045; d4 = (((J + 31741 - (J % 7)) % 146097) % 36524) % 1461; L = Math.floor(d4 / 1460); d1 = ((d4 - L) % 365) + L; week = Math.floor(d1/7) + 1; return week; } function constructCalendar () { var aNumDays = Array (31,0,31,30,31,30,31,31,30,31,30,31) var dateMessage var startDate=new Date(yearSelected,monthSelected,1) var endDate if (monthSelected==1){ endDate=new Date (yearSelected,monthSelected+1,1); endDate=new Date (endDate- (24*60*60*1000)); numDaysInMonth = endDate.getDate() }else{numDaysInMonth = aNumDays[monthSelected];} datePointer=0 dayPointer=startDate.getDay() - startAt if(dayPointer<0){dayPointer=6} sHTML="" if (showWeekNumber==1){ sHTML += ""} for(i=0; i<7; i++){sHTML+=""} sHTML +="" if(showWeekNumber==1){sHTML+=""} for(var i=1;i<=dayPointer;i++){sHTML+=""} for(datePointer=1;datePointer<=numDaysInMonth;datePointer++){dayPointer++;sHTML += "" if((showWeekNumber==1)&&(datePointer"+(WeekNbr(new Date(yearSelected,monthSelected,datePointer+1)))+" "}}} D.content.innerHTML=sHTML D.spanMonth.innerHTML=" "+monthName[monthSelected] + " " D.spanYear.innerHTML=" "+yearSelected+" " } function dxcal(o,n,d){popUpCalendar(o,n,d)} function popUpCalendar(ctl,ctl2,format) { var DSCxgutter=240 var DSCygutter=160 var leftpos=0;var toppos=0 if (bPageLoaded){ if(crossobj.visibility=="hidden"){ctlToPlaceValue=ctl2;dateFormat=format;formatChar=" ";aFormat=dateFormat.split(formatChar) if(aFormat.length<3){formatChar = "/";aFormat=dateFormat.split(formatChar) if(aFormat.length<3){formatChar = ".";aFormat=dateFormat.split(formatChar) if(aFormat.length<3){formatChar = "-";aFormat=dateFormat.split(formatChar) if(aFormat.length<3){formatChar=""}}}} tokensChanged=0 if (formatChar!=""){aData=ctl2.value.split(formatChar) for(i=0;i<3;i++){ if ((aFormat[i]=="d") || (aFormat[i]=="dd")) {dateSelected = parseInt(aData[i], 10);tokensChanged++} else if((aFormat[i]=="m") || (aFormat[i]=="mm")) {monthSelected=parseInt(aData[i], 10) - 1;tokensChanged ++} else if(aFormat[i]=="yyyy") {yearSelected = parseInt(aData[i], 10);tokensChanged ++} else if(aFormat[i]=="mmm") {for(j=0; j<12;j++){if (aData[i]==monthName[j]){monthSelected=j;tokensChanged ++}}}}} if((tokensChanged!=3)||isNaN(dateSelected)||isNaN(monthSelected)||isNaN(yearSelected)){dateSelected=dateNow;monthSelected=monthNow;yearSelected = yearNow} odateSelected=dateSelected omonthSelected=monthSelected oyearSelected=yearSelected aTag=ctl do{ aTag = aTag.offsetParent leftpos+=aTag.offsetLeft toppos+=aTag.offsetTop }while(aTag.tagName!="BODY") var xp=ctl.offsetLeft+leftpos var yp=ctl.offsetTop+toppos+ctl.offsetHeight+2 if((xp+DSCxgutter)>document.body.clientWidth){xp-=((xp+DSCxgutter)-document.body.clientWidth)} if((yp+DSCygutter)>document.body.clientHeight){yp-=((yp+DSCygutter)-document.body.clientHeight)} crossobj.left =fixedX==-1 ? xp :fixedX;crossobj.top =fixedY==-1 ? yp :fixedY constructCalendar (1,monthSelected,yearSelected); crossobj.visibility="visible" hideElement( 'SELECT', D.calendar) bShow = true} else{hideCalendar() if (ctlNow!=ctl) {popUpCalendar(ctl, ctl2, format)}} ctlNow = ctl} }
" + weekString + ""+ dayName[i]+"
"+WeekNbr(startDate)+"  ";sStyle=styleAnchor if((datePointer==odateSelected)&&(monthSelected==omonthSelected) && (yearSelected==oyearSelected)){sStyle+=styleLightBorder} sHint="" for(k=0;k " + datePointer + " "} else if(dayPointer % 7 == (startAt * -1)+1) {sHTML+=" "+datePointer+ " "} else{sHTML+=" "+datePointer+" " } sHTML+= "" if((dayPointer+startAt) % 7 == startAt){sHTML += "