1 /* 2 js_main 3 js_main.js 4 By Newtenberg Publicaciones Digitales Limitada. 5 */ 6 var _ie=document.all ? 1 : 0; 7 var _ns4=document.layers ? 1 : 0; 8 var _dom=document.getElementById ? 1 : 0; 9 10 function getElement(n, doc) { 11 var p,i,obj; 12 if(!doc) doc=document; 13 if(_dom) obj=doc.getElementById(n); 14 if(!obj) { 15 if(_ie) obj = doc.all[n] 16 if(!obj) for(i=0;i<doc.forms.length;i++) obj=doc.forms[i][n]; 17 if(!obj && doc.layers) for(i=0;i<doc.layers.length;i++) obj=getElement(n,doc.layers[i].document); 18 } 19 return obj; 20 } 21 22 function getValue(obj) { 23 if(obj.length) { 24 var resp=''; 25 for(var i=0;i < obj.length;i++) { 26 if((obj[i] && obj[i].checked) || (obj.options && obj.options[i].selected)) { 27 if(resp!='') resp+=','; 28 resp+=obj.options ? obj.options[i].value : obj[i].value; 29 } 30 } 31 return resp; 32 } else { 33 return obj.value; 34 } 35 } 36 37 function setValue(obj,value,concat) { 38 var use_default=(arguments.length>1)?arguments[1]:false; 39 if(isArray(obj)&&(typeof(obj.type)=="undefined")){ 40 for(var i=0;i<obj.length;i++){ 41 setSingleFieldValue(obj[i],value,concat); 42 } 43 } else { 44 setSingleFieldValue(obj,value,concat); 45 } 46 } 47 48 function setSingleFieldValue(obj,value,concat) { 49 switch(obj.type){ 50 case 'radio': 51 case 'checkbox': 52 if(obj.value==value) { 53 obj.checked=true;return true; 54 } else { 55 obj.checked=false;return false; 56 } 57 case 'text': 58 case 'hidden': 59 case 'textarea': 60 case 'password': 61 if(concat == true) { 62 obj.value= obj.value + '' + value; 63 } 64 else { 65 obj.value=value; 66 } 67 return true; 68 case 'select-one': 69 case 'select-multiple': 70 var option = obj.options; 71 for(var i=0; i<option.length; i++){ 72 if(option[i].value==value){ 73 option[i].selected=true; 74 } 75 } 76 return true; 77 } 78 return false; 79 } 80 81 function isArray(obj){ 82 return(typeof(obj.length)=="undefined")?false:true; 83 } 84 85 function changeImage(imgname,link,doc) { 86 if(!doc) doc=document; 87 if(imgname) { 88 var img=getElement(imgname,doc); 89 if(img) { 90 img.lastsrc=img.src; 91 doc.lastimg=img; 92 img.src=link; 93 } 94 } else { 95 if( doc.lastimg ) { 96 if( doc.lastimg.lastsrc ) doc.lastimg.src=doc.lastimg.lastsrc; 97 } 98 } 99 } 100 101 function toStringDate(format,y,m,d,h,mi,s) { 102 if(y=='' || m=='' || d=='') { 103 return ''; 104 } 105 y*=1; m*=1; d*=1; h*=1; mi*=1; s*=1; 106 if(y==0 && m==0 && d==0 && h==0 && mi==0 && s==0) { 107 return ''; 108 } 109 if(format == 'ISO') { 110 m+=1; 111 var r = y2k(y) + '-' + padout(m) + '-' + padout(d); 112 if(h!=0 && mi!=0 && s!=0) { 113 r += ' ' + padout(h) + ':' + padout(mi) + ':' + padout(s); 114 } 115 return r; 116 } else { 117 // unixtime 118 h+=4; 119 var ut=Date.UTC(y,m,d,h,mi,s,0); 120 ut*=1; 121 ut/=1000; 122 return '' + ut; 123 } 124 } 125 126 function parseURL(prop,doc) { 127 var result = Object(); 128 if(!prop || prop=='') prop='hash'; 129 if(!doc) doc=document; 130 if(doc.location[prop].length > 0) { 131 hs=doc.location[prop].substring(1, doc.location[prop].length); 132 var hsa=hs.split("&"); 133 for(var i=0; i<=hsa.length - 1; i++) { 134 var left=hsa[i].substring(0, hsa[i].indexOf("=")); 135 if(left!='') { 136 var right=hsa[i].substring(hsa[i].indexOf("=") + 1, hs.length); 137 if(isNaN(right)) { 138 right='"' + right + '"'; 139 } 140 if(right!="") right=" = " + unescape(right); 141 eval("result[unescape(left)] " + right); 142 } 143 } 144 } 145 return result; 146 } 147 148 function y2k(number) { return (number < 1000) ? number + 1900 : number; } 149 function padout(number) { return (number < 10) ? '0' + number : number; } 150 function makeArray0() { for (i = 0; i<makeArray0.arguments.length; i++) this[i] = makeArray0.arguments[i]; } 151 152 var monthName = new makeArray0('Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'); 153 var monthDays = new makeArray0(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); 154 var weekdayShortName = new makeArray0('Dom','Lun','Mar','Mi�','Jue','Vie','S�b'); 155 156 function getHTMLDateSelector(basename,Month,Year) { 157 var output = ''; 158 output += '<form name="Cal"><table bgcolor="#C0C0C0" border="0"><tr><td align="left" width="100%">'; 159 output += '<font color="#0000BB" face="Arial" size="+1">' + monthName[Month] + ' ' + Year + '<\/font><\/td><td width="50%" align="right">'; 160 output += '<select name="Month" onChange="changeMonth();">'; 161 for(m=0; m<12; m++) { 162 if(m==Month) output += '<option value="' + m + '" selected>' + monthName[m] + '<\/option>'; 163 else output += '<option value="' + m + '">' + monthName[m] + '<\/option>'; 164 } 165 output += '<\/select><select name="Year" onChange="changeYear();">'; 166 for(y=1900; y<2101; y++) { 167 if(y==Year) output += '<option value="' + y + '" selected>' + y + '<\/option>'; else output += '<option value="' + y + '">' + y + '<\/option>'; 168 } 169 output += '<\/select><\/td><\/tr><tr><td align="center" colspan="2">'; 170 firstDay = new Date(Year,Month,1); 171 startDay = firstDay.getDay(); 172 if(((Year % 4 == 0) && (Year % 100 != 0)) || (Year % 400 == 0)) 173 monthDays[1] = 29; 174 else 175 monthDays[1] = 28; 176 output += '<table cellspacing="0" cellpadding="0" border="1" bordercolordark="#FFFFFF" bordercolorlight="#C0C0C0"><tr>'; 177 for (i=0; i<7; i++) 178 output += '<td width="50" align="center" valign="middle"><font size="-1" color="#000000" face="arial"><b>' + weekdayShortName[i] +'<\/b><\/font><\/td>'; 179 output += '<\/tr><tr align="center" valign="middle">'; 180 var column = 0; 181 var lastMonth = Month - 1; 182 if(lastMonth == -1) lastMonth = 11; 183 for(i=0; i<startDay; i++, column++) 184 output += '<td width="50" height="30"><font size="-1" color="#808080" face="arial">' + (monthDays[lastMonth]-startDay+i+1) + '<\/font><\/td>'; 185 for(i=1; i<=monthDays[Month]; i++, column++) { 186 output += '<td width="50" height="30">' + '<a href="javascript:changeDay(' + i + ')"><font size="-1" face="arial" color="#0000ff">' + i + '<\/font><\/a>' +'<\/td>'; 187 if (column == 6) { 188 output += '<\/tr><tr align="center" valign="middle">'; 189 column = -1; 190 } 191 } 192 if(column > 0) { 193 for(i=1; column<7; i++, column++) 194 output += '<td width="50" height="30"><font size="-1" color="#808080" face="arial">' + i + '<\/font><\/td>'; 195 } 196 output += '<\/tr><\/table><\/form><\/td><\/tr><\/table>'; 197 output +='<script type="text/javascript">'; 198 output += " function changeDay(day) { opener." + basename + "Day = day + ''; opener." + basename + "restart(); self.close; } "; 199 output += " function changeMonth() { opener." + basename + "Month = document.Cal.Month.options[document.Cal.Month.selectedIndex].value + ''; opener." + basename + "NewCalWindow(true); } "; 200 output += " function changeYear() { opener." + basename + "Year = document.Cal.Year.options[document.Cal.Year.selectedIndex].value + ''; opener." + basename + "NewCalWindow(true); } "; 201 output +='<\/script>'; 202 return output; 203 } 204