//
// ------------------------------------------------------------------------------
// LIBRERIA DE CONTENIDO GENERAL - EN EXTENSIBLE PERSONAL (.EJS) JAVASCRIPT v1.2
//
// Librería : de proposito general en ejs.
// Creado   : eMans
// Iniciado : agosto/2002
//
// ------------------------------------------------------------------------------
//
// INICIALIZACIÓN DE VARIBLES GLOBALES DE LA LIBRERÍA.
//
// [1] UTILIZADAS EN : function [e]fecto[V]entana[P]riv( toNewVentana )
//
var EVP_gnResolucionAncho = 750
var EVP_gnResolucionAlto  = 550
//
// [1] FIN
//
////////////////////////////////////////////////////////
//
//	FUNCIONES :
//
//				fechaFormatoLargo( toFecha ) : 
//					Parámetro : objeto fecha a formatear.
//					Retorna   : string fecha formateada.
//
//			    fechaFormatoCorto( toFecha ) : 
//					Parámetro : objeto fecha a formatear.
//					Retorna   : string fecha formateada.
//
//			    frmVentanaPriv( tnTipo, tnAplEfecto ) : 
//					Parámetro : numerico tipo. 
//						tntipo      = Valor=1/2/3 = Acceso: Intranet/SClientes/SProveedores
//						tnAplEfecto = Valor=0/1 = NO aplica y SI aplica efecto, respectivamente.
//					Retorna   : objeto nueva ventana.
//						ofrmVentanaPriv : es el objeto de referencia a la nueva ventana.
//
//				openBrowse( tcURL, tcParametros )
//					Parámetros :
//						tcURL : URL que se abrirá en la nueva ventana.
//						tcParametros : Parámetros del comando window.open (opciones disponibles para la nueva ventana)
//									   Ejemplo : debe estar entre comillas toda la opción de tcParametro.	
//												"toolbar=no,location=no,directories=no,status=yes,
//												menubar=no,scrollbars=yes,resizable=yes,width=1,
//												height=1,top=0,left=0,copyhistory=no"
//
//				frmDBrowser( tnTipo, tnWin, tnAplEfecto, tcPathURL, tcP1Adicional ) : 
//
//					Parámetros : 
//						tnTipo = Valor=1/2/3/ = Acceso: Intranet/SClientes/SProveedores/Sistema de Consulta/Ficha artículo
//						tnWin  = Valor = 0 Ventana tipo Windows
//									   = 1 Ventana tipo Chrono : CUIDADO CON LA VERSIÓN 6.1 DE IE DA PROBLEMAS.
//						tnAplEfecto = Valor=0/1 = NO aplica y SI aplica efecto, respectivamente.
//						tcPathURL     = Aquí indicamos el path donde se encuentra la página ASP
//										que se va ha ejecutar-
//									    NOTA : Este parámetro al igual que tcP1Adicional, es usado en el tnTipo = 5
//										       mostrar ficha de información del producto ( artículo )
//						tcP1Adicional = Aquí indicamos un parámetro adicional.
//									    Este parámetro es pasado a la página ASP que se indicar en la URL de llamada
//										de la función.
//										NOTA : En la concatenación de la URL con tcP1Adicional, se interpone "?"
//										EJEMPLO : theURL="../_fichas/gestion/ficha_articulo.asp" + "?" + tcP1Adicional
//
//					Retorna   : objeto nueva ventana.
//
//					NOTA : ESTA FUNCIÓN REALIZA LO MISMO QUE frmVentanaPriv.
//						   LA DIFERENCIA ESTA EN QUE ESTA UNA CLASE PARA EL DISEÑO DE LA VENTANA
//
//				frmFullScreen( toWindow, tnMenosAncho, tnMenosAlto ) : Apertura al máximo ventana en base a la resolución.
//					Parámetros : toWindow     : Objeto window.
//								 tnMenosAncho : Valor númerico que disminuye el ancho de la ventana a Full.
//								 tnMenosAlto  : Valor númerico que disminuye el alto de la ventana a Full.
//
//					NOTA : PARA LAS VENTANAS GENERADAS CON LA FUNCIÓN frmDBrowser,
//						   TENEMOS QUE PASARLE EL PARÁMETRO top.window, YA QUE DICHO
//						   OBJETO SE DEFINE SE ESA FORMA EN DICHA FUNCIÓN.
//
//					IMPORTANTE : SI LA VENTANA SE ABRE CON frmDBrowser con animación (tnAplEfecto=1)
//								 Y LUEGO UTLIZAMOS ESTA FUNCIÓN CON MENOS ANCHO o ALTO, NO RESPONDERÁ
//								 YA QUE LA ANIMACIÓN SE BASARÁ EN LA APERTURA HASTA EL MÁXIMO y MÍNIMO
//								 QUE ESTAMOS USANDO EN LA RESOLUCIÓN POR MEDIO DE UNA VARIABLE FIJA.
//
//				chequeaCamposOBL(toForm)     :
//					Parámetro : objeto formulario.
//					Retorna   : true o false
//								False = mensaje de alerta. Se utiliza la función alert( )
//
// 				Funciones de botones de ratón : Anula los botones del ratón.
//
//					[1] MouseBtnAnulaDerecha( )
//          		[2] MouseBtnAnulaIzquierda( )
//					[3] MouseBtnAnulaDrchaIza( )
//
//			    frmSubmit( toDocForm ) : Ejecuta el submit del documento, por medio de JavaScript.
//						       			 Utilizado para los objetos imagenes y que hacen un submit.
//
//					Parámetro : Objeto documento y formulario.
//								Ejemplo : document.forms[0]
//								Utilizamos el parámetro para los casos que pudiera haber más
//								de un documento, por medio de frames.
//
//								Ejecuta la orden JavaScript : submit( )
//					
//					NOTA : SI USAMOS UN OBJETO IMAGEN PARA REALIZAR EL SUBMIT.
//						   LA FUNCIÓN FRMSUBMIT, REALIZARÁ DE FORMA AUTOMÁTICA
//						   LA SIMULACIÓN DEL EVENTO onSubmit DEL <FORM>
//						   LLAMANDO A LA FUNCIÓN DE COMPROBACIÓN DE DATOS OBLIGATORIOS = chequeaCamposOBL(toForm)
//
// 				frmReset( toDocForm ) : Simulamos el botón del tipo Reset para un formulario.
//						       			Utilizado para los objetos imagenes y que hacen un reset.
//
//					Parámetro : Objeto documento y formulario.
//								Ejemplo : document.forms[0]
//								Utilizamos el parámetro para los casos que pudiera haber más
//								de un documento, por medio de frames.
//
//								Ejecuta código creado para tal efecto.
//
//				function frmCerrar( toWindow ) : Cierra la ventana.
//
//					Parámetro : Objeto window.
//
//					NOTA : PARA LAS VENTANAS GENERADAS CON LA FUNCIÓN frmDBrowser,
//						   TENEMOS QUE PASARLE EL PARÁMETRO top.window, YA QUE DICHO
//						   OBJETO SE DEFINE SE ESA FORMA EN DICHA FUNCIÓN.
//
//				function frmInfoCargaPagina( tcTexto ) : Información que se esta cargando la página.
//												 		 Muestra el texto de cargando página.
//
//				function frmVerFichaArticulo( tcPathURL, toCampoTexto ) : Esta función llama a frmDBrowser(5).
//
//					NOTA : Se muestra la ficha del artículo.
//						   Recibe como parámetro el objeto del campo que realiza la llamda
//						   porque necesitamos el valor ID del articulo, que será procesado en la
//						   página ASP que será llamada desde frmDBrowser(opc=5)
//															  	
//
//////////////////////////////////////////////////////
//
// ***************************************************
// [INICIO] Funciones para personalización de Fecha. *
// ***************************************************
//
	function creaArray( tnElementos )
	{
		this.length = tnElementos
		//
		return this
	}
	//
	// Variable array con los Meses.
	//
	taMes = new creaArray( 12 )
	taMes[ 1] = "Enero"
	taMes[ 2] = "Febrero"
	taMes[ 3] = "Marzo"
	taMes[ 4] = "Abril"
	taMes[ 5] = "Mayo"
	taMes[ 6] = "Junio"
	taMes[ 7] = "Julio"
	taMes[ 8] = "Agosto"
	taMes[ 9] = "Setiembre"
	taMes[10] = "Octubre"
	taMes[11] = "Noviembre"
	taMes[12] = "Diciembre"
	//
	// Variable array con los días.
	//
	taDia = new creaArray( 7 )
	taDia[1] = "Lunes"
	taDia[2] = "Martes"
	taDia[3] = "Miércoles"
	taDia[4] = "Jueves"
	taDia[5] = "Viernes"
	taDia[6] = "Sábado"
	taDia[7] = "Domingo"
	//
	function fechaFormatoLargo( toFecha )
	{
		var tnDia  = toFecha.getDay( )
		var tcDia  = ( tnDia == 0 ) ? taDia[7] : taDia[ toFecha.getDay( ) ]
		var tcMes  = taMes[ toFecha.getMonth( ) + 1 ]
		var tcAnno = toFecha.getYear( )
		//
		return tcDia + ", " + toFecha.getDate( ) + " de " + tcMes + " de " + tcAnno
	}
	//
	function fechaFormatoCorto( toFecha )
	{
		var tcDia  = toFecha.getDate( )
		var tcMes  = toFecha.getMonth( ) + 1
		var tcAnno = toFecha.getYear( )
		//
		return tcDia + "/" + tcMes + "/" + tcAnno
	}
//
// ************************************************
// [FIN] Funciones para personalización de Fecha. *
// ************************************************
//
// *******************************************************
// [INICIO] Función para para iniciar las ventanas, de   *
//          los formularios privados, ocultando la URL.  *
//          NOTA : UTILIZAMOS EL MISMO NOMBRE PARA HACER *
//                 REFERENCIA A LA VENTANA DE ESTA FORMA *
//                 SIEMPRE SE CARGA EN LA MISMA VENTANA. *
//                        								 *
// PARÁMETROS :				                             *
//                        								 *
//			tnTipo : INDICA LA PÁGINA PARA ABRIR.        *
//                   Valor = 1 : Acceso zona privada.    *
// 					 Valor = 2 : Solicitud de cliente.   *
//					 Valor = 3 : Solicitud de proveedor. *
//                        								 *
//          Parámetros del objeto.Window				 *
//                        								 *
//				[ 1] : string = url                      *
//				[ 2] : string = nombre de la ventana     *
//				[ 3] : toolbar     = yes/no [botones hacia atras,etc.]             *
//				[ 4] : location    = yes/no [campo que muestra la url actual.]     *
//				[ 5] : directories = yes/no [novedades y otros botones de la fila] *
//				[ 6] : status      = yes/no [barra de estado]                      *
//				[ 7] : menubar     = yes/no [barra de menú en la parte superior]   *
//				[ 8] : scrollbars  = yes/no [desplazamiento]                       *
//				[ 9] : resizable   = yes/no [cambiar de tamaño]                    *
//				[10] : copyhistory = yes/no [duplicar historial]                   *
//				[11] : numérico width  = [ancho de la ventana]                     *
//				[12] : numérico height = [alto de la ventana]                      *
//				[13] : numérico left   = [posición izquierda]                      *
//				[14] : numérico top    = [posición superior]                       *
// *********************************************************************************
//
	function efectoVentanaPriv( toNewVentana )
	{
		var lnIndice     = 0
		var lnAncho      = 1
		var lnAlto       = 1
		var lnIncremento = 20
		//
		for ( lnIndice = 0; lnIndice <= ( EVP_gnResolucionAncho / lnIncremento ); lnIndice++ )
		{
			//		
			// ESTABLECEMOS EL ANCHO y ALTO DEL OBJETO.
			//
			toNewVentana.resizeTo( lnAncho, lnAlto )
			//
			// ACTUALIZAMOS LOS INCREMENTOS.
			//
			lnAncho += lnIncremento
			//
			if ( lnAlto <= EVP_gnResolucionAlto )
			{
				lnAlto += lnIncremento
			}			
		}
		return false
		//
		// NOTA : ESTE SISTEMA ES MUY INTERESANTE.
		//        PERO LO HEMOS ANULADO CAMBIANDO POR EL SISTEMA 
		//		  DE BUCLE FOR y NO POR EL TEMPORIZADOR. 
		//		  EL PROBLEMA ES QUE HABRÍA QUE HACER UN RESET DE LA 
		//		  PÁGINA QUE REALIZA LA LLAMADA, PARA ACTUALIZAR EL
		//		  TEMPORIZADOR, YA QUE ESTE SE INICIARÍA POR VARIABLES
		//		  GLOBALES Y NO POR VARIABLES DENTRO DE LA MISMA FUNCIÓN
		//
		//if ( EVP_gnAncho <= EVP_gnResolucionAncho )
		//{
		//	//
		//	loVentana = toNewVentana
		//	//
		//	// ESTABLECEMOS EL ANCHO y ALTO DEL OBJETO.
		//	//
		//	toNewVentana.resizeTo( EVP_gnAncho, EVP_gnAlto )
		//	//
		//	// ACTUALIZAMOS LOS INCREMENTOS.
		//	//
		//	EVP_gnAncho += 20
		//	//
		//	if ( EVP_gnAlto <= EVP_gnResolucionAlto )
		//	{
		//		EVP_gnAlto  += 20
		//	}			
		//	//
		//	// APLICAMOS RECURSIVIDAD.
		//	//
		//	EVP_timer = setTimeout("efectoVentanaPriv( loVentana )",1)
		//}
		//else 
		//{
		//	//
		//	// UNA VEZ FINALIZADO NOS ASEGURAMOS DE ELIMINAR EL TEMPORIZADOR.
		//	//
		//	clearTimeout( EVP_timer )
		//	//
		//}
	}
	function frmVentanaPriv( tnTipo, tnAplEfecto )
	{
		//
		var lnAncho = (tnAplEfecto == 0)?EVP_gnResolucionAncho:1
		var lnAlto  = (tnAplEfecto == 0)?EVP_gnResolucionAlto:1
		//
		if (tnTipo == 1)
		{
			var ofrmVentanaPriv = window.open("_fichas/acceso/azonaprivada.asp","frmVentanaPriv","toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,resizable=yes,width=1,height=1,top=0,left=0,copyhistory=no")
			//
			ofrmVentanaPriv.resizeTo( lnAncho, lnAlto )
			//
			// VEMOS SI TENEMOS QUE APLICAR EL EFECTO
			//
			if ( tnAplEfecto == 1 )
			{
				efectoVentanaPriv( ofrmVentanaPriv )
			}	
		}
		else
		{
			if (tnTipo == 2)
			{
				var ofrmVentanaPriv = window.open("_fichas/solicitudes/scliente.asp","frmVentanaPriv","toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,resizable=yes,width=1,height=1,top=0,left=0,copyhistory=no")
				//
				ofrmVentanaPriv.resizeTo( lnAncho, lnAlto )
				//
				// VEMOS SI TENEMOS QUE APLICAR EL EFECTO.
				//
				if ( tnAplEfecto == 1 )
				{
					efectoVentanaPriv( ofrmVentanaPriv )
				}	
			}
			else
			{
				if (tnTipo == 3)
				{
					var ofrmVentanaPriv = window.open("_fichas/solicitudes/sproveedor.asp","frmVentanaPriv","toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,resizable=yes,width=1,height=1,top=0,left=0,copyhistory=no")
					//
					ofrmVentanaPriv.resizeTo( lnAncho, lnAlto )
					//
					// VEMOS SI TENEMOS QUE APLICAR EL EFECTO.
					//
					if ( tnAplEfecto == 1 )
					{
						efectoVentanaPriv( ofrmVentanaPriv )
					}	
				}	
			}
		}	
	}
//
// *************************************************
// [FIN] Funciones para para iniciar las ventanas, *
//       de los formularios privados.              *
// *************************************************
//
// *****************************************************
// [INICIO] Función para apertura normal del - BROWSER *
//                        							   *
// PARÁMETROS :				                           *
//
//
//*****************************************************
//
	function openBrowse( tcURL, tcParametros )
		  {
		  window.open(tcURL, "", tcParametros)
		  }		
//
// *************************************************
// [FIN] Funciones para apertura normal de browser *
// *************************************************
//
// ************************************************************
// [INICIO] Función para DISEÑO VENTANA - BROWSER        	  *
//                        								 	  *
// PARÁMETROS :				                             	  *
//                        								 	  *
//			tnTipo : INDICA LA PÁGINA PARA ABRIR.        	  *
//                   Valor = 1 : Acceso zona privada.    	  *
// 					 Valor = 2 : Solicitud de cliente.   	  *
//					 Valor = 3 : Solicitud de proveedor. 	  *
//                        								 	  *
// 			tnAplEfecto = INDICA SI SE APLICA EFECTO.    	  *
//					 Valor = 0 : NO aplica.              	  *
//					 Valor = 1 = SI aplica.                   *
//                                                            *
//			tcP1Adicional = AQUÍ PODEMOS INCLUIR UN PARAMETRO *
//						    ADICIONAL QUE SERÁ PASADO A UNA   *
//                          PÁGINA ASP.                       *
// ************************************************************
//
	function frmDBrowser( tnTipo, tnWin, tnAplEfecto, tcPathURL, tcP1Adicional )
	{
		//
		var lnAncho = (tnAplEfecto == 0)?EVP_gnResolucionAncho:1
		var lnAlto  = (tnAplEfecto == 0)?EVP_gnResolucionAlto:1
		//
		// ESTO LO USAMOS CUANDO TNWIN = 1, CUANDO TNWIN = 0
		// ESTE CALCULO LO REALIZAMOS EN LA FUNCIÓN CORRESPONDIENTE : openChromeLess
		// CON ESTO LO QUE HACEMOS ES CENTRAR LA VENTANA, EN BASE AL TAMAÑO FINAL
		// QUE TENDRÁ. DEBEMOS DE TENER EN CUENTA QUE SI TIENE EFECTO EL ANCHO y ALTO ES = 1
		//
		var windowW = (tnAplEfecto == 1)?EVP_gnResolucionAncho:lnAncho
		var windowH = (tnAplEfecto == 1)?EVP_gnResolucionAlto:lnAlto
		//
		var windowX = Math.ceil( (window.screen.width  - windowW) / 2 );
		var windowY = Math.ceil( (window.screen.height - windowH) / 2 );
		//
		if (tnTipo == 1)
		{
			//
			// ACCESO ZONA PRIVADA.
			//
			theURL="_fichas/acceso/azonaprivada.asp"
			wname ="oFrmAccesoZP"
			windowCERRARa 		= "_clases/img/close_a.gif"
			windowCERRARd 		= "_clases/img/close_d.gif"
			windowCERRARo 		= "_clases/img/close_o.gif"
			windowNONEgrf 		= "_clases/img/none.gif"
			windowCLOCK		    = "_clases/img/clock.gif"
			windowREALtit		= "Zona privada"					// Título de la barra = Task titulo.
			windowTIT 	    	= "<font face=verdana size=1> &nbsp Acceso privado</font>"
			//
			windowBORDERCOLOR   	= "#000000"
			windowBORDERCOLORsel	= "#000000"
			windowTITBGCOLOR    	= "#93BEE2"
			windowTITBGCOLORsel 	= "#FBBC20"
			//
			if (tnWin == 0)
				{
				openchromeless(theURL, wname, lnAncho, lnAlto, windowCERRARa, windowCERRARd, windowCERRARo, windowNONEgrf, windowCLOCK, windowTIT, windowREALtit , windowBORDERCOLOR, windowBORDERCOLORsel, windowTITBGCOLOR, windowTITBGCOLORsel, tnAplEfecto)
				}
			else
				{
				var poNewWindow1 = window.open( theURL,wname,"toolbar=no,location=no,directories=no,status=no, menubar=no,scrollbars=yes,resizable=no,copyhistory=no,width=" + lnAncho + ",height=" + lnAlto + ",left=" + windowX + ",top=" + windowY )
				//
				if (tnAplEfecto==1)
					{
					efectoVentanaPriv( poNewWindow1 )
					}
				//
				}
			//
		}
		else
		{
			if (tnTipo == 2)
			{
				//
				// ACCESO SOLICITUD CLIENTE.
				//
				theURL="_fichas/solicitudes/scliente.asp"
				wname ="oFrmAccesoSC"
				windowCERRARa 		= "_clases/img/close_a.gif"
				windowCERRARd 		= "_clases/img/close_d.gif"
				windowCERRARo 		= "_clases/img/close_o.gif"
				windowNONEgrf 		= "_clases/img/none.gif"
				windowCLOCK		    = "_clases/img/clock.gif"
				windowREALtit		= "Solicitud"					// Título de la barra = Task titulo.
				windowTIT 	    	= "<font face=verdana size=1> &nbsp Solicitud cliente</font>"
				//
				windowBORDERCOLOR   	= "#000000"
				windowBORDERCOLORsel	= "#000000"
				windowTITBGCOLOR    	= "#93BEE2"
				windowTITBGCOLORsel 	= "#FBBC20"
				//
				if (tnWin == 0)
					{
					openchromeless(theURL, wname, lnAncho, lnAlto, windowCERRARa, windowCERRARd, windowCERRARo, windowNONEgrf, windowCLOCK, windowTIT, windowREALtit , windowBORDERCOLOR, windowBORDERCOLORsel, windowTITBGCOLOR, windowTITBGCOLORsel, tnAplEfecto)
					}
				else
					{
					var poNewWindow2 = window.open( theURL,wname,"toolbar=no,location=no,directories=no,status=no, menubar=no,scrollbars=yes,resizable=no,copyhistory=no,width=" + lnAncho + ",height=" + lnAlto + ",left=" + windowX + ",top=" + windowY )
					//
					if (tnAplEfecto==1)
						{
						efectoVentanaPriv( poNewWindow2 )
						}
					//
					}
				//
			}
			else
			{
				if (tnTipo == 3)
				{
					//
					// ACCESO SOLICITUD PROVEEDOR.
					//
					theURL="_fichas/solicitudes/sproveedor.asp"
					wname ="oFrmAccesoSP"
					windowCERRARa 		= "_clases/img/close_a.gif"
					windowCERRARd 		= "_clases/img/close_d.gif"
					windowCERRARo 		= "_clases/img/close_o.gif"
					windowNONEgrf 		= "_clases/img/none.gif"
					windowCLOCK		    = "_clases/img/clock.gif"
					windowREALtit		= "Solicitud"					// Título de la barra = Task titulo.
					windowTIT 	    	= "<font face=verdana size=1> &nbsp Solicitud proveedor</font>"
					//
					windowBORDERCOLOR   	= "#000000"
					windowBORDERCOLORsel	= "#000000"
					windowTITBGCOLOR    	= "#93BEE2"
					windowTITBGCOLORsel 	= "#FBBC20"
					//
					if (tnWin == 0)
						{
						openchromeless(theURL, wname, lnAncho, lnAlto, windowCERRARa, windowCERRARd, windowCERRARo, windowNONEgrf, windowCLOCK, windowTIT, windowREALtit , windowBORDERCOLOR, windowBORDERCOLORsel, windowTITBGCOLOR, windowTITBGCOLORsel, tnAplEfecto)
						}
					else
						{
						var poNewWindow3 = window.open( theURL,wname,"toolbar=no,location=no,directories=no,status=no, menubar=no,scrollbars=yes,resizable=no,copyhistory=no,width=" + lnAncho + ",height=" + lnAlto + ",left=" + windowX + ",top=" + windowY )
						//
						if (tnAplEfecto==1)
							{
							efectoVentanaPriv( poNewWindow3 )
							}
						//
						}						
					//
				}
				else
				{
					if (tnTipo == 4)
					{
						//
						// SISTEMA DE BÚSQUEDA ( PARA AÑADIR PRODUCTO AL PRESUPUESTO )
						//
						theURL="buscar_inicia.asp"
						wname ="oFrmSConsulta"
						windowCERRARa 		= "../../_clases/img/close_a.gif"
						windowCERRARd 		= "../../_clases/img/close_d.gif"
						windowCERRARo 		= "../../_clases/img/close_o.gif"
						windowNONEgrf 		= "../../_clases/img/none.gif"
						windowCLOCK		    = "../../_clases/img/clock.gif"
						windowREALtit		= "Consulta"					// Título de la barra = Task titulo.
						windowTIT 	    	= "<font face=verdana size=1> &nbsp Sistema de consulta</font>"
						//
						windowBORDERCOLOR   	= "#000000"
						windowBORDERCOLORsel	= "#000000"
						windowTITBGCOLOR    	= "#FBBC20"
						windowTITBGCOLORsel 	= "#93BEE2"
						//
						if (tnWin == 0)
							{
							openchromeless(theURL, wname, lnAncho, lnAlto, windowCERRARa, windowCERRARd, windowCERRARo, windowNONEgrf, windowCLOCK, windowTIT, windowREALtit , windowBORDERCOLOR, windowBORDERCOLORsel, windowTITBGCOLOR, windowTITBGCOLORsel, tnAplEfecto)
							}
						else
							{
							var poNewWindow4 = window.open( theURL,wname,"toolbar=no,location=no,directories=no,status=no, menubar=no,scrollbars=yes,resizable=no,copyhistory=no,width=" + lnAncho + ",height=" + lnAlto + ",left=" + windowX + ",top=" + windowY )
							//
							if (tnAplEfecto==1)
								{
								efectoVentanaPriv( poNewWindow4 )
								}
							//
							}						
							//
					}
					else
					{
						if (tnTipo == 5)
						{
							//
							// MUESTRA LA FICHA DEL ARTICULO.
							//
							theURL = tcPathURL + "ficha_articulo.asp" + "?" + tcP1Adicional
							wname ="oFrmFArt"
							windowCERRARa 		= "../../_clases/img/close_a.gif"
							windowCERRARd 		= "../../_clases/img/close_d.gif"
							windowCERRARo 		= "../../_clases/img/close_o.gif"
							windowNONEgrf 		= "../../_clases/img/none.gif"
							windowCLOCK		    = "../../_clases/img/clock.gif"
							windowREALtit		= "Ficha artículo"					// Título de la barra = Task titulo.
							windowTIT 	    	= "<font face=verdana size=1> &nbsp Ficha artículo</font>"
							//
							windowBORDERCOLOR   	= "#000000"
							windowBORDERCOLORsel	= "#000000"
							windowTITBGCOLOR    	= "#FBBC20"
							windowTITBGCOLORsel 	= "#93BEE2"
							//
							if (tnWin == 0)
								{
								openchromeless(theURL, wname, lnAncho, lnAlto, windowCERRARa, windowCERRARd, windowCERRARo, windowNONEgrf, windowCLOCK, windowTIT, windowREALtit , windowBORDERCOLOR, windowBORDERCOLORsel, windowTITBGCOLOR, windowTITBGCOLORsel, tnAplEfecto)
								}
							else
								{
								var poNewWindow5 = window.open( theURL,wname,"toolbar=no,location=no,directories=no,status=no, menubar=no,scrollbars=yes,resizable=no,copyhistory=no,width=" + lnAncho + ",height=" + lnAlto + ",left=" + windowX + ",top=" + windowY )
								//
								if (tnAplEfecto==1)
									{
									efectoVentanaPriv( poNewWindow5 )
									}
								//
								}						
							//
						}					
					}				
				}	
			}
		}	
	}
//
// *************************************************
// [FIN] Funciones para para iniciar las ventanas, *
//       de los formularios privados.              *
// *************************************************
//
// ******************************
// [FIN] Función frmFullScreen. *
// ******************************
//
// *********************************
// [INICIO] Función frmFullScreen. *
// *********************************
//
	function frmFullScreen( toWindow, tnMenosAncho, tnMenosAlto )
	{
		//
		var lnPosX = 0
		var lnPosY = 0
		//
		if ( tnMenosAncho != 0 )
		{
			lnPosX = tnMenosAncho / 2
		}
		if ( tnMenosAlto != 0 )
		{
			lnPosY = tnMenosAlto / 2
		}
		//
		toWindow.moveTo( lnPosX, lnPosY )
		toWindow.resizeTo( screen.width - tnMenosAncho, screen.height - tnMenosAlto )
		//
	}
//	
// ******************************
// [FIN] Función frmFullScreen. *
// ******************************
//	
// ***************************************
// [INICIO] Chequea campos obligatorios. *
// ***************************************
//
	function chequeaCamposOBL(toForm)
	{
		//
		// VARIABLE QUE INFORMARÁ DE LOS ERRORES.
		//
		var lcMsg    = ""
		var lnIndice = 0
		//
		// TOTAL DE OBJETOS DENTRO DEL FORMULARIO.
		//
		for ( lnIndice = 0; lnIndice <= (toForm.elements.length-1); lnIndice++)
		{
			//
			// SOLAMENTE CHEQUEAMOS AQUELLOS CAMPOS QUE 
			// HEMOS ESTABLECIDO COMO OBLIGATORIOS.
			//
			if ( toForm.elements[lnIndice].objOBLID != null && toForm.elements[lnIndice].objOBLID != "" && toForm.elements[lnIndice].objOBLID != "undefined" )
			{
				//
				// CHEQUEAMOS EL VALOR DEL OBJETO.
				//
				if ( toForm.elements[lnIndice].value == "" || toForm.elements[lnIndice].value == null )
				{
					//
					// FORMAMOS LA EXPRESIÓN DEL MENSAJE.
					//
					lcMsg = lcMsg + "El campo [" + toForm.elements[lnIndice].objOBLID + "] no puede estar vacio." + "\r" + "\n"
				}
				//
			}		
		}
		//
		// COMPROBACIÓN PARA RETORNO DE VALOR.
		//
		if ( lcMsg != "" )
		{
			//
			// CAMPOS OBLIGATORIOS NO RELLENADOS.
			//
			lcMsg = "ATENCIÓN : Campos obligatorios" + "\r" + "\n" + "\n" + lcMsg
			//
			alert( lcMsg )
			//
			return false
		}
		else
		{
			//
			// SECUENCIA DE CAMPOS OBLIGATORIOS CORRECTA.
			//
			return true
		}
	}
//
// ************************************
// [FIN] Chequea campos obligatorios. *
// ************************************
//
// *****************************************
// [INICIO] Funciones de botones de ratón. *
//
//			[1] MouseBtnAnulaDerecha.
//          [2] MouseBtnAnulaIzquierda.
//			[3] MouseBtnAnulaDrchaIza.
//
// *****************************************
//
// <!-- Botón derecho del mouse -->
//
	function MouseBtnAnulaDerecha( e )
	{
		if (navigator.appName == 'Netscape' && (e.which == 3 || e.which == 2))
		{
			alert('Compuspain, SL (Mayorista de Componentes Informáticos)' )
			return false
		}
		else
		{
			if (navigator.appName == 'Microsoft Internet Explorer' && (event.button == 2))
			{
				alert('Compuspain, SL (Mayorista de Componentes Informáticos)' )
			}
		}
	}
	//
	// FORMA DE LLAMADA A LA FUNCIÓN.
	// ASIGNACIÓN AL EVENTO onmousedown DE LA NUEVA FUNCIÓN.
	//
	// document.onmousedown=MouseBtnAnulaDerecha
	//
//	
// <!-- Botón izquierdo del mouse -->
//
	function MouseBtnAnulaIzquierda( e ) 
	{
		if (navigator.appName == 'Netscape' && (e.which == 1 || e.which == 2))
		{
			alert('Botón izquierdo inhabilitado')
			return false
		}
		else 
		{
			if (navigator.appName == 'Microsoft Internet Explorer' && (event.button == 1))
			{
				alert('Botón izquierdo inhabilitado')
			}
		}
	}
	//
	// FORMA DE LLAMADA A LA FUNCIÓN.
	// ASIGNACIÓN AL EVENTO onmousedown DE LA NUEVA FUNCIÓN.
	//
	// document.onmousedown=MouseBtnAnulaIzquierda
	//
//	
//<!-- Botón izquierdo y derecho del mouse -->
//
	function MouseBtnAnulaDrchaIza( e )
	{
		if (navigator.appName == 'Netscape' && (e.which == 1 || e.which == 3 || e.which == 2))
		{
			alert('Los botones del mouse han sido inhabilitados')
			return false
		}
		else 
		{
			if (navigator.appName == 'Microsoft Internet Explorer' && (event.button == 1 || event.button == 2))
			{
				alert('Los botones del mouse han sido inhabilitados')
			}
		}
	}
	//
	// FORMA DE LLAMADA A LA FUNCIÓN.
	// ASIGNACIÓN AL EVENTO onmousedown DE LA NUEVA FUNCIÓN.
	//
	// document.onmousedown=MouseBtnAnulaDrchaIza
	//
//
// **************************************
// [FIN] Funciones de botones de ratón. *
// **************************************
//
// ************************************************
// [INICIO] Función frmSubmit (submit javaScript) *
// ************************************************
//
function frmSubmit( toDocForm )
{
	//
	// REALIZAMOS PRIMERO A LA COMPROBACIÓN DE CAMPOS OBLIGATORIOS.
	//
	if ( chequeaCamposOBL(toDocForm) )
	{
		toDocForm.submit( )
	}
}
// **********************************
// [FIN] Función submit javaScript. *
// **********************************
//
// ****************************
// [INICIO] Función frmReset. *
// ****************************
//
function frmReset( toDocForm )
{
	//
	// TOTAL DE OBJETOS DENTRO DEL FORMULARIO.
	//
	for ( lnIndice = 0; lnIndice <= (toDocForm.elements.length-1); lnIndice++)
	{
		//
		// ASIGNAMOS A VACIO.
		// DEBEMOS DE TENER EN CUENTA QUE AL RECORRER TODOS LOS OBJETOS,
		// TAMBIÉN QUITARIAMOS EL CAPTIÓN DE OBJETOS COMO BOTONES, POR LO 
		// TANTO DEBEMOS DE REALIZAR LAS COMPROBACIONES, CON LA PROPIEDAD
		// QUE HEMOS CREADO PARA SABER CUALES SON LOS QUE SE RESETEAN.
		// PROPIEDAD objRESET="Reset"
		//
		if ( toDocForm.elements[lnIndice].objRESET != null && toDocForm.elements[lnIndice].objRESET != "" && toDocForm.elements[lnIndice].objRESET != "undefined" )
		{
			toDocForm.elements[lnIndice].value = ""
		}
	}
}
// *************************
// [FIN] Función frmReset. *
// *************************
//
// *****************************
// [INICIO] Función frmCerrar. *
// *****************************
//
function frmCerrar( toWindow )
{
	toWindow.close()
}
// *************************
// [FIN] Función frmReset. *
// *************************
//
// **************************************
// [INICIO] Función frmInfoCargaPagina. *
// **************************************
//
function ccbrowsercheck()
{
	this.ver=navigator.appVersion
	this.dom=document.getElementById?1:0
	this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0;
	this.ie4=(document.all && !this.dom)?1:0;
	this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0;
	this.ns4=(document.layers && !this.dom)?1:0;
	this.browseWeb=(this.ie5 || this.ie4 || this.ns4 || this.ns5)
	return this
}
//
browseWeb=new ccbrowsercheck()
//
function cchidediv(div)
{
	if(browseWeb.browseWeb)
	{
		div="divLoadCont"
		obj=browseWeb.dom?document.getElementById(div).style:browseWeb.ie4?document.all[div].style:browseWeb.ns4?document[div]:0; 
		obj.visibility='hidden'
	}
}
//
onload=cchidediv;
//
function frmInfoCargaPagina( tcTexto )
{
	if(browseWeb.browseWeb) 
	{
		document.write('<div id="divLoadCont"><table width="100%" height="95%" align="center" valign="middle"><tr><td width="100%" height="100%" align="center" valign="middle"><h3>' + tcTexto + '</h3></td></tr></table></div>')
	}
}
//
// ***********************************
// [FIN] Función frmInfoCargaPagina. *
// ***********************************
//
// ***************************************
// [INICIO] Función frmVerFichaArticulo. *
// ***************************************
//
function frmVerFichaArticulo( tcPathURL, toCampoTexto )
{
	frmDBrowser(5,1,0,tcPathURL, "'" + toCampoTexto.value + "'" )
}
//
// ************************************
// [FIN] Función frmVerFichaArticulo. *
// ************************************
