/*
+-------------------------------------------------------------------------------------+
| Proyecto LICENCIATURA VIRTUAL                                                                |
+-------------------------------------------------------------------------------------+
| Autores: Fernando Aguilar Viquez,Baldemar Campoy                                    |
+-------------------------------------------------------------------------------------+
*/

/* JavaScript para validar los formularios y otras artimañas */
var W3CDOM = (document.getElementsByTagName && document.createElement);
var csserrores = 'errorrequerido';
var nav4 = navigator.appName != 'Microsoft Internet Explorer'  ? true : false;
var msg = '';
var msghelp = new appTT.toolTip();//linea de tooltip

if (nav4) document.captureEvents(Event.MOUSEDOWN)//linea de tooltip
if (nav4) document.captureEvents(Event.MOUSEOVER)//linea de tooltip

document.onmousedown = posicRatonXY;
var posicX = 0
var posicY = 0
var msg = '';

function posicRatonXY(e)
{

	if (!nav4)
	{

		if( document.documentElement &&  ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
			//IE6 standards compliant mode

			posicX = event.clientX + document.documentElement.scrollLeft;
			posicY = event.clientY + document.documentElement.scrollTop;
		}
		else
		{
			posicX = event.clientX + document.body.scrollLeft;
			posicY = event.clientY + document.body.scrollTop;
		}
	}

	else
	{
		posicX = e.pageX;
		posicY = e.pageY
	}

	if (posicX < 0) posicX = 0;
	if (posicY < 0) posicY = 0;


	return true

}

function validarNumero(numero,nameField,idField){
	if(trimCadena != ''){
		var validaRS = new validaciones_rs();
		if( !validaRS.isnumber(numero) ){
			alert("El campo "+nameField+" debe contener sólo numeros");
			document.getElementById(idField).value = '';
			return false
		}
		return true;
	}
	return false;
}


function correo(idcampo)
{
	valor = document.getElementById(idcampo).value;

	var meil = valor.match(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/gi);
	if(!meil)
	{
		alert("Favor de escribir el correo correctamente");
		document.getElementById(idcampo).value = "";
		return false;
	}

}
function trimCadena( str )
{
	//Pa' quitar los espacios en blanco al final y al principio de una cadena
	str = str.replace(/^\s*|\s*$/g,"");
	return str;
}



// Funcion para deshabilitar las teclas que no sean numeros, enter, y una que no me acuerdo


function acceptNumInt(evt){

	var key = nav4 ? evt.which : evt.keyCode;
	return (key <= 13 || (key >= 48 && key <= 57));
}




function acceptNumDec(evt){

	var key = nav4 ? evt.which : evt.keyCode;
	return (key <= 13 || key == 46 || key == 190 || key == 110 || (key >= 48 && key <= 57) || (key >= 96 && key <= 105));
}

function onlyNumber(cadena)
{
	cadena = cadena.replace(/[A-Z]+/gi,"");
	return cadena;
}

function verifica(elmFORM)
{
	validForm = true;
	firstError = null;
	errorstring = '';
	var mensajedeerror = '* Campo requerido';	
		
	var cnjFORM = elmFORM.elements;
	var Chequeo = 1;
	var Chequeo_text=1;
	var requeridos_valida_check=0;
	var requeridos_checkbox=0;
	var requeridos_radio =0;
	var requeridos_valida_radio=0;
	var campos="";

	for (var i=0; i<cnjFORM.length; i++) {

		if (cnjFORM[i].className=='requerido')
		{

			var tipo_forma = cnjFORM[i].type;
			var nombre_campo=cnjFORM[i].title;
			var nombre2 = tipo=cnjFORM[i].name;

			switch(tipo_forma)
			{
				case 'select-one':

				if (cnjFORM[i].value == '0' || cnjFORM[i].value == '')
				{

					//cnjFORM[i].focus();
					//alert ('Ingrese el siguiente campo del formulario: '+nombre_campo);			
					writeError(cnjFORM[i],mensajedeerror);		
					return false;

				}
				break;

				case 'checkbox':
				var requeridos_valida_check=0;
				var cuantos=cnjFORM[i].id;
				requeridos_checkbox++;
				for (var j=0; j<cuantos ; j++){
					if (cnjFORM[i+j].checked){
						requeridos_valida_check++;
						break;
					}
				}
				if (requeridos_valida_check == 0){
					//cnjFORM[i].focus();
					//alert ('Ingrese el siguiente campo del formulario: '+nombre_campo);
					writeError(cnjFORM[i],mensajedeerror);
					return false;
				}
				break;

				case 'radio':
				var cuantos=cnjFORM[i].id;
				var requeridos_valida_radio=0;
				requeridos_radio++;
				for (var j=0; j<cuantos ; j++)
				{
					if (cnjFORM[i+j].checked)
					{
						requeridos_valida_radio++;
						break;
					}
				}
				if (requeridos_valida_radio == 0)
				{

					//cnjFORM[i].focus();
					//alert ('Ingrese el siguiente campo del formulario: '+nombre_campo);
					writeError(cnjFORM[i],mensajedeerror);
					return false;
				}
				break;

				default:
				if (trimCadena(cnjFORM[i].value) == '')
				{
					//cnjFORM[i].focus();

					//alert ('Ingrese el siguiente campo del formulario: '+nombre_campo);
					writeError(cnjFORM[i],mensajedeerror);
					return false;
				}
			}
		}

	}
	return true;
}


function ShowHide(idcapa){
	if(document.getElementById(idcapa).style.display == 'block'){
		document.getElementById(idcapa).style.display = 'none';
	}
	else document.getElementById(idcapa).style.display = 'block';
}

function showToolTip(mensajeoculto){
	msghelp.message = mensajeoculto;
	msghelp.show();
}
function hideToolTip() {
	msghelp.hide();
}





// 1. funcion isDigit(chrIn) regresa true si la cadena chrIn de longitud 1
// es un digto del o al 9, es caso contrario regresa false

function isDigit(chrIn){
	if (chrIn.length != 1) return false;
	else {
		if (chrIn.search(/[0-9]/)== -1)return false;
		else return true;
	}
}

function textarealimite(event,elmid,limite,divmuestra){
	if(divmuestra){
		textareamuestratotal(divmuestra,elmid);
	}
	var key = nav4 ? event.which : event.keyCode;
	if(key < 13 || key == 27 || (key >= 35 && key <= 47)) return true;
	
	var jsd = document.getElementById(elmid).value;
	var jstotal = jsd.length;	
	if(jstotal <= limite)
		return true;
	var jsvaluetxt = '';
	
	
	for(x=0;x< limite;x++){
		jsvaluetxt += jsd.charAt(x);
	}
	document.getElementById(elmid).value = jsvaluetxt;
	textareamuestratotal(divmuestra,elmid);
	alert("El limite de caracteres es "+limite)
	return false;
}
function textareamuestratotal(divid,elmid){
	document.getElementById(divid).innerHTML = document.getElementById(elmid).value.length;
}
function ocultaventana(){
	ocultaselects('visible');
	//document.getElementById('divformulario').style.display = 'block';
	document.getElementById('divventana').innerHTML = '';
	document.getElementById('divventana').style.display = 'none';	
}
function ocultaventanasinform(){
	document.getElementById('divventana').style.display = 'none';	
}

function ocultaselects(actionSelect){
	var fieldSelect= document.getElementsByTagName("select");
	for (k = 0; k < fieldSelect.length; k++){
		fieldSelect[k].style.visibility = actionSelect;
	}	
}

function writeError(obj,message) {
	validForm = false;
	if (obj.hasError) return;
	if (W3CDOM) {
		//obj.className += ' error';
		obj.onchange = removeError;
		var sp = document.createElement('span');
		sp.className = csserrores;
		sp.appendChild(document.createTextNode(message));
		obj.parentNode.appendChild(sp);
		obj.hasError = sp;
	}
	else {
		errorstring += obj.name + ': ' + message + '\n';
		obj.hasError = true;
	}
	if (!firstError)
		firstError = obj;
}
function removeError()
{
	this.className = this.className.substring(0,this.className.lastIndexOf(' '));
	this.parentNode.removeChild(this.hasError);
	this.hasError = null;
	this.onchange = null;
}