//PRD

var homeContratacion = 'Contratacion_Planes.jsp';
var homePortal = 'home.jsp';
var homeNewSoporte = 'soporte.jsp';
var homeSoporte = 'index_soporte.jsp';
var homeFacturacion = 'https://www.lineaalestra.com.mx/portal/ShowBillingInfo';
var homeEstadisticas = 'estadisticas_portal-home.html';
var facturacionSalirURL = 'http://www.lineaalestra.com.mx/portal/ProcessLogout?target=http://www.lineaalestra.com.mx/portal/pantalla_login.jsp';

/*
//Desarrollo
var homeContratacion = 'Contratacion_Planes.jsp';
var homePortal = 'home.jsp';
var homeNewSoporte = 'soporte.jsp';
var homeSoporte = 'index_soporte.jsp';
var homeFacturacion = '/portal/ShowBillingInfo';
var homeEstadisticas = 'estadisticas_portal-home.html';
var facturacionSalirURL = '/portal/ProcessLogout?target=/portal/pantalla_login.jsp';
*/


var labelBackStyle = "body-text";
var labelRedStyle = "body-text-red";
var backgroundRed = "format-red";
var backgroundWhite = "format";

var isNN = (navigator.appName.indexOf("Netscape")!=-1);
function autoTab(input,len, e) {
var keyCode = (isNN) ? e.which : e.keyCode;
var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
if(input.value.length >= len && !containsElement(filter,keyCode)) {
input.value = input.value.slice(0, len);
input.form[(getIndex(input)+1) % input.form.length].focus();
}
function containsElement(arr, ele) {
var found = false, index = 0;
while(!found && index < arr.length)
if(arr[index] == ele)
found = true;
else
index++;
return found;
}
function getIndex(input) {
var index = -1, i = 0, found = false;
while (i < input.form.length && index == -1)
if (input.form[i] == input)index = i;
else i++;
return index;
}
return true;
}

function CheckEnter(e){
	var keyCode = (isNN) ? e.which : e.keyCode;
	if ( (keyCode==13) )
		return true;
	return false;
}

function NumbersOnly(input,e){
	var keyCode = (isNN) ? e.which : e.keyCode;
	if ( ( (keyCode<48) || (keyCode>57) ) && (keyCode!=8) && (keyCode!=0) )
		//e.keyCode = 0;
		return false;
	return true;
}

function NumbersOnlyDecimal(input,e){
	var keyCode = (isNN) ? e.which : e.keyCode;
	if ( ( (keyCode<48) || (keyCode>57) ) && (keyCode!=8) && (keyCode!=0) && (keyCode!=46) )
		//e.keyCode = 0;
		return false;
	return true;
}

function AlphaNumericOnly(input,e){
	var keyCode = (isNN) ? e.which : e.keyCode;
	var alphaNumeric = false;
	if ( (keyCode>=47) && (keyCode<=57) )
		alphaNumeric = true;
	else if ( (keyCode>=65) && (keyCode<=90) )
		alphaNumeric = true;
	else if ( (keyCode>=97) && (keyCode<=122) )
		alphaNumeric = true;
	else if ( (keyCode==32) || (keyCode==35) || (keyCode==37) || (keyCode==38) || (keyCode==40) || (keyCode==41) || (keyCode==45) || (keyCode==46) || (keyCode==95) || (keyCode==164) || (keyCode==165) || (keyCode==241) || (keyCode==209) )
		alphaNumeric = true;
	//else if ( (keyCode==225) || (keyCode==233) || (keyCode==237) || (keyCode==243) || (keyCode==250) ) //á,é,í,ó,ú
	//	alphaNumeric = true;
	//else if ( (keyCode==193) || (keyCode==201) || (keyCode==205) || (keyCode==211) || (keyCode==218) ) //Á,É,Í,Ó,Ú
	//	alphaNumeric = true;
	else if ( (keyCode==0) || (keyCode==8) )
		alphaNumeric = true;
	//if (!alphaNumeric)
		//e.keyCode=0;
	return alphaNumeric;
}

function validEmail(input,e){
	var keyCode = (isNN) ? e.which : e.keyCode;
	var validEmail = false;
	if ( (keyCode>=48) && (keyCode<=57) )
		validEmail = true;
	else if ( (keyCode>=65) && (keyCode<=90) )
		validEmail = true;
	else if ( (keyCode>=97) && (keyCode<=122) )
		validEmail = true;
	else if ( ( keyCode==37) || (keyCode==38) || (keyCode==40) || (keyCode==46) || (keyCode==64) || (keyCode==95) || (keyCode==164) || (keyCode==165) || (keyCode==241) || (keyCode==209) )
		validEmail = true;
	if (!validEmail)
		e.keyCode=0;
}

function validateRequired(field,label)
{
	var result = 0;
	if (field.value=="")
	{
		label.attributes['class'].value = labelRedStyle;
		field.attributes['class'].value = backgroundRed;
		result++;
	}
	else
	{
		label.attributes['class'].value = labelBackStyle;
		field.attributes['class'].value = backgroundWhite;
	}
		
	return result;
}

function validateFieldVsLength(field,label,length)
{
	var result = true;
	if (field.value.length<length)
	{
		label.attributes['class'].value = labelRedStyle;
		field.attributes['class'].value = backgroundRed;
		result = false;
	}
	else
	{
		label.attributes['class'].value = labelBackStyle;
		field.attributes['class'].value = backgroundWhite;
	}
	return result;
}


function checkChallenge()
{
	//alert("entró");

	<!-- // Required to be compliant with XHTML-->
 	var xmlHttp=null; // Defines that xmlHttp is a new variable.
 	// Try to get the right object for different browser
 	try {
    	// Firefox, Opera 8.0+, Safari, IE7+
    	xmlHttp = new XMLHttpRequest(); // xmlHttp is now a XMLHttpRequest.
 	} catch (e) {
    	// Internet Explorer
    	try {
    	   	xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
 	   	} catch (e) {
	       xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
	    }
	 }
	 
	 

 xmlHttp.onreadystatechange = function() {
    if (xmlHttp.readyState == 4)
       try { // In some instances, status cannot be retrieved and will produce 
             // an error (e.g. Port is not responsive)
          if (xmlHttp.status == 200) {
             // Set the main HTML of the body to the info provided by the 
             // Ajax Request
             if (xmlHttp.responseText!='Success')
             {
             	alert(xmlHttp.responseText);
             	Recaptcha.reload();
             	document.RecuperarDatos.recaptcha_response_field.focus();
             }
             else
             	document.RecuperarDatos.submit();
          }
       		} catch (e) {
	          //document.getElementById("ajax_output").innerHTML 
	            // = "Error on Ajax return call : " + e.description;
	            alert(e.description);
	       }
	 }

	var open = "/masternet/ProcessRecaptcha";
 	xmlHttp.open("post",open); // .open(RequestType, Source);
 	xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xmlHttp.send("recaptcha_challenge_field="+document.getElementById('recaptcha_challenge_field').value+"&recaptcha_response_field="+document.getElementById('recaptcha_response_field').value); // Since there is no supplied form, null takes its place 
	                     // as a new form.


}

function checkMail(mail)
{
	var result=true;
	var tempMail1 = mail;
	var aTempMail1 = tempMail1.split("@");
	if (aTempMail1.length!=2)
		return false;
	var firstComp = aTempMail1[0]; //first component, left of @
	var secondComp = aTempMail1[1]; //second component, right of @
	
	if (firstComp.length==0)
		return false;
	if (secondComp.length==0)
		return false;
	
	var aSecondComp = secondComp.split(".");
	if (aSecondComp.length<2)
		return false;
	
	for(loop = 0; loop < aSecondComp.length; loop++)
		if (aSecondComp[loop]=="")
			return false;
	return true;
}

function addCharacterToLeft(character,length,field)
{
	var result = field;
	for (i=0;i<(length-field.length);i++)
		result = character + result;
	return result;
}

function verifyIfAccountNumberExists(accountNumber)
{
	var result = false;
	for (i=0;i<document.getElementById('accountsList').options.length;i++)
	{
		if (accountNumber == document.getElementById('accountsList').options[i].value)
		{
			result = true;
			break;
		}
	}
	return result;
}

function addAccountNumber()
{
		if (document.getElementById('accountNumber').value.length==0)
		{
			alert('Debe de capturar un Número de cuenta');
			return;
		}
		if (document.getElementById('accountNumber').value.length>9)
		{
			alert('Número de cuenta demasiado largo');
			return;
		}
		if (isNaN(document.getElementById('accountNumber').value))
		{
			alert('El Número de cuenta debe de ser numérico');
			return;
		}
		var accountNumber = document.getElementById('accountNumber').value;
		accountNumber = addCharacterToLeft('0',9,accountNumber);
		if (verifyIfAccountNumberExists(accountNumber))
		{
			document.getElementById('accountNumber').value = '';
			alert('El número de cuenta ya se encuentra en la lista');
			return;
		}
       	var option = new Option(accountNumber, accountNumber);
       	
       	option.setAttribute('class', 'body-text2');
		if (option.attributes['class'].value.length==0)
			option.attributes['class'].value = 'body-text2';
       	
   		document.getElementById('accountsList').options.add(option, document.getElementById('accountsList').options.length);
   		
   		document.getElementById('accountNumber').value = '';
   		
   		accountsAdded++;
	
}

//Returns the text of the selected option of a Combobox sent
function getSelectedText(select)
{
	var result = "";
	for (i=0;i<select.options.length;i++)
	{
		if (select.options[i].selected==true)
		{
			result = select.options[i].text;
			break;
		}	
	}
	return result;
}


function verifyLogin(portal)
{

	<!-- // Required to be compliant with XHTML-->
 	var xmlHttp=null; // Defines that xmlHttp is a new variable.
 	// Try to get the right object for different browser
 	try {
    	// Firefox, Opera 8.0+, Safari, IE7+
    	xmlHttp = new XMLHttpRequest(); // xmlHttp is now a XMLHttpRequest.
 	} catch (e) {
    	// Internet Explorer
    	try {
    	   	xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
 	   	} catch (e) {
	       xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
	    }
	 }
	 
	 

 xmlHttp.onreadystatechange = function() {
    if (xmlHttp.readyState == 4)
       try { // In some instances, status cannot be retrieved and will produce 
             // an error (e.g. Port is not responsive)
             //document.getElementById('verifyUser').style.display="none";
             //document.getElementById('forgotPassword').style.display="none";
          
          if (xmlHttp.status == 500) {
          	alert('Hubo un error al verificar usuario');
          }   
          if (xmlHttp.status == 200) {
             // Set the main HTML of the body to the info provided by the 
             // Ajax Request

             if (xmlHttp.responseText!='')
             {
             	//document.getElementById('logged').style.display="block";
             	//document.getElementById('menuLogged').style.display="block";
             	//document.getElementById('menuMiCuentaLogged').style.display="block";
             	//document.getElementById('labelName').innerHTML = "Bienvenido, " + xmlHttp.responseText;
             }
             else
             {
             	document.location.href='/portal/pantalla_login.jsp';
             }
          }
       		} catch (e) {
	          //document.getElementById("ajax_output").innerHTML 
	            // = "Error on Ajax return call : " + e.description;
	            alert(e.description);
	       }
	 }

	var open = "/portal/VerifyLogin";
 	xmlHttp.open("post",open); // .open(RequestType, Source);
 	xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xmlHttp.send("portal="+portal); // Since there is no supplied form, null takes its place 
	                     // as a new form.
	//document.getElementById('verifyUser').style.display="block";
	//document.getElementById('forgotPassword').style.display="none";
}

function changeCityCombo(cities)
{
	while (document.getElementById("city").options.length>0)
	{
		var opt = document.getElementById("city").options.item(0);
		document.getElementById("city").removeChild(opt);
	}
	//while (document.CustomerInfo.city.options.length>0)
	//{
	//	document.CustomerInfo.city.options.remove(0);
	//}
	
    var fOption = new Option("Seleccione", "");
	document.getElementById("city").options.add(fOption, document.getElementById("city").options.length);

	if (cities!="ER")
	{	
		var arrayCities = cities.split("|");
		//document.SelectNumber.phoneNumber.size = arrayPhoneNumbers.length;
		
		
		
		for (i=0;i<arrayCities.length;i++)
		{
	        if (arrayCities[i].length>0)
	        {
	        	var option = new Option(arrayCities[i], arrayCities[i]);
		   		document.getElementById("city").options.add(option, document.getElementById("city").options.length);
	   		}
		}
		//numbersTotal = arrayPhoneNumbers.length-1;
	
		//for (i=0;i<document.getElementById("city").options.length;i++)
		//{
		//	if (document.getElementById("city").options[i].value=="<%=customerInfoVO.getCity()%>")
		//		document.CustomerInfo.city.options[i].selected=true;
		//	else
		//		document.CustomerInfo.city.options[i].selected=false;
		//}
	}	
}

function changeStateAjax()
{
	<!-- // Required to be compliant with XHTML-->
 	var xmlHttp=null; // Defines that xmlHttp is a new variable.
 	// Try to get the right object for different browser
 	try {
    	// Firefox, Opera 8.0+, Safari, IE7+
    	xmlHttp = new XMLHttpRequest(); // xmlHttp is now a XMLHttpRequest.
 	} catch (e) {
    	// Internet Explorer
    	try {
    	   	xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
 	   	} catch (e) {
	       xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
	    }
	 }

 xmlHttp.onreadystatechange = function() {
    if (xmlHttp.readyState == 4)
       try { // In some instances, status cannot be retrieved and will produce 
             // an error (e.g. Port is not responsive)
          if (xmlHttp.status == 200) {
             // Set the main HTML of the body to the info provided by the 
             // Ajax Request
             	changeCityCombo(xmlHttp.responseText);
          }
       		} catch (e) {
	            // = "Error on Ajax return call : " + e.description;
	            alert(e.description);
	       }
	 }

	var open = "/portal/ChangeState";
 	xmlHttp.open("post",open);
 	xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
 	var send = "state="+document.getElementById("state").value;
	xmlHttp.send(send);
	
	document.getElementById("city").options[0].text = "Cargando...";
}

function validateCreditCardNumberGeneric(creditCardType,creditCardNumberField,labelCreditCardNumberField)
{
	var creditCardNumber = creditCardNumberField.value;
	var result = validateFieldVsLength(creditCardNumberField,labelCreditCardNumberField,16);
	var mask = "2121212121212121";
	if (result)
	{
		if (creditCardType=="Visa")
		{
			if ( (creditCardNumber.charAt(0)!="4") || (creditCardNumber=="4242424242424242") )
				result=false;
		}
		else if (creditCardType=="Mastercard")
		{
			if (creditCardNumber.charAt(0)!="5")
				result=false;
		}
	}
	if (result)
	{
		var sum = 0;
		var totalSum = 0;
		var reminder = 0;
		for (i=0;i<16;i++)
		{
			var cardNum = 0;
			var maskNum = 0;
			cardNum = creditCardNumber.charAt(i);
			maskNum = mask.charAt(i);
			sum = cardNum * maskNum;
			if (sum>9)
				sum -=9;
			totalSum+=sum;
		}
		reminder = totalSum % 10;
		if (reminder>0)
			result=false;
	}
	return result;
	//if (!result)
	//{
	//	document.getElementById('errorMsg1').style.display = "none";
	//	document.getElementById('errorMsg2').style.display = "none";
	//	document.getElementById('errorMsg3').style.display = "block";
	//	document.getElementById('errorMsg4').style.display = "none";
	//	document.getElementById('errorMsg5').style.display = "none";
	//	document.getElementById('labelCreditCardNumber').attributes['class'].value = labelRedStyle;
	//}
	//else
	//	document.getElementById('labelCreditCardNumber').attributes['class'].value = labelBackStyle;
	//return result;
}





