// JavaScript Document
function LCase(s){
	// Devuelve la cadena convertida a mayúsculas
	return s.toLowerCase();
}

// valida datos de los formularios
function validar(form) { 
	var retorno = 1;
	var elementos = form.elements.length;
	var MensajeRequeridos="", MensajeCaracteres="", MensajeFinal="", MensajeMail = "";
	var i,j;
	var CamposTexto = "Nombre|Apellido|DNI|TipoDNI|Telefono|Email|Provincia|Sexo|Nombre2|Localidad|Localidad2|Localidad3|Cliente|PlanSueldo";//Todos los campos de texto posibles en todo el sistema
	var CamposNumericos = "Dia|Mes|Ano";//Todos los campos numericos posibles en todo el sistema
	var CaracteresRestringidos = '$<>();&%#:\{}""';
	var LocalidadOk = "False";
	var regexpEmail = /\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/;//Regular expression para validar el mail
	//recorro los campos del formulario
	var EsCliente = "False";
	for (i=0; i<elementos; i++){
		//me fijo si el campo es requerido
		if (form[i].getAttribute("alt") == "requerido"){
			//Me fijo si el campo es de texto
			if (CamposTexto.indexOf(form[i].name) != -1){
				//Me fijo si está vacío
				if(form[i].value.length == 0){
					if (form[i].name == "TipoDNI"){
						MensajeRequeridos += " * Tipo de Documento\n";
					}
					else if (form[i].name == "DNI"){
						MensajeRequeridos += " * Número de Documento\n";					
					}
					//Aqui excluyo a Localidad, porque tienen un trato especial
					else if (form[i].name != "Localidad" && form[i].name != "Localidad2" && form[i].name != "Localidad3"){
						MensajeRequeridos += " * " + form[i].name + "\n";
					}
				}			
				//Aqui hago un tratamiento especial para Localidad, alcanza con que uno solo campo de los tres "Localidad" tenga valores
				else if (form[i].name == "Localidad" || form[i].name == "Localidad2" || form[i].name == "Localidad3"){
					LocalidadOk = "True";
				}
			}
			//Me fijo si el campo es numérico y si vale cero
			if (CamposNumericos.indexOf(form[i].name) != -1 && form[i].value == 0){
				if (form[i].name == "Ano"){
					MensajeRequeridos += " * Año\n";					
				}
				else{
					MensajeRequeridos += " * " + form[i].name + "\n";
				}
			}
		}
		//Me fijo que los campos nombre y apellido no contengan caracteres extraños
		if (form[i].name == "Nombre" || form[i].name == "Apellido" || form[i].name == "Email"){
			for(j=0; j < form[i].value.length; j++){
				if (CaracteresRestringidos.indexOf(form[i].value.charAt(j)) != -1){
					MensajeCaracteres = " * " + form[i].name + "\n";
				}
			}
		}
		//Valido el campo email en base a la Regular Expresion ingresada en la variable regexpEmail
		if (form[i].name == "Email" && form[i].value.length > 0){
			if (!regexpEmail.test(form[i].value)){
				MensajeMail = "El campo Email no está ingresado correctametne \n";
			}
		}
		//valido el campo EsCliente
		if (form[i].name == "Cliente" && form[i].getAttribute("alt") == "requeridonoingresado" && form[i].checked){
			MensajeRequeridos += " * Es Cliente\n";
		}
		// valido PlanSueldo en base a si se seleccionó EsCliente
		if (form[i].name == "Cliente" && form[i].getAttribute("alt") == "requeridoingresado" && form[i].checked && form[i].value == "SI"){
			EsCliente= "True";
		}
		if (form[i].name == "PlanSueldo" && form[i].getAttribute("alt") == "requeridonoingresado" && MensajeRequeridos.indexOf("Es Cliente") == -1 &&EsCliente == "True" && form[i].checked){
			MensajeRequeridos += " * Plan Sueldo\n";
		}
		
		
	}
	if (LocalidadOk == "False"){
		MensajeRequeridos += " * Localidad\n";
	}
	if (MensajeRequeridos.length != 0){
		MensajeFinal += "Falta ingresar los siguientes datos obligatorios: \n" + MensajeRequeridos;
	}
	if (MensajeCaracteres.length != 0){
		MensajeFinal += "Los sigientes campos contienen caracteres inválidos: \n" + MensajeCaracteres;
	}
	if (MensajeMail.length != 0){
		MensajeFinal += MensajeMail;
	}
	if (MensajeFinal.length != 0){
		alert(MensajeFinal)
		return false;
	} 
	else{
		return true;
	};
}
// valida datos de los formularios


// limpia los formularios
function borrar(form){
	form.reset();
	}

//oculta campos localidad
function OcultarLocalidades(){
	document.getElementById('trLocalidad').style.display  = 'none';
	document.getElementById('trLocalidad2').style.display = 'none';
	document.getElementById('trLocalidad3').style.display = 'none';
	}

function LlenarLocalidad(form){
	switch(form.Provincia.value){
		case "GBA":
			document.getElementById('trLocalidad').style.display = 'none';
			document.getElementById('trLocalidad2').style.display = 'none';
			document.getElementById('trLocalidad3').style.display = '';
			form.Localidad.value='';
			form.Localidad2.value=''			
			break;
		case "Capital Federal":
			document.getElementById('trLocalidad').style.display = 'none';
			document.getElementById('trLocalidad2').style.display = '';
			document.getElementById('trLocalidad3').style.display = 'none';
			form.Localidad.value='';
			form.Localidad3.value=''			
			break;
		default:
			document.getElementById('trLocalidad').style.display = '';
			document.getElementById('trLocalidad2').style.display = 'none';
			document.getElementById('trLocalidad3').style.display = 'none';
			form.Localidad2.value='';
			form.Localidad3.value=''			
			break;
	}
}

function Mostrar(form , strCliente){
	if(strCliente == "si"){
		document.getElementById('trPlanSueldo2').style.display = '';
	}else{
		document.getElementById('trPlanSueldo2').style.display = 'none';
		//document.getElementById('plansueldo').value = "";
	}
}

// limpia los formularios
function clearFormFields (theForm) {
	var elems = theForm.elements;
	
	for (var ix=0; ix < elems.length; ix++) {
		var elem = elems[ix];
		if (elem.name!="submitted"){
			elem.value= ""; 
			if(elem.checked){
				elem.checked = "";
			}   
		}
	}
}

