//Verify the email value
function verifyemail(emailvalue)
{
var email_error = 0;
	if( emailvalue.indexOf("@") <= 1 ) {
		email_error = 1;
	} else {
		if( emailvalue.substring( emailvalue.indexOf("@"), emailvalue.length ).indexOf(".") <= 1 ) {
			email_error = 2;
		} 
	}
	if( email_error != 0 ) {
		alert("Por favor, ingrese una dirección de Email válida.");
		return false;
	}
	return true;
}

//Verify the last step to checkout
function ValidateCheckout(thisform)
{
  if (thisform.nombretrj.value == "")
  {
    alert("Por favor, ingrese su Nombre como aparece en su Tarjeta de Crédito");
	thisform.nombretrj.focus();
    return false;
  }
  else if (thisform.add1trj.value == "")
  {
  	alert("Por favor, ingrese la dirección donde recibe la factura de su Tarjeta de Crédito");
	thisform.add1trj.focus();
	return false;
  }
  else if (thisform.citytrj.value == "")
  {
  	alert("Por favor, ingrese la ciudad de la dirección donde recibe la factura de su Tarjeta de Crédito");
	thisform.citytrj.focus();
	return false;
  }
  else if (thisform.estatetrj.value == "")
  {
  	alert("Por favor, ingrese el estado de la dirección donde recibe la factura de su Tarjeta de Crédito");
	thisform.estatetrj.focus();
	return false;
  }
  else if (thisform.ziptrj.value == "")
  {
  	alert("Por favor, ingrese el código postal de la dirección donde recibe la factura de su Tarjeta de Crédito");
	thisform.ziptrj.focus();
	return false;
  }

else if (thisform.numerotrj.value == "")
  {
  	alert("Por favor, ingrese el número de su Tarjeta de Crédito");
	thisform.numerotrj.focus();
	return false;
  }
  else if (thisform.mestrj.value == "")
  {
  	alert("Por favor, seleccione el mes de vencimiento de su Tarjeta de Crédito");
	thisform.mestrj.focus();
	return false;
  }
  else if (thisform.aniotrj.value == "")
  {
  	alert("Por favor, seleccione el año de vencimiento de su Tarjeta de Crédito");
	thisform.aniotrj.focus();
	return false;
  }	
  else if (!thisform.tipotrj[0].checked && !thisform.tipotrj[1].checked)
  {
  	alert("Por favor, seleccione el Tipo de su Tarjeta de Crédito");
	return false;
  }	
  else if (thisform.tipotrj[0].checked )
  {
	if (!isVisa(thisform.numerotrj.value))
	{
		alert("El número de su tarjeta VISA no es válido, por favor verifique");
		return false;
	}
  }	
  else if (thisform.tipotrj[1].checked )
  {
	if (!isMasterCard(thisform.numerotrj.value))
	{
		alert("El número de su tarjeta Master Card no es válido, por favor verifique");
		return false;
	}
  }	
	
}

// Verifico dependiendo de la tarjeta de credito si son validas
function isCreditCard(s) 
{
if (s.length > 19)
	return (false);
sum = 0; mul = 1; l = s.length;
for (i = 0; i < l; i++) {
	ch = s.substring(l-i-1,l-i);
	tmul = parseInt(ch ,10)*mul;
	if (tmul >= 10)
		sum += (tmul % 10) + 1;
	else
		sum += tmul;
	if (mul == 1)
		mul++;
	else
		mul--;
}
if ((sum % 10) == 0)
	return (true);
else
	return (false);
}

function isVisa(cc)
{
if (((cc.length == 16) || (cc.length == 13)) &&	(cc.substring(0,1) == 4))
	return isCreditCard(cc);
return false;
}

function isMasterCard(cc)
{
first = cc.substring(0,1);
second = cc.substring(1,2);
if ((cc.length == 16) && (first == 5) && ((second >= 1) && (second <= 5)))
	return isCreditCard(cc);
return false;
}

function isAmericanExpress(cc)
{
first = cc.substring(0,1);
second = cc.substring(1,2);
if ((cc.length == 15) && (first == 3) && ((second == 4) || (second == 7)))
	return isCreditCard(cc);
return false;
}

function isDiscover(cc)
{
first4 = cc.substring(0,4);
if ((cc.length == 16) && (first4 == "6011"))
	return isCreditCard(cc);
return false;
}

function isAnyCard(cc)
{
if (!isCreditCard(cc))
	return false;
if (!isMasterCard(cc) && !isVisa(cc))
	return false;
return true;
}

function isCardMatch(cardType, cardNumber)
{
cardType = cardType.toUpperCase();
var isMatch = true;

if ((cardType == "VISA") && (!isVisa(cardNumber)))
	isMatch = false;
if ((cardType == "MASTERCARD") && (!isMasterCard(cardNumber)))
	isMatch = false;
return isMatch;
}



// Verify the login option
function VerifyLogValues(thisform)
{
  if (thisform.Users_EMail_Address_ID.value == "")
  {
    alert("Por favor, ingrese su dirección Email");
	thisform.Users_EMail_Address_ID.focus();
    return false;
  }
  else if (thisform.Users_Password_VC.value == "")
  {
  	alert("Por favor, ingrese su contraseña");
	thisform.Users_Password_VC.focus();
	return false;
  }
  else if (thisform.Users_EMail_Address_ID.value != "")
  {
	 if (!verifyemail(thisform.Users_EMail_Address_ID.value)) return false;
  }
  else
    return true;
}

// Verify the Submit option
function VerifyData(thisform)
{
  if (thisform.Users_EMail_Address_ID.value == "")
  {
    alert("Por favor, ingrese su Email");
	thisform.Users_EMail_Address_ID.focus();
    return false;
  }
  else if (thisform.Users_Password_VC.value == "")
  {
  	alert("Por favor, ingrese su Contraseña");
	thisform.Users_Password_VC.focus();
	return false;
  }
  else if (thisform.Users_Name_VC.value == "")
  {
  	alert("Por favor, ingrese su Nombre");
	thisform.Users_Name_VC.focus();
	return false;
  }
  else if (thisform.Users_Last_Name_VC.value == "")
  {
  	alert("Por favor, ingrese su Apellido");
	thisform.Users_Last_Name_VC.focus();
	return false;
  }

  else if (thisform.Users_Address1.value == "")
  {
  	alert("Por favor, ingrese su Dirección Postal");
	thisform.Users_Address1.focus();
	return false;
  }
  else if (thisform.Users_City.value == "")
  {
  	alert("Por favor, ingrese la Ciudad");
	thisform.Users_City.focus();
	return false;
  }
  else if (thisform.Users_State.value == "")
  {
  	alert("Por favor, ingrese el Estado");
	thisform.Users_State.focus();
	return false;
  }
  else if (thisform.Users_ZipCode.value == "")
  {
  	alert("Por favor, ingrese el Zip Code");
	thisform.Users_ZipCode.focus();
	return false;
  }
  else if (thisform.Users_Country.value == "")
  {
  	alert("Por favor, ingrese el País");
	thisform.Users_Country.focus();
	return false;
  }
  else if (thisform.Users_Direct_Phone_VC.value == "")
  {
  	alert("Por favor, ingrese su Teléfono");
	thisform.Users_Direct_Phone_VC.focus();
	return false;
  }
  else if (thisform.Users_ZipCode.value != "")
  {
	 if (!validateZIP(thisform.Users_ZipCode.value)) return false;
  }
  else if (thisform.Users_EMail_Address_ID.value != "")
  {
	 if (!verifyemail(thisform.Users_EMail_Address_ID.value)) return false;
  }
  else
    return true;
}

// Verify the Checkout option
function VerifyData2(thisform)
{
  if (thisform.Users_Name_VC.value == "")
  {
  	alert("Por favor, ingrese su Nombre");
	thisform.Users_Name_VC.focus();
	return false;
  }
  else if (thisform.Users_Last_Name_VC.value == "")
  {
  	alert("Por favor, ingrese su Apellido");
	thisform.Users_Last_Name_VC.focus();
	return false;
  }

  else if (thisform.Users_Address1.value == "")
  {
  	alert("Por favor, ingrese su Dirección Postal");
	thisform.Users_Address1.focus();
	return false;
  }
  else if (thisform.Users_City.value == "")
  {
  	alert("Por favor, ingrese la Ciudad");
	thisform.Users_City.focus();
	return false;
  }
  else if (thisform.Users_State.value == "")
  {
  	alert("Por favor, ingrese el Estado");
	thisform.Users_State.focus();
	return false;
  }
  else if (thisform.Users_ZipCode.value == "")
  {
  	alert("Por favor, ingrese el Zip Code");
	thisform.Users_ZipCode.focus();
	return false;
  }
  else if (thisform.Users_Country.value == "")
  {
  	alert("Por favor, ingrese el País");
	thisform.Users_Country.focus();
	return false;
  }
  else if (thisform.Users_Direct_Phone_VC.value == "")
  {
  	alert("Por favor, ingrese su Teléfono");
	thisform.Users_Direct_Phone_VC.focus();
	return false;
  }
  else if (thisform.Users_ZipCode.value != "")
  {
	 if (!validateZIP(thisform.Users_ZipCode.value)) return false;
  }
  else
    return true;
}

//Verify ZIP CODE
function validateZIP(field) {
var valid = "0123456789-";
var hyphencount = 0;

if (field.length!=5 && field.length!=10) {
alert("Por favor ingrese un Código Postal de 5 digitos o 5 digitos + 4.");
return false;
}
for (var i=0; i < field.length; i++) {
temp = "" + field.substring(i, i+1);
if (temp == "-") hyphencount++;
if (valid.indexOf(temp) == "-1") {
alert("Hay caracteres inválidos en su Código Postal. Por favor intente nuevamente.");
return false;
}
if ((hyphencount > 1) || ((field.length==10) && ""+field.charAt(5)!="-")) {
alert("El formato de su Código Postal debe ser 5 dígitos o 5 dígitos + 4 dígitos, por ejemplo:'12345-6789'. Por favor intente nuevamente.");
return false;
   }
}
return true;
}


// Verify the Submit option
function VerifyContactData(thisform)
{
  if (thisform.Users_EMail_Address_ID.value == "")
  {
    alert("Por favor, ingrese su Email");
	thisform.Users_EMail_Address_ID.focus();
    return false;
  }
  else if (thisform.Users_Name_VC.value == "")
  {
  	alert("Por favor, ingrese su Nombre");
	thisform.Users_Name_VC.focus();
	return false;
  }
  else if (thisform.Users_Last_Name_VC.value == "")
  {
  	alert("Por favor, ingrese su Apellido");
	thisform.Users_Last_Name_VC.focus();
	return false;
  }

  else if (thisform.Users_Comentarios.value == "")
  {
  	alert("Por favor, ingrese su Comentario");
	thisform.Users_Comentarios.focus();
	return false;
  }

  else if (thisform.Users_EMail_Address_ID.value != "")
  {
	 if (!verifyemail(thisform.Users_EMail_Address_ID.value)) return false;
  }
  else
    return true;
}

	function submitonce(theform){
	//if IE 4+ or NS 6+
	if (document.all||document.getElementById)
	{
		//screen thru every element in the form, and hunt down "submit" and "reset"
		for (i=0;i<theform.length;i++){
			var tempobj=theform.elements[i]
			if(tempobj.type.toLowerCase()=="submit")
			//disable em
			tempobj.disabled=true
			}
		}
	}


//----------textCounter
function textCounter(field,cntfield,maxlimit) {
if (field.value.length > maxlimit) // if too long...trim it!
   field.value = field.value.substring(0, maxlimit);
 //otherwise, update 'characters left' counter
else 
   cntfield.value = maxlimit - field.value.length;
   cntfield.value = field.value.length;
}

function popwindow(page,w,h,pagename) 
{
  	window.open(page,pagename,"toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,width="+w+",height="+h+",left=10,top=10,resizable=yes");
}
