function ventana( url,ancho,alto) {
//*************************************************
//Funcion que realiza un new window, recibiendo
//como parametro el url
//*************************************************
		var parametros = 'toolbar=no,status=0,scrollbars=0,resizable=0,location=0,menubar=0,status=0';
		var cuadro;
		parametros += ',left=0,top=0,height=' + alto + ',width=' + ancho;
		cuadro = window.open("","exterior",parametros);
		cuadro.location.href = url;
		return true;
}

function ventana1( url,ancho,alto,res) {
//*************************************************
//Funcion que realiza un new window, recibiendo
//como parametro el url
//*************************************************
		var parametros = 'toolbar=no,status=0,scrollbars=0,resizable='+res+',location=0,menubar=0,status=0';
		var cuadro;
		parametros += ',left=0,top=0,height=' + alto + ',width=' + ancho;
		cuadro = window.open("","exterior",parametros);
		cuadro.location.href = url;
		return true;
}


function Redimensionar() {
//***************************************************
//*	Redimensiona la pantalla, adaptandola a la      *
//*	resolucion definida en el cliente.              *
//***************************************************

	if (self != top) {  //Aqui obligo a que la index se ejecute fuera del frame.
		if (document.images)
			top.location.replace(window.location.href);
		else
			top.location.href = window.location.href;
	}


	top.window.moveTo(0,0);
	if ( document.all ) {
		//si es el IE, usamos resizeTo para redimensionar
		top.window.resizeTo(screen.width,screen.height);
	}
	else 
		if ( document.layers || document.getElementById ) {
			//si Navigator, modificamos los valores de outerHeight y outerWidth	
			if ( top.window.outerHeight < screen.height || top.window.outerWidth < screen.width ) {
				top.window.outerWidth = screen.width;
				top.window.outerHeight = screen.height;
			}
		}
}

function valida_long_pass(password,long_min_pass) {
//*********************************************
// Impide que el usuario introduzca un password
// de longitud menor que long_min_pass 
//*********************************************
	if ( password.length < long_min_pass) {
		alert("La longitud del password debe ser mayor que "+(long_min_pass-1));
		return false;
	}
	else 
		return true;
}

function Trim( field ) {
//*************************************************
//Elimina los espacios en blanco
//*************************************************	
	field = field.value
	return field.replace( /^\s+/g,'').replace(/\s+$/g,'')
}

function Empty( field ) {
//*************************************************
//Verifica si un campo está vacío
//*************************************************	
	field = Trim(field)
	if (field.length == 0 || field == null) 
		return true;
	else
		return false;
}

function validar_extension(element,extensiones) {
//*************************************************
//Verifica la extension de un campo Type="file",
//recibe como parametro el campo y un arreglo con
//las extensiones permitidas.
//*************************************************	
	if ( !(Empty(element)) ) {
		var extension = element.value.split(".");
		var num = extension.length-1;
		var valido = false;
		var ext = extension[num].toLowerCase();
		for (i=0; i<extensiones.length; i++) {
			if ( extensiones[i] == ext ) {
				valido = true;
				break;
			}
		}
		if( !valido ) {
			alert("El archivo posee una extensión no válida.\nLas extensiones permitidas son: "+extensiones);
			element.select();
			element.createTextRange().execCommand('delete');
			element.focus();
			return false;
		}
		return true;
	}
}

function Multiple(forma,elem) {
	if ( forma[elem].options[0].selected ) {
		for (i=1; i<forma[elem].length; i++){
			forma[elem].options[i].selected=false;
		}	
	}
	else {
		if ( forma[elem].options[forma[elem].length-1].selected ) {
			for (i=1; i<(forma[elem].length-1); i++){
				forma[elem].options[i].selected=true;
			}
			forma[elem].options[forma[elem].length-1].selected=false;	
		}
	}
}

function validaemail2(forma,cadena) {
//*********************************************
// Permite validar el email. Se le pasa 
// el nombre de la forma(forma) y el nombre
// del textbox(cadena).
//*********************************************
alert("hola")

	var ecadena,bad_character;
		ecadena=document[forma][cadena].value;
		if (ecadena!='')
		{
			// El valor del campo cadena es distinto de vacío.
			bad_character = new Array(26);
			bad_character[1]="\\";
			bad_character[2]="/";
			bad_character[3]="'";
			bad_character[4]="!";
			bad_character[5]="?";
			bad_character[6]="à";
			bad_character[7]="á";
			bad_character[8]="ä";
			bad_character[9]="è";
			bad_character[10]="é";
			bad_character[11]="ë";
			bad_character[12]="ì";
			bad_character[13]="í";
			bad_character[14]="ï";
			bad_character[15]="ñ";
			bad_character[16]="ò";
			bad_character[17]="ó";
			bad_character[18]="ö";
			bad_character[19]="ù";
			bad_character[20]="ú";
			bad_character[21]="ü";
			bad_character[22]="ý";
			bad_character[23]="ÿ";
			bad_character[24]="¡";
			bad_character[25]="¿";
			bad_character[26]=" ";


			if ((ecadena.indexOf("@") == -1) || (ecadena.indexOf(".") == -1)) {	
				alert("Ingrese un email válido");
				document[forma][cadena].focus();
			 	document[forma][cadena].select(); 	 
				return(false);
			}
			else {
				for (i=1;i<=bad_character.length-1;i++) {
					if (ecadena.indexOf(bad_character[i]) != -1) {
						alert("Ingrese un email válido");
						document[forma][cadena].focus();
			 			document[forma][cadena].select(); 	 
						return(false);
						break;
					}
				}
			}
		}
		else
		{
			// El valor del campo cadena es vacío.
			return true;
		}
}

function validaemail(valor, elem, forma) {
//*********************************************
// Permite validar el email. Recibe como parametros el valor 
// el nombre del input que contiene el valor, y el nombre del formulario
//*********************************************
	//expresion regular
	var b=/^[^@\s]+@[^@\.\s]+(\.[^@\.\s]+)+$/     
	if ( (valor!= '') && !(b.test(valor)) ){
		alert("El Email no es válido.");
		forma[elem].value='';
		forma[elem].focus();
		forma[elem].select();
		return false;
	}
}

function enviar( formulario ) {
//***************************************************************************************
//
//	Verifica si los campos obligatorios de un formulario están vacíos. Si todo esta bien*
//	envia el formulario. Recibe como parametro la forma.								*
//
//***************************************************************************************
	if ( validarvacios(formulario) ) {
		formulario.submit();
	} else {
		return false;
	}
}

function validarvacios( formValidar ) {
//***********************************************************************************	
//	Verifica si los campos obligatorios de un formulario están vacíos. Los campos 	*
//	obligatorios son aquellos que tienen como nombre de variable 					*
//  lo siguiente name="r_nombre".													*
//
//***********************************************************************************	
	var cadena, nombre, longitud, num, genera;
	num=0;
	for (i=0;i<=formValidar.length-1;i++) {
		cadena = formValidar.elements[i].name.substring(0,2);
		if (cadena=='r_') {
			switch(formValidar.elements[i].type) {
			case 'text':
				if(isempty(formValidar.elements[i])) {
					longitud = formValidar.elements[i].name.length;
					nombre = 'img_' + formValidar.elements[i].name.substring(2,longitud);
					formValidar[nombre].src='../img/check.gif';
					num++;
				}
				else {
					longitud = formValidar.elements[i].name.length;
					nombre = 'img_' + formValidar.elements[i].name.substring(2,longitud);
					formValidar[nombre].src='../img/empty.gif';
				}
			break;
			case 'file':
				if(isempty(formValidar.elements[i])) {
					longitud = formValidar.elements[i].name.length;
					nombre = 'img_' + formValidar.elements[i].name.substring(2,longitud);
					formValidar[nombre].src='../img/check.gif';
					num++;
				}
				else {
					longitud = formValidar.elements[i].name.length;
					nombre = 'img_' + formValidar.elements[i].name.substring(2,longitud);
					formValidar[nombre].src='../img/empty.gif';
				}
			break;
			case 'password':
				if(isempty(formValidar.elements[i])) {
					longitud = formValidar.elements[i].name.length;
					nombre = 'img_' + formValidar.elements[i].name.substring(2,longitud);
					formValidar[nombre].src='../img/check.gif';
					num++;
				}
				else {
					longitud = formValidar.elements[i].name.length;
					nombre = 'img_' + formValidar.elements[i].name.substring(2,longitud);
					formValidar[nombre].src='../img/empty.gif';
				}
			break;
			case 'textarea':
				if(isempty(formValidar.elements[i]))	{
					longitud = formValidar.elements[i].name.length;
					nombre = 'img_' + formValidar.elements[i].name.substring(2,longitud);
					formValidar[nombre].src='../img/check.gif';
					num++;
				}
				else {
					longitud = formValidar.elements[i].name.length;
					nombre = 'img_' + formValidar.elements[i].name.substring(2,longitud);
					formValidar[nombre].src='../img/empty.gif';
				}
			break;
			case 'select-one':
				if(formValidar.elements[i].selectedIndex==0 || formValidar.elements[i].length==0) {
					longitud = formValidar.elements[i].name.length;
					nombre = 'img_' + formValidar.elements[i].name.substring(2,longitud);
					formValidar[nombre].src='../img/check.gif';
					num++;
				}
				else {
					longitud = formValidar.elements[i].name.length;
					nombre = 'img_' + formValidar.elements[i].name.substring(2,longitud);
					formValidar[nombre].src='../img/empty.gif';
				}
			break;
			case 'select-multiple':
				if(formValidar.elements[i].selectedIndex==-1) {
					longitud = formValidar.elements[i].name.length;
					nombre = 'img_' + formValidar.elements[i].name.substring(2,longitud);
					formValidar[nombre].src='../img/check.gif';
					num++;
				}
				else {
					longitud = formValidar.elements[i].name.length;
					nombre = 'img_' + formValidar.elements[i].name.substring(2,longitud);
					formValidar[nombre].src='../img/empty.gif';
				}
			break;
			case 'radio': //Revisar Funcion para validar radiob vacios
				longitud = formValidar[formValidar.elements[i].name].length;
				campo = false;
				for (j=i; j<(longitud + i); j++) {
       				if (formValidar.elements[j].checked) {
          				campo = true;
          				break;
      				}
    			}
    			i = i + (longitud-1);
    			if (!campo) {
					longitud = formValidar.elements[i].name.length;
					nombre = 'img_' + formValidar.elements[i].name.substring(2,longitud);
					formValidar[nombre].src='../img/check.gif';
					alert(nombre);
					alert(formValidar[nombre].src);
					num++;
				}
				else {
					longitud = formValidar.elements[i].name.length;
					nombre = 'img_' + formValidar.elements[i].name.substring(2,longitud);
					formValidar[nombre].src='../img/empty.gif';
				}
			break;
			}
		}
	}
	if ( num == 0 ) {
		return true;
	}
	else {
		alert ('Los campos marcados no pueden estar vacíos.');
		return false;
	}	
}
function FechaHora() {
	
	var dayarray=new Array("Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado")
	var montharray=new Array("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre")

	var mydate=new Date()
	var year=mydate.getYear()
	if (year < 1000)
		year+=1900
	var day=mydate.getDay()
	var month=mydate.getMonth()
	var daym=mydate.getDate()
	if (daym<10)
		daym="0"+daym 
	var hours=mydate.getHours()
	var minutes=mydate.getMinutes()
	if (minutes<=9) 
		minutes="0"+minutes
	//Cambiar formato de presentacion AQUI
	var cdate="<font size='1' color='#000000' face='Verdana'>&nbsp;"+dayarray[day]+", "+daym+" de "+montharray[month]+" de "+year+" - "+hours+":"+minutes+"</font>"
	if (document.all)
		document.all.clock.innerHTML=cdate
	else
		document.write(cdate)
}

function FechaHoraActualizada() {
	if (document.all)
		setInterval("FechaHora()",1000)
	else
		FechaHora()
}

function isempty( field ) {
//*************************************************
//	Verifica si un campo está vacío
//*************************************************
	if (field.value.length == 0 || field == null) 
		return true;
	else
		return false;
}

function isemail( v ) {
//***************************************************
//	Verifica si un campo email está bienm conformado
//***************************************************
	var reg  = /(^[a-z]([a-z_\.]*)@([a-z_\.]*)([.][a-z]{3})$)|(^[a-z]([a-z_\.]*)@([a-z_\.]*)(\.[a-z]{3})(\.[a-z]{2})*$)/i;
	return reg.test( v );
}

function isselected( field ) {
	if( field.selectedIndex == 0 ) {
		field.focus();
		return false;
	}
	return true;
}

function Entrar( url ) {
//*************************************************
//Funcion que realiza un new window, recibiendo
//como parametro el url
//*************************************************
		var parametros = 'scrollbars=0,resizable=0,location=0,menubar=0,status=0';
		parametros += ',left=0,top=0,width='+screen.width+',height='+screen.height;
		window.open(url,'',parametros);
		window.opener='';
		window.close();
}

function pass_iguales( forma ) {
//*************************************************
//Funcion que realiza una comparación entre 2 campos y devuelve
//true si son iguales, recibiendo como parametro los 2 campos a comparar
//*************************************************

	if ( forma['r_PSW_CLI'].value == forma['r_CPSW_CLI'].value ) 
		enviar(forma);
	else {
		alert('El password no es igual al confirmar password');
		forma['r_PSW_CLI'].value = '';
		forma['r_CPSW_CLI'].value = '';
		forma['r_PSW_CLI'].focus();
	}
}

function seleccion(elem,num,over_out) {
//*************************************************
//Funcion que sombrea los td de una tabla, recibe
//como parametro una parte del id del td de la tabla,
// (ya que todos los id de los td son el ID en la base de datos por
// lo tanto son todos iguales, para diferenciarlos se les coloco
// una secuencia de numero al lado del id, Ej: si el ID de base de datos
// es 2 entonces todos los td de un tr tendran como id="2",lo que se hizo
// fue agregar id="20",id="21" y asi sucesivamente),
//el numero de td que se van a sombrear y un numero 0-1
//para saber si se esta haciendo onmouseover u onmouseout.
//*************************************************	
	switch (over_out) {
	case 0:
		for (var i=0;i<num;i++) {
			document.getElementById(elem+new String(i)).style.backgroundColor = '';
			document.getElementById(elem+new String(i)).style.color = '';
		}
	break;
	case 1:
		for (var i=0;i<num;i++) {
			document.getElementById(elem+new String(i)).style.backgroundColor = "#87d6d7";
			document.getElementById(elem+new String(i)).style.color = "#000000";
		}
	break;
	}
}

function agrega_item(forma,text,lista,elem) {
//*************************************************
//permite agregar un value de un input a una lista
//le paso la forma(forma), y el nombre
//del input(text), y el de la lista que recibe(lista).
//Elem es un input hidden el cual me indica cuales
//son los items que realmente voy a insertar en BD
//*************************************************
	if(!Empty(forma[text]))
	{
		//Verifico que el valor ya no exista en la lista
		for (i=0; i < forma[lista].length; i++) {
			//Busco separar los valores que tengan *_ o (id de la fecha)_
			//pero no todos tienen ese separador
			var tmp = forma[lista].options[i].value.split("_");
			//Verifico que el nuevo valor no exista en la lista.
			if ( (tmp[1] == forma[text].value) || (tmp[0] == forma[text].value) ) {
				alert("El item ya está seleccionado.");
				return false;
			}
				
		}
		forma[lista].options[forma[lista].options.length]=new Option(forma[text].value,forma[text].value);
		if ( Empty(forma[elem]) )
			forma[elem].value = forma[text].value;
		else
			forma[elem].value = forma[elem].value+","+forma[text].value;
		forma[text].value=""; 
	}
}

function eliminar_item(forma,lista,elem,elem2) {
//*************************************************
//Permite eliminar un item de una lista,
//le paso la forma(forma) y la lista(lista).
//Elem es el input hidden que me dice que elementos
//voy a insertar en la BD y Elem2 es un input hidden
//que me dice cuales elementos voy a eliminar de la BD.
//*************************************************
	if ( forma[lista].selectedIndex >= 0 ) {
		var tmp = forma[lista].options[forma[lista].selectedIndex].value.split("_");
		forma[lista].options[forma[lista].selectedIndex] = null;
		if ( tmp.length > 1 ) {
			if ( Empty(forma[elem]) ) 
				forma[elem].value = tmp[0];
			else
				forma[elem].value = forma[elem].value+","+tmp[0]; 
		}
		else{
			items_a_enviar(forma,lista,elem2);
		}
	}
}

function items_a_enviar(forma,lista,elem){
	forma[elem].value="";	
	for (i=0; i < forma[lista].length; i++) {
		var tmp = forma[lista].options[i].value.split("_");
		if ( tmp.length == 1 ) {
			if ( Empty(forma[elem]) )
				forma[elem].value = tmp[0];
			else
				forma[elem].value = forma[elem].value+","+tmp[0]; 
		}
	}	
}

function verifica_fecha(forma,elem,fecha,mod) { 
//*************************************************
//Esta funcion controla que la fecha insertada sea 
//menor o mayor a la actual, segun el valor que le pasemos
//en mod. Ademas recibe la forma y el campo de la fecha
//*************************************************
	hoy=new Date();
	var meses = new Array("Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic");
	var array_fecha = fecha.split("/");
	var ano;
	var anoA;
    ano = parseInt(array_fecha[2],10); 
	anoA = parseInt(hoy.getYear(),10); 
    var mes;
    var mesA;
    for (i=0; i<12; i++)
    	if ( meses[i]==array_fecha[0] )
    		break;
    mes = i+1;
	mesA = parseInt(hoy.getMonth(),10) + 1;
    var dia;
	var diaA;
    dia = parseInt(array_fecha[1],10);
	diaA = parseInt(hoy.getDate(),10);
	var valido = false;
	switch( mod ){
	case 0: //Para validar que una fecha dada no sea mayor a la actual
		if(ano > anoA)
			valido = true;
		else
			if(ano == anoA) {
				if(mes > mesA)
					valido = true;
				else
					if(mes == mesA)
						if(dia > diaA)
							valido = true;
			}
	break;
	case 1: //Para validar que una fecha dada no sea menor a la actual
		if(ano < anoA)
			valido = true;
		else
			if(ano == anoA) {
				if(mes < mesA)
					valido = true;
				else
					if(mes == mesA)
						if(dia < diaA)
							valido = true;
			}
	break;
	}
	
	if ( valido ) {
		if ( mod==0 )
			alert("La fecha debe ser menor o igual a la actual");
		else
			alert("La fecha debe ser mayor o igual a la actual");
		forma[elem].value="";
		return false;
	}
	return true;
}

function agrega_tr(forma,elem,accion) {
	forma[elem].value = parseInt(forma[elem].value) + 1;
	forma.action = accion;
	forma.submit();
}

function eliminar_tr(forma,elem,arch) {
	forma[elem].value = parseInt(forma[elem].value) - 1;
	forma.action = arch;
	forma.submit();
}

function justnumber(forma, cadena) {
//*************************************************
//Sólo permite la entrada de datos numéricos
//le paso el nombre de la forma(forma), y el nombre
//del textbox(cadena)
//*************************************************
	if(!Empty(forma[cadena])) {
		if(forma[cadena].value==0) {
			alert('Introduzca un número diferente de cero en este campo.');
			forma[cadena].value='';
			forma[cadena].focus();
			forma[cadena].select();
			return(false);
		}
		if (((forma[cadena].value / forma[cadena].value) != 1)) {
			alert('Introduzca sólo números en este campo.');
			forma[cadena].value='';
			forma[cadena].focus();
			forma[cadena].select(); 	 
			return(false);
		}
		else {
			return(true);
		}
	}
	else {
		return(true);
	}
}

function showWOTD(val) {
//*************************************************
//Función que permite mostrar un layer
//*************************************************
        
	eval("divWOTD"+val+".style.visibility = 'visible'");
	eval("divtit"+val+".style.visibility = 'hidden'");
}

function hideWOTD(val) {
//*************************************************
//Función que permite ocultar un layer
//*************************************************
        	
	eval("divWOTD"+val+".style.visibility = 'hidden'");
	eval("divtit"+val+".style.visibility = 'visible'");
}

//*************************************************
// Funcion el color que hay que aplicar
// a la fila de una tabla
//*************************************************
function def_color_fila(cont) {
	r =  cont % 2;
	if (r==0) {
		color= "fila1";
	}
	if (r==1) {
		color="fila2";
	}
return color;
 
}	
/******************************************/	
function verifica_fecha2(forma,elem,fecha,mod,fecha2) {
//*************************************************
//Esta funcion controla que la primera fecha insertada sea 
//menor o mayor a la segunda fecha insertada, 
//segun el valor que le pasemos en mod. 
//Ademas recibe la forma y el campo de la fecha
//*************************************************
	var meses = new Array("Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic");
	var array_fecha = fecha.split("/");
	var array_fecha2 = fecha2.split("/");
	var ano;
	var anoA;
    ano = parseInt(array_fecha[2],10); 
	anoA = parseInt(array_fecha2[2],10); 
    var mes;
    var mesA;
    for (i=0; i<12; i++)
    	if ( meses[i]==array_fecha[0] )
    		break;
    mes = i+1;
     for (i=0; i<12; i++)
    	if ( meses[i]==array_fecha2[0] )
    		break;
    mesA = i+1;
	//mesA = parseInt(array_fecha2[0],10) + 1;
	var dia;
	var diaA;
    dia = parseInt(array_fecha[1],10);
	diaA = parseInt(array_fecha2[1],10);
	var valido = false;
	switch( mod ){
	case 0: //Para validar que una fecha dada no sea mayor a la actual
	if(ano > anoA)
			valido = true;
		else
			if(ano == anoA) {
				if(mes > mesA)
					valido = true;
				else
					if(mes == mesA)
						if(dia > diaA)
							valido = true;
			}
	break;
	case 1: //Para validar que una fecha dada no sea menor a la actual
		if(ano < anoA)
			valido = true;
		else
			if(ano == anoA) {
				if(mes < mesA)
					valido = true;
				else
					if(mes == mesA)
						if(dia < diaA)
							valido = true;
			}
	break;
	}
	 
	if ( valido ) {
		if ( mod==0 )
			alert("La fecha debe ser mayor o igual a la actual");
		else
			alert("La fecha debe ser mayor o igual a "+fecha2);
		forma[elem].value="";
		return false;
	}
	return true;
}
function windows( url ) {
//*************************************************
//
//Funcion que realiza un new window, recibiendo
//como parametro el url
//
//*************************************************
		var parametros = 'scrollbars=0,resizable=0,location=0,menubar=0,status=0';
		parametros += ',left=0,top=0';
		window.open(url,'',parametros);
}

function set_tit_bot() {
/****************************************
Funcion que genra el titulo y la botonera
según las variables definidas en cada script
que lo llama
************************************/
		parent.frames['ifram_botonera'].location.href="../includes/botonera.php";
		parent.frames['ifram_titulo'].location.href="../includes/titulo.php";										
}

function opciones(elemen) {
		descri.options.length = 0;
		descri.options[0] = new Option("seleccionar","0");
		div_modalidad.style.visibility = "hidden";
		cant.value="";
		cant_div.style.visibility = "hidden";
		div_final.style.visibility = "hidden";
		
		switch (elemen.value) {
		case "C":
			//parent.categ = "C";
			for (i=0; i<parent.cursos.length; i++) {
				var id_descri = parent.cursos[i].split("_");
				descri.options[i+1] = new Option(id_descri[id_descri.length-1],id_descri[0]);
			}
			div_descri.style.visibility = "visible";			
		break;
		case "P":
			//parent.categ = "P";
			for (i=0; i<parent.productos.length; i++) {
				var id_descri = parent.productos[i].split("_");
				descri.options[i+1] = new Option(id_descri[id_descri.length-1],parent.productos[i]);
			}
			div_descri.style.visibility = "visible";
		break;
		case "A":
			//parent.categ = "A";
			for (i=0; i<parent.anfitriones.length; i++) {
				var id_descri = parent.anfitriones[i].split("_");
				descri.options[i+1] = new Option(id_descri[id_descri.length-1],parent.anfitriones[i]);
			}
			div_descri.style.visibility = "visible";
		break;
		case "F":
			//parent.categ = "F";
			for (i=0; i<parent.casa_familia.length; i++) {
				var id_descri = parent.casa_familia[i].split("_");
				descri.options[i+1] = new Option(id_descri[id_descri.length-1],parent.casa_familia[i]);
			}
			div_descri.style.visibility = "visible";
		break;
		case "T":
			//parent.categ = "T";
			for (i=0; i<parent.transportes.length; i++) {
				var id_descri = parent.transportes[i].split("_");
				descri.options[i+1] = new Option(id_descri[id_descri.length-1],parent.transportes[i]);
			}
			div_descri.style.visibility = "visible";
		break;
		case "S":
			//parent.categ = "S";
			for (i=0; i<parent.servicios.length; i++) {
				var id_descri = parent.servicios[i].split("_");
				descri.options[i+1] = new Option(id_descri[id_descri.length-1],parent.servicios[i]);
			}
			div_descri.style.visibility = "visible";
		break;
		case "0":
			cant.value="";
			cant_div.style.visibility = "hidden";
			div_descri.style.visibility = "hidden";
		break;
		}
	}
	
function agrega_items(idt) {
		if ( cant.value == "" ) //Si la cantidad es vacio le asigno por default 1
			cant.value = 1;
		if (idt==-1) {
			idt=0;
		}
		if ( parseInt(cant.value) > 0 ) {
			if ( tipo.value=="C" )
				var aux = modalidad.value.split("_");
			else
				var aux = descri.value.split("_");
			location.href="br_det_fac.php?modpf=1&id_spe="+aux[0]+"&can="+cant.value+"&cat="+tipo.value+"&id_temp="+idt+"&arrimp="+parent.timp_cat;
		}
}
	
function asignar(obj,obj2) {

    if (obj.selectedIndex==-1) return;
    valor=obj.value;
    txt=obj.options[obj.selectedIndex].text;
    obj.options[obj.selectedIndex]=null;
    opc = new Option(txt,valor);
    eval(obj2.options[obj2.options.length]=opc);
}
	
function windowsPDF( url ) {
//*************************************************
//Funcion que realiza un new window, recibiendo
//como parametro el url del presupuesto o factura
//*************************************************
		var parametros = 'scrollbars=0,resizable=1,location=0,menubar=0,status=0';
		parametros += ',left=0,top=0,width=700,height=500';
		window.open(url,'',parametros);
}

function redirto(url) {
//***********************************************************
// Recarga la lista reordenandola por el 
// campo especificado en parametro del URL

	document.location = url
	
} 

function remove( url ) {
	if(	window.confirm("Desea eliminar este registro?") && 
		window.confirm("ATENCIÓN :\nLos datos serán eliminados permanentemente.\nDesea continuar ?")
	)
	{
		document.body.style.cursor = 'wait';
		document.location = url;
	}
}

function elimina_espacios(forma, cadena) {
	// Elimino espacios y ceros a la izquierda
	for (var i=0; i < forma[cadena].value.length; i++) {
		if ((forma[cadena].value.charAt(i)!=' ') && (forma[cadena].value.charAt(i)!='0')) {
			a=i;
			break;
		}
	}
	forma[cadena].value=forma[cadena].value.substring(a,forma[cadena].value.length);
	
	// Elimino espacios al final
	while(''+forma[cadena].value.charAt(forma[cadena].value.length-1)==' ')
		forma[cadena].value=forma[cadena].value.substring(0,forma[cadena].value.length-1);
	
	justnumber(forma, cadena);
}

// JS de Funciones que son incluidas separadamente
document.write('<script src="../js/rclickoff.js" language="JavaScript" type="text/javascript"></script>');