function email_onblur(field)
{
	var email = field.value;
	var AtSym= field.value.indexOf('@');
	var Period = field.value.lastIndexOf('.');
	var Space= field.value.indexOf(' ');
	var Length = field.value.length - 1; // el arreglo es desde 0 hasta largo -1

	if (email != "" )
	{
		if ((AtSym < 1) || // '@' no puede ir de primero
			(Period <= AtSym+1) || // debe de haber almenos un caracter valido entre '@' y'.'
			(Period == Length ) || // debe haber almenos un caracter valido despues del'.'
			(Space!= -1))// no pueden haber espacios en blanco
			 {
			alert("The email address is not valid, please try again.");
			field.value="";
			field.focus();
			return false;
		 }
	}
	else
		return true;
}

function DoCheck(form,tmpArray)
{
		var formok = true;
		var localA	="" ;
		var var1 = "";
		var var2 = "";
		var i = 0;
		var checkvar = new Array();

		for(i=0;i<tmpArray.length;i++)
		{
			checkvar = tmpArray[i];
			checkvar = checkvar.split('-');
			//alert(checkvar[0]);
			var1 = document.getElementById(checkvar[0]);
			var2 = checkvar[1];

			if (!isBlank(var1, var2) && formok)
			{
				formok = false;
				return formok;
			}
			else
			{
				formok = true;

			}
		}
		//alert(formok);
		
		return formok;

}


function JSTrim(tmpString)
{
	var MyString = tmpString;

	//Take off leading spaces
	while('' + MyString.charAt(0)==' ')
	{
		MyString = MyString.substring(1, MyString.length);
	}

	//Take off the trailing spaces
	while ('' + MyString.charAt(MyString.length-1) == ' ')
	{
		MyString = MyString.substring(0, MyString.length - 1);
	}

	return MyString;
}

function verifyloginform()
{
	var MyPassword	= document.getElementById("BOX_Password").value;
	var MyConfirm	= document.getElementById("BOX_Confirm_Password").value;
	var FormOK		= true;


	MyPassword	= JSTrim(MyPassword);
	MyConfirm	= JSTrim(MyConfirm);


	if ((MyPassword == "" || MyPassword.length < 5) && FormOK)
	{
		alert("Please enter a password between 5 and 12 characters.");
		FormOK = false;
	}

	if ((MyPassword != MyConfirm) && FormOK)
	{
		alert("You entered two different passwords, please try again.");
		FormOK = false;
	}

	//	if (FormOK)
	//	{
	//		return FormOK;
	//	}
	//	else
	//	{
	//		document.getElementById("password").value = "";
	//		document.getElementById("confirm").value = "";
	//		document.getElementById("password").focus();
	//		return FormOK;
	//	}

		return FormOK;
}

function validateForm(form)
{
	//alert('voy a validar');
	//var MyVars	 = new Array("PersonSalutation-2","FirstName-1","LastName-1","Name-1","Password-1","Street-1","City-1","State-2","PostalCode-1","Country-2","Email-1","PhoneHome-1","Fax-1","Website-1","NameOnCard-1","CreditCardNumber-1","CreditCardCompany-2","ExpirationDateMonth-1","ExpirationDateYear-1","VerificationNumber-1");
	var MyVars	 = new Array("BOX_FirstName-1","BOX_LastName-1",
							 "BOX_Email-1","BOX_Name-1","BOX_Password-1","BOX_Confirm_Password-1",
							 "BOX_Street-1","BOX_City-1","BOX_PostalCode-1",
							 "BOX_PhoneHome-1",
							 "cbxTos-3");

	var isOk	 = true;
	var checkvar	 = "";

	if (isOk)
	{
		isOk = DoCheck(form,MyVars);
	}

	if (isOk)
	{
		isOk = verifyloginform()
	}

	return isOk;

}

function validateForm1(form)
{
	//alert('voy a validar');
	//var MyVars	 = new Array("PersonSalutation-2","FirstName-1","LastName-1","Name-1","Password-1","Street-1","City-1","State-2","PostalCode-1","Country-2","Email-1","PhoneHome-1","Fax-1","Website-1","NameOnCard-1","CreditCardNumber-1","CreditCardCompany-2","ExpirationDateMonth-1","ExpirationDateYear-1","VerificationNumber-1");
	var MyVars	 = new Array("BOX_FirstName-1","BOX_LastName-1",
							 "BOX_Name-1","BOX_Password-1","BOX_Confirm_Password-1",
							 "BOX_Street-1","BOX_City-1","BOX_PostalCode-1",
							 "BOX_Email-1","BOX_PhoneHome-1",
							 "BOX_NameOnCard-1","BOX_CreditCardNumber-1",
							 "BOX_ExpirationDateMonth-1",
							 "BOX_ExpirationDateYear-1",
							 "BOX_CC_Street-1","BOX_CC_City-1","BOX_CC_PostalCode-1");

	var isOk	 = true;
	var checkvar	 = "";

	if (isOk)
	{
		isOk = DoCheck(form,MyVars);
	}

	if (isOk)
	{
		isOk = verifyloginform()
	}

	return isOk;

}



function isBlank(field, type)
{
	var sValue = field.value;
	var sMsg = "";
	var sFieldName = "";
	var bEmpty = false;
	//alert('validando'+field);
	if (type == 1)	//text field
	{
		//Take off leading spaces
		while('' + sValue.charAt(0)==' ')
		{
			sValue = sValue.substring(1, sValue.length);
		}

		//Take off the trailing spaces
		while ('' + sValue.charAt(sValue.length-1) == ' ')
		{
			sValue = sValue.substring(0, sValue.length - 1);
		}
		if (sValue == "")
			bEmpty = true;
	}
	else if (type == 2)
	{
		if (field.selectedIndex == 0)	//list box has the first element selected which is empty
			bEmpty = true;
	}
    else if (type == 3)
	{
		//alert(field.checked);
		if (field.checked ==false )	//Check box has the first element selected which is empty
			bEmpty = true;
	}
	if (bEmpty == true)
	{
		sFieldName = field.name;
		//Personalized field name messages
		switch (sFieldName)
		{

			//Shipping Information
			case "CMB_Country":
				sMsg = "Please select your country.";
				break;
			case "BOX_Street":
				sMsg = "Please fill the address 1.";
				break;
			case "BOX_City":
				sMsg = "Please fill the city.";
				break;
			case "CMB_State":
				sMsg = "Please fill the state.";
				break;
			case "BOX_PostalCode":
				sMsg = "Please fill the Postal Code.";
				break;
			case "CMB_CreditCardCompany":
				sMsg = "Please select the credit card type.";
				break;
			case "BOX_CreditCardNumber":
				sMsg = "Please fill the credit card number.";
				break;
			case "BOX_ExpirationDateMonth":
				sMsg = "Please select the expiration month.";
				break;
			case "BOX_ExpirationDateYear":
				sMsg = "Please select the expiration year.";
				break;
			case "BOX_NameOnCard":
				sMsg = "Please fill your name for the credit card.";
				break;			
			case "BOX_PhoneHome":
				sMsg = "Please fill your phone number.";
				break;
			case "BOX_Fax":
				sMsg = "Please fill your fax number.";
				break;
			case "BOX_Email":
				sMsg = "Please fill your Email.";
				break;
			case "BOX_Website":
				sMsg = "Please fill your website.";
				break;
			case "CMB_PersonSalutation":
				sMsg = "Please fill your Person Salutation.";
				break;
			case "BOX_FirstName":
				sMsg = "Please fill your First Name.";
				break;
			case "BOX_LastName":
				sMsg = "Please fill your Last Name.";
				break;
			case "BOX_Name":
				sMsg = "Please fill your User Name.";
				break;
			case "BOX_Password":
				sMsg = "Please fill your password.";
				break;				
			case "BOX_Confirm_Password":
				sMsg = "Please retype your password.";
				break;
			case "BOX_CC_Street":
				sMsg = "Please fill the billing address 1.";
				break;
			case "BOX_CC_City":
				sMsg = "Please fill the billing city.";
				break;
			case "BOX_CC_PostalCode":
				sMsg = "Please fill the billing Postal Code.";
				break;
            case "cbxTos":
				sMsg = "You must accept the terms and conditions..";
				break;
		}
		alert(sMsg);
		field.focus();
		return false;
	}
	else
		return true;
}

function isNumeric(field)
{
	var vValue = field.value;
	var sFieldName = field.name;

	if (vValue != "")
	{
		if (isNaN(vValue))
		{
			switch (sFieldName)
			{
				case "cc_num":
					sMsg = "Please enter a valid credit card number";
					break;
				default:
					sMsg = "Please enter a valid number";
					break;
			}
			alert(sMsg);
			field.focus();
			return false;
		}
		else
			return true;
	}
}


