che roga

Código controlsilph.js

/* Controles made in http://www.silph.com.ar * (c) 2008 Diego R. Mañas * ControlFielShip is freely distributable under the terms of an MIT-style license. * For details, see the web site. * *--------------------------------------------------------------------------*/ var ControlFielShip = Class.create( { initialize: function(unString){ this.Name= unString; this.Contenedor= ''; this.Input=''; this.Consejo=''; this.Distancia=25; this.Ancho=10; this.Formato='all'; }, contenedor: function(unString){ this.Contenedor= unString; }, input: function(unString){ this.Input= unString; // construimos el tooltip y lo escondemos new Insertion.Before(unString, "<div id='"+ this.Name +"' class='tooltip'></div>"); this.contenedor('mitooltip'); d=$(this.Contenedor); d.hide(); // al tooltip lo posicionamos encima del control input d.style.top= ($(unString).offsetTop-this.Distancia)+'px'; d.style.left= $(unString).offsetLeft+'px'; }, consejo: function(unString){ this.Consejo= unString; }, formato: function(unFormato){ this.Formato= unFormato; }, formato_arg: function(){ this.formato('dd-mm-aa'); }, formato_eng: function(){ this.formato('aa-mm-dd'); }, formato_ARG: function(){ this.formato('dd-mm-aaaa'); }, formato_ENG: function(){ this.formato('aaaa-mm-dd'); }, put: function(unString){ d= $(this.Contenedor); // agregar un consejo o aviso más el mensaje d.innerHTML= this.Consejo; if (unString!='') { d.innerHTML= d.innerHTML + '<br>' + unString; // posicionar más arriba de lo que estaba d.style.top= ($(this.Input).offsetTop-(this.Distancia + this.Ancho))+'px'; } else { // posicionar de nuevo donde estaba d.style.top= ($(this.Input).offsetTop-(this.Distancia))+'px'; } }, check: function(unString){ fecha_d_m_a= function (encontrado){ sep=encontrado[2]; sep2= encontrado[4]; return (fecha_apropiada(encontrado,{dia:1,mes:3,anio:5})); } fecha_a_m_d= function (encontrado){ sep=encontrado[2]; sep2= encontrado[4]; return (fecha_apropiada(encontrado,{dia:5,mes:3,anio:1})); } fecha_apropiada= function (encontrado,formato){ cumple= true; dia= encontrado[formato.dia]; mes= encontrado[formato.mes]; anio= encontrado[formato.anio]; if (dia < 1 || dia > 31) { cumple= false; } if (mes < 1 || mes > 12) { cumple= false; } return (encontrado[0].length==unString.length && cumple); } fecha_simple= function (encontrado){ sep=encontrado[1]; sep2= encontrado[2]; return (encontrado[0].length==unString.length); } // patron para 3 numeros de 2 digitos separados por un 'no digito' if (this.Formato=='all') { cumple= unString.sub(/\d\d(\D)\d\d(\D)\d\d/,fecha_simple); } else if (this.Formato=='dd-mm-aa') { cumple= unString.sub(/(\d\d)(\D)(\d\d)(\D)(\d\d)/,fecha_d_m_a); } else if (this.Formato=='aa-mm-dd') { cumple= unString.sub(/(\d\d)(\D)(\d\d)(\D)(\d\d)/,fecha_a_m_d); } else if (this.Formato=='aaaa-mm-dd') { cumple= unString.sub(/(\d\d\d\d)(\D)(\d\d)(\D)(\d\d)/,fecha_a_m_d); } else if (this.Formato=='dd-mm-aaaa') { cumple= unString.sub(/(\d\d)(\D)(\d\d)(\D)(\d\d\d\d)/,fecha_d_m_a); } if (cumple=='true') { this.put('Dato correcto'); } else { this.put('Dato incorrecto o falta'); } }, show: function(){ d= $(this.Contenedor); d.show(); // agregar un consejo o aviso this.put(''); return; }, hide: function(){ $(this.Contenedor).hide(); return; } }); /*--------------------------------GRACIAS------------------------------------------*/

Hoja de estilo estilosilph.css

/* http://www.silph.com.ar * (c) 2008 Diego R. Mañas * Estilo para el control que guia el ingreso de fechas con formato * .tooltip is freely distributable under the terms of an MIT-style license. * For details, see the web site. */ .tooltip { color: #000000; top: 0px; left: 0px; position: absolute; border-style: solid; border-width: 1px; border-color: #ffcc66; font-family: sans-serif; font-size: 10px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: 0; margin: 0 1px 0 0; padding: 1px; text-align: left; text-decoration: none; text-transform: none; z-index: 1; background-color: #ffff99; -moz-opacity: 0.7; opacity: 0.7; }

Código prototype.js

Descargalo de la página oficial Prototypejs.org