// bugs o erroes enviar a pedromario@gmail.com

//función checkForm(this.name,'toCheck');
//toCheck = campos a revisar separados con "|", los campos que deben ser revisados seran marcados con "y" y los que no con "n"
//           Ejemplo:  'y|n|y|y|n|y'
//un ejemplo de como se invoca la función es:  checkForm(this.name,'y|y|n|y|n|y|y|n|n');
//se pone en el tag form que se desea. ejemplo: <form action="" method="post" name="registro" onSubmit=" return checkForm(this.name,'y|y|n|y|n|y|y|n|n');">
//debe contener un boton de reset y submit

function checkForm(forma,campos){	
	var error=true;
	var toCheck = new Array();
	toCheck=campos.split("|");
	for(var i=document.forms[forma].elements.length-2;i>=0;i--){
		if((document.forms[forma].elements[i].type !="submit")&&(document.forms[forma].elements[i].type != "reset")&&(document.forms[forma].elements[i].type != "radio")&&(document.forms[forma].elements[i].type != "checkbox")){
			document.forms[forma].elements[i].style.border= "1px solid #aaaaaa";
		}
		if(toCheck[i]=="y"){
			if(document.forms[forma].elements[i].value==""){
				document.forms[forma].elements[i].style.border= "2px solid #FF3300";
				document.forms[forma].elements[i].focus();
				error=false;
			}else{
				document.forms[forma].elements[i].style.border= "1px solid #aaaaaa";
			}
		}
	}
	if(error==false){
		alert("Te faltan datos.");
	}
	return (error);
}

/*
Esta funcion revisa que solo ingresen caracteres permitidos para teléfono
se manda llamar onKeyUp="checkTel(this);" 
se pone en el campo de texto
*/

function checkTel(field){
	var valid = "0123456789-() "
	var ok = "yes";
	var temp;
	for (var i=0; i<field.value.length; i++) {
		temp = "" + field.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = "no";
	}
	if (ok == "no") {
		alert("Letra o signo invalido.");
		field.focus();
		var myVar= field.value;
		field.value = myVar.substring(0,myVar.length-1);
	 }

}

/*
Esta funcion revisa que solo ingresen caracteres numericos
se manda llamar onKeyUp="checkNum(this);" 
se pone en el campo de texto
*/

function checkNum(field){
	var valid = "0123456789"
	var ok = "yes";
	var temp;
	for (var i=0; i<field.value.length; i++) {
		temp = "" + field.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = "no";
	}
	if (ok == "no") {
		alert("Letra o signo invalido.");
		field.focus();
		var myVar= field.value;
		field.value = myVar.substring(0,myVar.length-1);
	 }

}

/*
Esta funcion revisa que solo ingresen letras mayusculas o minusculas
se manda llamar onKeyUp="checkAbc(this);" 
se pone en el campo de texto
*/

function checkAbc(field){
	var valid = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZabcdefghijklmnñopqrstuvwxyz "
	var ok = "yes";
	var temp;
	for (var i=0; i<field.value.length; i++) {
		temp = "" + field.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = "no";
	}
	if (ok == "no") {
		alert("Solo son permitidas letras.");
		field.focus();
		var myVar= field.value;
		field.value = myVar.substring(0,myVar.length-1);
	 }
}

/*
Esta funcion revisa que no ingresen caracteres especiales (la ñ esta excluida)
se manda llamar onKeyUp="checkChar(this);" 
se pone en el campo de texto
*/

function checkChar(field){
	var valid = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890 "
	var ok = "yes";
	var temp;
	for (var i=0; i<field.value.length; i++) {
		temp = "" + field.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = "no";
	}
	if (ok == "no") {
		alert("Solo son permitidas letras.");
		field.focus();
		var myVar= field.value;
		field.value = myVar.substring(0,myVar.length-1);
	 }
}

/*
Esta funcion revisa que sea un campo de correo electrónico
se manda llamar onBlur="checkMail(this);" 
se pone en el campo de texto
*/

function checkMail(field){
	var valid = "abcdefghijklmnopqrstuvwxyz1234567890-_.@"
	var ok = "yes";
	var temp;
	var arroba = false;
	var punto = false;
	for (var i=0; i<field.value.length; i++) {
		temp = "" + field.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = "no";
	}
	for (var i=0; i<field.value.length; i++) {
		temp = "" + field.value.substring(i, i+1);
		if (temp == "@"){ 
			arroba = true;
		}
	}
	for (var i=0; i<field.value.length; i++) {
		temp = "" + field.value.substring(i, i+1);
		if (temp=="."){ 
			punto = true;
		}
	}
	if (ok == "no" || arroba==false || punto ==false) {
		//alert("No es una dirección de correo valida.");
		//field.focus();
		field.style.border= "2px solid #FF3300";
		var myVar= field.value;
		return false;
	}else{
		field.style.border= "1px solid #aaaaaa";
		return true;
	}
}

/*
pide confirmación para resetear los campos
se manda llamar desde la forma asi onReset="checkReset();"
*/
function checkReset(){
	resetConfirm = confirm("¿Deseas borrar los campos?");
	if(resetConfirm==true){
		return true;
	}else{
		return false;
	}
}

function checkborrar(){
	resetConfirm = confirm("¿Seguro que desea borrar?");
	if(resetConfirm==true){
		return true;
	}else
	{
		return false;
	}
}
//------------------------------ADVICE----------------------

function gmX() {
  tempX = event.clientX + document.body.scrollLeft -20
  if (tempX < 0){tempX = 0}  
  return tempX + "px";
}

function gmY() {
  tempY = event.clientY + document.body.scrollTop - 40
  if (tempY < 0){tempY = 0}  
  return tempY + "px";
}
function hide(id){
	obj = document.getElementsByTagName("div");
	obj[id].style.visibility = "hidden";
}

function dato(id){
	obj = document.getElementsByTagName("div");
	obj[id].style.visibility = "visible";
	obj[id].style.left = gmX();
	obj[id].style.top = gmY();
	setTimeout("hide('"+ id +"');",2000);
}
