function objetoAjax(){
	var xmlhttp=false;
	try{
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		}catch(e){
			try{
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			}catch(E){
				xmlhttp = false;
			}
		}
		if(!xmlhttp && typeof XMLHttpRequest != 'undefined'){
			xmlthttp = new XMLHttpRequest();
		}
		return xmlhttp;
}

//CONTIENE TODAS LAS FUNCIONES PARA EL FORMULACRIO DE REGISTRO DE NUEVO USUARIO
//Valida que todos los campos obligatorios esten completo y que el email sea correcto//
//*******************Maria Oliveira**********************//
var emailfilter=/^\w+[\+\.\w-]*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,4}|\d+)$/i;
var stringfilter=/[a-z]([^\d]+)\s*([^\d]+)$/i;
var numberfilter=/\D/;

//validacion final del register por banco
function FinalvalidateBanco(){
var tbName=document.getElementById("txtFirstName");
var tbLast=document.getElementById("txtLastName");
//Campos de Login
var tbEMail=document.getElementById("txtEmail");
var tbEMail2=document.getElementById("txtEmail2");
var tbPass=document.getElementById("txtPassword");
var tbPass2=document.getElementById("txtPassword2");

//----------------------------------------------------------------------------------------------------------------------

//CHEKEO DE DATOS OBLIGATORIOS
	//alert(document.signup.accept[1].value);
	if(document.signup.accept[1].checked)
	{	alert("Please, you must select Accept to continue the application process.");
		return false;
	}

	if(tbName.value==""){
		alert("Please enter your Name")
		return false;
	}else if(tbLast.value==""){
		alert("Please enter your Last Name")
		return false;
	}else if(tbEMail.value==""){
		alert("Please enter your E-Mail")
		return false;
	}else if(tbEMail2.value==""){
		alert("Please Confirm your E-Mail")
		return false;
	}else if(tbPass.value==""){
		alert("Please enter your Password")
		return false;
	}else if(tbPass2.value==""){
		alert("Please Confirm you Password")
		return false;
	}else if(document.getElementById("errorEmail").style.visibility=='visible'){
		alert("Please enter a valid E-Mail address")
		return false;
	}else if(document.getElementById("txtPhone").value==""){
		alert("Please enter your Phone Number")
		return false;
	}
	
	document.signup.submit();
}


function register_back(){
	document.signup.action='register.php';
	document.signup.submit();
}

function Finalvalidate_todo(freeactive)
{

//alert("entra aqui");
var rRealtor=document.getElementById("rRealtor");
var tbRealtor=document.getElementById("txtRealtor");
var rBroker=document.getElementById("rBroker");
var tbBroker=document.getElementById("txtBroker");
var tbName=document.getElementById("txtFirstName");
var tbLast=document.getElementById("txtLastName");
var Office=document.getElementById("txtOffice");
//Campos de Login
var tbEMail=document.getElementById("txtEmail");
var tbEMail2=document.getElementById("txtEmail2");
var tbPass=document.getElementById("txtPassword");
var tbPass2=document.getElementById("txtPassword2");

//----------------------------------------------------------------------------------------------------------------------
//CHEKEO DE DATOS OBLIGATORIOS
	if(rRealtor.checked==true && tbRealtor.value==""){
		alert("Please enter your Licence Number")
		return false;
	}else if(document.getElementById("officey").checked==true && Office.value==""){
		alert("Please enter your Office Number")
		return false;
	}else if(rBroker.checked==true && tbBroker.value==""){
		alert("Please enter your Broker Number")
		return false;
	}else if(rBroker.checked==true && Office.value==""){
		alert("Please enter your Office Number")
		return false;
	}else if(tbName.value==""){
		alert("Please enter your Name")
		return false;
	}else if(tbLast.value==""){
		alert("Please enter your Last Name")
		return false;
	}else if(tbEMail.value==""){
		alert("Please enter your E-Mail")
		return false;
	}else if(tbEMail2.value==""){
		alert("Please Confirm your E-Mail")
		return false;
	}else if(tbPass.value==""){
		alert("Please enter your Password")
		return false;
	}else if(tbPass2.value==""){
		alert("Please Confirm you Password")
		return false;
	}else if(document.getElementById("msgNumber").style.visibility=='visible'){
		alert("Please enter a valid Licence/Broker Number")
		return false;
	}else if(document.getElementById("errorEmail").style.visibility=='visible'){
		alert("Please enter a valid E-Mail address")
		return false;
	}else if(document.getElementById("txtPhone").value==""){
		alert("Please enter your Phone Number")
		return false;
	}
	//Campos de Targeta de Credito
	var cardtype=document.getElementById("cardtype");
	var cardnumber=document.getElementById("cardnumber");
	var holder=document.getElementById("holder");
	var exdate1=document.getElementById("exdate1");		//Expiraton Date
	var exdate2=document.getElementById("exdate2");		//Expiraton Date
	var csv=document.getElementById("csv");				//CSV Number
	var amount=document.getElementById("amount");	
		//Radio Button para coipar o no la direccion dada por el usuario en sus datos personales
	var same=document.getElementById("same");
	var other=document.getElementById("other");
	//----------------------------------------------------------------------------------------------------------------------
	var sameAdd=document.getElementById("sameAdd");
	var sameCity=document.getElementById("sameCity");
	var sameState=document.getElementById("sameState");
	var sameZip=document.getElementById("sameZip");

	
	if(montoapagar==0 && parseInt(freeactive)==1){
		alert("Please select product(s)")
		return false;
	}else if(cardtype.value=='none'){
		alert("Please enter a Card Type")
		return false;
	}else if(holder.value=='' ){
		alert("Please enter a Holder Name")
		return false;
	}else if(cardtype.value=='none' ){
		alert("Please select a Card Type")
		return false;
	}else if(cardnumber.value=='' ){
		alert("Please enter a Card Number")
		return false;
	}else if( (exdate1.value=='' || exdate2.value=='') ){
		alert("Please enter a Expiraton Date")
		return false;
	}else if(csv.value=='' ){
		alert("Please enter a CSV Number")
		return false;
	}else if(sameAdd.value==''){
		alert("Please enter a Billing Address")
		return false;
	}else if(sameZip.value==''){
		alert("Please enter a Billing Zip Code")
		return false;
	}
	else if(sameCity.value==''){
		alert("Please enter a Billing City")
		return false;
	}else if(document.getElementById("sStateB").selectedIndex==0){
		alert("Please enter a Billing State")
		return false;
	}
	else if(document.signup.denie.checked==true && document.getElementById('hdAccept').value=='')
	{	alert("Please, you must select Accept to continue the application process.");
		return false;
	}
	
	if(registrar_valida==1)
		return false;

	document.getElementById("btnsubmit").disabled=true;
	document.getElementById("btnsubmit").value='Processing...';
	document.getElementById("startwait").innerHTML="<strong>Do not press backspace nor refresh the page. Process could take up to one minute. </strong>";

	//document.getElementById('promcode').value=_procode;

	if(document.getElementById('prom').value=='55' || 
	  document.getElementById('prom').value=='IRC' || 
	  document.getElementById('prom').value=='1450'  )	freeactive=2;

	if(parseInt(freeactive)==1)
	{
		//BUSCANDO EL IDPROD Y EL PRECIO A PAGAR POR EL O LOS GRUPOS DE CONDADOS
		//var arr=document.getElementById("cbGrupoPrim").options[document.getElementById("cbGrupoPrim").selectedIndex].value.split("^");
		document.getElementById('idprodprecio').value=montoapagar;
	
		//BUSCANDO LOS GRUPOS SELECCIONADOS
		document.getElementById('setgroup').value=MostrarProductosSeleccionados();
		
		//BUSCANDO EL SETSTATE
		document.getElementById('setstate').value='FL';

		//alert('Pago');
		/* paypal validacion */
		var payholder = document.getElementById('holder').value;
		var paycardtype = (document.getElementById('cardtype').options[document.getElementById('cardtype').selectedIndex]).value;
		var paycardnum = document.getElementById('cardnumber').value;
		var payexdate = document.getElementById('exdate1').value+'/'+document.getElementById('exdate2').value;
		var paycsv = document.getElementById('csv').value;


		var payadd = document.getElementById('sameAdd').value;

		var paycity = document.getElementById('sameCity').value;
		var paystate = (document.getElementById('sStateB').options[document.getElementById('sStateB').selectedIndex]).value;
		document.getElementById("sameState").value=paystate ;
		var payzip = document.getElementById('sameZip').value;
		var payemail = document.getElementById('txtEmail').value;
		//alert(payemail);
		
		var payprices = montoapagar;

		var rbko = document.getElementById('hdAccept').value;
			
		
//alert('setgr: '+document.getElementById('setgroup').value+' holder='+payholder+'&cardtype='+paycardtype+'&cardnum='+paycardnum+'&exdate='+payexdate+'&csv='+paycsv+'&address='+payadd+'&city='+paycity+'&state='+paystate+'&zip='+payzip+'&price='+payprices+'&email='+payemail); return false;
		
		ajax=objetoAjax();
		ajax.open("POST", "paypal_cobro.php",true);
		ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
				ajax.send('holder='+payholder+'&cardtype='+paycardtype+'&rbko='+rbko+'&cardnum='+paycardnum+'&exdate='+payexdate+'&csv='+paycsv+'&address='+payadd+'&city='+paycity+'&state='+paystate+'&zip='+payzip+'&price='+payprices+'&email='+payemail);

		ajax.onreadystatechange=function() 
		{
			if (ajax.readyState==4) 
			{
				var result=ajax.responseText;
//				alert(result);
				result=result.split('*');
				var resultado=result[1];
				//alert(resultado);
				if(resultado=='FAILURE')
				{
					document.getElementById('paypalerror').innerHTML='<span style="color:#FF0000">'+result[2]+'</span>';
					document.getElementById("btnsubmit").disabled=false;
					if(useridSuspendido=='') document.getElementById("btnsubmit").value='Start';
					else document.getElementById("btnsubmit").value='Subscribe';
					return false;
				}
				else
				{
					document.getElementById("paypalid").value=result[0];
					document.getElementById('paypalerror').innerHTML='';
					document.signup.submit();
				}
			}
		}
		/* fin paypal */
	}
	else
	{
		//BUSCANDO EL IDPROD Y EL PRECIO A PAGAR POR EL O LOS GRUPOS DE CONDADOS
		/*document.getElementById('idprodprecio').value='0';
		document.getElementById('pcid').value="4";
		//BUSCANDO LOS GRUPOS SELECCIONADOS
		document.getElementById('setgroup').value='1,2,3';
		//BUSCANDO EL SETSTATE
		document.getElementById('setstate').value='FL';*/

		document.getElementById('idprodprecio').value=montoapagar;
		document.getElementById('setgroup').value=MostrarProductosSeleccionados();
		document.getElementById('setstate').value='FL';
//alert(montoapagar+" | "+document.getElementById('idprodprecio').value)		
		document.signup.submit();
	}
}


function checkInfoCheck()
{
	var routing=document.getElementById("routing");
	var bankA=document.getElementById("bankA");

	if(routing.value==''){
		alert("Please enter a Routing Number")
		return false;
	}else if(bankA.value==''){
		alert("Please enter a Bank Account")
		return false;
	}
}

//****************************************************************************************** Validacion de Tipo de Campos
//Chekea lo que se coloca en cada campo: String o numero
function validate(id){
var input=document.getElementById(''+id+'');

	switch(id)
	{
		case 'txtRealtor': case 'txtBroker': case 'txtZip': case 'txtPhone': case 'txtMobil': case 'cardnumber': case 'sameZip': case 'amount': case 'csv':
		if(input.value!="") return checkNumber(input);
		break;
		
		case 'sState2': case 'txtCity': 
//case 'txtFirstName': case 'txtLastName': 
		if(input.value!='') return checkString(input);
		break;
		
		case 'txtEmail':
		if(input.value!="") return checkmail(document.signup.txtEmail);	
		break;
		
		case 'txtEmail':
		if(input.value!=document.getElementById('txtEmail').value) {
			alert("The Confirmation E-Mail doesn't match the E-Mail. Please enter the same E-Mail")	
			input.select();
		}
		break;
		
		case 'txtPassword2':
		if(input.value!=document.getElementById('txtPassword').value) {
			alert("The Confirmation Password doesn't match the Password. Please enter the same Password")
			input.value="";
			document.getElementById('txtPassword').select();
		}
		break;
		
		case 'exdate1':
			var month=document.getElementById('exdate1').value;
			if(month != ""){
				var num = checkNumber(input);
				if(num == false){
					if(month.length<2 || month.length>2){
						alert("Please enter a valid Month.");
						input.select();
					}
				}
			}			
		break;
		
		case 'exdate2':
		var year=document.getElementById('exdate2').value;
			if(year != ""){
				var num = checkNumber(input);
				if(num == false){
					if(year.length<4 || year.length>4){
						alert("Please enter a valid Year.");
						input.select();
					}
				}
			}
		break;
		/*if(date != ""){
				if(date.length<7 || date.length>7){
					alert("Please enter a valid Date Format: MM/YYYY");
					input.select();
				}
				else if(date.charAt(2)!="/"){
					alert("Please enter a valid Date Format: MM/YYYY");
					input.select();
				}	
			}
			*/
			/*else if(date.charAt(7)!="-"){
				alert("Please enter a valid Date Format: YYYY-MM-DD");
				input.select();
			}
			*/
	}
	
}


//funcion para la validacion del email
function checkmail(e){
		var returnval=emailfilter.test(e.value)
		if (returnval==false){
			alert("Please enter a valid email address.")
			e.select()
		}
		return returnval
}

//Validacion de cadenas
function checkString(e){
		var returnval=stringfilter.test(e.value)
		if (returnval==false){
			alert("Please enter a valid string.")
			e.select()
		}
		return returnval
}

//Validacion de campos numericos
function checkNumber(e){
		var returnval=numberfilter.test(e.value)
		if (returnval==true){
			alert("Please enter a valid format number. (eg.: 45866697)")
			e.select()
		}
		return returnval
}

//*********************************************************************************************** funciones de los tipos de Ususario
//Si es inversionista
function checkInv(){
	if(document.signup.rInvestor.checked==true){
		document.getElementById('licence').style.visibility="hidden";
		document.getElementById('licence1').style.visibility="hidden";
		document.getElementById('divRealtor').style.visibility="hidden";
		document.getElementById('divBroker').style.visibility="hidden";
		document.getElementById('_office').style.visibility="hidden";
		document.getElementById('_office2').style.visibility="hidden";
		document.getElementById('_office3').style.visibility="hidden";
		document.getElementById('office').style.visibility="hidden";
		document.getElementById('officey').style.visibility="hidden";
		document.getElementById('officen').style.visibility="hidden";
		
		document.getElementById('rBroker').checked=false;
		document.getElementById('rRealtor').checked=false;
		//document.getElementById('txtRealtor').disabled=true;
		document.getElementById('txtRealtor').value='';
		document.getElementById('txtBroker').value=''
		document.getElementById('txtOffice').value='';
		
		document.getElementById("msgNumber").innerHTML=''
		document.getElementById("msgNumber").style.visibility=='hidden'
		document.getElementById("msgONumber").innerHTML=''
		document.getElementById("msgONumber").style.visibility=='hidden'
		/*document.getElementById('_realtor').style.visibility="hidden";
		document.getElementById('realtor').style.visibility="hidden";
		document.getElementById('txtRealtor').style.visibility="hidden";*/
		
	}
}

function _check(id){
	document.getElementById(''+id+'').checked=false;
	if(document.signup.rRealtor.checked==true){
		document.signup.officen.checked=true
		document.signup.officey.checked=false
		//document.getElementById('_realtor').style.visibility="visible";
		//document.getElementById('realtor').style.visibility="visible";
		document.getElementById('divRealtor').style.visibility="visible";
		document.getElementById('office').style.visibility="visible";
		document.getElementById('officey').style.visibility="visible";
		document.getElementById('officen').style.visibility="visible";
		
		document.getElementById('licence').innerHTML="# Licence";
		document.getElementById('licence').style.visibility="visible";
		document.getElementById('licence1').style.visibility="visible";
		document.getElementById('txtRealtor').disabled=false;
		document.getElementById('rInvestor').checked=false;
		//document.getElementById('_broker').style.visibility="hidden";
		//document.getElementById('broker').style.visibility="hidden";
		document.getElementById('divBroker').style.visibility="hidden";
		document.getElementById('_office').style.visibility="hidden";
		document.getElementById('_office2').style.visibility="hidden";
		document.getElementById('_office3').style.visibility="hidden";
		//document.getElementById('rBroker').checked=false;
		//document.getElementById('rInvestor').checked=false;
		document.getElementById('txtBroker').value=''
		//document.getElementById('txtOffice').value='';
		document.getElementById("msgNumber").innerHTML=''
		document.getElementById("msgNumber").style.visibility=='hidden'
		document.getElementById("msgONumber").innerHTML=''
		document.getElementById("msgONumber").style.visibility=='hidden'
		
	}else if(document.signup.rBroker.checked==true){
		/*document.getElementById('_broker').style.visibility="visible";
		document.getElementById('broker').style.visibility="visible";
		*/
		
		document.getElementById('txtRealtor').disabled=false;
		document.getElementById('divBroker').style.visibility="visible";
		document.getElementById('rInvestor').checked=false;
		document.getElementById('licence').innerHTML="# Broker";
		document.getElementById('licence').style.visibility="visible";
		document.getElementById('licence1').style.visibility="visible";
		document.getElementById('_office').style.visibility="visible";
		document.getElementById('_office2').style.visibility="visible";
		document.getElementById('_office3').style.visibility="visible";
		
		document.getElementById('office').style.visibility="hidden";
		document.getElementById('officey').style.visibility="hidden";
		document.getElementById('officen').style.visibility="hidden";
		//document.getElementById('realtor').style.visibility="hidden";
		//document.getElementById('_realtor').style.visibility="hidden";
		document.getElementById('divRealtor').style.visibility="hidden";
		document.getElementById('txtRealtor').value=''
		//document.getElementById('txtOffice').value='';
		document.getElementById("msgNumber").innerHTML=''
		document.getElementById("msgNumber").style.visibility=='hidden'
		document.getElementById("msgONumber").innerHTML=''
		document.getElementById("msgONumber").style.visibility=='hidden'
		//document.getElementById('rRealtor').checked=false;
		//document.getElementById('rInvestor').checked=false;
	}
}

//******************************************************************************************* funcion del Pais-Estado
//Si el pais es diferente de USA muestra un input 
function selectCountry(){
	if(document.signup.sCountry.value!="US"){
		document.getElementById("State").style.visibility="hidden";
		document.getElementById("State2").style.visibility="visible";
	}else{
		document.getElementById("State").style.visibility="visible";
		document.getElementById("State2").style.visibility="hidden";
	}
}

//***************************************************************************************** funciones de Contrato de registro
//Mientras no acepte el contrato de registro no podra registrarse
function checkContract(id){
	document.getElementById(''+id+'').checked=false;
	if(document.signup.accept.checked==true){
		//document.getElementById('submit').disabled=false;
		document.getElementById('denie').checked=false;
		
	}else if(document.signup.denie.checked==true){
		//document.getElementById('submit').disabled=true;
		document.getElementById('accept').checked=false;
	}
}

//Ver el contrato de registro
function openContract(){
	window.open("register_contrac.html","","toolbar=no,location=no,directories=no,status=no,menubar=yes,scrollbars=yes,copyhistory=no,resizable=yes,width=1000,height=600");
}

//***************************************************************************************** funciones de Numero de Oficina
function checkOff(id){
	document.getElementById(''+id+'').checked=false;
	if(document.signup.officen.checked==true){
		document.getElementById('_office').style.visibility="hidden";
		document.getElementById('_office2').style.visibility="hidden";
		document.getElementById('_office3').style.visibility="hidden";
		
	}else if(document.signup.officey.checked==true){
		document.getElementById('_office').style.visibility="visible";
		document.getElementById('_office2').style.visibility="visible";
		document.getElementById('_office3').style.visibility="visible";

	}
}

//***************************************************************************************** Copia o borra la Informacion de Billing Address
function copyAddress(){
var sameAdd=document.getElementById("sameAdd");
var sameCity=document.getElementById("sameCity");
var sameState=document.getElementById("sameState");
var sameZip=document.getElementById("sameZip");

	//document.getElementById(''+id+'').checked=false;
	if(document.signup.same.checked==true){
		sameAdd.value=document.getElementById('txtAddress1').value;
		sameCity.value=document.getElementById('txtCity').value;
		document.getElementById("sStateB").selectedIndex=document.getElementById("sState").selectedIndex;
		sameState.value=document.getElementById("sStateB").options[document.getElementById("sStateB").selectedIndex].value;
		sameZip.value=document.getElementById('txtZip').value;
		
	}else{
		sameAdd.value='';
		sameCity.value='';
		sameState.value='';
		sameZip.value='';
	}
}

//*****************************************************************************************
function showCheck(){
	if(document.signup.useCheck.checked==true){
		document.getElementById('hiderow').style.display='none';
		document.getElementById('hide4').style.display='none';
		document.getElementById('inner1').innerHTML='Routing Number';
		document.getElementById('hide5').style.display='none';
		document.getElementById('inner2').innerHTML='Bank Account';
		document.getElementById('hide1').style.display='none';
		document.getElementById('hide2').style.display='none';
		document.getElementById('inner3').innerHTML='';
		
		document.getElementById('show1').style.display='inline';
		document.getElementById('show2').style.display='inline';
	}else{
		document.getElementById('hiderow').style.display='inline';
		document.getElementById('hide4').style.display='inline';
		document.getElementById('inner1').innerHTML='Card Number';
		document.getElementById('hide5').style.display='inline';
		document.getElementById('inner2').innerHTML='Expiration Date';
		document.getElementById('hide1').style.display='inline';
		document.getElementById('hide2').style.display='inline';
		document.getElementById('inner3').innerHTML='MM/YYYY';
		
		document.getElementById('show1').style.display='none';
		document.getElementById('show2').style.display='none';
	}
}

//*****************************************************************************************
function checkNick(value){
	if(value!=""){
		ajax=objetoAjax();
		ajax.open("POST", "includes/errormyaccount.php",true);
		ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		ajax.send("action=checkNick&value1="+value);
		ajax.onreadystatechange=function() {
			if (ajax.readyState==4) {
				var resultado=ajax.responseText;
				if(resultado==""){
				document.getElementById("errorNick").innerHTML="";
				document.getElementById("btnsubmit").disabled=false; 
				}
				else if(resultado!=""){
				document.getElementById("errorNick").innerHTML="<font color=red>"+resultado+"</font>";
				document.getElementById("btnsubmit").disabled=true; 
				}
			}
		}
	}
	else if(value==""){
		document.getElementById("errorNick").innerHTML="";
		document.getElementById("btnsubmit").disabled=false; 
	}
}// JavaScript Document

patron = new Array('3','3','4'); 
function phonesvalidation(d,sep,rel,pat,n)
{   
  	val = d.value     
	lar = val.length;
	f 	= val.charAt(lar-1);
	if (n) 
	{
		if ( isNaN(f) && f != sep )
		val = val.substr(0,lar-1);
	}
	if (f==sep)
	{
		x	= val.split(sep) 
		xi  = x.length -1;
		var teclas_especial=[45];
		if (val=teclas_especial)
		val='';
		else
			for (i=0; i < xi; i++)
			{
				for (j=0; j < pat[i] - x[i].length; j++)
				val += rel;
				val += x[i] + sep;
			}
	}		
	x= val.split(sep) 
	xi  = x.length -1;
	
	if (xi != 0)
	{
		aux = x[xi];		
	}
	else
		aux = val;
		if ( aux.length > pat[xi])
		{
			x[xi] = aux.substr(0,pat[xi]) + sep + aux.substr(pat[xi]); 
		}
		aux ='';
		for (i=0; i<= xi; i++)
		{
			aux += x[i];
			if ( xi > 0 && i < xi ) 
			{
				aux += sep;
			}
		}
		d.value = aux; 
}
