![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
18/11/2009, 12:20
|
| | Fecha de Ingreso: noviembre-2005
Mensajes: 44
Antigüedad: 19 años, 3 meses Puntos: 0 | |
Respuesta: calendario javascript 2ª parte....
Código:
html += '<TR>';
var dow = 0;
var i, style;
var totald = fc_monthLength(this.showDate);
for (i = 0; i < fc_firstDOW(this.showDate); i++) {
dow++;
html += '<TD> </TD>';
}
for (i = 1; i <= totald; i++) {
if (dow == 0) { html += '<TR>'; }
if (this.showDate.getMonth() == this.date.getMonth() && this.showDate.getYear() == this.date.getYear() && this.date.getDate() == i) {
style = ' style="font-weight: bold;"';
} else {
style = '';
}
html += '<TD CLASS="fc_date" onMouseover="this.className = \'fc_dateHover\';" onMouseout="this.className=\'fc_date\';" onClick="getCalendar(\'' + this.id + '\').setDate(' + i + ', ' + this.showDate.getMonth() + ', ' + this.showDate.getFullYear() + ');" ' + style + '>' + i + '</TD>';
dow++;
if (dow == 7) {
html += '</TR>';
dow = 0;
}
}
if (dow != 0) {
for (i = dow; i < 7; i++) {
html += '<TD> </TD>';
}
}
html +='</TR>';
html += '</TABLE>';
return html;
}
function fc_hide() {
if (this.div != false) {
this.div.style.display = 'none';
}
this.shown = false;
fc_openCal = undefined;
}
function fc_moveMonth(amount) {
var m = this.showDate.getMonth();
var y = fc_getYear(this.showDate);
if (amount == 1) {
if (m == 11) {
this.showDate.setMonth(0);
this.showDate.setYear(y + 1);
} else {
this.showDate.setMonth(m + 1);
}
} else if (amount == -1) {
if (m == 0) {
this.showDate.setMonth(11);
this.showDate.setYear(y - 1);
} else {
this.showDate.setMonth(m - 1);
}
} else if (amount == 12) {
this.showDate.setYear(y + 1);
} else if (amount == -12) {
this.showDate.setYear(y - 1);
}
this.div.innerHTML = this.generateHTML();
}
//--Utils-------------------------------------------------------------
function fc_absoluteOffsetTop(obj) {
var top = obj.offsetTop;
var parent = obj.offsetParent;
while (parent != document.body) {
top += parent.offsetTop;
parent = parent.offsetParent;
}
return top;
}
function fc_absoluteOffsetLeft(obj) {
var left = obj.offsetLeft;
var parent = obj.offsetParent;
while (parent != document.body) {
left += parent.offsetLeft;
parent = parent.offsetParent;
}
return left;
}
function fc_firstDOW(date) {
var dow = date.getDay();
var day = date.getDate();
if (day % 7 == 0) return dow;
return (7 + dow - (day % 7)) % 7;
}
function fc_getYear(date) {
var y = date.getYear();
if (y > 1900) return y;
return 1900 + y;
}
function fc_monthLength(date) {
var month = date.getMonth();
var totald = 30;
if (month == 0
|| month == 2
|| month == 4
|| month == 6
|| month == 7
|| month == 9
|| month == 11) totald = 31;
if (month == 1) {
var year = date.getYear();
if (year % 4 == 0 && (year % 400 == 0 || year % 100 != 0))
totald = 29;
else
totald = 28;
}
return totald;
}
function fc_formatToken(date, token) {
var command = token.substring(0, 1);
if (command == 'y' || command == 'Y') {
if (token.length == 2) { return fc_zeroPad(date.getFullYear() % 100); }
if (token.length == 4) { return date.getFullYear(); }
}
if (command == 'd' || command == 'D') {
if (token.length == 2) { return fc_zeroPad(date.getDate()); }
}
if (command == 'm' || command == 'M') {
if (token.length == 2) { return fc_zeroPad(date.getMonth() + 1); }
if (token.length == 3) { return fc_months[date.getMonth()]; }
}
return token;
}
function fc_parseToken(date, token, value, start) {
var command = token.substring(0, 1);
var v;
if (command == 'y' || command == 'Y') {
if (token.length == 2) {
v = value.substring(start, start + 2);
if (v < 70) { date.setFullYear(2000 + parseInt(v)); } else { date.setFullYear(1900 + parseInt(v)); }
}
if (token.length == 4) { v = value.substring(start, start + 4); date.setFullYear(v);}
}
if (command == 'd' || command == 'D') {
if (token.length == 2) { v = value.substring(start, start + 2); date.setDate(v); }
}
if (command == 'm' || command == 'M') {
if (token.length == 2) { v = value.substring(start, start + 2); date.setMonth(v - 1); }
if (token.length == 3) {
v = value.substring(start, start + 3);
var i;
for (i = 0; i < fc_months.length; i++) {
if (fc_months[i].toUpperCase() == v.toUpperCase()) { date.setMonth(i); }
}
}
}
}
function fc_zeroPad(num) {
if (num < 10) { return '0' + num; }
return num;
}
function fc_getObj(id) {
if (fc_ie) { return document.all[id]; }
else { return document.getElementById(id); }
}
function fc_setFieldValue(field, value) {
}
function fc_equals(val1, val2) {
if (val1 == val2) return true;
if (1 * val1 == 1 * val2) return true;
return false;
}
</script>
<style>
.fc_main { background: #7da1fa; border: 1px solid #000000; font-family: Verdana; font-size: 10px; }
.fc_date { border: 0px solid #D9D9D9; cursor:pointer; font-size: 10px; text-align: center;}
.fc_dateHover, TD.fc_date:hover { cursor:pointer; border-top: 0px solid #FFFFFF; border-left: 0px solid #FFFFFF; border-right: 0px solid #999999; border-bottom: 0px solid #999999; background: #badef2; font-size: 10px; text-align: center; }
.fc_wk {font-family: Verdana; font-size: 10px; text-align: center;text-decoration: underline; font-weight:bold;}
.fc_wknd { color: #cc0000; font-weight: bold; font-size: 10px; text-align: center;text-decoration: underline;}
.fc_head { background: #000066; color: #FFFFFF; font-weight:bold; text-align: left; font-size: 11px; }
</style>
</head>
<body>
<input size="10" id="fc_1258201594" type="text" name="fecha_ini" title="DD/MM/YYYY" > <input type="button" value="=" onclick="displayCalendarFor('fc_1258201594');">
|