function highlight(row){
row.style.backgroundColor='#FFFFFF';
row.style.fontColor='#0D558A';
row.style.fontWeight='bold';
}
function highlightOff(row){
row.style.backgroundColor='#0D558A';
row.style.color='#FFFFFF';
row.style.fontWeight='normal';
}
function highlightdetail(row){
row.style.backgroundColor='#ecf997';
row.style.color='#000000';
}
function highlightdetailOff(row){
row.style.backgroundColor='#FFFFFF';
row.style.color='#000000';
}
function highlightx(x){
	x.src='images/xover.gif'
}
function highlightxoff(x){
	x.src='images/x.gif'
}
function hlempty(x){
	x.src='images/emptycartover.gif'
}
function hlemptyoff(x){
	x.src='images/emptycart.gif'
}
function hlcontinue(x){
	x.src='images/continueover.gif'
}
function hlcontinueoff(x){
	x.src='images/continue.gif'
}
function hlcheckout(x){
	x.src='images/checkoutover.gif'
}
function hlcheckoutoff(x){
	x.src='images/checkout.gif'
}
function hlupdate(x){
	x.src='images/updateover.gif'
}
function hlupdateoff(x){
	x.src='images/update.gif'
}
function hlpromo(x){
	x.src='images/promo_over.gif'
}
function hlpromooff(x){
	x.src='images/promo.gif'
}
function hl(x, name){
	x.src='images/'+name;
}
function hloff(x, name){
	x.src='images/'+name;
}
<!--Mouse over effect on top menu
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->

function validateUsernamePassword(){
	var username = document.getElementById('createaccount_username').value;
	var password = document.getElementById('createaccount_password').value;
	var password2 = document.getElementById('createaccount_password2').value;
	
	if ( (username == '' || password == '') || password2 == ''){
		alert ('Please complete ALL fields.');
		return false;
	}
	
	if (password != password2){
		alert ('Passwords do not match.')
		return false;
	}
	return;
}

function validateAgreement(){
	var agree = document.getElementById("agree").checked;
	if(agree != true){
		alert ('You must agree to this agreement before continuing.');
		return false;
	}
}

function validateProfile(){
	var message = 'The following fields are required:';
	
	var first_name = document.getElementById("first_name").value;
	if (first_name == ''){message = message + '\nFirst Name';}
	var last_name = document.getElementById("last_name").value;
	if (last_name == ''){message = message + '\nLast Name';}
	//var	birthdate = document.getElementById("birthdate").value;
	//if (birthdate == ''){message = message + '\nBirthdate';}	
	//var	sex = document.getElementById("patient_sex").value;
	//if (sex == ''){message = message + '\nSex';}		
	var phone_number1 = document.getElementById("phone_number1").value;
	if (phone_number1 == ''){message = message + '\nPrimary Phone Number';}	
	//var physician_name = document.getElementById("physician_name").value;
	//if (physician_name == ''){message = message + '\nPhysician Name';}
	//var physician_phone = document.getElementById("physician_phone").value;
	//if (physician_phone == ''){message = message + '\nPhysician Number';}
	//var other_condition = document.getElementById("condition_other").checked;
	//var other_desc = document.getElementById("condition_desc").value;
	//if ((other_condition == '1') && (other_desc == '')){message = message + '\nOther Conditions';}	
	if (message != 'The following fields are required:'){
	alert (message);
	return false;
	}
	//else{
	//return validateBday();
	//	}
}

function validateAddress() {
		var ErrorMessage = 'The following fields must be completed:\n \n';
		var getAddress = document.getElementById("newaddress").value;
		var getCity = document.getElementById("newcity").value;
		if (document.getElementById("newcountry").value == 'OTHER')
		{var getState = document.getElementById("state_other").value}
		else{var getState = document.getElementById("newstate").value;}
		var getPostalCode = document.getElementById("newZip").value;
		if (document.getElementById("newcountry").value == 'OTHER')
		{var getCountry = document.getElementById("country_other").value;}
		else{var getCountry = document.getElementById("newcountry").value;}
		if (getAddress == ''){ErrorMessage = ErrorMessage + 'Address\n'}
		if (getCity == ''){ErrorMessage = ErrorMessage + 'City\n'}
		if (getState == ''){ErrorMessage = ErrorMessage + 'State\n'}
		if (getPostalCode == ''){ErrorMessage = ErrorMessage + 'PostalCode\n'}
		if (getCountry == ''){ErrorMessage = ErrorMessage + 'Country\n'}
		if (ErrorMessage != 'The following fields must be completed:\n \n'){
			alert (ErrorMessage);
			return false;
		}
}

function showAddressFields() {
		var getSelected = document.getElementById("newcountry").value;
		switch (getSelected) {

			case "OTHER": 
			{
				document.getElementById("newstate").style.display = 'none';
				document.getElementById("country_other").style.display = '';
				document.getElementById("state_other").style.display = '';
				break;
			}
								   
			default :  
			{
				document.getElementById("newstate").style.display = '';
				document.getElementById("country_other").style.display = 'none';
				document.getElementById("state_other").style.display = 'none';
				break;
		}

}

}

function confirmation(){
	var input_box = confirm("Delete this address?");
	
	if (input_box==true){ 
		return true;
		}
	else{
		return false;
		}
}
function enablePayment() {

		var getSelected = document.getElementById("payment_method").value;
		switch (getSelected) {

			case 'MO' : 
			{
				document.getElementById("name_cc").disabled = true;
				document.getElementById("cc_number").disabled = true;
				document.getElementById("payment_expiry_month").disabled = true;
				document.getElementById("payment_expiry_year").disabled = true;
				document.getElementById("cvv2").disabled = true;
				break;
			}
			

			case 'WIRE' : 
			{
				document.getElementById("name_cc").disabled = true;
				document.getElementById("cc_number").disabled = true;
				document.getElementById("payment_expiry_month").disabled = true;
				document.getElementById("payment_expiry_year").disabled = true;
				document.getElementById("cvv2").disabled = true;
				break;
			}

            // add by jerry on July 17th,2009 begin
			case 'AMEX' : 
			{
				document.getElementById("name_cc").disabled = false;
				document.getElementById("cc_number").disabled = false;
				document.getElementById("payment_expiry_month").disabled = false;
				document.getElementById("payment_expiry_year").disabled = false;
				document.getElementById("cvv2").disabled = false;
                document.getElementById("CVVBOX").style.display='none';
				document.getElementById("CVVBOXSHOW").style.display='none';
				break;
			}

			case 'DISCOVER' : 
			{
				document.getElementById("name_cc").disabled = false;
				document.getElementById("cc_number").disabled = false;
				document.getElementById("payment_expiry_month").disabled = false;
				document.getElementById("payment_expiry_year").disabled = false;
				document.getElementById("cvv2").disabled = false;
                document.getElementById("CVVBOX").style.display='none';
				document.getElementById("CVVBOXSHOW").style.display='none';
				break;
			}
			// add by jerry on July 17th,2009 end			
			case '' : 
			{
				document.getElementById("name_cc").disabled = true;
				document.getElementById("cc_number").disabled = true;
				document.getElementById("payment_expiry_month").disabled = true;
				document.getElementById("payment_expiry_year").disabled = true;
				document.getElementById("cvv2").disabled = true;
				break;
			}
												
			default :  
			{
				document.getElementById("name_cc").disabled = false;
				document.getElementById("cc_number").disabled = false;
				document.getElementById("payment_expiry_month").disabled = false;
				document.getElementById("payment_expiry_year").disabled = false;
				document.getElementById("cvv2").disabled = false;
				document.getElementById("CVVBOX").style.display='';
				document.getElementById("CVVBOXSHOW").style.display='';
				break;
		}

}

}
function checkCardNumWithMod10(cardNum) 
{
	var i;
	var cc = new Array(16);
	var checksum = 0;
	var validcc;

	// assign each digit of the card number to a space in the array	
	for (i = 0; i < cardNum.length; i++) {
		cc[i] = Math.floor(cardNum.substring(i, i+1));
	}

	// walk through every other digit doing our magic
	// if the card number is sixteen digits then start at the
	// first digit (position 0), otherwise start from the
	// second (position 1)
	for (i = (cardNum.length % 2); i < cardNum.length; i+=2) {
		var a = cc[i] * 2;
		if (a >= 10) {
			var aStr = a.toString();
			var b = aStr.substring(0,1);
			var c = aStr.substring(1,2);
			cc[i] = Math.floor(b) + Math.floor(c);
		} else {
			cc[i] = a;
		}
	}

	// add up all of the digits in the array
	for (i = 0; i < cardNum.length; i++) {
		checksum += Math.floor(cc[i]);
	}

	// if the checksum is evenly divisble by 10
	// then this is a valid card number
	validcc = ((checksum % 10) == 0);

	return validcc;
}

function cleanCardNum(cardNum) 
{
	var i;
	var ch;
	var newCard = "";

	// walk through the string character by character to build
	// a new string with numbers only
	i = 0;
	while (i < cardNum.length) {
		// get the current character
		ch = cardNum.substring(i, i+1);
		if ((ch >= "0") && (ch <= "9")) {
			// if the current character is a digit then add it
			// to the numbers-only string we're building
			newCard += ch;
		} else {
			// not a digit, so check if its a dash or a space
			if ((ch != " ") && (ch != "-")) {
				// not a dash or a space so fail
				alert("The Credit Card Number contains invalid characters.");
				return "";
			}
		}
		i++;
	}

	// we got here if we didn't fail, so return what we built
	return newCard;
}

function checkCard(cardType, cardNum) 
{
	var validCard;
	var cardLength;
	var cardLengthOK;
	var cardStart;
	var cardStartOK;
	
	// check if the card type is valid
	if ((cardType != "V") && (cardType != "M") && (cardType != "A") && (cardType != "D")) {
		alert("Please select a card type.");
		return false;
	}

	// clean up any spaces or dashes in the card number
	validCard = cleanCardNum(cardNum);
	if (validCard != "") {
		// check the first digit to see if it matches the card type
		cardStart = validCard.substring(0,1);
		cardStartOK = ( ((cardType == "V") && (cardStart == "4")) ||
				((cardType == "M") && (cardStart == "5")) ||
				((cardType == "A") && (cardStart == "3")) ||
				((cardType == "D") && (cardStart == "6")) );
		if (!(cardStartOK)) {
			// card number's first digit doesn't match card type
			alert("The Credit Card Number you've entered doesn't match the Card Type you selected.");
			return false;
		}

		// the card number is good now, so check to make sure
		// it's a the right length
		cardLength = validCard.length;		
		cardLengthOK = ( ((cardType == "V") && ((cardLength == 13) || (cardLength == 16))) ||
				 ((cardType == "M") && (cardLength == 16)) ||
				 ((cardType == "A") && (cardLength == 15)) ||
				 ((cardType == "D") && (cardLength == 16)) );
		if (!(cardLengthOK)) {
			// not the right length
			alert("Invalid Credit Card Number.  Please make sure you've entered the Credit Card Number correctly.");
			return false;
		}

		// card number seems OK so do the Mod10
		if (checkCardNumWithMod10(validCard)) {
			return true;
		} else {
			alert("Invalid Credit Card Number.  Please make sure you've entered the Credit Card Number correctly.");
			return false;
		}
	} else {
		return false;
	}
}
function validateCheckout(){
	var getSelected = document.getElementById("payment_method").value;
	if(getSelected == ''){alert ('Please select a payment method.');
	return false;
	}
	if((getSelected != 'MO') && (getSelected != 'WIRE')){
	var cc_name = document.getElementById("name_cc").value;
	var cc_number = document.getElementById("cc_number").value;
	var cc_expiry_month = document.getElementById("payment_expiry_month").value;
	var cc_expiry_year = document.getElementById("payment_expiry_year").value;
	var cvv2 = document.getElementById("cvv2").value;
		if(cc_name == ''){alert('Please enter the card holders name');return false;}
		if(cc_number == ''){alert('Please enter the credit card number');return false;}
		if(cc_expiry_month == ''){alert('Please choose the expiry month');return false;}
		if(cc_expiry_year == ''){alert('Please choose the expiry year');return false;}
		if(cvv2 == '' && ((getSelected == 'VISA') || (getSelected == 'MC'))){alert('Please enter the credit card CVV2 number');return false;}
	}
	strCardNum = cc_number;
	switch(getSelected)
	{
		case 'VISA':
			return checkCard('V', strCardNum);
		case 'MC':
			return checkCard('M', strCardNum);
		case 'AMEX':
			return checkCard('A', strCardNum);
		case 'DISCOVER':
			return checkCard('D', strCardNum);
		alert('Invalid credit card type.');
		return false;
	}
}
function addressAlert(){
	alert ('Please choose a shipping and billing address');
	return false;
}
function validateBulkQTY(nRowID)
{
	var strRequiredFields = ''
	if(document.getElementById('firstname'+nRowID).value=='')
	{
		strRequiredFields = '\nFirst Name';
	}

	if(document.getElementById('lastname'+nRowID).value=='')
	{
		strRequiredFields = strRequiredFields+ '\nLast Name';
	}

	/*if(document.getElementById('email'+nRowID).value=='')
	{
		strRequiredFields = strRequiredFields+ '\nEmail';
	}*/
	
	if(document.getElementById('telephone'+nRowID).value=='' || document.getElementById('telephone'+nRowID).value.length < 10)
	{
		strRequiredFields = strRequiredFields+ '\nTelephone (Minimum 10 digits)';
	}

	if(document.getElementById('qty'+nRowID).value=='')
	{
		strRequiredFields = strRequiredFields+ '\nQuantity';
	}

	if (strRequiredFields!='')
	{
		alert ('The following fields are required:\n' + strRequiredFields)
			return false;
	}

	if(document.getElementById('email'+nRowID).value!='')
	{
		var x = document.getElementById('email'+nRowID).value;
		var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z]{2,4})+$/;
		if (filter.test(x)){
		}
		else{
			alert('Please enter a valid email address.')
		 return false
		}
	}	

}


function SetVisible( element, enabled )
{
	if (typeof(element) =='undefined')
		return;
		
	if (enabled == true)
	{
		element.style.display = 'inline';
	}
	else
	{
		element.style.display = 'none';
	}
}

function country_onchange( theForm, theControl )
{
	var country = theForm.elements['country'].value;
	var bEnableOtherField = (country == 'OTHER');
	
	if (bEnableOtherField)
	{
		SetVisible(theForm.elements['country_other'], 	true);
		SetVisible(theForm.elements['state_other'], 	true);
		SetVisible(theForm.elements['state'], 			false);
		theForm.elements['state'].value = '';
	}
	else
	{
		SetVisible(theForm.elements['country_other'], 	false);
		SetVisible(theForm.elements['state_other'], 	false);
		SetVisible(theForm.elements['state'], 			true);
		theForm.elements['country_other'].value = '';
		theForm.elements['state_other'].value = '';
	}
}

function patient_shipcountry_onchange( theForm, theControl )
{
	var country = theForm.elements['patient_shipcountry'].value;
	var bEnableOtherField = (country == 'OTHER');
	
	if (bEnableOtherField)
	{
		SetVisible(theForm.elements['patient_shipcountry_other'], 	true);
		SetVisible(theForm.elements['patient_shipstate_other'], 	true);
		SetVisible(theForm.elements['patient_shipstate'], 			false);
		theForm.elements['patient_shipstate'].value = '';
	}
	else
	{
		SetVisible(theForm.elements['patient_shipcountry_other'], 	false);
		SetVisible(theForm.elements['patient_shipstate_other'], 	false);
		SetVisible(theForm.elements['patient_shipstate'], 			true);
		theForm.elements['patient_shipcountry_other'].value = '';
		theForm.elements['patient_shipstate_other'].value = '';
	}
}