
/*
 * segven.js
 * 
 * JavaScript de Funciones Generales
 * WebSite Seguros Venezuela
 * 
 * @autor: Gorka Siverio (Panopticom Sistemas)
 * @version: 1.0 06/03/2002
 *
 * Si este código crece mucho, será conveniente picarlo en varios archivos, según su funcionalidad.
 * 
 */

var browser = 1; // 0 = Explorer, 1 = Netscape

/*
 * checkBrowser()
 *
 * Des: Calcula el tipo de Browser que estamos usando, y valida la versión del mismo.
 * Rec: Nada
 * Dev: True si el Browser es válido, false si no lo es.  Setea la variable browser en el tipo adecuado.
 *
 */

function checkBrowser()
{
	var name = navigator.appName;
	var version = navigator.appVersion;
	var minVerNets = 4.0;    // Versión mínima de Netscape
	var minVerExpl = 4.0;    // Versión mínima de Explorer

	// Verificamos si es una versión válida de Netscape
	if ((name.search('Netscape') != -1) && (version.substr(0,3) >= minVerNets)) // navigator.appName.indexOf("Netscape")!=-1
	{
		browser = 1;
		return true;
	}
	// Verificamos si es una versión válida de Explorer
	else if ((name.search('Microsoft Internet Explorer') != -1) && (version.substr(0,3) >= minVerExpl))
	{
		browser = 0;
		return true;
	}
	// Mostramos la página de error
	else
	{
		browser = -1;
		document.URL = "errorPage.html";
		return false;
	}
}

/*
 * isExplorer()
 *
 * Des: Indica si el browser que estamos usando es Explorer o no
 * Rec: Nada
 * Dev: True si el Browser es MIE, false si no lo es.
 *
 */

function isExplorer()
{
	// Basta con return !browser; pero se comporta extraño.
	return (browser) ? false : true;
}

/*
 * maxWindow()
 *
 * Des: Ajusta la ventana del navegador al máximo tamaño disponible
 * Rec: Nada
 * Dev: Nada. Maximiza la ventana del browser.
 *
 */

function maxWindow()
{
  top.moveTo(0,0);
  // top.resizeTo(screen.availWidth, screen.availHeight);
  top.resizeTo(screen.width, screen.height);
}

/*
 * centerWindow()
 *
 * Des: Centra la ventana del navegador en la pantalla
 * Rec: Nada
 * Dev: Nada. Centra la ventana del browser.
 *
 */

function centerWindow()
{
	// Quizás sea necesario cambiar window por top, o recibir this
	// top.moveTo((screen.width - top.width)/2,(screen.height - top.height)/2);
	window.moveTo((screen.width - window.width)/2,(screen.height - window.height)/2);
}

/*
 * newWindow()
 *
 * Des: Crea una nueva ventana del navegador, maximizada
 * Rec: String url con la dirección de la página a mostrar, String name con el nombre de la nueva ventana
 * Dev: Nada. Crea la ventana pedida.
 * Dat: window.open recibe como tercer parámetro una lista de atributos:
 *      width=XXX          -> Ancho de la nueva ventana
 *      height=XXX         -> Alto de la nueva ventana
 *      resizable=yes/no   -> El usuario puede cambiar el tamaño de la ventana?
 *      scrollbars=yes/no  -> Barras de desplazamiento?
 *      toolbar=yes/no     -> Barra de navegación (back, foward, stop, etc.) ?
 *      location=yes/no    -> Barra de localidad (permite escribir el url a visitar) ?
 *      directories=yes/no -> Botones extra (What's cool, botones personales, etc) ?
 *      status=yes/no      -> Barra de estatus (al fondo) ?
 *      menubar=yes/no     -> Barra de menú (File, Edit, etc) ?
 *      copyhistory=yes/no -> Copiar la historia del browser anterior?
 *      left, top, screenX, screenY, innerHeight, innerWidth
 *
 */

function newWindow(url, name)
{
  return window.open(url, name, "left=0,top=0,screenX=0,screenY=0,height=" + (screen.availHeight-160) + ",width=" + (screen.availWidth-10) + ",toolbar=yes,location=yes,status=yes,menubar=yes,maximized=yes");
}

/*
 * showMessage()
 *
 * Des: Muestra una caja con un mensaje de Texto, y el botón 'OK'
 * Rec: String conteniendo el mensaje.
 * Dev: Nada. Muestra el mensaje.
 *
 */

function showMessage(mensaje)
{
	if (mensaje != '')
		alert(mensaje);
}

/*
 * isInt()
 *
 * Des: Indica si el String parámetro es un entero de la forma ###.###.###
 * Rec: String a verificar.
 * Dev: True si es un entero, false si no lo es.
 *
 */


 function isInt(campo)
{
//	showMessage("campo.charAt(campo.length-4):   " + campo.charAt(campo.length-4) );
	var puntos = (campo.charAt(campo.length-4) == ".") ? 1 : 0;
//	showMessage("VAR PUNTOS:   " + puntos);

	for (var i = campo.length-1; i >= 0; i--)
	{
//		showMessage("i:   " + i );
//		showMessage("(campo.length-i)%4 :   " + (campo.length-i)%4 );
//		showMessage("campo.charAt(i):   " + campo.charAt(i) );
		if ((((campo.length-i)%4)==0) && (puntos == 1) && (campo.charAt(i) != "."))
		{
//			showMessage("EN EL IF....");
			return false;
		}
		else
		{
//			showMessage("EN EL ELSE....");
//			showMessage("(isNaN (parseInt (campo.charAt(i))): " + (isNaN (parseInt (campo.charAt(i))))     );

			if ((isNaN (parseInt (campo.charAt(i)))) || (campo.charAt(i) == " "))
			{
					return false;
			}
		}
	}
	return true;
}


/*
 * isDigit()
 *
 * Des: Indica si el String parámetro es un dígito de la forma # (0 a 9)
 * Rec: String a verificar.
 * Dev: True si es un dígito, false si no lo es.
 *
 */

function isDigit (valor)
{   
	return ((valor >= "0") && (valor <= "9"))
}

/*
 * isFloat()
 *
 * Des: Indica si el String parámetro es un real de la forma ###.###.###,##
 * Rec: String a verificar.
 * Dev: True si es un real, false si no lo es.
 *
 */

function isFloat(campo)
{
	return ((isInt(campo.substr(0,campo.length - 3))) && 
			(campo.charAt(campo.length - 3) == ",") && 
			(isInt(campo.substr(campo.length - 2,2))));
}

/*
 * isFloatDot()
 *
 * Des: Indica si el String parámetro es un real de la forma ###.###.###.##
 * Rec: String a verificar.
 * Dev: True si es un real, false si no lo es.
 *
 */

function isFloatDot(campo)
{
	var int_posicion
	
	int_posicion = campo.indexOf(".");
	
	if (int_posicion == -1)
	{
		return false;
	}
	else
	{
		return ( (isInt(campo.substr(0, int_posicion)) ) && 
				(isInt(campo.substr(int_posicion + 1, campo.length))) );
	}
}

/*
 * isNumber()
 *
 * Des: Indica si el String parámetro es un entero o un real
 * Rec: String a verificar.
 * Dev: True si es un número, false si no lo es.
 *
 */

function isNumber(campo)
{
	return (isInt(campo) || isFloat(campo));
}

/*
 * isWord()
 *
 * Des: Indica si el String parámetro contiene sólo letras y espacios
 * Rec: String a verificar.
 * Dev: True si cumple, false si no.
 * Dat: (A..Z=65..90) (a..z=97..122)
 * 
 */

function isWord(campo)
{
	for (var i = 0; i < campo.length; i++)
	{
		var n = campo.charCodeAt(i);
		if (!(((n >= 97) && (n <= 122)) || 
			  ((n >= 65) && (n <= 90)) ||
			  (n == 164) || (n == 165) || (campo.charAt(i) == " ")))
		{
			return false;
		}	
	}
	return true;
}

/*
 * isMail()
 *
 * Des: Indica si el String parámetro contiene sólo letras, espacios, enteros, puntos y una @.  
 *      No hace otras validaciones.
 * Rec: String a verificar.
 * Dev: True si cumple, false si no.
 * Dat: (A..Z=65..90) (a..z=97..122)
 * 
 */

function isMail(campo)
{
	var contador = 0;
	for (var i = 0; i < campo.length; i++)
	{
		var n = campo.charCodeAt(i);
		
		if (!(((n >= 97) && (n <= 122)) || 
			  ((n >= 65) && (n <= 90)) ||
			  (isDigit(campo.charAt(i))) || 
			  (campo.charAt(i) == ".") || (campo.charAt(i) == "@") || 
			  (n == 45)|| (n == 95) ||(n == 164) || (n == 165) || (campo.charAt(i) == " ")))
		{
			return false;
		}	
		if (campo.charAt(i) == "@")
		{
			contador++;
		}
	}

	if (contador == 1)
		return true;
	else
		return false;
}

/*
function isWord(campo)
{
	for (var i = 0; i < campo.length; i++)
	{
		if (!isNaN(parseInt(campo.charAt(i))) && (campo.charAt(i) != " "))
		{
			return false;
		}
	}
	return true;
}
*/
/*
 * isFormatted()
 *
 * Des: Indica si el String parámetro cumple con un formato
 * Rec: String con el campo a verificar, String con el formato a usar.
 * Dev: True si cumple, false si no.
 * Dat: 9 = Número; X = Caracter libre; Cualquier otra cosa es un literal
 *      Sería adecuado poder aplicar máscaras sin tomar en cuenta el largo del dato a formatear
 *
 */

function isFormatted(campo, formato)
{
	if (campo.length != formato.length)
		return false

	for (var i = 0; i < campo.length; i++)
	{
		if ((formato.charAt(i) == "9") && (!isInt(campo.charAt(i))))
		{
			return false;
		}
		else if ((formato.charAt(i) != "X") && (formato.charAt(i) != "9") && (formato.charAt(i) != campo.charAt(i)))
		{
				return false;
		}
	}
	return true;
}

/*
 * compareDate()
 *
 * Des: Compara dos fechas dadas en dd/MM/yyyy
 * Rec: String date1, String date2
 * Dev: int (0 si son iguales, +1 si la primera es mayor, o -1 si la segunda lo es), boolean false si hay error
 *
 */

function compareDate(date1, date2)
{
	var l11, i12, l12, i13;
	var l21, i22, l22, i23;

	// Chequeamos el primer campo
	if (isFormatted(date1, "99/99/9999"))
	{
		l11 = 2; i12 = 3; l12 = 2; i13 = 6;
	}
	else if (isFormatted(date1, "99/9/9999"))
	{
		l11 = 2; i12 = 3; l12 = 1; i13 = 5;
	}
	else if (isFormatted(date1, "9/99/9999"))
	{
		l11 = 1; i12 = 2; l12 = 2; i13 = 5;
	}
	else if (isFormatted(date1, "9/9/9999"))
	{
		l11 = 1; i12 = 2; l12 = 1; i13 = 4;
	}
	else
	{
		showMessage("Alguno de los campos no es una fecha válida DD/MM/AAAA");
		return false;
	}

	// Chequeamos el segundo campo
	if (isFormatted(date2, "99/99/9999"))
	{
		l21 = 2; i22 = 3; l22 = 2; i23 = 6;
	}
	else if (isFormatted(date2, "99/9/9999"))
	{
		l21 = 2; i22 = 3; l22 = 1; i23 = 5;
	}
	else if (isFormatted(date2, "9/99/9999"))
	{
		l21 = 1; i22 = 2; l22 = 2; i23 = 5;
	}
	else if (isFormatted(date2, "9/9/9999"))
	{
		l21 = 1; i22 = 2; l22 = 1; i23 = 4;
	}
	else
	{
		showMessage("Alguno de los campos no es una fecha válida DD/MM/AAAA");
		return false;
	}

	var day1   = date1.substr(0,l11);
	var month1 = date1.substr(i12,l12);
	var year1  = date1.substr(i13,4);
	var day2   = date2.substr(0,l21);
	var month2 = date2.substr(i22,l22);
	var year2  = date2.substr(i23,4);

	if (year1 > year2)
		return 1;
	if (year1 < year2)
		return -1;
	if (month1 > month2)
		return 1;
	if (month1 < month2)
		return -1;
	if (day1 > day2)
		return 1;
	if (day1 < day2)
		return -1;
	return 0;
}

/*
 * isDate()
 *
 * Des: Indica si el String parámetro es una fecha en formato DD/MM/YYYY
 * Rec: String a verificar
 * Dev: True si es una fecha válida, false si no lo es.
 *
 */

function isDate(campo)
{
	var l1, i2, l2, i3;

	if (isFormatted(campo, "99/99/9999"))
	{
		l1 = 2; i2 = 3; l2 = 2; i3 = 6;
	}
	else if (isFormatted(campo, "99/9/9999"))
	{
		l1 = 2; i2 = 3; l2 = 1; i3 = 5;
	}
	else if (isFormatted(campo, "9/99/9999"))
	{
		l1 = 1; i2 = 2; l2 = 2; i3 = 5;
	}
	else if (isFormatted(campo, "9/9/9999"))
	{
		l1 = 1; i2 = 2; l2 = 1; i3 = 4;
	}
	else
	{
		return false;
	}

	var day   = campo.substr(0,l1);
	var month = campo.substr(i2,l2);
	var year  = campo.substr(i3,4);

	if ((month > 12) || 
		(day > diasDelMes(month, year)) || 
		(year < 1900))
		return false;

	return true;
}

/*
 * diasDelMes()
 *
 * Des: Dado un mes del 1 al 12, devuelve el número de días del mismo
 * Rec: int con el mes a verificar, int con el año a verificar
 * Dev: int con el número de días del mes
 *
 */

function diasDelMes(mes, anio)
{
	if ((mes == 1) || (mes == 3) || (mes == 5) || (mes == 7) || (mes == 8) || (mes == 10) || (mes == 12))
		return 31;
	else if ((mes == 4) || (mes == 6) || (mes == 9) || (mes == 11))
		return 30;
	else if ((anio % 4) == 0)
		return 29;
	else
		return 28;
}

/*
 * isChecked()
 *
 * Des: Revisa un objeto radio para ver si algún radio está marcado
 * Rec: radio a revisar
 * Dev: valor del radio marcado, false si ninguno está marcado
 *
 */

function isChecked (radio)
{
	if (radio.length > 1)
		for (var i = 0; i < radio.length; i++)
			if (radio[i].checked)
				return radio[i].value;
	else
		if (radio.checked)
			return radio.value;
	return false;
}

/*
 * autoTab()
 *
 * Des: Pasa de forma automática al siguiente campo de texto, una vez que el actual está lleno
 * Rec: textBox a revisar, largo del textBox, Evento
 * Dev: valor del radio marcado, false si ninguno está marcado
 * Dat: Lo llamamos así: 
 *      <input name="name1" onKeyUp="return autoTab(this, 3, event);" size="3" maxlength="3">;
 * Err: Debemos eliminar el len, y colocarlo en función del maxLenght del textBox. Y qué es el Evento?
 *
 */

/*
function autoTab(textbox, e)
{
	if (textbox.value.length >= textbox.maxlength)
	{
		// Algo
	}
}
*/

/*
var isNN = (navigator.appName.indexOf("Netscape")!=-1);
function autoTab(input,len, e) {
	var keyCode = (isNN) ? e.which : e.keyCode; 
	var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
	if(input.value.length >= len && !containsElement(filter,keyCode)) {
		input.value = input.value.slice(0, len);
		input.form[(getIndex(input)+1) % input.form.length].focus();
	}

	function containsElement(arr, ele) {
		var found = false, index = 0;
		while(!found && index < arr.length)
			if(arr[index] == ele)
				found = true;
			else
				index++;
		return found;
	}
	
	function getIndex(input) {
		var index = -1, i = 0, found = false;
		while (i < input.form.length && index == -1)
			if (input.form[i] == input)index = i;
			else i++;
		return index;
	}
return true;
}
*/

/*
 * checkForm()
 *
 * Des: Revisa si la forma a enviar es correcta.  i.e. si tiene los campos adecuados con los datos adecuados
 *      Basado en un método de Psubmit.js
 * Rec: Form a verificar
 * Dev: True si es válida, false si no lo es.
 * Dat: Esta es una función extensa.  Revisar los comentarios para mayor explicación en cada punto.
 *      - Asumimos que cada elemento tiene su parámetro nombre (name) definido.
 *      - Da error al escribir NAME, Name, name, nAme... Averigüar cómo comparar de forma no case sensitive.  De momento, asumimos que todos los parámetros van en minúsculas
 *
 */

function checkForm(form, boton)
{
	// Constantes para generalizar el chequeo del html
	var INT = "int";       // Entero (###.###.###)
	var DEC = "dec";       // Número con dos decimales (###.###.###,##)
	var NUM = "num";       // Alguno de los dos anteriores
	var FEC = "fecha";     // Fecha (DD/MM/YYYY)
	var CHR = "word";      // Letras y espacios
	var EML = "email";     // Letras, puntos y @
	var DOU = "double";    // Número con dos decimales (########.##)
	// Podemos ir añadiendo chequeos, tales como url, números positivos, etc.
	var alguna = 0;
	var cualquiera = 0;

	// Vamos a recorrer todos los elementos de la forma
	for (var i = 0; i < form.length; i++)
	{
		// Nos paramos en el elemento actual de la forma
		var eleAct = form.elements[i];
		var nameEleAct = (eleAct.nombre) ? eleAct.nombre : eleAct.name; // : "Desconocido";
		// Averigüar más respecto al método eleAct.getMember('name');
		// showMessage("Comenzando a chequear '" + nameEleAct + "' de tipo '" + eleAct.type + "'");
		
		if ( (eleAct.etiqueta) && (!eleAct.etiqueta == "") )
		{
			nameEleAct = eleAct.etiqueta;
		}
		
		// Ignoramos elementos que no debamos chequear
		if ((eleAct.type=="button") || (eleAct.type=="reset") || // (eleAct.type=="radio") || 
			(((eleAct.type=="select-one") || (eleAct.type=="select-multiple")) && (!eleAct.req)))
			continue;

		// Validamos campos necesarios (req="true")
		if ((eleAct.req) && (!eleAct.cond) && ((eleAct.value == "") || (eleAct.value == "-1") || (eleAct.value == "NINGUNO") || (eleAct.value == "ninguno") || (!eleAct.value))) // && (!eleAct.OFF)
		{
			showMessage("Debe completar el campo " + nameEleAct);
			return false;
		}
/*
		if ((eleAct.req) && (!eleAct.cond) && 
			(((eleAct.type!="radio") && ((eleAct.value == "") || (eleAct.value == "-1") || (eleAct.value == "NINGUNO") || (!eleAct.value))) || // && (!eleAct.OFF)
			 ((eleAct.type=="radio") && (isChecked(eleAct) == false))))
*/

		// Hay campos que no queremos validar si pisamos un boton.  Aquí los brincamos
		if ((eleAct.req) && (eleAct.req == boton) && (eleAct.req != "true"))
		{
			// showMessage("Just Checking -" + eleAct.req + "- -" + boton + "-");
		}
		else
		// Validamos campos que dependen de otro campo del tipo radio (cond="uno")
		if ((eleAct.req) && (eleAct.cond) && // (form.elements[eleAct.req].type=="radio") &&
			(isChecked(form.elements[eleAct.req]) == eleAct.cond) &&
			((eleAct.value == "") || (eleAct.value == "-1") || (eleAct.value == "NINGUNO") || (!eleAct.value))) // && (!eleAct.OFF)
		{
			showMessage("Se debe completar el campo " + nameEleAct);
			return false;
		}
		else
		// Validamos campos que dependen de otro campo del tipo select (cond="3")
		if ((eleAct.req) && (eleAct.cond) && (form.elements[eleAct.req].type=="select-one") &&
		    (form.elements[eleAct.req].selectedIndex == eleAct.cond) && // != -1) && // OJO - parseInt(eleAct.cond)
			((eleAct.value == "") || (eleAct.value == "-1") || (eleAct.value == "NINGUNO") || (!eleAct.value))) // && (!eleAct.OFF)
		{
			showMessage("Falta completar el campo " + nameEleAct);
			return false;
		}
		else
		// Validamos campos que dependen de otro campo del tipo text (cond="true". Basta con que tenga algo)
		if ((eleAct.req) && (eleAct.cond) && (form.elements[eleAct.req].type=="text") && 
			(form.elements[eleAct.req].value != "") && // == eleAct.cond) &&
			((eleAct.value == "") || (eleAct.value == "-1") || (eleAct.value == "NINGUNO") || (!eleAct.value))) // && (!eleAct.OFF)
		{
			showMessage("Es necesario completar el campo " + nameEleAct);
			return false;
		}

		// Validamos campos numéricos
		if ((eleAct.tipo == INT) && (!isInt(eleAct.value)) && (eleAct.value != ""))
		{
			showMessage("El campo " + nameEleAct + " no es un entero");
			return false;
		}
		else
		if ((eleAct.tipo == DEC) && (!isFloat(eleAct.value)) && (eleAct.value != ""))
		{
			showMessage("El campo " + nameEleAct + " no es un número con dos decimales");
			return false;
		}
		else
		if ((eleAct.tipo == DOU) && (!isFloatDot(eleAct.value)) && (eleAct.value != ""))
		{
			showMessage("El campo " + nameEleAct + " no es un número con decimales");
			return false;
		}

		else
		if ((eleAct.tipo == NUM) && (!isNumber(eleAct.value)) && (eleAct.value != ""))
		{
			showMessage("El campo " + nameEleAct + " no es un número");
			return false;
		}
		else

		// Validamos campos de fecha
		if ((eleAct.tipo == FEC) && (!isDate(eleAct.value)) && (eleAct.value != ""))
		{
			showMessage("El campo " + nameEleAct + " no es una fecha válida DD/MM/AAAA");
			return false;
		}

		// Validamos campos de texto
		if ((eleAct.tipo == CHR) && (!isWord(eleAct.value)) && (eleAct.value != ""))
		{
			showMessage("El campo " + nameEleAct + " no es una frase válida.");
			return false;
		}

		// Validamos campos de mail
		if ((eleAct.tipo == EML) && (!isMail(eleAct.value)) && (eleAct.value != ""))
		{
			showMessage("El campo  " + nameEleAct + " no es una dirección de E-Mail válida.");
			return false;
		}

		// Validamos campos con cierto formato (format="XXX")
		if ((eleAct.format) && (!isFormatted(eleAct.value, eleAct.format)) && (eleAct.value != ""))
		{
			showMessage("El campo " + nameEleAct + " no cumple con el formato " + eleAct.format);
			return false;
		}

		// Validamos checkboxes en los que queremos que se seleccione al menos uno (1)
		if ((eleAct.any) && (eleAct.type=="checkbox") && (eleAct.any==boton))
		{
			alguna = 1;
			if (eleAct.checked) 
				cualquiera = 1;
		}
	}
	// Validamos checkboxes en los que queremos que se seleccione al menos uno (2) 
	if ((alguna == 1) && (cualquiera != 1))
	{
		showMessage("Debe llenar al menos una de las casillas de selección.");
		return false;
	}
	return true;
}

/*
 * submit()
 *
 * Des: Hace el submit de la forma, chequeando la misma si se lo indican
 * Rec: Form a enviar, int que indica si se chequea (!=0) o no (0)
 * Dev: True si todo OK, false si no.
 * Dat: Para llamar a este Script, se importa
 *      <script language="JavaScript1.2" src="../operaciones/scripts/segven.js"></script>
 *      y el botón se crea de la forma
 *      <button id="b1" name="b1" type="button" onclick="submitForm(document.forma, 1); ">Aceptar</button>
 *
 */

function submitForm(form, check)
{

	if ((check != 0) && (!checkForm(form, "true")))
		return false;

	form.submit();
}	

/*
 * submit()
 *
 * Des: Hace el submit de la forma, chequeando la misma si se lo indican
 * Rec: Form a enviar, int que indica si se chequea (!=0) o no (0)
 * Dev: True si todo OK, false si no.
 * Dat: Corrección a submitForm(form, check) para corregir un problema de los checkboxes
 *
 */

function submitForm(form, check, boton)
{
	if ((check != 0) && (!checkForm(form, boton)))
		return false;
	
	form.submit();
}

// **********
// changeImgOver()
// Recibe: Nombre de la imagen (name), Archivo a mostrar (file)
// Realiza: Cambia la imagen mostrada por la nueva, y setea el cursor al puntero de mano
// Devuelve: Nada
// **********

function changeImgOver(name,file)
{     
	name.src = file   
	name.style.cursor = 'hand'; 
} 

// **********
// changeImgOut()
// Recibe: Nombre de la imagen (name), Archivo a mostrar (file)
// Realiza: Cambia la imagen mostrada por la nueva, y setea el cursor al puntero default (flecha)
// Devuelve: Nada
// **********

function changeImgOut(name,file)
{     
	name.src = file     
	name.style.cursor = 'default'; 
} 

// **********
// setSelected()
// Autor: Eduardo Ascanio (Integra Consultores)
// Fecha: 08/09/2003
// Recibe: Objeto de tipo Select (un combobox, por ejemplo) (select), Valor que debe estar seleccionado (value)
// Realiza: Coloca "value" como valor pre-seleccionado (selected) del elemento de tipo select.
// Devuelve: Nada
// **********

function setSelected(select,value)
    {
        var found = false;
		for (var i = 0; i < select.length; i++) {
			if (select.options[i].value.toUpperCase() == value.toUpperCase()) {
				found=true;
                break;
				}
			};
        if (found)
            {
            select.selectedIndex = i;
            }
       	else
           {
           select.selectedIndex = 0;
           }
     }

function MM_jumpMenu(targ,selObj,restore)
{ 
	if (targ != "")
	{
		if (selObj.options[selObj.selectedIndex].value != "")
		{
			eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
			if (restore) selObj.selectedIndex=0;
		}
	}
}


/*
 * Fin del Archivo
 *
 */
