function validateRegister(form)
{
	var email = form.email.value.toString();
	var emailOk = validateEmail(email);
	var phone = form.phone.value;
	var phoneOk = validatePhone(phone);

	if (form.first_name.value == "" || form.last_name.value == "" || form.address.value == "" || form.city.value == "" || form.country.value == "" || form.state.value == "" || form.zip.value == "" || form.phone.value == "" || email == "" || form.username.value == "" || form.password.value == "" || form.birth_date.value == "" || form.birth_month.value == "" || form.birth_year.value == "" || (form.sex[0].checked == false && form.sex[1].checked == false))
	{
		alert("Fields marked with (*) are mandatory.");
		return false;
	}

	if (!emailOk)
	{
		alert("Please enter valid E-mail address.");
		return false;
	}

	if (form.username.value.length < 5 || form.password.value.length < 5)
	{
		alert("You must enter at least 5 characters.");
		return false;
	}

	if (form.password.value != form.password2.value)
	{
		alert("Please retype your password correctly.");
		return false;
	}

	if (isNaN(form.birth_date.value) || isNaN(form.birth_month.value) || isNaN(form.birth_year.value))
	{
		alert("Wrong date format, please try again.");
		return false;
	}

	if (!phoneOk)
	{
		alert("Please enter valid phone number.");
		return false;
	}
}

function validateEmail(email)
{
	var objRegExp = /(^[a-z]([a-z_\.]*)@([a-z_\.]*)([.][a-z]{3})$)|(^[a-z]([a-z_\.]*)@([a-z_\.]*)(\.[a-z]{3})(\.[a-z]{2})*$)/i;
	return objRegExp.test(email);
}

function validatePhone(phone)
{
	if (phone.indexOf("-") == -1)
	{
		return false;
	}
	else
	{
		var temp = phone.split("-");

		if (temp.length != 3)
		{
			return false;
		}
		else
		{
			if (temp[0].length != 3 || temp[1].length != 3 || temp[2].length != 4)
			{
				return false;
			}
			else
			{
				return true;
			}
		}
	}
}

function validatePaymentOptions(form)
{
	var cardOk = validateCreditCard(form.card_number.value, form.payment_method.value);

	if (form.payment_method.value == "")
	{
		alert("Please choose your payment method.");
		return false;
	}

	if (form.card_name.value == "")
	{
		alert("Please enter the cardholder's name.");
		return false;
	}

	if ((form.payment_method.value == "VISA" || form.payment_method.value == "MC" || form.payment_method.value == "Discover") && form.card_number.value.length != 16)
	{
		alert("Please enter valid credit card number. Enter only numbers, with no dashes ('-'), spaces (' '), or other characters.");
		return false;
	}
	else if (form.payment_method.value == "AMEX" && form.card_number.value.length != 15)
	{
		alert("Please enter valid credit card number. Enter only numbers, with no dashes ('-'), spaces (' '), or other characters.");
		return false;
	}
	else if (!cardOk)
	{
		alert("Please enter valid credit card number. Enter only numbers, with no dashes ('-'), spaces (' '), or other characters.");
		return false;
	}

	if (form.expiry_month.value == "" || form.expiry_year.value == "")
	{
		alert("Please enter expiry date.");
		return false;
	}
	
	if ((form.payment_method.value == "VISA" || form.payment_method.value == "MC"/* || form.payment_method.value == "Discover"*/) && (form.cvv.value == "" || isNaN(form.cvv.value) || form.cvv.value.length != 3))
	{
		alert("Please enter CVV2 number.");
		return false;
	}
	else if (form.payment_method.value == "AMEX" && (form.cvv.value == "" || isNaN(form.cvv.value) || form.cvv.value.length != 4))
	{
		alert("Please enter 4-Digit CVN.");
		return false;
	}
}

function validateCreditCard(cardNumber, cardType)
{
	switch(cardType)
	{
		case "VISA":
			var objRegExp = /(^4[0-9]{12}(?:[0-9]{3})?$)/i;
			break;
		case "MC":
			var objRegExp = /(^5[1-5][0-9]{14}$)/i;
			break;
		case "AMEX":
			var objRegExp = /(^3[47][0-9]{13}$)/i;
			break;
		case "Discover":
			var objRegExp = /(^6(?:011|5[0-9]{2})[0-9]{12}$)/i;
			break;
	}

	if (objRegExp.test(cardNumber) == false)
	{
		return false;
	}
	return true;
}

function lockPaymentFields(selectBox)
{
	var form = document.getElementById("formPaymentOptions");

	if (selectBox.value == "" || selectBox.value == "MO")
	{
		form.card_name.disabled = true;
		form.card_number.disabled = true;
		form.expiry_month.disabled = true;
		form.expiry_year.disabled = true;
		form.cvv.disabled = true;

		document.getElementById("row2").style.display = "none";
		document.getElementById("row3").style.display = "none";
		document.getElementById("row4").style.display = "none";
		document.getElementById("row5").style.display = "none";
	}
	else
	{
		form.card_name.disabled = false;
		form.card_number.disabled = false;
		form.expiry_month.disabled = false;
		form.expiry_year.disabled = false;
		form.cvv.disabled = false;

		document.getElementById("row2").style.display = "table-row";
		document.getElementById("row3").style.display = "table-row";
		document.getElementById("row4").style.display = "table-row";
		document.getElementById("row5").style.display = "table-row";

		if (selectBox.value == "AMEX")
		{
			document.getElementById("verificationCode").innerHTML = '4-Digit CVN';
		}
        else
        {
            document.getElementById("verificationCode").innerHTML = '<a href="#" onclick="return popupCvv();" style="color: #333366; text-decoration: underline;">CVV2</a> (Visa/Mastercard):';
        }
	}
}

function validateMedicalHistory(form)
{
	if (form.height_ft.value == "" || form.height_in.value == "" || form.weight.value == "" || form.doctor_name.value == "" || form.doctor_phone.value == "")
	{
		alert("Fields marked with (*) are mandatory.");
		return false;
	}
}

function validateLogin(form)
{
	if (form.username.value == "" || form.password.value == "")
	{
		alert("Please enter username and password.");
		return false;
	}
}

function validateSearch(form)
{
	if (form.drugSearch.value.length < 3)
	{
		alert("Please enter at least three characters.");
		return false;
	}
}

function validateEditPage(form)
{
	if (form.title.value == "" && form.image.value == "" && form.content.value == "")
	{
		alert("Please fill one of the page content elements.");
		return false;
	}
}

function validateSearchDrug(form)
{
	if (form.id.value == "" && form.title.value == "")
	{
		alert("Please insert drug Id or drug name.");
		return false;
	}

	if (isNaN(form.id.value))
	{
		alert("Please insert valid Id.");
		return false;
	}
}

function validateEditDrug(form)
{
	if (form.medication.value == "" || form.strength.value == "" || form.quantity.value == "" || form.origin.value == "" || form.type.value == "" || form.base_price.value == "" || form.affiliate_price.value == "")
	{
		alert("Fields marked with (*) are mandatory.");
		return false;
	}
}

function validateOrderItem(form)
{
	if (form.order_quantity.value == "")
	{
		alert("Please enter the desired quantity.");
		return false;
	}
}

function checkOrderSubmit(button)
{
	if (button == "Empty cart")
	{
		document.getElementById("filter").value = "empty";
	}
	
	if (button == "Update quantity")
	{
		document.getElementById("filter").value = "save";
	}

	if (button == "Checkout")
	{
		document.getElementById("filter").value = "checkout";
	}
}

function popupCvv()
{
	window.open("/images/cvv.jpg", "_blank", "width=375, height=321, resizable=no, scrollbar=no, menubar=no");
	return false;
}
