//Regresa Objeto(s)
function $() {    
	var _IdArray=new Array();	
	for(var i=0;i<arguments.length;i++) { 	
		var _Id=arguments[i];
		if(typeof _Id == "string") { 
			_Id = document.getElementById(_Id); //objeto por Id
		}
		if(arguments.length==1) {
			return _Id;
		}
		_IdArray.push(_Id);
	}
	return _IdArray;
}

function EvaluacionObligatorias (formulario,idioma)
{	
	var PregObligatorias = new Array;		//Arreglo con todos los Id's de las preguntas obligatorias
	var RespuestasPorPregunta = new Array;	//Arreglo con todos los ID's de las respuestas de una pregunta
	var ObjetoRespuesta;					//Objeto de la respuesta
	var Faltantes 							//Descripcion de las preguntas faltantes
	if(idioma == "ING")
		Faltantes = "Please enter all the mandatory fields:\n";	//Descripcion de las preguntas faltantes
	else
		Faltantes = "Por favor responda todas las preguntas obligatorias:\n";
	var maxFaltantes = 3;					//Maxico de preguntas faltantes para mostrar alerta
	var contFaltantes = 0;					//Contador de preguntas faltantes
	var textPregunta = ""					//Descripcion por pregunta
	var i = 1;								//Variable para ciclos
	var j = 1;								//Variable para ciclos
	var vacio = 1;							//Bandera para indicar que se respondio la pregunta
	
	//Arreglo con todos los Id's de las preguntas obligatorias
	//PregObligatorias = $("Obligatorias").value.split("-"); //arreglo con las preguntas obligatorias
	PregObligatorias = eval("document." + formulario + ".Obligatorias.value.split('-')"); //arreglo con las preguntas obligatorias
	
	//While Preguntas
	while (i <= PregObligatorias.length-1)
	{
		//Arreglo con todos los ID's de las respuestas de una pregunta
		//RespuestasPorPregunta = $(PregObligatorias[i]).value.split("-");
		RespuestasPorPregunta = eval("document." + formulario + "." + PregObligatorias[i] + ".value.split('-')");
		j = 1;
		vacio = 1;
		
		//While Respuestas por pregunta
		while (j <= RespuestasPorPregunta.length-1)
		{
			ObjetoRespuesta = eval("document." + formulario + "." + RespuestasPorPregunta[j]);
			
			//Select o Radio Buttons (Siempre tienen por lo menos un elemento)
			if(ObjetoRespuesta.length > 0) {
				switch(ObjetoRespuesta[0].tagName.toLowerCase()) { //tagName del primer elemento
					case "input":	if(ObtieneValorRadio(ObjetoRespuesta) != "") vacio = 0;
									break;
									
					case "option":
									if(ObjetoRespuesta.value != "")	vacio = 0;
									break;
				}	
			}
			//Checkbox, Text, TextArea
			else {
				//debugger;
				switch(ObjetoRespuesta.type) { //Tipo de objeto
					case "checkbox":	
									if(ObjetoRespuesta.checked==true) vacio = 0;
									break;
					default:
									if(ObjetoRespuesta.value != "")	vacio = 0;
									break;
				}
			}
			j ++;
			if(vacio == 0) break;
		} // END While de respuestas x pregunta
		
		//No se respondio la pregunta?
		if(vacio==1) {
			contFaltantes ++;
			//Cantidad de preguntas faltantes <= a maximo de preguntas faltantes para el mensaje de error
			if(contFaltantes <= maxFaltantes) {
				textPregunta = "   " + $("PregText" + PregObligatorias[i]).innerHTML;
				Faltantes += textPregunta + "\n";
			}
			else {
				Faltantes += "   ...";
				break;
			}
		}
		i ++;
	} // END While de preguntas obligatorias
	
	//Hubo una o mas preguntas obligatorias sin contestar
	if(contFaltantes > 0) {
		alert(Faltantes);
		return false;
	}
	else {
		return true;
	}
}

//Determina si existe algun radio seleccionado
function ObtieneValorRadio(radioObj) {
	if(!radioObj)
		return "";
	var CantidadRadios = radioObj.length;
	if(CantidadRadios == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < CantidadRadios; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

// Valida el formato del email
function validateEmail(sVal,idioma)
{
	// our email regular expression (http://www.regexlib.com)
	var regex=/^[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/;
 
	// do the comparison, if we have a match write thank you or else the email is invalid
	if (regex.test(sVal))
	  return true;
	else 
	{
		if(idioma == "ING")
			alert("You must enter a valid EMail address");
		else
			alert("Debe escribir un correo electrónico válido")
	  return false;
	}
}

function CambiaObligatorias(formulario, obligatorias)
{
	eval("document." + formulario + ".Obligatorias.value = '" + obligatorias + "'");
}
//Busca en el select "nombre" un valor y lo pone selected. Ej.: buscaSelect("document.frmagencias.State","CAMP");
function buscaSelect(nombre, valor) {
	var elemento = eval(nombre);
	for (var i = 0; i < elemento.options.length; i++) {
		if (elemento.options[i].value == valor) {
			elemento.options.selectedIndex = i;
		}
	} 
}

function validaTerminos(checkValidar, idioma) {
	if(checkValidar.checked) {
		return true;
	}
	else {
		if(idioma == "ING")
			alert('Please accept the terms in order to continue');
		else
			alert('Por favor acepte los términos para continuar');
		return false;
	}
}