<!--ASP:Script:1.00-->

// You may use this script in your own, non-competing
// projects on the condition that you leave this message in tact.

var url = location.href;
var pag = "pages";
var ext = ".asp";
var chk = url.search(pag);
var che = url.search(ext);
var det = url.substr(che+4,20)

if (chk > 0)
   {
   if(window.parent.document.getElementById('page')){
    window.parent.document.getElementById('page').value="1"
     }else{
     location.href="../index.asp"+det;
     }
}

// News Scroll definition
var pausecontent=new Array()
pausecontent[0]='<div aling="center"><img src="images/eve001.gif"></div><img src="images/gnr_separator.gif"> <a href="pages/006.asp?pageId=006&view=6" target="content" class="Estilo4"><b>En Saltillo</b></a><br />28 de Octubre 2008<br>Consulta detalles <a href="pages/006.asp?pageId=006&view=6" target="content" class="Estilo4"><b>aqu&iacute;</b></a><br>'
pausecontent[1]='<img src="images/gnr_separator.gif"> <a href="pages/008.asp?pageId=008&view=8" target="content" class="Estilo4"><b>Estrategia 7/21</b></a><br />Consulta el calendario de fechas.'
pausecontent[2]='<img src="images/gnr_separator.gif"> <a href="pages/008.asp?pageId=008&view=8" target="content" class="Estilo4"><b>La Gloria de Dios esta invadiendo nuestro M&eacute;xico</b></a><br />Consulta fechas de oraci&oacute;n.'
pausecontent[3]='<img src="images/gnr_separator.gif"> <a href="pages/008.asp?pageId=008&view=8" target="content" class="Estilo4"><b>P&aacute;rate Firme, Pelea y Conquista Tu Ciudad</b></a><br />Coraz&oacute;n de intercesi&oacute;n 2008.'

var pausecontent2=new Array()
pausecontent2[0]='<a href="http://www.news.com">News.com: Technology and business reports</a>'
pausecontent2[1]='<a href="http://www.cnn.com">CNN: Headline and breaking news 24/7</a>'
pausecontent2[2]='<a href="http://news.bbc.co.uk">BBC News: UK and international news</a>'


function pausescroller(content, divId, divClass, delay){
this.content=content //message array content
this.tickerid=divId //ID of ticker div to display information
this.delay=delay //Delay between msg change, in miliseconds.
this.mouseoverBol=0 //Boolean to indicate whether mouse is currently over scroller (and pause it if it is)
this.hiddendivpointer=1 //index of message array for hidden div
document.write('<div id="'+divId+'" class="'+divClass+'" style="position: relative; overflow: hidden" align="left"><div class="innerDiv" style="position: absolute; width: 100%" align="left" id="'+divId+'1">'+content[0]+'</div><div class="innerDiv" align="left" style="position: absolute; width: 100%; visibility: hidden" id="'+divId+'2">'+content[1]+'</div></div>')
var scrollerinstance=this
if (window.addEventListener) //run onload in DOM2 browsers
window.addEventListener("load", function(){scrollerinstance.initialize()}, false)
else if (window.attachEvent) //run onload in IE5.5+
window.attachEvent("onload", function(){scrollerinstance.initialize()})
else if (document.getElementById) //if legacy DOM browsers, just start scroller after 0.5 sec
setTimeout(function(){scrollerinstance.initialize()}, 500)
}

// -------------------------------------------------------------------
// initialize()- Initialize scroller method.
// -Get div objects, set initial positions, start up down animation
// -------------------------------------------------------------------

pausescroller.prototype.initialize=function(){
this.tickerdiv=document.getElementById(this.tickerid)
this.visiblediv=document.getElementById(this.tickerid+"1")
this.hiddendiv=document.getElementById(this.tickerid+"2")
this.visibledivtop=parseInt(pausescroller.getCSSpadding(this.tickerdiv))
//set width of inner DIVs to outer DIV's width minus padding (padding assumed to be top padding x 2)
this.visiblediv.style.width=this.hiddendiv.style.width=this.tickerdiv.offsetWidth-(this.visibledivtop*2)+"px"
this.getinline(this.visiblediv, this.hiddendiv)
this.hiddendiv.style.visibility="visible"
var scrollerinstance=this
document.getElementById(this.tickerid).onmouseover=function(){scrollerinstance.mouseoverBol=1}
document.getElementById(this.tickerid).onmouseout=function(){scrollerinstance.mouseoverBol=0}
if (window.attachEvent) //Clean up loose references in IE
window.attachEvent("onunload", function(){scrollerinstance.tickerdiv.onmouseover=scrollerinstance.tickerdiv.onmouseout=null})
setTimeout(function(){scrollerinstance.animateup()}, this.delay)
}

// -------------------------------------------------------------------
// animateup()- Move the two inner divs of the scroller up and in sync
// -------------------------------------------------------------------

pausescroller.prototype.animateup=function(){
var scrollerinstance=this
if (parseInt(this.hiddendiv.style.top)>(this.visibledivtop+2)){
this.visiblediv.style.top=parseInt(this.visiblediv.style.top)-2+"px"
this.hiddendiv.style.top=parseInt(this.hiddendiv.style.top)-2+"px"
setTimeout(function(){scrollerinstance.animateup()}, 50)
}
else{
this.getinline(this.hiddendiv, this.visiblediv)
this.swapdivs()
setTimeout(function(){scrollerinstance.setmessage()}, this.delay)
}
}

// -------------------------------------------------------------------
// swapdivs()- Swap between which is the visible and which is the hidden div
// -------------------------------------------------------------------

pausescroller.prototype.swapdivs=function(){
var tempcontainer=this.visiblediv
this.visiblediv=this.hiddendiv
this.hiddendiv=tempcontainer
}

pausescroller.prototype.getinline=function(div1, div2){
div1.style.top=this.visibledivtop+"px"
div2.style.top="120px"
//Math.max(div1.parentNode.offsetHeight, div1.offsetHeight)+
}

// -------------------------------------------------------------------
// setmessage()- Populate the hidden div with the next message before it's visible
// -------------------------------------------------------------------

pausescroller.prototype.setmessage=function(){
var scrollerinstance=this
if (this.mouseoverBol==1) //if mouse is currently over scoller, do nothing (pause it)
setTimeout(function(){scrollerinstance.setmessage()}, 100)
else{
var i=this.hiddendivpointer
var ceiling=this.content.length
this.hiddendivpointer=(i+1>ceiling-1)? 0 : i+1
this.hiddendiv.innerHTML=this.content[this.hiddendivpointer]
this.animateup()
}
}

pausescroller.getCSSpadding=function(tickerobj){ //get CSS padding value, if any
if (tickerobj.currentStyle)
return tickerobj.currentStyle["paddingTop"]
else if (window.getComputedStyle) //if DOM2
return window.getComputedStyle(tickerobj, "").getPropertyValue("padding-top")
else
return 0
}

// News Scoller
function NewsScroll(){
new pausescroller(pausecontent, "pscroller1", "menuText", 0)
//document.write("<br />")
//new pausescroller(pausecontent2, "pscroller2", "someclass", 2000)
}

// Precargado de Imagenes
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_nbGroup(event, grpName) { //v6.0
  var i,img,nbArr,args=MM_nbGroup.arguments;
  if (event == "init" && args.length > 2) {
    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
      nbArr[nbArr.length] = img;
      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
        if (!img.MM_up) img.MM_up = img.src;
        img.src = img.MM_dn = args[i+1];
        nbArr[nbArr.length] = img;
    } }
  } else if (event == "over") {
    document.MM_nbOver = nbArr = new Array();
    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.MM_up);
      nbArr[nbArr.length] = img;
    }
  } else if (event == "out" ) {
    for (i=0; i < document.MM_nbOver.length; i++) {
      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
  } else if (event == "down") {
    nbArr = document[grpName];
    if (nbArr)
      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
    document[grpName] = nbArr = new Array();
    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
      nbArr[nbArr.length] = img;
  } }
}

//checa search
function valid_search() 
{
if (document.frmSiteSearch.search.value == false)
   {
     alert("Escriba Termino de Busqueda!");
	 document.frmSiteSearch.search.focus(); 	 
	 return false;
   }
}

//ventanas popup
function NewWindow(mypage,myname,w,h,scroll,pos)
{
    var win=null;
    var frmMain=document.getElementById('frmMain'); 
    if(pos=="random"){LeftPosition=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;TopPosition=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;
    }
    if(pos=="center"){LeftPosition=(screen.width)?(screen.width-w)/2:100;TopPosition=(screen.height)?(screen.height-h)/2:100;
    }
    else if((pos!="center" && pos!="random") || pos==null){LeftPosition=0;TopPosition=20
    }
    settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars=no,location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=no';
    win=window.open(mypage,myname,settings);        
}


//validación de forma de contacto
function Valid_1() {

if (document.form1.fld1.value == false)
   {
     alert("Campo Requerido: Nombre");
	 document.form1.fld1.focus();  	 
	 return false;
   }
if (document.form1.fld3.value == false)
   {
     alert("Campo Requerido: Pais");
	 document.form1.fld3.focus();  	 
	 return false;
   }   
if (document.form1.fld3.value == "Mexico")
   {   
     if (document.form1.fld4.value == false)
         {
           alert("Campo Requerido: Estado");
           document.form1.fld4.focus();  	 
 	       return false;
         }
   }
if (document.form1.fld5.value == false)
   {
     alert("Campo Requerido: Cuidad");
	 document.form1.fld5.focus();  	 
	 return false;
   }
if (document.form1.fld6.value == false)
   {
     alert("Campo Requerido: Email");
	 document.form1.fld6.focus();  	 
	 return false;
   }
   
var mail = document.form1.fld6.value;
var simb = "@";
var poin = ".";
var resu = mail.search(simb);
var pore = mail.search(poin);
var size = mail.length;

if (resu == -1)
   {
     alert("Campo Requerido: Escriba corectamente el Correo Electronico");
     document.form1.fld6.focus();  	 
	 return false;
   }
if (pore == -1)
   {
     alert("Campo Requerido: Escriba corectamente el Correo Electronico");
     document.form1.fld6.focus();  	 
	 return false;
   }  
if (document.form1.fld8.value == false)
   {
     alert("Campo Requerido: Comentarios");
	 document.form1.fld8.focus();  	 
	 return false;
   }
var confirmar = confirm('Enviar esta Forma?');
if (confirmar == true)
   {
    return true;
   }
    else
   {
    return false; 
   }    	      
}

//validación de forma de contacto
function ValidForm000(dir) {


if (dir == 'tm1')
{
if (document.forma.fld1.value == false)
   {
     alert("Campo Requerido: Nombre");
	 document.forma.fld1.focus();  	 
	 return false;
   }
if (document.forma.fld2.value == false)
   {
     alert("Campo Requerido: Pregunta");
	 document.forma.fld2.focus();  	 
	 return false;
   }

}

if (dir == 'tm2')
{
if (document.forma.fld3.value == false)
   {
     alert("Campo Requerido: Respuesta");
	 document.forma.fld3.focus();  	 
	 return false;
   }
}


var confirmar = confirm('Enviar esta Forma?');
if (confirmar == true)
   {
    return true;
   }
    else
   {
    return false; 
   }    	      
}

//validación formulario inscripciones
function ValidForm() {

if (document.forma.fld001.value == false)
   {
     alert("Registre Nombre!");
	 document.forma.fld001.focus();  	 
	 return false;
   }

if (document.forma.fld002.value == false)
   {
     alert("Registre Apellido Paterno!");
	 document.forma.fld002.focus();  	 
	 return false;
   }

if (document.forma.fld003.value == false)
   {
     alert("Registre Apellido Materno!");
	 document.forma.fld003.focus();  	 
	 return false;
   }

if (document.forma.fld004.value == false)
   {
     alert("Registre Categoria!");
	 document.forma.fld004.focus();  	 
	 return false;
   }

if (document.forma.fld007.value == false)
   {
     alert("Registre Grado Académico!");
	 document.forma.fld007.focus();  	 
	 return false;
   }

if (document.forma.fld010.value == false)
   {
     alert("Registre Pais!");
	 document.forma.fld010.focus();  	 
	 return false;
   }

if (document.forma.fld011.value == false)
   {
     alert("Registre Ciudad!");
	 document.forma.fld011.focus();  	 
	 return false;
   }

if (document.forma.fld012.value == false)
   {
     alert("Registre Estado!");
	 document.forma.fld012.focus();  	 
	 return false;
   }

if (document.forma.fld013.value == false)
   {
     alert("Registre Tipo!");
	 document.forma.fld013.focus();  	 
	 return false;
   }

if (document.forma.fld014.value == false)
   {
     alert("Registre Nombre Universidad/Empresa/Particular!");
	 document.forma.fld014.focus();  	 
	 return false;
   }

if (document.forma.fld005.value == false)
   {
     alert("Registre Titulo para Constancia!");
	 document.forma.fld005.focus();  	 
	 return false;
   }

if (document.forma.fld006.value == false)
   {
     alert("Registre Nombre para Constancia!");
	 document.forma.fld006.focus();  	 
	 return false;
   }

if (document.forma.fld008.value == false)
   {
     alert("Registre Número de Folio de Ficha de Deposito!");
	 document.forma.fld008.focus();  	 
	 return false;
   }

if (document.forma.fld009.value == false)
   {
     alert("Registre Fecha del Deposito!");
	 document.forma.fld009.focus();  	 
	 return false;
   }

if (document.forma.fld015.value == false)
   {
     alert("Registre Correo Electrónico!");
     document.forma.fld015.focus();  	 
	 return false;
   }

var mail = document.forma.fld015.value;
var simb = "@";
var poin = ".";
var resu = mail.search(simb);
var pore = mail.search(poin);
var size = mail.length;

if (resu == -1)
   {
     alert("Escriba corectamente el Correo Electronico, falta @!");
     document.forma.fld015.focus();  	 
	 return false;
   }
if (pore == -1)
   {
     alert("Escriba corectamente el Correo Electronico, falta .!");
     document.forma.fld015.focus();  	 
	 return false;
   }

var total = resu + 2;
if (total == size)
   {
     alert("Escriba corectamente el Correo Electronico!");
     document.forma.fld015.focus();  	 
	 return false;
   }   
var confirmar = confirm("¿Deseas Enviar Forma de Inscripción?");
if (confirmar == true)
   {
   return true;
   }
    else
   {
    return false; 
   }    	
}   

//Script para bloqueo
function CheckBlocked() {

var key = window.event.keyCode;

if ( key > 0 && key < 10 )
	//&& key < 58 )
return; 
else
window.event.returnValue = null;
}

//Script para Números
function CheckNumeric() {

var key = window.event.keyCode;

if ( key > 47 && key < 58 )
return; 
else
window.event.returnValue = null;
}
  
//Script para Mayusculas
function toUpper()
{
  key = window.event.keyCode;
  if (key > 0x0060 && key < 0x007b)
  {
    window.event.keyCode = key - 0x0020;
  }
}

//Script para Imprimir
function varitext(text)
{
    text=document
    print(text)
}

// Script para fecha
function Fecha()
{
   var months=new Array(13);
   months[1]="Enero";
   months[2]="Febrero";
   months[3]="Marzo";
   months[4]="Abril";
   months[5]="Mayo";
   months[6]="Junio";
   months[7]="Julio";
   months[8]="Agosto";
   months[9]="Septiembre";
   months[10]="Octubre";
   months[11]="Noviembre";
   months[12]="Diciembre";
   var time=new Date();
   var lmonth=months[time.getMonth() + 1];
   var date=time.getDate();
   var year=time.getYear();
   
   if (year < 2000)    
      year = year + 1900; 
      document.write("<right>" + lmonth + " ");
      document.write(date + ", " + year + "</center>");
}


// Script para cambiar fondo de cajas de textos en edición (activo)
function enterField(f1)
{
   if (f1 && f1.style)
   {
     f1.style.background='#FEFDE0';
   }
}

// Script para cambiar fondo de cajas de textos en edición (desenlección)
function exitField(f1)
{
   if (f1 && f1.style)
   {
     f1.style.background='#FFFFFF'
   }
}

function ValidateKey(f1,f2,f3,f4,f5)
{
   var key=window.event.keyCode;
   if (f3=='a')
   {
     var allowed='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ :;,.?!£$%^&*()_+-*{}@~<>&"\'';
   }
   else if (f3=='n')
   {
     var allowed='0123456789,-';
   }
   else if (f3=='i')
   {
     var allowed='0123456789-';
   }
   else if (f3=='s')
   {
     var allowed=f4;
   }
   if (f3!='')
   {
      if (key!=13)
      {
         if (allowed.indexOf(String.fromCharCode(key))==-1)
         {
            key=0;
         }
      }
   }

   if (f3=='n'||f3=='i')
   {
      if (key==46)
      {
         if (f1.value.indexOf(',')>-1)
         {
            key=0;
         }
      }
   }

   if (f5=='u')
   {
      var newkey=String.fromCharCode(key).toUpperCase();
      key=newkey.charCodeAt(0);
   }
   else if (f5=='l')
   {
      var newkey=String.fromCharCode(key).toLowerCase();
      key=newkey.charCodeAt(0);
   }

   window.event.keyCode=key;
}


function ValidateField(f1,f2)
{
   if (!f1)
   {
       return true;
   }
   if (f1.type=='hidden')
   {
       return true;
   }
   currentError=document.getElementById('currentError');
   if (!currentError)
   {
       exitField(f1);
       return true;
   }
   if (currentError.value!='')
   {
      if (currentError.value!=f1.name)
      {
         exitField(f1);
         return true;
      }
   }

   if (f1.value.length<f2)
   {
      alert('Este Campo debe ser primero '+f2+' Caracteres largos');
      currentError.value=f1.name;
      f1.focus();
      f1.select();
      return false;
   }
   else
   {
      exitField(f1);
      currentError.value='';
      return true;
   }
}

function ValidateNumber(f1,f2,f3,f4,f5)
{
   if (!f1)
   {
       return true;
   }
   if (f1.type=='hidden')
   {
       return true;
   }
   currentError=document.getElementById('currentError');
   if (!currentError)
   {
       exitField(f1);
       return true;
   }
   if (currentError.value!='')
   {
      if (currentError.value!=f1.name)
      {
         exitField(f1);
         return true;
      }
   }
   if (f5==0)
   {
      return true;
   }
   if (f1.value=='')
   {
      alert('Este valor debe de ser especificado.');
      currentError.value=f1.name;
      f1.focus();
      f1.select();
      return false;
   }


   if ((f3!=0||f4!=0))
   {
      if (f1.value<f3)
      {
         alert('El valor mínimo permitido es: '+f3);
         currentError.value=f1.name;
         f1.focus();
         f1.select();
         return false;
      }
      else if (f1.value>f4)
      {
         alert('Este valor debe de ser menor o igual que '+f4);
         currentError.value=f1.name;
         f1.focus();
         f1.select();
         return false;
      }
   }

   var decimalpos=f1.value.indexOf('.');
   var fieldlen=f1.value.length;
   if (decimalpos>0)
   {
      if ((f2+1)<(fieldlen-decimalpos))
      {
        alert('Solamente '+f2+' Espacios decimales permitidos!');
        currentError.value=f1.name;
        f1.focus();
        f1.select();
        return false;
      }
   }
   exitField(f1);
   currentError.value='';
   return true;
}

function ValidateSearchNumber(f1,f2,f3,f4)
{
   if (!f1)
   {
       return true;
   }
   if (f1.value=='')
   {
      exitField(f1);
      return true;
   }
   else
   {
      return ValidateNumber(f1,f2,f3,f4);
   }
}


function ValidateDateTime(f1,f2,f3)
{
   if (!f1)
   {
       return true;
   }
   if (f1.type=='hidden')
   {
       return true;
   }
   currentError=document.getElementById('currentError');
   if (!currentError)
   {
       exitField(f1);
       return true;
   }
   if ((f3==0) & (f1.value.length==0))
   {
     exitField(f1);
     return true;
   }
   if (currentError.value!='')
   {
      if (currentError.value!=f1.name)
      {
         exitField(f1);
         return true;
      }
   }

   if (f1.value.length<12)
   {
      alert('Favor de introducir el formato  fecha /hora mostrado');
      currentError.value=f1.name;
      f1.focus();
      f1.select();
      return false;
   }

   if (f2==1)
   {
      var dd=f1.value.substring(0,2);
      var mm=f1.value.substring(2,4);
      var yy=f1.value.substring(4,8);
   }
   else if (f2==0)
   {
      var mm=f1.value.substring(0,2);
      var dd=f1.value.substring(2,4);
      var yy=f1.value.substring(4,8);
   }
   else if (f2==2)
   {
      var yy=f1.value.substring(0,4);
      var mm=f1.value.substring(4,6);
      var dd=f1.value.substring(6,8);
   }

   if (dd>31)
   {
      alert('El valor de dias no deberá ser mayor que 31!');
      currentError.value=f1.name;
      f1.focus();
      f1.select();
      return false;
   }
   if (mm>12)
   {
      alert('El Mes no deberá ser mayor que 12!');
      currentError.value=f1.name;
      f1.focus();
      f1.select();
      return false;
   }
   if (dd==31)
   {
      if (mm==4||mm==6||mm==9||mm==11)
      {
         alert('No hay día 31 en el Mes... '+mm);
         currentError.value=f1.name;
         f1.focus();
         f1.select();
         return false;
      }
   }
   if (mm==2)
   {
      if (dd>29)
      {
         alert('No hay '+dd+' días en Febrero!');
         currentError.value=f1.name;
         f1.focus();
         f1.select();
         return false;
      }
      if (dd==29)
      {
         if (yy%4!=0)
         {
            alert('No hay 29 días en Febrero de este año');
            currentError.value=f1.name;
            f1.focus();
            f1.select();
            return false;
         }
      }
   }

   var hh=f1.value.substring(8,10);
   var mm=f1.value.substring(10,12);
   if (hh>23)
   {
      alert('Las horas no podrán ser mayores que 23!');
      currentError.value=f1.name;
      f1.focus();
      f1.select();
      return false;
   }
   if (mm>59)
   {
      alert('[M13]!');
      currentError.value=f1.name;
      f1.focus();
      f1.select();
      return false;
   }
   exitField(f1);
   currentError.value='';
   return true;
}

function ValidateDate(f1,f2,f3)
{
   if (!f1)
   {
       return true;
   }
   if (f1.type=='hidden')
   {
       return true;
   }
   currentError=document.getElementById('currentError');
   if (!currentError)
   {
       exitField(f1);
       return true;
   }
   if ((f3==0) & (f1.value.length==0))
   {
     exitField(f1);
     return true;
   }
   if (currentError.value!='')
   {
      if (currentError.value!=f1.name)
      {
         exitField(f1);
         return true;
      }
   }

   if (f1.value.length<8)
   {
      alert('Favor de introducir el formato  fecha /hora mostrado');
      currentError.value=f1.name;
      f1.focus();
      f1.select();
      return false;
   }

   if (f2==1)
   {
      var dd=f1.value.substring(0,2);
      var mm=f1.value.substring(2,4);
      var yy=f1.value.substring(4,8);
   }
   else if (f2==0)
   {
      var mm=f1.value.substring(0,2);
      var dd=f1.value.substring(2,4);
      var yy=f1.value.substring(4,8);
   }
   else if (f2==2)
   {
      var yy=f1.value.substring(0,4);
      var mm=f1.value.substring(4,6);
      var dd=f1.value.substring(6,8);
   }

   if (dd>31)
   {
      alert('El valor de dias no deberá ser mayor que 31!');
      currentError.value=f1.name;
      f1.focus();
      f1.select();
      return false;
   }
   if (mm>12)
   {
      alert('El Mes no deberá ser mayor que 12!');
      currentError.value=f1.name;
      f1.focus();
      f1.select();
      return false;
   }
   if (dd==31)
   {
      if (mm==4||mm==6||mm==9||mm==11)
      {
         alert('No hay día 31 en el Mes... '+mm);
         currentError.value=f1.name;
         f1.focus();
         f1.select();
         return false;
      }
   }
   if (mm==2)
   {
      if (dd>29)
      {
         alert('No hay '+dd+' días en Febrero!');
         currentError.value=f1.name;
         f1.focus();
         f1.select();
         return false;
      }
      if (dd==29)
      {
         if (yy%4!=0)
         {
            alert('No hay 29 días en Febrero de este año!');
            currentError.value=f1.name;
            f1.focus();
            f1.select();
            return false;
         }
      }
   }
   exitField(f1);
   currentError.value='';
   return true;
}

function ValidateTime(f1,f2,f3)
{
   if (!f1)
   {
       return true;
   }
   if (f1.type=='hidden')
   {
       return true;
   }
   currentError=document.getElementById('currentError');
   if (!currentError)
   {
       exitField(f1);
       return true;

   }   
   if ((f3==0) & (f1.value.length==0))
   {
     exitField(f1);
     return true;
   }
   if (currentError.value!='')
   {
      if (currentError.value!=f1.name)
      {
         exitField(f1);
         return true;
      }
   }

   if (f1.value.length<4)
   {
      alert('Favor de introducir la hora en el formato HHMM');
      currentError.value=f1.name;
      f1.focus();
      f1.select();
      return false;
   }

   var hh=f1.value.substring(0,2);
   var mm=f1.value.substring(2,4);
   if (hh>23)
   {
      alert('Las horas no podrán ser mayores que 23!');
      currentError.value=f1.name;
      f1.focus();
      f1.select();
      return false;
   }
   if (mm>59)
   {
      alert('Los minutos no podrán ser mayores que 59');
      currentError.value=f1.name;
      f1.focus();
      f1.select();
      return false;
   }
   exitField(f1);
   currentError.value='';
   return true;
}

function processClick(f1,f2,f3,f4)
{
   if (f1.checked)
   {
     f2.value=f3;
   }
   else
   {
     f2.value=f4;
   }
   return true;
}

function processRange(f1,f2)
{
   if (!f2)
   {
       return true;
   }
   if (f1.value=='3')
   {
      f2.className='fieldSettings'
   }
   else
   {
      f2.className='fieldSettingsHidden'
   }
   var f5=eval("document.frmMain.b"+f2.name);
   if (f5)
   {
      if (f1.value=='3')
      {
         eval(f5).className='buttonColorSmall';
      }
      else
      {
         eval(f5).className='fieldSettingsHidden';
      }
   }
   return true;
}

function lineOn(f1)
{
  f1.className="lineOn"
}

function lineOff(f1)
{
  f1.className="lineOff"
}

function highlightRow(f1)
{
  if (selRow==f1)
  {
     return false;
  }
  f1.className="gridHighlight"
}

function revertRow(f1)
{
  if (selRow==f1)
  {
     return false;
  }
  if (f1.id.charAt(0)=='A')
  {
     f1.className="gridRowA"
  }
  else
  {
     f1.className="gridRowB"
  }
}

function revertRowNC(f1)
{
  if (f1.id.charAt(0)=='A')
  {
     f1.className="gridRowA";
  }
  else
  {
     f1.className="gridRowB";
  }
}

function selectRow(f1)
{
   if (selRow)
   {
      revertRowNC(selRow);
   }
   selRow=f1;
   f1.className="gridSelected";
   editButton = document.getElementById('btnEdit');
   if (editButton)
   {
      editButton.className="buttonColor";
   }
   deleteButton = document.getElementById('btnDelete');
   if (deleteButton)
   {
      deleteButton.className="buttonColor";
   }
   okButton = document.getElementById('btnOK');
   if (okButton)
   {
      okButton.className="buttonColor";
   }
}

function showRow()
{
   if (!selRow)
   {
      return false;
   }
   selectRow(selRow);
}

function editDeleteRecord(F1)
{
   if (F1=='a')
   {
      var dMode = document.getElementById('mode');
      dMode.value='add';
      var editWindow=window.open('','editWindow','width=700,height=500,scrollbars=yes,resizable=1,toolbar=no,status=0,menubar=false');
      editWindow.moveTo((screen.width-700)/2,(screen.height-500)/2);
      var frmMain=document.getElementById('frmMain');
      frmMain.submit();
      editWindow.focus();
      return true;
   }

   if (!selRow)
   {
      alert('Favor de Seleccionar un registro!');
      return false;
   }

   var f105 = document.getElementById('f105where');
   var fLookup = document.getElementById('f105where'+selRow.id.substring(4,10));
   f105.value=fLookup.value;

   if (F1=='e')
   {
      var dMode = document.getElementById('mode');
      dMode.value='edit';
      var editWindow=window.open('','editWindow','width=700,height=500,scrollbars=yes,resizable=1,toolbar=no,status=0,menubar=false');
      editWindow.moveTo((screen.width-700)/2,(screen.height-500)/2);
      var frmMain=document.getElementById('frmMain');
      frmMain.submit();
      editWindow.focus();
      return true;
   }
   else
   {
      var result
      result = confirm("Estas seguro que deseas borrar este registro?");
      if (result)
      {
         var dMode = document.getElementById('mode');
         dMode.value='delete';
         var editWindow=window.open('','editWindow','width=700,height=500,scrollbars=yes,resizable=1,toolbar=no,status=0,menubar=false');
         editWindow.moveTo((screen.width-700)/2,(screen.height-500)/2);
         var frmMain=document.getElementById('frmMain');
         frmMain.submit();
         editWindow.focus();
         return true;
      }
   }
   return true;
}

function editDeleteRecord2(F1)
{
   if (F1=='a')
   {
      var dMode = document.getElementById('mode');
      dMode.value='add';
      var editWindow=window.open('','editWindow','width=700,height=500,scrollbars=yes,resizable=1,toolbar=no,status=0,menubar=false');
      editWindow.moveTo((screen.width-700)/2,(screen.height-500)/2);
      var frmLaunch=document.getElementById('frmLaunch');
      frmLaunch.submit();
      editWindow.focus();
      return true;
   }

   if (F1=='e')
   {
      var dMode = document.getElementById('mode');
      dMode.value='edit';
      var editWindow=window.open('','editWindow','width=700,height=500,scrollbars=yes,resizable=1,toolbar=no,status=0,menubar=false');
      editWindow.moveTo((screen.width-700)/2,(screen.height-500)/2);
      var frmLaunch=document.getElementById('frmLaunch');
      frmLaunch.submit();
      editWindow.focus();
      return true;
   }
   else
   {
      var result
      result = confirm("Estas seguro que deseas borrar este registro?");
      if (result)
      {
         var dMode = document.getElementById('mode');
         dMode.value='delete';
         var editWindow=window.open('','editWindow','width=700,height=500,scrollbars=yes,resizable=1,toolbar=no,status=0,menubar=false');
         editWindow.moveTo((screen.width-700)/2,(screen.height-500)/2);
         var frmLaunch=document.getElementById('frmLaunch');
         frmLaunch.submit();
         editWindow.focus();
         return true;
      }
   }
   return true;
}

function findRecordBase (f1,f2,f3,f4,f5)
{
    var frmFind=document.getElementById('frmFindRecord');
    frmFind.action=f1;
    frmFind.refFieldName.value=f2; 
    frmFind.refReturnFieldCode.value=f3; 
    frmFind.refReturnFieldDesc.value=f4; 
    frmFind.refUpdateField.value=f5; 
    return findRecord();
}

function findRecord()
{
   var searchWindow = window.open('','_searchWindow','width=700,height=500,scrollbars=yes,resizable=1,toolbar=no,status=0,menubar=false');
   searchWindow.moveTo((screen.width-700)/2,(screen.height-500)/2);
   var frmFind=document.getElementById("frmFindRecord");
   frmFind.target='_searchWindow';
   frmFind.submit();
   searchWindow.focus();
   return true;
}

function registerVerify (f1,f2,f3,f4,f5)
{
   var frmVerify=document.getElementById('frmFindRecord');
   frmVerify.action="verify.asp";
   frmVerify.refReturnFieldCode.value=f1; 
   frmVerify.refReturnFieldDesc.value=f2; 
   frmVerify.refUpdateField.value=f3; 
   frmVerify.refField.value=f4;
   if (f4==0)
   { 
     frmVerify.refCodeValue.value=f5.value; 
   }
   else
   {
     frmVerify.refDescValue.value=f5.value; 
   }
   return true;
}

function checkVerify (f1,f2,f3,f4,f5,f6,f7)
{
   var frmVerify=document.getElementById('frmFindRecord');
   var iSame = 0;
   frmVerify.action="verify.asp";
   frmVerify.refReturnFieldCode.value=f1; 
   frmVerify.refReturnFieldDesc.value=f2; 
   frmVerify.refUpdateField.value=f3;
   frmVerify.refTable.value=f4;
   frmVerify.refField.value=f6;
   frmVerify.refDataType.value=f5;
   if (f6==0)
   { 
      if (frmVerify.refCodeValue.value!=f7.value)
      {
         iSame = 1;
      }
      frmVerify.refCodeValue.value=f7.value; 
   }
   else
   {
      if (frmVerify.refDescValue.value!=f7.value)
      {
         iSame = 1;
      }
      frmVerify.refDescValue.value=f7.value;
   }
   if (iSame == 1) 
   {
      frmVerify.target='_verifyWindow';
      return findVerify();
   }
}

function confirmFind(f1,f2)
{
  if (!selRow)
  {
     alert('Favor de Seleccionar un registro!');
     return false;
  }
  else
  {     
     if (window.opener && !opener.closed)
     {
        
        if (f1)
        {
          var f3 = document.getElementById('retFieldCode'+selRow.id.substring(4,10));        
          f1.value=f3.value;
          f1.focus();
        }
        
        if (f2)
        {
          var f4 = document.getElementById('retFieldDesc'+selRow.id.substring(4,10));
          f2.value=f4.value;
          f2.focus();
        }

        window.close();
     }
  }
}

function findVerify()
{
   var verifyWindow = window.open('','_verifyWindow','width=400,height=200,scrollbars=yes,resizable=1,toolbar=no,status=0,menubar=false');
   verifyWindow.moveTo((screen.width-400)/2,(screen.height-200)/2);
   var frmFind=document.getElementById("frmFindRecord");
   frmFind.target='_verifyWindow';
   frmFind.submit();
   verifyWindow.focus();
   return true;
}

function showOutline(f1)
{
   f1.className="menubuttonGreyRaised"
}

function removeOutline(f1)
{
   f1.className="menubuttonGrey"
}

function doStatus(f1)
{
   window.status=f1;
}

function checkCombo(f1,f2)
{
   if (f1.value=='')
   {
      f2.value=0;
      return false;
   }
   if (f2.value==0)
   {
      f2.value=1
   }
}

function nothing(){}

function verifyInput_allNumbers( theInput )
{
   var str = "0123456789";
   var n = theInput.length;
   var itMatches = 0;

   for (var i=0;i<n;i++)
   {
       itMatches = 0;
       for (var j=0;j<str.length;j++)
       {
         if ( theInput.charAt(i) == str.charAt(j) )
         {
            itMatches=1;
         }
       }

       if (itMatches==0)
       {
           i=n;
       }
   }

   if ( itMatches == 0 )
   {
      return false;
   }
   else
   {
      return true;
   }

}

function parseInput( theInput , dFormat )
{
   if (dFormat == 0)
   {
        iiMonth = (theInput.substring(0,2)*1)-1;
        iiDay = theInput.substring(2,4)*1;
        iiYear = theInput.substring(4,8)*1;
   }
   if (dFormat == 3)
   {
        iiMonth = (theInput.substring(0,2)*1)-1;
        iiDay = theInput.substring(2,4)*1;
        iiYear = theInput.substring(4,8)*1;
   }
   if (dFormat == 1)
   {
        iiDay = theInput.substring(0,2)*1;
        iiMonth = (theInput.substring(2,4)*1)-1;
        iiYear = theInput.substring(4,8)*1;
   }
   if (dFormat == 4)
   {
        iiDay = theInput.substring(0,2)*1;
        iiMonth = (theInput.substring(2,4)*1-1);
        iiYear = theInput.substring(4,8)*1;
   }
   if (dFormat == 2)
   {
        iiYear = theInput.substring(0,4)*1;
        iiMonth = (theInput.substring(4,6)*1)-1;
        iiDay = theInput.substring(6,8)*1;
   }
   if (dFormat == 5)
   {
        iiYear = theInput.substring(0,4)*1;
        iiMonth = (theInput.substring(4,6)*1)-1;
        iiDay = theInput.substring(6,8)*1;
   }

   if (theInput.length==12)
   {
        iiHour = theInput.substring(8,10)*1;
        iiMinute = theInput.substring(10,12)*1;
        sTodayIs = "Now";
   }
   else
   {
        sTodayIs = "Hoy";
   }

   if ( verifyInput_DateTime( iiDay, iiMonth, iiYear, iiHour, iiMinute )==0 )
   {
      setTimeNow();
   }
}

function verifyInput_DateTime( iiDay, iiMonth, iiYear, iiHour, iiMinute )
{
   returnBoolean = 0;
   iVal = parseInt(iiMonth);
   var num = ++iVal;

   switch ( num )
   {
       case  1:
       case  3:
       case  5:
       case  7:
       case  8:
       case 10:
       case 12:

       if (iiDay<=31)
       {
          returnBoolean = 1;
       }
       break;

       case  4:
       case  6:
       case  9:
       case 11:

       if (iiDay<=30)
       {
          returnBoolean = 1;
       }
       break;

       case  2:

       if (isLeapYear(iiYear))
       {
           if (iiDay<=29)
           {
              returnBoolean = 1;
           }
       }
       else
       {
           if (iiDay<=28)
           {
              returnBoolean = 1;
           }
       }
       break;
   }

   if (iiHour!="")
   {
      if (iiHour>23||iiMinute>59)
      {
        returnBoolean = 0;
      }
   }
   return returnBoolean;
}

function setTimeNow()
{
   d = new Date();
   iiDay = d.getDate();
   iiMonth = d.getMonth();
   iiYear = d.getYear();
   iiHour = d.getHours();
   iiMinute = d.getMinutes();
}

function onafterload_c( iiDay, iiMonth, iiYear, iiHour, iiMinute )
{
   iSelDay = iiDay;
   iMonth = iiMonth;
   iYear = iiYear;
   iHour = iiHour;
   iMinute = iiMinute;
   clearAllDays();
   setCurrentDate(iYear, iMonth, iSelDay, iHour, iMinute);
}

function onafterload(iNextMonthDayPressed)
{
   setCurrentDate(iYear, iMonth, iNextMonthDayPressed, iHour, iMinute);
}

function controlAndOpen_calendar(theObj,dFormat)
{
   if ( document.getElementById('calendar').style.visibility == 'hidden' )
   {
      showCalendar(theObj,'txtDate',dFormat);
   }
   else
   {
      hideCalendar();
   }
}

function controlAndOpen_DropDown(num)
{
   if (num==0)
   {
      if (isOpen_DropDownMonth == 1)
      {
         popDownYear(0);
         popUpMonth();
      }
      else
      {
         popDownMonth(0);
      }
   }
   else
   {
      if (isOpen_DropDownYear == 1)
      {
         popDownMonth(1);
         popUpYear();
      }
      else
      {
         popDownYear(1);
      }
   }
}

function isLeapYear(y)
{
   return (y%4!=0) ? false : (y%100!=0) ? true : (y%400!=0) ? false : true;
}

function addDay(iDay)
{
   if(iMaxY==6)
      {iMaxY = 0; iMaxX++;}
   else
      iMaxY ++;
   document.getElementById("cell_" + iMaxX + "_" + iMaxY).innerHTML = String(iDay);
   document.getElementById("cell_" + iMaxX + "_" + iMaxY).onclick = function(){tdclick(this)};
}

function makeDaySelected(iDay)
{
   for(var x=0; x<=5; x++)
      for(var y=0; y<=6; y++)
      {
         if(document.getElementById("cell_" + x + "_" + y).style.color=="")
            if(document.getElementById("cell_" + x + "_" + y).innerHTML==String(iDay))
               document.getElementById("cell_" + x + "_" + y).style.backgroundColor = "#FFAAFF";
      }
}

function getDaysNumberForMonth(iMonth, iYear)
{
   switch (iMonth+1)
   {
      case  1:
      case  3:
      case  5:
      case  7:
      case  8:
      case 10:
      case 12:
         return(31);
         break;
      case  4:
      case  6:
      case  9:
      case 11:
         return(30);
         break;
      case  2:
         if (isLeapYear(iYear))
            return(29)
         else
            return(28);
         break;
   }
}

function checkToday()
{
   if((todayDate.getUTCFullYear() == iYear)&&
      (todayDate.getUTCMonth()+1 == monthName[iMonth]))
   {
      for(var x=0; x<=5; x++)
         for(var y=0; y<=6; y++)
            if((document.getElementById("cell_" + x + "_" + y).innerHTML == String(todayDate.getUTCDate()))&&(document.getElementById("cell_" + x + "_" + y).style.color != "gray"))
            {
               document.getElementById("cell_" + x + "_" + y).innerHTML += "<img src='../images/select.gif'>";
               break;
            }
   }
}

function gotoToday()
{
   d = new Date();
   d.setUTCMonth(todayDate.getUTCMonth());
   d.setUTCFullYear(todayDate.getUTCFullYear());
   iSelDay = d.getUTCDate();
   iMonth = d.getUTCMonth();
   iYear = d.getUTCFullYear();
   iHour = d.getHours();
   iMinute = d.getMinutes();
   clearAllDays();
   onafterload(todayDate.getUTCDate());
}

function fnShowPic(obj, mode)
{
   if (mode == 1)
      document.getElementById(obj).style.filter=''
   else
      document.getElementById(obj).style.filter='gray(), alpha(opacity=50)';
}

function setCurrentDate(iYear, iMonth, iDay, iHour, iMinute)
{
   var s;
   var iLastDayOfMonth;
   var tempDateObj = new Date();
   document.getElementById("spanMonth").innerHTML = "&nbsp;" +   monthName[iMonth] + "&nbsp;<IMG id='changeMonth' style='filter: gray(), alpha(opacity=50);' SRC='../images/dropcal.gif' BORDER=0 onmouseover='fnShowPic(\"changeMonth\",1)' onmouseout='fnShowPic(\"changeMonth\",0)'>";
   document.getElementById("spanYear").innerHTML =                         "&nbsp;<IMG id='changeYear' style='filter: gray(), alpha(opacity=50);' SRC='../images/dropcal2.gif' BORDER=0 onmouseover='fnShowPic(\"changeYear\",1)' onmouseout='fnShowPic(\"changeYear\",0)'>" + "&nbsp;" + iYear;
   crossMonthObj=(dom)?document.getElementById("selectMonth").style : ie? document.all.selectMonth   : document.selectMonth;
   crossYearObj=(dom)?document.getElementById("selectYear").style : ie? document.all.selectYear : document.selectYear;
   tempDateObj.setUTCFullYear(iYear, iMonth, 1);
   iLastDayOfMonth = getDaysNumberForMonth(iMonth, iYear);
   document.getElementById("txtToday").innerHTML = "<img src=\"../images/select.gif\"><b><FONT size=1>" + sTodayIs + "</FONT></b>";
   document.getElementById("txtToday").onclick = function(){gotoToday()};
   var iDisabledDayBefore = 0;
   var iPrevMonth;
   var iPrevYear = iYear;
   var iDaysInPrevMonth;
   if(tempDateObj.getUTCDay()>0)
      for(var x=0; x<tempDateObj.getUTCDay(); x++)
      {
         iDisabledDayBefore++;
      }
   switch (iMonth)
   {
      case 0:
         iPrevMonth = 11;
         iPrevYear--;
         break;
      default:
         iPrevMonth = iMonth-1;
         break;
   }
   iDaysInPrevMonth = getDaysNumberForMonth(iPrevMonth, iPrevYear);
   var arrTemp = new Array();

   if(tempDateObj.getUTCDay()>0)
   {
      for(var i=iDaysInPrevMonth-iDisabledDayBefore+1; i<=iDaysInPrevMonth;i++)
      {
         arrTemp[arrTemp.length] = i;
      }
      for(var x=0; x<tempDateObj.getUTCDay(); x++)
      {
         document.getElementById("cell_0_" + x).innerHTML = arrTemp[x];
         document.getElementById("cell_0_" + x).onclick = function(){changeDate(2, this)};
         document.getElementById("cell_0_" + x).style.color = "gray";
         iMaxY++;
      }
   }
   else
   {
      for(var i=iDaysInPrevMonth-6; i<=iDaysInPrevMonth;i++)
      {
         arrTemp[arrTemp.length] = i;
      }
      for(var x=0; x<=6; x++)
      {
         document.getElementById("cell_0_" + x).innerHTML = arrTemp[x];
         document.getElementById("cell_0_" + x).onclick = function(){changeDate(2, this)};
         document.getElementById("cell_0_" + x).style.color = "gray";
      }

      iMaxX++;
      iMaxY = 0;
   }

   document.getElementById("cell_" + iMaxX + "_" + iMaxY).innerHTML = "1";
   document.getElementById("cell_" + iMaxX + "_" + iMaxY).onclick = function(){tdclick(this)};

   for(var iCurrentDay = 2; iCurrentDay <= iLastDayOfMonth; iCurrentDay++)
   {
      addDay(iCurrentDay)
   }
   makeDaySelected(iDay);

   var iNextDays = 1;
   for(var i=iMaxY+1; i<=6; i++)
   {
      document.getElementById("cell_" + iMaxX + "_" + i).innerHTML = iNextDays;
      document.getElementById("cell_" + iMaxX + "_" + i).onclick = function(){changeDate(3, this)};
      document.getElementById("cell_" + iMaxX + "_" + i).style.color = "gray";
      iNextDays++;
   }
   if(iMaxX<5)
   {
      iMaxX++;
      iMaxY=0;
      for(var i=iMaxY; i<=6; i++)
      {
         document.getElementById("cell_" + iMaxX + "_" + i).innerHTML = iNextDays;
         document.getElementById("cell_" + iMaxX + "_" + i).onclick = function(){changeDate(3, this)};
         document.getElementById("cell_" + iMaxX + "_" + i).style.color = "gray";
         iNextDays++;
      }
   }
   bIsLoaded = true;

   if (sTodayIs.indexOf("Now")!=-1)
   {

      if(iHour<10){
         self.document.frmCalendar.txt_hh.value="0"+iHour;
      }
      else{
         self.document.frmCalendar.txt_hh.value=iHour;
      }

      if(iMinute<10){
         self.document.frmCalendar.txt_mm.value="0"+iMinute;
      }
      else{
         self.document.frmCalendar.txt_mm.value=iMinute;
      }

      self.document.frmCalendar.txt_hh.focus();
   }
   else
   {
      self.document.frmCalendar.txt_hh.value="";
      self.document.frmCalendar.txt_mm.value="";
   }
   checkToday();
}


function changeDate(mode, obj)
{
   var iNextMonthDayPressed = null;
   if(bIsLoaded)
   {
      switch (mode)
      {
         case 0:
            d.setUTCMonth(obj);
            break;
         case 1:
            d.setUTCFullYear(obj);
            break;
         case 2:
            if(obj != null) iNextMonthDayPressed = obj.innerHTML;
            switch (d.getUTCMonth())
            {
               case 0:
                  d.setUTCMonth(11);
                  d.setUTCFullYear(d.getUTCFullYear()-1);
                  break;
               default:
                  d.setUTCMonth(d.getUTCMonth()-1);
                  break;
            }
            break;
         case 3:
            if(obj != null) iNextMonthDayPressed = obj.innerHTML;
            switch (d.getUTCMonth())
            {
               case 11:
                  d.setUTCMonth(0);
                  d.setUTCFullYear(d.getUTCFullYear()+1);
                  break;
               default:
                  d.setUTCMonth((d.getUTCMonth()+1));
                  break;
            }
            break;
      }
      iMonth = d.getUTCMonth();
      iYear = d.getUTCFullYear();
      clearAllDays();
      iSelDay = iNextMonthDayPressed;
      onafterload(iNextMonthDayPressed);
   }
}

function clearAllDays()
{
   setAllCellsNoColor();
   for(var x=0; x<=5; x++)
      for(var y=0; y<=6; y++)
      {
         document.getElementById("cell_" + x + "_" + y).innerHTML = "";
         document.getElementById("cell_" + x + "_" + y).onclick = "";
         document.getElementById("cell_" + x + "_" + y).style.color = "";
         document.getElementById("cell_" + x + "_" + y).background = "";
      }
   iMaxX = 0;
   iMaxY = 0;
}

function setAllCellsNoColor()
{
   for(var x=0; x<=5; x++)
      for(var y=0; y<=6; y++)
      {
         document.getElementById("cell_" + x + "_" + y).style.backgroundColor = "";
      }
}

function tdclick(obj)
{
   setAllCellsNoColor()
   if(obj.innerHTML!="")
   {
      obj.style.backgroundColor = "#FFAAFF";
      iSelDay = obj.innerHTML;
   }
   fnRetVal();hideCalendar();
}

function fnRetVal()
{
   var retval = "";
   var sSeparator, hourSeparator, separatorBoth;
   var data = document.frmCalendar;
   sSeparator = "/";
   hourSeparator = ":";
   separatorBoth = " ";
   if(iSelDay==null) iSelDay=0;
   var sMonth = String(iMonth+1);
   var sSelDay = iSelDay;
   if(String(iMonth+1).length==1) sMonth = "0" + sMonth;
   if(String(sSelDay).length==1) sSelDay = "0" + sSelDay;
   var sHH = document.getElementById("txt_hh").value+"";
   var sMM = document.getElementById("txt_mm").value+"";

   if ( !(sHH.indexOf(" ")!=-1 || sHH.indexOf("  ")!=-1 || sMM.indexOf(" ")!=-1 || sMM.indexOf("  ")!=-1) ){
      if(sHH.length==1)
      {
         sHH="0"+sHH;
      }

      if(sMM.length==1)
      {
         sMM="0"+sMM;
      }
   }
   else
   {
      sHH="";
      sMM="";
   }

   switch (lngFormat)
   {
      case 0:
         if(iSelDay!=0)
            retval += sMonth + sSeparator + sSelDay + sSeparator + iYear;
         else
            retval = -1;
         break;
      case 1:
         if(iSelDay!=0)
            retval += sSelDay + sSeparator + sMonth + sSeparator + iYear;
         else
            retval = -1;
         break;
      case 2:
         if(iSelDay!=0)
            retval += iYear + sSeparator + sMonth + sSeparator + sSelDay;
         else
            retval = -1;
         break;

      case 3:
         if(iSelDay!=0)
            retval += sMonth + sSeparator + sSelDay + sSeparator + iYear  + separatorBoth + sHH + hourSeparator + sMM;
         else
            retval = -1;
         break;
      case 4:
         if(iSelDay!=0)
            retval += sSelDay + sSeparator + sMonth + sSeparator + iYear + separatorBoth + sHH + hourSeparator + sMM;
         else
            retval = -1;
         break;
      case 5:
         if(iSelDay!=0)
            retval += iYear + sSeparator + sMonth + sSeparator + sSelDay + separatorBoth + sHH + hourSeparator + sMM;
         else
            retval = -1;
         break;
   }
   if(retval!=-1) {document.getElementById(objRetName).value = retval;}
}

function hideElement( elmID, overDiv )
{
   if(ie)
   {
      for( i = 0; i < document.all.tags(elmID).length; i++ )
      {
         obj = document.all.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
         {
            if(obj.id!="selMonth"&&obj.id!="selYear") obj.style.visibility = "hidden";
         }
      }
   }
}

function swapImage(srcImg, destImg)
{
   if (ie)   { document.getElementById(srcImg).setAttribute("src",imgDir + destImg) }
}

function showElement( elmID )
{
   if(ie)
   {
      for( i = 0; i < document.all.tags(elmID).length; i++ )
      {
         obj = document.all.tags( elmID )[i];
       if( !obj || !obj.offsetParent ) continue;
          obj.style.visibility = "";
      }
   }
}

function showCalendar(obj, RetName, dFormat)
{
   isOpen_calendar = -isOpen_calendar;
   var leftpos = 0;
   var toppos = 0;
   aTag = new Object(obj);
   lngFormat = dFormat;
   objRetName = RetName;

   if (dFormat==3||dFormat==4) document.getElementById("div_time").style.display = "block";
   var crossobj = document.getElementById("calendar").style;

   do
   {
      aTag = aTag.offsetParent;
      leftpos += aTag.offsetLeft;
      toppos += aTag.offsetTop;
   }

   while(aTag.tagName!="BODY");

   crossobj.left =   fixedX==-1 ? obj.offsetLeft + leftpos :   fixedX;
   crossobj.top = fixedY==-1 ? obj.offsetTop + toppos + obj.offsetHeight +2 : fixedY;
   crossobj.visibility=(dom||ie)? "visible" : "show";
   hideElement( 'SELECT', document.getElementById("calendar") );
   hideElement( 'APPLET', document.getElementById("calendar") );

   var theInput = obj.value;

   if (theInput!="")
   {
      if ( (theInput.length==8||theInput.length==12) && verifyInput_allNumbers( theInput ) )
      {
         parseInput( theInput, dFormat );
      }
      else
      {
         setTimeNow();
      }
      onafterload_c( iiDay, iiMonth, iiYear, iiHour, iiMinute );
   }
   else
   {
      sTodayIs = "Hoy";
   }
}

function hideCalendar()
{
   isOpen_calendar = -isOpen_calendar;
   showElement( 'select' );
   showElement( 'APPLET' );
   crossMonthObj.visibility = "hidden";
   crossYearObj.visibility = "hidden";
   document.getElementById("calendar").style.visibility = "hidden";
}

function constructMonth()
{
   popDownYear(0);
   document.onselectstart=new Function ("return false")

   if (!monthConstructed)
   {
      sHTML =   ""
      for (i=0; i<12;   i++)
      {
         sName =   monthName[i];
         if (i==iMonth)
         {
            sName =   "<B>" +   sName +   "</B>"
         }
         sHTML += "<tr><td id='m" + i + "' style='cursor:default' onmouseout='this.style.backgroundColor=\"\";this.style.color=\"black\"' onclick='monthConstructed=false;monthSelected=" + i + ";popDownMonth(0);event.cancelBubble=true;changeDate(0, " + i + ");'>&nbsp;" + sName + "&nbsp;</td></tr>"
      }
      document.getElementById("selectMonth").innerHTML = "<table style='font-family:verdana; font-size:9px; border-width:1; border-style:solid; border-color:#000080;' bgcolor='#FFFFFF' cellspacing=0 onmouseover='clearTimeout(timeoutID2)' onmouseout='clearTimeout(timeoutID2);timeoutID2=setTimeout(\"popDownMonth(1)\",100)' " + sHTML + "</table>"
      monthConstructed=true
   }
}

function popUpMonth()
{
   isOpen_DropDownMonth=-1;
   var crossobj1 = document.getElementById("spanMonth");
   constructMonth()
   crossMonthObj.visibility = (dom||ie)? "visible" : "show";
   crossMonthObj.left = parseInt(crossobj1.offsetWidth);
   crossMonthObj.top = parseInt(crossobj1.offsetHeight);
   hideElement( 'select', document.getElementById("selectMonth") );
   hideElement( 'APPLET', document.getElementById("selectMonth") );
   fnShowPic("changeMonth",1);
}

function popDownMonth(fromWhere)
{
   if (fromWhere==1)
   {
      document.onselectstart=new Function ("return false");
   }
   else
   {
      document.onselectstart=new Function ("return true");
   }
   isOpen_DropDownMonth=1;
   crossMonthObj.visibility = "hidden";
   fnShowPic("changeMonth",0);
}

function incYear()
{
   for   (i=0; i<7; i++)
   {
      newYear   = (i+nStartingYear)+1
      if (newYear==iYear)
         txtYear = "&nbsp;<B>" + newYear + "</B>&nbsp;"
      else
         txtYear = "&nbsp;" + newYear + "&nbsp;";
      document.getElementById("y"+i).innerHTML = txtYear;
   }
   nStartingYear ++;
   bShow=true
}

function incYear10()
{
   for (i=0; i<7; i++)
   {
      newYear   = (i+nStartingYear)+10;
      if (newYear==iYear)
         txtYear = "&nbsp;<B>" + newYear + "</B>&nbsp;"
      else
         txtYear = "&nbsp;" + newYear + "&nbsp;";
      document.getElementById("y"+i).innerHTML = txtYear;
   }
   nStartingYear = nStartingYear + 10;
   bShow=true
}

function decYear()
{
   for (i=0; i<7; i++)
   {
      newYear = (i+nStartingYear)-1;
      if (newYear == iYear)
         txtYear = "&nbsp;<B>" + newYear + "</B>&nbsp;"
      else
         txtYear = "&nbsp;" + newYear + "&nbsp;"
      document.getElementById("y"+i).innerHTML = txtYear;
   }
   nStartingYear --;
   bShow=true
}

function decYear10()
{
   for (i=0; i<7; i++)
   {
      newYear = (i+nStartingYear)-5;
      if (newYear==iYear)
         txtYear = "&nbsp;<B>" + newYear + "</B>&nbsp;"
      else
         txtYear = "&nbsp;" + newYear + "&nbsp;"
      document.getElementById("y"+i).innerHTML = txtYear;
   }
   nStartingYear = nStartingYear - 5;
   bShow=true
}

function selectYear(nYear)
{
   yearSelected = parseInt(nYear+nStartingYear);
   yearConstructed = false;
   popDownYear(1);
   changeDate(1,yearSelected);
}

function popDownYear(fromWhere)
{
   if (fromWhere==0)
   {
      document.onselectstart=new Function ("return false");
   }
   else
   {
      document.onselectstart=new Function ("return true");
   }
   isOpen_DropDownYear=1;
   crossYearObj.visibility= "hidden";
}

function constructYear()
{
   popDownMonth(1);
   sHTML =   "";
   if (!yearConstructed)
   {
      sHTML =   "<tr><td align='center' style='cursor:default' onmouseout='clearInterval(intervalID1);this.style.backgroundColor=\"\"' onmousedown='clearInterval(intervalID1);intervalID1=setInterval(\"decYear()\",30)' onmouseup='clearInterval(intervalID1)'>-1</td>" +
      "<td align='center' style='cursor:default' onmouseout='clearInterval(intervalID1);this.style.backgroundColor=\"\"' onmousedown='clearInterval(intervalID1);intervalID1=setInterval(\"decYear10()\",1)' onmouseup='clearInterval(intervalID1)'>-10</td></tr>"
      j =   0;
      nStartingYear = iYear-3;
      for   (i=(iYear-3); i<=(iYear+3); i++)
      {
         sName =   i;
         if (i==iYear)
         {
            sName =   "<B>" +   sName +   "</B>";
         }
         sHTML += "<tr><td colspan=2 id='y" + j + "' style='cursor:default' onmouseout='this.style.backgroundColor=\"\";this.style.color=\"black\"' onclick='selectYear("+j+");event.cancelBubble=true'>&nbsp;" + sName + "&nbsp;</td></tr>";
         j ++;
      }
      sHTML += "<tr><td align='center' style='cursor:default' onmouseout='clearInterval(intervalID2);this.style.backgroundColor=\"\"' style='cursor:pointer' onmousedown='clearInterval(intervalID2);intervalID2=setInterval(\"incYear()\",30)'   onmouseup='clearInterval(intervalID2)'>+1</td>" +
         "<td align='center' style='cursor:default' onmouseout='clearInterval(intervalID2);this.style.backgroundColor=\"\"' style='cursor:pointer' onmousedown='clearInterval(intervalID2);intervalID2=setInterval(\"incYear10()\",1)'   onmouseup='clearInterval(intervalID2)'>+10</td></tr>"
      document.getElementById("selectYear").innerHTML   = "<table style='font-family:verdana; font-size:9px; border-width:1; border-style:solid; border-color:#000080;' bgcolor='#FFFFFF' onmouseover='clearTimeout(timeoutID2)' onmouseout='clearTimeout(timeoutID2);timeoutID2=setTimeout(\"popDownYear(1)\",100)' cellspacing=0>" + sHTML + "</table>"
      yearConstructed   = true;
   }
}

function popUpYear()
{
   isOpen_DropDownYear=-1;
   var crossobj2 = document.getElementById("spanYear");
   var leftOffset;
   constructYear();
   crossYearObj.visibility = (dom||ie)? "visible" : "show";
   leftOffset = parseInt(crossobj2.offsetWidth) + document.getElementById("spanYear").offsetLeft;
   if (ie)
   {
      leftOffset += 6;
   }
   crossYearObj.left = parseInt(crossobj2.offsetWidth) + 65;
   crossYearObj.top = parseInt(crossobj2.offsetHeight);
}

if(document.all && !document.getElementById)
{
   document.getElementById = function(id)
   {
      return document.all[id];
   }
}

var selRow;
var isOpen_calendar = 1;
var isOpen_DropDownMonth = 1;
var isOpen_DropDownYear = 1;

var iiDay = "";
var iiMonth = "";
var iiYear = "";
var iiHour = "";
var iiMinute = "";

var fixedX = -1
var fixedY = -1
var imgDir = "images"
var monthConstructed = false;
var yearConstructed = false;

var yearSelected;
var crossMonthObj, crossYearObj;
var intervalID1,timeoutID2,intervalID2,timeoutID1;
var nStartingYear;

var iMinYear = 1900;
var iMaxYear = 2100;
var iMaxX = 0;
var iMaxY = 0;
var bIsLoaded = false;
var iSelDay = 0;

var lngFormat = 1;
var objRetName;

var d = new Date();
var iMonth = d.getMonth();
var iYear = d.getFullYear();
var iHour = d.getHours();
var iMinute = d.getMinutes();
var todayDate = new Date();
var sTodayIs = "Hoy";

var ie=document.all;
var dom=document.getElementById;

var monthName = new Array("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre+")

document.write(""+

   "<div onclick='bShow=true' id='calendar' style='z-index:+999;position:absolute;visibility:hidden;'>"+
   "<FORM name=\"frmCalendar\" method=\"post\">" +
   "<TABLE width=180 cellSpacing=0 cellPadding=0 border=0 style='BORDER-RIGHT: #a0a0a0 1px solid; BORDER-TOP: #a0a0a0 1px solid; FONT-SIZE: 11px; BORDER-LEFT: #a0a0a0 1px solid; BORDER-BOTTOM: #a0a0a0 1px solid; FONT-FAMILY: arial' align=center valign=middle bgColor=white>" +
   "<TR>"+
      "<TD align=left class=\"buttons\" onclick=\"changeDate(2, null);\" onmouseover=\"document.getElementById('arL').style.filter='';\" onmouseout=\"document.getElementById('arL').style.filter='gray(), alpha(opacity=50)';\">&nbsp;&nbsp;<img id='arL' style=\"filter: 'gray(), alpha(opacity=50)'\" src='../images/lefticon.gif'></TD>"+
       "<TD width=150><span id='spanMonth' style='cursor:pointer' onmouseover='fnShowPic(\"changeMonth\",1);window.status=\"Click to select a month.\"' onmouseout='fnShowPic(\"changeMonth\",0);window.status=\"\"' onclick='controlAndOpen_DropDown(0)'></span>&nbsp;<div id='selectMonth' style='z-index:+999;position:absolute;visibility:hidden;'></div></TD>"+
      "<TD nowrap><span id='spanYear' style='cursor:pointer' onmouseover='fnShowPic(\"changeYear\",1);window.status=\"Click to select a year.\"' onmouseout='fnShowPic(\"changeYear\",0);window.status=\"\"' onclick='controlAndOpen_DropDown(1)'></span><div id='selectYear' style='z-index:+999;position:absolute;visibility:hidden;'></div>&nbsp;</TD>"+
      "<TD nowrap class=\"buttons\" onclick=\"changeDate(3, null);\" onmouseover=\"document.getElementById('arR').style.filter='';\" onmouseout=\"document.getElementById('arR').style.filter='gray(), alpha(opacity=50)';\"><img id='arR' style=\"filter: 'gray(), alpha(opacity=50)'\" src='../images/right.gif'>&nbsp;</TD>"+
   "</TR>"+
   "<TR>"+
      "<TD colspan=4>"+
      "<TABLE style=\"WIDTH: 100%\" cellSpacing=0 cellPadding=0 width=\"100%\" align=center border=0>"+
      "<TR>"+
         "<TD class=\"weekend\">DO</TD>"+
         "<TD class=\"dayofweek\">LU</TD>"+
         "<TD class=\"dayofweek\">MA</TD>"+
         "<TD class=\"dayofweek\">MI</TD>"+
         "<TD class=\"dayofweek\">JU</TD>"+
         "<TD class=\"dayofweek\">VI</TD>"+
         "<TD class=\"weekend\">SA</TD>"+
      "</TR>"+
      "<TR>"+
         "<TD colspan=7><HR></TD>"+
      "</TR>");

for(var a = 0; a <=5; a++)
{
   document.write(""+"<TR id=\"cell_" + String(a) + "\">");
   for(var b = 0; b<=6; b++)
   {
      document.write("<TD id=\"cell_" + String(a) + "_" + String(b) + "\" class=\"alldays\" onmouseover=\"this.className='alldaysup'\" onmouseout=\"this.className='alldays'\" onclick=\"tdclick(this)\"></TD>");
   }
   document.write("</TR>");
}

document.write("</TABLE></TD></TR></TABLE><TABLE width=180 cellSpacing=0 cellPadding=0 border=0 style='BORDER-RIGHT: #a0a0a0 1px solid; BORDER-TOP: #a0a0a0 1px solid; FONT-SIZE: 11px; BORDER-LEFT: #a0a0a0 1px solid; BORDER-BOTTOM: #a0a0a0 1px solid; FONT-FAMILY: arial' align=center valign=middle bgColor=white>" +
   "<TR><TD colspan=2><div id=\"txtToday\" style='cursor:default'></div><div id='div_time' style='display:none'>HH<input type='text' class='hhmm' id='txt_hh' size='1' maxlength='2' onkeyup='if(isNaN(this.value)||this.value>23||this.value<0) this.value=\"\"' onchange='if(isNaN(this.value)||this.value>23||this.value<0) this.value=\"\"'>MM<input type='text' class='hhmm' id='txt_mm' size='1' maxlength='2' onkeyup='if(isNaN(this.value)||this.value>59||this.value<0) this.value=\"\"' onchange='if(isNaN(this.value)||this.value>59||this.value<0)  this.value=\"\"'></div></TD>"+
   "<TD class=\"alldays\"></TD><TD class=\"alldays\"><span onclick=\"hideCalendar();\" id='img_2'>Cancelar</span></TD>"+   "</TR></TABLE></FORM></DIV>");

onafterload(null);

<!--end:Script-->
