<!--

	
// ******************************************************************
// 					VARIABLES - CONFIG
// ******************************************************************
	
	//var dtpk_img_path 	= "dtpk_img";
	var dtpk_img_path 	= "wp-content/themes/gpm/inc/datepicker/dtpk_img/";
	var formName 		= "formRegistro";
	var divDPName		= "divDatePicker";
	var divLegendName	= "divLeyenda";
	
	


// ******************************************************************
// 						BROWSER SNIFFER
// ******************************************************************
	var agt = navigator.userAgent.toLowerCase();
	var major = parseInt(navigator.appVersion);
	var minor = parseFloat(navigator.appVersion);
	var nav  = ((agt.indexOf('mozilla')!=-1) && (agt.indexOf('spoofer')==-1)
				&& (agt.indexOf('compatible') == -1) && (agt.indexOf('opera')==-1)
				&& (agt.indexOf('webtv')==-1) && (agt.indexOf('hotjava')==-1));
	var ie = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1) && (major >= 4));
	var opera = (agt.indexOf("opera") != -1);

	
	
	/*if ( panelDeControl == true ) 
	{
		var dtpk_img_path = "../../tools/datepicker/dtpk_img";
	}
	else
	{
		var dtpk_img_path = "tools/datepicker/dtpk_img";
	}*/

	
// ******************************************************************
// 							FUNCIONES
// ******************************************************************


// ***********************************************
// Función que crea el objeto DtPk
// ***********************************************
	function DtPk(nombre) {
		 //oDtPk.name = theDtPk
		 this.name = nombre;
		 this.dt = new Date();
		 /*document.write('<div id="' + nombre + 'class="DtPk"></div>' + 
		 '');*/
	}

// ***********************************************
// Función que hace un reset del formulario de la fechas
// ***********************************************
	function limpiaTextBox(){
		/*for (i = 0 ; i < document.formRegistro.length; i++) {
			 if (eval ("document.formRegistro.elements[" + i + "].type") == "text")	
				eval ("document.formRegistro.elements[" + i + "].value = ''")
		}*/
		document.formRegistro.reset();
		eval ("document." + formName + ".reset()");
	}

// ***********************************************
// Mostramos el DtPk
// ***********************************************
	function showDP (textBox) 
	{
		// Si no acepta DOM devolvemos
		if ( !document.getElementById ) return;
			
		var aDt = eval("document." + formName + "."+ textBox.name +".value.split(\"/\")");
		
		var dt = null;
		
		// Si la caja no está vacía
		if ( aDt && (aDt.length == 3) ) 
		{
			//alert("debug_0: " + aDt[0]);
			dt = new Date(parseInt(aDt[2]),parseInt(aDt[1]-1),aDt[0]);
			//alert("debug_1: " + dt + " - " + parseInt(aDt[2]) + " - " + (parseInt(aDt[1])-1) + " - " + parseInt(aDt[0]));
			oDtPk.dia_ = aDt[0];
			oDtPk.mes_ = parseInt(aDt[1]-1);
			oDtPk.anio_ = parseInt(aDt[2]);
		}
		else 
		{
			var hoy = new Date();
			oDtPk.dia_ = hoy.getDate();
			oDtPk.mes_ = hoy.getMonth();
			oDtPk.anio_ = hoy.getFullYear();			 
		}
		
		oDtPk.dia_prev = oDtPk.dia_;
		oDtPk.mes_prev = oDtPk.mes_;
		oDtPk.anio_prev = oDtPk.anio_;	
		
		oDtPk.dia_ini = oDtPk.dia_;
		oDtPk.mes_ini = oDtPk.mes_;
		oDtPk.anio_ini = oDtPk.anio_;	
		
		
		// salvamos el valor de la caja de texto para su uso en cliente
		oDtPk.client = textBox;


		// mostramos el DtPk y le enviamos la fecha, la posicion de caja de texto y la funcion obtenerCadenaFecha
		oDtPk.show(dt, textBox.offsetLeft + 330, textBox.offsetTop + 824, obtenerCadenaFecha); 
		//alert("debug_2: " + dt + " - " + textBox.parentNode.style.top + " - " + document.getElementById("img_fecha_documento").style.position);
		 
	}

// ***********************************************
// Establece el valor de la fecha seleccionada para colocarlo en la caja de texto
// ***********************************************
	function obtenerCadenaFecha(dt){
		//alert("debug_4: " + dt.getDate() + " - " + (dt.getMonth() + 1) + " - " + dt.getFullYear());
		oDtPk.client.value = mostrarCero(dt.getDate()) + "/" + mostrarCero((dt.getMonth() + 1)) + "/" + dt.getFullYear();
	}

// ***********************************************
//Función que pone los ceros a los días y meses de un solo dígito
// ***********************************************
	function mostrarCero(num) {
		num = num.toString();
		if (num.length == 1) num = "0" + num;
		return num;
	}


// *****************************************************************************
// 				PROTOTIPO DEL OBJETO DtPk
// *****************************************************************************
// ***********************************************
// Funcion que calcula las coordenadas de posicion de DtPk y lo muestra
// ***********************************************
	DtPk.prototype.show = function(dt, x, y, obtenerCadenaFecha) {
		 if ( dt )
			{ this.dt = dt; }
		 this.obtenerCadenaFecha = obtenerCadenaFecha;
		 document.getElementById(divDPName).style.display = "inline"
		 if ( !this.oSpan ) 
			{ this.render(); }
		 // set coordinates
		 
		 //this.oSpan.style.position = "absolute";
		 this.oSpan.style.left = x;
		 this.oSpan.style.top= y;
		 this.fill();
		 
		 //this.oSpan.style.visibility = "visible";
		 if(!nav) this.oMonth.focus();
	}

// ***********************************************
// Funcion que oculta el DtPk
// ***********************************************
	DtPk.prototype.hide = function() 
	{
		
		if (!oDtPk.client.value) 
		{
			this.dt.setDate(parseInt(oDtPk.dia_prev));
			this.dt.setMonth(parseInt(oDtPk.mes_prev));
			this.dt.setFullYear(parseInt(oDtPk.anio_prev));
			// Cambio realizado por Iago para no mostrar valor al cancelar.
			//this.obtenerCadenaFecha(this.dt);
		}
		if ( this.oSpan ) 
		{ 
			 document.getElementById(divDPName).style.display = "none";
			//this.oSpan.style.visibility = "hidden"; 
		}
		oDtPk.hideLeyenda();
		if(!nav) document.body.focus();
	}

// ****************************************
// Crea y forma la tabla del DtPk
// ****************************************
	DtPk.prototype.render = function() {
		 var oT1, oTR1, oTD1, oTH1;
		 var oT2, oTR2, oTD2;
		
		 /* REPARE - mvg - 06/06/2008 */ 		 
		 this.oSpan = document.getElementById(divDPName);
		 /* END REPARE */ 
		 
		 // Creamos la tabla MAIN <TABLE> ************************************************************
		 this.oSpan.appendChild(oT1 = document.createElement("table"));
		 oT1.className = "tableDTPK";
		 oT1.border = 0;
		 // Cabecera de la tabla DtPk ****************************************************************
			 oTR1 = oT1.insertRow(oT1.rows.length); // 1ª FILA de MAIN <TR> (Cabecera con botones)
				 oTD1 = oTR1.insertCell(oTR1.cells.length);
				 oTD1.colSpan = 7;
				 oTD1.className = 'DtPkTH';
					 oT2 = document.createElement("table"); // tabla de los botones de cabecera  <TABLE> *****
					 oTD1.appendChild(oT2);
					 oT2.border = 0;
						oTR2 = oT2.insertRow(oT2.rows.length);
							 oTD2 = oTR2.insertCell(oTR2.cells.length);// Mes anterior ***************
							 oTD2.title = this.texts.prevMonth;
							 oTD2.onclick = function() { this.oDtPk.onPrev(); }
							 oTD2.oDtPk = this;
							 oTD2.innerHTML = "<input type='button' title='"+this.texts.prevMonth+
											"' value='&lt;&lt;' class='DtPkFormInputs' style='cursor:pointer'>";
							 
							 oTD2 = oTR2.insertCell(oTR2.cells.length); // Select de los meses *******
							 this.oMonth = document.createElement("select");
							 oTD2.appendChild(this.oMonth);
							 this.oMonth.accesskey ="m";
							 this.oMonth.oDtPk = this;
							 this.oMonth.className = "DtPkSelectMonth";
							 this.oMonth.onchange = this.oMonth.onkeyup = function(){this.oDtPk.onMonth();}
							 for (var i=0;i<12;i++){this.oMonth.add(new Option(this.texts.months[i],i),undefined);}
							 
							 oTD2 = oTR2.insertCell(oTR2.cells.length); // Boton de los anos *********
							 this.oYear = document.createElement("input");
							 this.oYear.size = "4";
							 this.oYear.type = "button";
							 
							 oTD2.appendChild(this.oYear);
							 this.oYear.title = this.texts.yearTitle;
							 this.oYear.oDtPk = this;
							 this.oYear.onclick = function(){this.oDtPk.onYear();}
							 this.oYear.className = 'DtPkFormInputs';
							 
							 oTD2 = oTR2.insertCell(oTR2.cells.length);// Mes Siguiente **************
							 oTD2.title = this.texts.nextMonth;
							 oTD2.onclick = function() {this.oDtPk.onNext();}
							 oTD2.oDtPk = this;
							 oTD2.innerHTML = "<input type='button' title='"+this.texts.nextMonth+
											"' value='&gt;&gt;' class='DtPkFormInputs' style='cursor:pointer'>";
			 
			 oTR1 = oT1.insertRow(oT1.rows.length); // 2ª FILA de MAIN <TR> (celdas de los días) ****
				 for ( i = 0; i < 7; i++ ) {	//Cabecera con las iniciales de los días
					oTH1 = document.createElement("th");
					oTR1.appendChild(oTH1);
					oTH1.innerHTML = this.texts.days[i];
					oTH1.className = 'DtPkTH';
					}
				 this.aCells = new Array; // Celdas de los días *************************************
				 for ( var j = 0; j < 6; j++ ) {
					this.aCells.push(new Array);
					oTR1 = oT1.insertRow(oT1.rows.length);
					for ( i = 0; i < 7; i++ ) {
					   this.aCells[j][i] = oTR1.insertCell(oTR1.cells.length);
					   this.aCells[j][i].oDtPk = this;
					   this.aCells[j][i].ondblclick = function() { this.oDtPk.onDayDoubleClick(this); }
					   this.aCells[j][i].onclick = function() { this.oDtPk.onDayClick(this); }
					   
					}
				 }
			 oTR1 = oT1.insertRow(oT1.rows.length); // 3ª FILA de MAIN <TR> (ver el día de hoy y cerrar)
				 oTD1 = oTR1.insertCell(oTR1.cells.length);
				 oTD1.colSpan = 3;
				 oTD1.align = "left";
				/* oTD1.innerHTML = '<a href="" onclick="oDtPk.muestraLeyenda();return false;" title="Leyenda"><img ' +
								'src="'+dtpk_img_path+'/help.gif" border="0" alt="Leyenda" align="absbottom"></a>';*/
				 oTD1.innerHTML = '';
				 
				 oTD1 = oTR1.insertCell(oTR1.cells.length);
				 oTD1.colSpan = 1;
				 oTD1.align = "left";
				 oTD1.innerHTML = '<a href="" onclick="oDtPk.onToday();return false;" title="Ir al mes actual" style="position:relative;"><font ' +
								'style="font-size: 10px;">hoy</font></a>';
				 				 
				 
				 oTD1 = oTR1.insertCell(oTR1.cells.length);
				 oTD1.colSpan = 3;
				 oTD1.align = "right";
				 oTD1.innerHTML = '<a href="" onclick="oDtPk.hide();return false;" title="Cerrar"><img ' +
								'src="'+dtpk_img_path+'/ok.gif" border="0" alt="Cerrar" align="absmiddle"></a><!--&nbsp;<a ' + 									
								'href="" onclick="oDtPk.cancel();return false;" title="Cerrar"><img ' +
								'src="'+dtpk_img_path+'/x.gif" border="0" alt="Cerrar - [X]" align="absmiddle"></a>-->';
	}

// ***********************************************************************
// Rellena el DtPk con los datos de la fecha inicial en blanco (hoy)
// o la que ya haya sido seleccionada anteriormente. 
// ***********************************************************************
	DtPk.prototype.fill = function() {
		 // Primero limpiamos todo
		 this.clear();
		 // Colocamos las fechas en el calendario (DtPk)
		 var nRow = 0;
		 var d = new Date(this.dt.getTime());
		 var dPrevio = new Date(this.dt.getTime());
		 var m = d.getMonth();
		 var hoy = new Date();
		 
		 //Mostramos todos los días del calendario para ese mes colocados en su lugar correspondiente
		 //Desde el primer día del mes hasta que salgamos del mes vamos avanzando de día en día (86400000 mseg)
		 for ( d.setDate(1); d.getMonth() == m; d.setTime(d.getTime() + 86400000) ) 
		 {
			
			if (dPrevio != d.getDay()) // Para solucionar el error que ocurre en octubre que se repiten días
			{
				var nCol = parseInt(d.getDay()) - 1;
				if (nCol < 0) nCol = 6;
				
				// TO DEBUG:
				//if (m==9)alert("nCol: " + nCol + " - day: " + (d.getDay()) + " - day: " + (parseInt(d.getDay()) - 1));
				
				// Aplicamos el título, el valor y el estilo básico
				this.aCells[nRow][nCol].title = "Seleccionar: " + d.getDate() + " de " + this.texts.months[m] + " de " + this.dt.getFullYear();
				this.aCells[nRow][nCol].innerHTML = d.getDate()
				this.aCells[nRow][nCol].className = "DtPkDay";;
				
				// Si es un día del fin de semana aplicamos el estilo css "DtPkDayWeekEnd"
				if ((nCol == 5) || (nCol == 6)) 
				{
					this.aCells[nRow][nCol].className = "DtPkDayWeekEnd";
					
				}	
				// Si el día seleccionado es el día de hoy aplicamos el estilo css "DtPkDayToday"
				if ((d.getDate() == hoy.getDate()) && 
					(d.getMonth() == hoy.getMonth()) && 
					(d.getFullYear() == hoy.getFullYear()) ) {
					this.aCells[nRow][nCol].className = 'DtPkDayToday';}		
				
				// Si el día seleccionado es el guardado anteriormente aplicamos el estilo css "DtPkDaySelected"
				if ((d.getDate() == this.dia_) && 
					(d.getMonth() == this.mes_) && 
					(d.getFullYear() == this.anio_) ) {//( d.getDate() == this.dt.getDate() ) 
					if (this.aCells[nRow][nCol].className == 'DtPkDayToday')
						{this.aCells[nRow][nCol].className = 'DtPkDayTodaySelected';}
					else {this.aCells[nRow][nCol].className = 'DtPkDaySelected';}
					}
		
				// Si llegamos a los siete día de la semana añadimos una nueva fila
				if ( nCol == 6 ) nRow++;
			}
			dPrevio = d.getDay();
		 }
		 
		 // Establecemos el valor del combo de selección "mes"
		 this.oMonth.value = m;
		 
		 // Establecemos el texto del "año"
		 this.oYear.value = this.dt.getFullYear();
	}
// Limpia el DtPk
	DtPk.prototype.clear = function() {
		 for ( var j = 0; j < 6; j++ )
			for ( var i = 0; i < 7; i++ ) {
			   this.aCells[j][i].innerHTML = "&nbsp;"
			   this.aCells[j][i].className = 'DtPkTDBlank';
			}
	}

// **************************************************************
// Al seleccionar el mes anterior o el siguiente ...
// **************************************************************
	DtPk.prototype.onPrev = function() {
		 if ( this.dt.getMonth() == 0 ) {
			this.dt.setFullYear(this.dt.getFullYear() - 1);
			this.dt.setMonth(11);
		 } else {
			this.dt.setMonth(this.dt.getMonth() - 1);
		 }
		 this.fill();
		 if(!nav) this.oSpan.focus();;
	}
	 
	DtPk.prototype.onNext = function() {
		
		 if ( this.dt.getMonth() == 11 ) {
			this.dt.setFullYear(this.dt.getFullYear() + 1);
			this.dt.setMonth(0);
		 } else {
			this.dt.setMonth(this.dt.getMonth() + 1);
		 }
		 //alert(this.dt.getDate() + "-" + this.dt.getMonth() + "-" + this.dt.getFullYear());
		 this.fill();
		 if(!nav) this.oSpan.focus();;
	}

// ***********************************************
// Funcion que va al día actual
// ***********************************************
	DtPk.prototype.onToday = function() {
		 this.dt = new Date(Date());
		 this.fill();
		 if(!nav) this.oSpan.focus();
		 
	}
// ****************************************************************
// Funciones que restablecen la fecha al modificar en el DtPk
// ****************************************************************
/*Al modificar el mes guardamos la seleccion 
y rellenamos de nuevo el DtPk con la nueva fecha */
	DtPk.prototype.onMonth = function() 
	{
		 this.dt.setMonth(this.oMonth.value);
		 this.fill();
		 if(!nav) this.oSpan.focus();
	}

/*Al haber hecho click en el año mostramos un prompt de entrada 
y rellenamos de nuevo el DtPk con la nueva fecha */
	DtPk.prototype.onYear = function() 
	{
		 var y = parseInt(prompt(this.texts.yearQuestion, this.dt.getFullYear()));
		 if ( !isNaN(y) ) {
			this.dt.setFullYear(parseInt(y));
			this.fill();
			if(!nav) this.oSpan.focus();
		}
	}

/*Al seleccionar el dia guardamos la seleccion, ocultamos el DtPk 
y llamamos a obtenerCadenaFecha para devolver el valor */
	DtPk.prototype.onDayDoubleClick = function(oCell) 
	{
		var d = parseInt(oCell.innerHTML);
		var cadena = oCell.title
		this.client.title = "D" + oCell.title.substr("Seleccionar d".length);
		if ( d > 0 )
		{
			this.dt.setDate(d);
			this.hide();
			this.obtenerCadenaFecha(this.dt);
		}
		if(!nav) document.focus();
	}

/*Al seleccionar el dia guardamos la seleccion, ocultamos el DtPk 
y llamamos a obtenerCadenaFecha para devolver el valor */
	DtPk.prototype.onDayClick = function(oCell) 
	{
		var d = parseInt(oCell.innerHTML);
		var cadena = oCell.title
		this.client.title = "D" + oCell.title.substr("Seleccionar d".length);
		if ( d > 0 )
		{
			this.dt.setDate(d);
			
			this.dia_prev = this.dia_;
			this.mes_prev = this.mes_;
			this.anio_prev = this.anio_;				
			
			this.dia_ = this.dt.getDate();
			this.mes_ = this.dt.getMonth();
			this.anio_ = this.dt.getFullYear();					
			
			this.obtenerCadenaFecha(this.dt);
			this.fill();
			//this.hide();
			//this.oSpan.style.visibility = "visible";
		}
		if(!nav) document.focus();
	}
		

/*Al pulsar el boton "cerrar" cancelamos la accion del DtPk */		
	DtPk.prototype.cancel = function() 
	{
		var cancel_button;
		// Cambio realizado por Iago para no mostrar mensajepara cancelar
		//cancel_button = confirm ("¿Desea cancelar la selección?");
		cancel_button = true;
		//d = new Date(parseInt(oDtPk.anio_prev),(parseInt(oDtPk.mes_prev)-1),parseInt(oDtPk.dia_prev));
		// dt = new Date(parseInt(aDt[2]),parseInt(aDt[1]-1),aDt[0]);
		if (cancel_button) 
		{
			/*this.dt.setDate(parseInt(oDtPk.dia_prev));
			this.dt.setMonth(parseInt(oDtPk.mes_prev));
			this.dt.setFullYear(parseInt(oDtPk.anio_prev));
			this.obtenerCadenaFecha(this.dt);*/
			this.hide();
		}
		else 
		{
			this.dt.setDate(parseInt(oDtPk.dia_ini));
			this.dt.setMonth(parseInt(oDtPk.mes_ini));
			this.dt.setFullYear(parseInt(oDtPk.anio_ini));
			this.obtenerCadenaFecha(this.dt);			
		}
		if(!nav) document.focus();
	}

// **************************************************************
// Textos del DtPk
// **************************************************************
	DtPk.prototype.texts = 
	{
		 months: [
			"Enero", "Febrero", "Marzo", 
			"Abril", "Mayo", "Junio", 
			"Julio", "Agosto", "Septiembre", 
			"Octubre", "Noviembre", "Diciembre"
		 ],
		 days: ["L", "M", "X", "J", "V", "S", "D"],  //["D", "L", "M", "X", "J", "V", "S"],
		 prevMonth: "Mes anterior",
		 nextMonth: "Mes siguiente",
		 yearTitle: "Cambiar",
		 yearQuestion: "Introduzca uno nuevo:"
	}

// ***********************************************************************
// Opciones de la leyenda
// ***********************************************************************
	DtPk.prototype.muestraLeyenda = function() 
	{
		this.oLeyen = document.getElementById(divLegendName);
		
		if (this.oLeyen.style.visibility == "visible") 
		{
			this.hideLeyenda();
		}
		else 
		{
			var theLeft;
			var theTop;
	
			if (nav) 
			{
				theLeft = parseInt(this.client.offsetLeft) + parseInt(this.oSpan.offsetWidth) + 3;
			}
			else 
			{
				theLeft = parseInt(this.client.offsetLeft) + parseInt(this.oSpan.clientWidth) + 3;
			}
			
			theLeft = theLeft + 170	
			theTop = parseInt(this.oSpan.style.top)
	
			this.oLeyen.style.left = theLeft.toString();
			this.oLeyen.style.top = theTop.toString();
			
			this.oLeyen.onclick = function(){oDtPk.hideLeyenda();}
			this.oLeyen.title = "Cerrar";
			
			/*	for (vari in this.oSpan)
					document.getElementById("capa").innerHTML += "" +
					vari + " = " + eval("this.oSpan." + vari ) + "<br>"*/
					
			this.oLeyen.innerHTML = '' +
				'<table border="0" class="DtPkLeyenda">' +
					'<tr><td class="DtPkDay">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td><td>Día normal</td></tr>' +
					'<tr><td class="DtPkDayWeekEnd">&nbsp;</td><td>Fin de semana</td></tr>' +
					'<tr><td class="DtPkDayToday">&nbsp;</td><td>Hoy</td></tr>' +
					'<tr><td class="DtPkDaySelected">&nbsp;</td><td>Seleccionado</td></tr>' +
					'<tr><td class="DtPkDayTodaySelected" style="cursor: default">&nbsp;</td><td>Hoy Seleccionado</td></tr>' +
					'<tr><td style="cursor: default" colspan="2">&nbsp;</td></tr>' +
					'<tr><td style="cursor: default" colspan="2">Seleccionar&nbsp;-&gt;&nbsp;click</td></tr>' +
					'<tr><td style="cursor: default" colspan="2">Aplicar&nbsp;-&gt;&nbsp;doble&nbsp;click&nbsp;o&nbsp;<img src="'+dtpk_img_path+'/ok.gif" border="0" alt="Ok" align="absbottom"></td></tr>' +
					'<tr><td style="cursor: default" colspan="2">Cerrar&nbsp;-&gt;&nbsp;<img src="'+dtpk_img_path+'/x.gif" border="0" alt="Cerrar" align="absbottom"></td></tr>' +
				'</table>';
				
			this.oLeyen.style.visibility = "visible";	
			if(!nav) this.oLeyen.focus();	
		}
	}
	DtPk.prototype.hideLeyenda = function() {
		if (this.oLeyen) {
			this.oLeyen.style.visibility = "hidden";
			if(!nav) {document.body.focus();}
			
		}
	}
//-->
