	function notEmpty(wInput)
	{
		for (i=0;i<arguments.length;i++)
			{
				input = eval(arguments[i]);
				if (input.value == "")
					{
						preventEmpty(input,"Escribe el texto solicitado");
						return false;
					}
			}
		return true;
	}
	
	function preventEmpty(wObj,wMsg)
	{
		var input = eval(wObj);
		if(wMsg != "")
			alert(wMsg);
		input.focus();
	}
/*	
	function	isNumber(wInput)
	{
		for(i=0;i<arguments.length;i++)
			{
				input	=	eval(arguments[i]);
				if (notEmpty(input))
					if isNaN(
			}
	}
*/	
	function maskNumber(nNumber,wInput)
	{
		if(isNaN(wInput.value))
			return false;
		else
			return true;
/*	
		//queria hacerlo con expresiones regulares,
		// pero parece que tienen problemas en IE4,
		//ademas de que no se todos los metodos se soportan
		var strMask	=	"\d{" + nNumber + "}";
		var strSeek	=	wInput.value;
		
		var r = new RegExp(strMask);
		alert(r.test(strSeek));
*/
	}
	
//--------------------------------------------------------------------------------	
//--------------------   Funciones para         -----------------------------
//--------------------   Selects                       -----------------------------
//---------------------------------------------------------------------------------
	//primer parametro : la palabra/valor (s) a buscar
	//penultimo parametro : si se desea seleccionar lo buscado cuando se encuentre, o solo regresar el indice
	//ultimo parametro	 : que se desea buscar en el Select, Palabra o Valor
	//parametros intermedios : Selects
	
	//nota : el select multiple para value, solo funciona para enteros
	
	function	findInSelect(word,wSelect,wOption,wWhat)
	{
		if(word=="")
			return -1;
		
		var strSelected	=	"";
		var toLook			= word;
		
		option	=	wOption;
		what	=	wWhat;
		
		for (j=1;j<arguments.length-2;j++)
		{
			select	=	eval(arguments[j]);
			select.selectedIndex	=	-1;
//-------------------------------------------------------------------------------------------------------------------------------------			
			if (what == "word")
				{
					for (i=0;i<select.length;i++)
						if (select.options[i].text.indexOf(toLook.toUpperCase()) != -1)
							switch (option)
							{
								case	0	:
									strSelected	+=	","+i;
									break;
								case	1	:
									select.options[i].selected = true;
									break;
							}
				}
//-------------------------------------------------------------------------------------------------------------------------------------
			else if (what == "value")
				{
					//-------------------------------------------------------------------------------------------------------------------------------------
					if (select.type == "select-multiple")
						{
							counter = 1;
							while(nextInCommaStr(toLook, counter) != -1)
							{
								valor = nextInCommaStr(toLook, counter);

								//parte que busca//
								for (i=0;i<select.length;i++)
								{
									//para value como string, el error esta en esta comparacion, debe ser un bug
									if (parseInt(select.options[i].value) == parseInt(valor))
									{
										switch (option)
										{
											case	0	:
												strSelected	+=	","+i;
												break;
											case	1	:
												select.options[i].selected = true;
										}
										break;
									}
								}
								//===============//
								
								counter++;
							}
						}
						//-------------------------------------------------------------------------------------------------------------------------------------
					else
						{
							//parte que busca
							for (i=0;i<select.length;i++)
								if (select.options[i].value == toLook)
									switch (option)
									{
										case	0	:
											strSelected	+=	","+i;
											break;
										case	1	:
											select.options[i].selected = true;
											break;
									}
							//===============//
						}
				}
		}
		if (option == 0)
			return strSelected;
	}
	
	function addSel2Sel1(wSelSource,wSelDestiny,warnMsg)
	{
		var	selOption	=	wSelSource.options[wSelSource.selectedIndex];
		for(i=0;i<wSelDestiny.length;i++)
			if (wSelDestiny.options[i].value == selOption.value)
				{
					if (warnMsg != "")
						alert(warnMsg);
					wSelSource.focus();
					return;
				}
				
		var	nwOpt		=	document.createElement("OPTION")
		nwOpt.text		=	selOption.text;
		nwOpt.value	=	selOption.value;
		wSelDestiny.add(nwOpt);
	}
	
	function verifySelected(wSelect, wCuantos)
	{
		if(wCuantos < 1)
			return false;
			
		var contSelect	=	0;
		
		for(i=0;i<wSelect.length;i++)
				if(wSelect.options[i].selected)
					{
						contSelect++;
						if (contSelect >= wCuantos)
							return true;
					}
			return false;
	}

	function nextInCommaStr(wStr, pos)
	{
		var	contPos		=	1;
		var	posComa	=	0; 
		var	strComa		=	wStr;
		var	word = "";
		
		while (strComa != "")
		{
			posComa	=	strComa.indexOf(",");
			if (posComa != -1)
				{			
					word		=	strComa.substring(0, posComa );
					strComa	=	strComa.substring(posComa + 1, strComa.length);
				}
			else
				{
					word		=	strComa;
					strComa	=	"";
				}
			
			if (contPos == pos)
				return word;
			else
				contPos++;
		}
		
		return -1;
	}
