//Validations registration
var class_error="error_registrations";
var class_enter_data="form_input";
//var class_error="error_registrations";
var class_errorSelect="error_select"
function getXMLHTTPRequest() {
try {
req = new XMLHttpRequest();
} catch(err1) {
  try {
  req = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (err2) {
    try {
    req = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (err3) {
      req = false;
    }
  }
}
return req;
}

function ValidateForm()
{

var tblFname = document.getElementById('tblFname');	
var tblLname = document.getElementById('tblLname');	
var tblEmail_address= document.getElementById('tblEmail_address');	
var tblPhone_number= document.getElementById('tblPhone_number');
var month= document.getElementById('month');
var day= document.getElementById('day');
var year= document.getElementById('year');
var tblMailing_Address= document.getElementById('tblMailing_Address');
var tblCity= document.getElementById('tblCity');
var tblid_state= document.getElementById('tblid_state');
var tblZip_code= document.getElementById('tblZip_code');
var tblStory= document.getElementById('tblStory');
var tblgender=document.getElementById('tblgender');
var rules=document.getElementById('rules');

	if(tblFname.value==""){		
		GoTo_Error(tblFname.id);	
		return false;		
	}else if(tblLname.value==""){			
		GoTo_Error(tblLname.id); 
		return false;
	}else if(month.value==""){	
		GoTo_ErrorSeletc(month.id);   
		return false;
	}else if(day.value==""){
		GoTo_ErrorSeletc(day.id);   
		return false;
	}else if(year.value=="" || year.value=="Year" || CheckLength(year,4)){		
		GoTo_ErrorSeletc(year.id);   
		return false;
	}else if(tblMailing_Address.value==""){
		GoTo_Error(tblMailing_Address.id);  
		return false;
	}else if(tblCity.value==""){
		GoTo_Error(tblCity.id);  
		return false;
	}else if(tblid_state.value==0){
		GoTo_ErrorSeletc(tblid_state.id);  
		return false;
	}else if(tblZip_code.value==""){	
		GoTo_Error(tblZip_code.id);  
		return false;
	}else if(ValidateEmail(tblEmail_address, MSGBOX_REGISTRATION_MAIL)===false){		
			GoTo_Error(tblEmail_address.id); 
			return false;
	}else if(tblPhone_number.value==""){
		GoTo_Error(tblPhone_number.id);   
		return false;
	}else if(checkAge(1)==false){
		GoTo_Error(year.id);  
		return false;
	}else{
		return true;
	}
	
}
function ValidateForm2(){
	
			var tblFname = document.getElementById('tblFname');	
			var tblLname = document.getElementById('tblLname');	
			var month= document.getElementById('month');
			var day= document.getElementById('day');
			var year= document.getElementById('year');	
	try {
			if(tblFname.value==""){		
			 	GoTo_Error(tblFname.id);	
				return false;
			}else if(tblLname.value==""){			
				GoTo_Error(tblLname.id);   			
				return false;
			}else if(month.value==""){	
				GoTo_ErrorSeletc(month.id);   
				return false;
			}else if(day.value==""){
				GoTo_ErrorSeletc(day.id);   
				return false;
			}else if(year.value=="" || year.value=="Year" || CheckLength(year,4)){		
				GoTo_ErrorSeletc(year.id);   
				return false;
			}else if(checkAge(1)==false){
				GoTo_Error(year.id);  
				return false;
			}else{
				return true;
			}

	}catch (e){
		alert(e);
		return false;
	}
	
	
}

function ValidateFormRelation(){
	var tblFname1 = document.getElementById('tblFname1');	
	var tblLname1 = document.getElementById('tblLname1');	
	var tblEmail_address1= document.getElementById('tblEmail_address1');	
	var tblPhone_number1= document.getElementById('tblPhone_number1');
	var relationship1= document.getElementById('relationship1');
	var tblFname2 = document.getElementById('tblFname2');	
	var tblLname2 = document.getElementById('tblLname2');	
	var tblEmail_address2= document.getElementById('tblEmail_address2');	
	var tblPhone_number2= document.getElementById('tblPhone_number2');
	var relationship2= document.getElementById('relationship2');
	try {
			if(tblFname1.value==""){		
			 	GoTo_Error(tblFname1.id);
				return false;
			}else if(tblLname1.value==""){			
				GoTo_Error(tblLname1.id);   			
				return false;
			}else if(relationship1.value==""){			
				GoTo_Error(relationship1.id);   			
				return false;
			}else if(ValidateEmail(tblEmail_address1, MSGBOX_REGISTRATION_MAIL)===false){		
				 GoTo_Error(tblEmail_address1.id);
				 return false;
			}else if(tblPhone_number1.value==""){
				GoTo_Error(tblPhone_number1.id);   
				return false;
			}else if(tblFname2.value==""){		
			 	GoTo_Error(tblFname2.id);	
				return false;
			}else if(tblLname2.value==""){			
				GoTo_Error(tblLname2.id);   		
				return false;
			}else if(relationship2.value==""){			
				GoTo_Error(relationship2.id);   			
				return false;
			}else if(ValidateEmail(tblEmail_address2, MSGBOX_REGISTRATION_MAIL)===false){		
				 GoTo_Error(tblEmail_address2.id);
				 return false;
			}else if(tblPhone_number2.value==""){
				GoTo_Error(tblPhone_number2.id);   
				return false;
			}else{
				return true;
			}

	}catch (e){
		alert(e);
		return false;
	}
	
	
}

function GoTo_Error(field){
	var fileds= document.getElementById(field);
	fileds.className=class_error;
	fileds.focus();    
}
function GoTo_ErrorSeletc(field){
	var fileds= document.getElementById(field);
	fileds.className=class_errorSelect;
	fileds.focus();    
}
function Supr_ErrorSelect(field,estilo){	
	var fileds= document.getElementById(field);
	fileds.className=estilo;
}

function GoTo_question(field,estilo){
	var fileds= document.getElementById(field);
	fileds.className=estilo;
	fileds.focus();    
}


//Valida si el E-mail valido
function ValidateEmail(Campo, Mensaje)
	{
		
	
	var perfect = true;

	with (Campo)
		{
		// Validar que los caracteres que contiene la cuenta de correo
		// esten dentro de los caracteres de la siguiente lista
		var car_validos = "0123456789abcdefghijlkmnopqrstuvwxyzABCDEFGHIJKMNLOPQRSTUVWXYZ@.-_"
		var car_otros = "@.-_";

		for (var i=0; i < value.length; i++) {
			var ch = value.substring(i, i+1);
			if (car_validos.indexOf(ch) == -1) perfect = false;
		}

		apos = value.indexOf("@");
		lastpos = value.length-1;

		// Validar primer y ultimo caracter
		var car1 = value.substring(0, 1);
		var car2 = value.substring(lastpos, lastpos+1);
		if ((car_otros.indexOf(car1) != -1) || (car_otros.indexOf(car2) != -1)) perfect = false;


		// Validar anterior y siguiente caracter despues de "@"

		car1 = value.substring(apos-1, apos);
		car2= value.substring(apos+1, apos+2);
		if ((car_otros.indexOf(car1) != -1) || (car_otros.indexOf(car2) != -1)) perfect = false;

		// Buscar si existe otro simbolo "@" en el campo
		var subcadena = value.substring(apos + 1, 100);
		a2pos = subcadena.indexOf("@");
		spacepos = value.indexOf(" ");
		dotpos = value.lastIndexOf(".");
		posh=subcadena.indexOf(".");

		//if (apos < 1 || a2pos != -1 || dotpos - apos < 2 || lastpos - dotpos > 3 || lastpos - dotpos < 2 || spacepos != -1) {
		if (apos < 1 || a2pos != -1 || lastpos - dotpos < 2 || spacepos != -1||posh==-1) perfect = false;
		}

	if (!perfect) 
		{
		//alert(Mensaje);
		//window.scrollTo(200,200);
		//Campo.focus();
		return false;
		}
return true;
	}

function Delete_Especial_Char(numeros){	
	var string=document.getElementById(numeros).value;	
	var validos=" 0123456789abcdefghijñlkmnopqrstuvwxyzABCDEFGHIÑJKMNLOPQRSTUVWXYZ@.-_,ª&#'?¿!¡/:áéóúíÁÉÍÓÚ";	
	for (var i=0, output='',validos; i<string.length; i++){
		if (validos.indexOf(string.charAt(i)) != -1){
			output += string.charAt(i)
	   }   
	}
	 document.getElementById(numeros).value=output;
}


function Delete_character(numeros){	
	var string=document.getElementById(numeros).value;	
	for (var i=0, output='', validos="0123456789 "; i<string.length; i++){
       if (validos.indexOf(string.charAt(i)) != -1){
          output += string.charAt(i)
	   }   
	}
	 document.getElementById(numeros).value=output;
}

function CheckLength(field, minlength) {
	if (trimString(field.value).length < minlength) {
		return true;	
	} else {
		return false;
	}
}

function trimString (str) {
  str = this != window? this : str;
  return str.replace(/^\s+/g, '').replace(/\s+$/g, '');
}


function checkAge(requiredAge){
	dd=document.form.day.selectedIndex;
	mm=document.form.month.selectedIndex;
	yy=document.form.year.value;
	realDate=mm+'/'+dd+'/'+yy;
	days = new Date();
	gdate = days.getDate();
	gmonth = days.getMonth();
	gyear = days.getFullYear();
	if (gyear < 2000) gyear += 1900;
	age = gyear - yy;
	if ((mm == (gmonth + 1)) && (dd <= parseInt(gdate))){
		age = age; 
	} else {
		if (mm <= (gmonth)){
			age = age;
		} else {
			age = age - 1; 
   		}
	}
	if (age == 0) age = age;
	if(age < requiredAge){
		return false;
	} else {
		return true;	
	}
}

function wordCounter(field, countfield, maxlimit) {
	var field=document.getElementById(field);	
	var countfield=document.getElementById(countfield);	
	wordcounter=0;
	for (x=0;x<field.value.length;x++) {
    	if (field.value.charAt(x) == " " && field.value.charAt(x-1) != " "){
		  	wordcounter++
		}  // Counts the spaces while ignoring double spaces, usually one in between each word.
      	if (wordcounter >= maxlimit) {
		   field.value = field.value.substring(0, x);
		}else {
			 	countfield.innerHTML= "("+ (maxlimit - wordcounter)+" words left)";
				
		}
    }
}

//supr error registrations
function Supr_Error(field){	
	var fileds= document.getElementById(field);
	fileds.className=class_enter_data;
}