// Script de Validación

var msg = "";

function echeck(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
			return false;
		}
		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
			return false;
		}
		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
			return false;
		}
		if (str.indexOf(at,(lat+1))!=-1){
	 	return false;
		}
		if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
			return false;
		}

		if (str.indexOf(dot,(lat+2))==-1){
			return false;
		}
		if (str.indexOf(" ")!=-1){
			return false;
		}
 		 return true					
	}

/* Funciones para validar telefono*/
function ValidateNo(NumStr, String)
{
    for(var Idx=0; Idx<NumStr.length; Idx++)
    {
        var Char = NumStr.charAt(Idx);
        var Match = false;

        for(var Idx1=0; Idx1<String.length; Idx1++)
        {
            if(Char == String.charAt (Idx1))
                Match = true;
        }

        if (!Match)
            return false;
    }
    return true;
}

function ValidateForm(){
	
	msg = "";
	//valida Nombre
	if(document.form1.R1.value == "" || document.form1.R1.value ==null)
		msg += "-Por favor introduzca su Nombre\n";
	//valida Apellido	
	if(document.form1.R2.value == "" || document.form1.R2.value ==null)
		msg += "-Por favor introduzca su Apellido\n";
	//valida Telefono
	if(document.form1.R3.value == "" || document.form1.R3.value ==null)
		msg += "-Por favor introduzca su Telefono\n";
	//valida Email
	var emailID=document.form1.R4;
	if ((emailID.value==null)||(emailID.value==""))
		msg += "-Insertar Email por favor\n";
	else if(echeck(emailID.value)==false){
		emailID.value=""
		msg += "-El correo electrónico  no es válido\n";
	}
	//valida Edad
	if(document.form1.R5.value == "" || document.form1.R5.value ==null)
		msg += "-Por favor introduzca su Edad\n";
	//valida Ciudad
	if(document.form1.R6.value == "" || document.form1.R6.value ==null)
		msg += "-Por favor introduzca su Ciudad\n";
	//valida Estado
	if(document.form1.R7.value == "" || document.form1.R7.value ==null)
		msg += "-Por favor introduzca su Estado\n";
	//valida Pais
	if(document.form1.R8.value == "" || document.form1.R8.value ==null)
		msg += "-Por favor introduzca su Pais\n";	
	
	//Preguntas
	if(document.form1.R9.value =="")
		msg += "-Conteste la apregunta 1\n";	
	if(document.form1.R10.value =="")
		msg += "-Conteste la apregunta 2\n";
	if(document.form1.R11.value =="")
		msg += "-Conteste la apregunta 3\n";
	if(document.form1.R12.value =="")
		msg += "-Conteste la apregunta 4\n";
	if(document.form1.R13.value =="")
		msg += "-Conteste la apregunta 5\n";
	if(document.form1.R14.value =="")
		msg += "-Conteste la apregunta 6\n";
	if(document.form1.R15.value =="")
		msg += "-Conteste la apregunta 7\n";
	if(document.form1.R16.value =="")
		msg += "-Conteste la apregunta 8\n";
	if(document.form1.R17.value =="")
		msg += "-Conteste la apregunta 9\n";
	if(document.form1.R18.value =="")
		msg += "-Conteste la apregunta 10\n";
	if(document.form1.R19.value =="")
		msg += "-Conteste la apregunta 11\n";
	if(document.form1.R20.value =="")
		msg += "-Conteste la apregunta 12\n";
	if(document.form1.R21.value =="")
		msg += "-Conteste la apregunta 13\n";
	if(document.form1.R22.value =="")
		msg += "-Conteste la apregunta 14\n";
	if(document.form1.R23.value =="")
		msg += "-Conteste la apregunta 15\n";
	
	
	//Validación Final
	if(msg != ""){
		alert("Campos incorrectos, por las siguintes razones:\n"+msg);
		//ShowLoadingBox('loadingFileBox');
		return false;
	}
	else {
		ShowLoadingBox('loadingFileBox');
		return true;
	}
 }


//Permite escribir Sólo 
function validaNum(evento) {
	var Tecla;
	var bolReg=false;
	if (strExplorador.indexOf("Explorer",0) != -1) {
		Tecla = evento.keyCode;
	} else {
		Tecla=evento.which;
	}
	if ((Tecla > 47) && (Tecla < 58)) {
		bolReg=true;
	}
	if (strExplorador.indexOf("Explorer",0) != -1) {
		if (!bolReg) {
		   evento.keyCode = "";
		}
	}
	return bolReg;
}



// Validación de numeros
function extractNumber(obj, decimalPlaces, allowNegative)
{
	var temp = obj.value;
	
	// avoid changing things if already formatted correctly
	var reg0Str = '[0-9]*';
	if (decimalPlaces > 0) {
		reg0Str += '\\.?[0-9]{0,' + decimalPlaces + '}';
	} else if (decimalPlaces < 0) {
		reg0Str += '\\.?[0-9]*';
	}
	reg0Str = allowNegative ? '^-?' + reg0Str : '^' + reg0Str;
	reg0Str = reg0Str + '$';
	var reg0 = new RegExp(reg0Str);
	if (reg0.test(temp)) return true;

	// first replace all non numbers
	var reg1Str = '[^0-9' + (decimalPlaces != 0 ? '.' : '') + (allowNegative ? '-' : '') + ']';
	var reg1 = new RegExp(reg1Str, 'g');
	temp = temp.replace(reg1, '');

	if (allowNegative) {
		// replace extra negative
		var hasNegative = temp.length > 0 && temp.charAt(0) == '-';
		var reg2 = /-/g;
		temp = temp.replace(reg2, '');
		if (hasNegative) temp = '-' + temp;
	}
	
	if (decimalPlaces != 0) {
		var reg3 = /\./g;
		var reg3Array = reg3.exec(temp);
		if (reg3Array != null) {
			// keep only first occurrence of .
			//  and the number of places specified by decimalPlaces or the entire string if decimalPlaces < 0
			var reg3Right = temp.substring(reg3Array.index + reg3Array[0].length);
			reg3Right = reg3Right.replace(reg3, '');
			reg3Right = decimalPlaces > 0 ? reg3Right.substring(0, decimalPlaces) : reg3Right;
			temp = temp.substring(0,reg3Array.index) + '.' + reg3Right;
		}
	}
	
	obj.value = temp;
}
function blockNonNumbers(obj, e, allowDecimal, allowNegative)
{
	var key;
	var isCtrl = false;
	var keychar;
	var reg;
		
	if(window.event) {
		key = e.keyCode;
		isCtrl = window.event.ctrlKey
	}
	else if(e.which) {
		key = e.which;
		isCtrl = e.ctrlKey;
	}
	
	if (isNaN(key)) return true;
	
	keychar = String.fromCharCode(key);
	
	// check for backspace or delete, or if Ctrl was pressed
	if (key == 8 || isCtrl)
	{
		return true;
	}

	reg = /\d/;
	var isFirstN = allowNegative ? keychar == '-' && obj.value.indexOf('-') == -1 : false;
	var isFirstD = allowDecimal ? keychar == '.' && obj.value.indexOf('.') == -1 : false;
	
	return isFirstN || isFirstD || reg.test(keychar);
}


/*Esta variable indica que explorador es*/
var strExplorador;
strExplorador = navigator.appName;

//Funcion Que espera a que se cargue el documento, necesario para utilizar el DOM
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
     //if (oldonload) {
        oldonload();
     //}
      func();
    }
  }
}

