var xmlhttp = false;
var xmlPath = 'https://www.lipovitan.com/js/';
var returnText;

/* detect browser type */
var browser = '';
var version = '';
var entrance = '';
var cond = '';

if (browser == '')
{
	if (navigator.appName.indexOf('Microsoft') != -1) browser = 'IE'
	else if (navigator.appName.indexOf('Netscape') != -1) browser = 'Netscape'
	else browser = 'IE';
}
if (version == '')
{
	version= navigator.appVersion;
	paren = version.indexOf('(');
	whole_version = navigator.appVersion.substring(0,paren-1);
	version = parseInt(whole_version);
}
if(!xmlhttp)
{
	if (browser == 'IE')
	{
		if (typeof ActiveXObject!='undefined') 
		{
			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		}
	}
	else if(browser == 'Netscape')
	{
		if (typeof XMLHttpRequest!='undefined') 
		{
			xmlhttp = new XMLHttpRequest();
		}
	}
}
function isValidEmail(email)
{
	if(!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email))) return false;
	else return true
}

function isFloat (s)
{
	defaultEmptyOK = true;
	var reFloat = /^((\d+(\.\d*)?)|((\d*\.)?\d+))$/
	if (isEmpty(s)) 
	if (isFloat.arguments.length == 1) return defaultEmptyOK;
	else return (isFloat.arguments[1] == true);
	return reFloat.test(s)
}

function isEmpty(s)
{
	return ((s == null) || (s.length == 0))
}

function isInteger(s)
{
	var i;
	for (i = 0; i < s.length; i++)
	{
		// Check that current character is number.
		var c = s.charAt(i);
		if (((c < "0") || (c > "9"))) return false;
	}
	// All characters are numbers.
	return true;
}
function isValidEmail(email)
{
	if(!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email))) return false;
	else return true
}
function insertStates(country,myForm)
{
	if(country=="CA")
	{
		document.getElementById(myForm).length = 14;
		document.getElementById(myForm).options[0].value = "0";document.getElementById(myForm).options[0].text = "[Select a province]";
		document.getElementById(myForm).options[1].value = "ON";document.getElementById(myForm).options[1].text = "Ontario";
		document.getElementById(myForm).options[2].value = "QC";document.getElementById(myForm).options[2].text = "Quebec";
		document.getElementById(myForm).options[3].value = "BC";document.getElementById(myForm).options[3].text = "British Columbia";
		document.getElementById(myForm).options[4].value = "AB";document.getElementById(myForm).options[4].text = "Alberta";
		document.getElementById(myForm).options[5].value = "MB";document.getElementById(myForm).options[5].text = "Manitoba";
		document.getElementById(myForm).options[6].value = "SK";document.getElementById(myForm).options[6].text = "Saskatchewan";
		document.getElementById(myForm).options[7].value = "NS";document.getElementById(myForm).options[7].text = "Nova Scotia";
		document.getElementById(myForm).options[8].value = "NB";document.getElementById(myForm).options[8].text = "New Brunswick";
		document.getElementById(myForm).options[9].value = "NL";document.getElementById(myForm).options[9].text = "Newfoundland and Labrador";
		document.getElementById(myForm).options[10].value = "PE";document.getElementById(myForm).options[10].text = "Prince Edward Island";
		document.getElementById(myForm).options[11].value = "NT";document.getElementById(myForm).options[11].text = "Northwest Territories";
		document.getElementById(myForm).options[12].value = "YK";document.getElementById(myForm).options[12].text = "Yukon";
		document.getElementById(myForm).options[13].value = "NU";document.getElementById(myForm).options[13].text = "Nunavut";
		document.getElementById(myForm).selectedIndex=0;

	}
	else
	{
		document.getElementById(myForm).length = 52;
		document.getElementById(myForm).options[0].value = "0";document.getElementById(myForm).options[0].text = "[Select a state]";
		document.getElementById(myForm).options[1].value = "AL";document.getElementById(myForm).options[1].text = "Alabama";
		document.getElementById(myForm).options[2].value = "AK";document.getElementById(myForm).options[2].text = "Alaska";
		document.getElementById(myForm).options[3].value = "AR";document.getElementById(myForm).options[3].text = "Arkansas";
		document.getElementById(myForm).options[4].value = "AZ";document.getElementById(myForm).options[4].text = "Arizona";
		document.getElementById(myForm).options[5].value = "CA";document.getElementById(myForm).options[5].text = "California";
		document.getElementById(myForm).options[6].value = "CO";document.getElementById(myForm).options[6].text = "Colorado";
		document.getElementById(myForm).options[7].value = "CT";document.getElementById(myForm).options[7].text = "Connecticut";
		document.getElementById(myForm).options[8].value = "DE";document.getElementById(myForm).options[8].text = "Delaware";
		document.getElementById(myForm).options[9].value = "DC";document.getElementById(myForm).options[9].text = "District of Columbia";
		document.getElementById(myForm).options[10].value = "FL";document.getElementById(myForm).options[10].text = "Florida";
		document.getElementById(myForm).options[11].value = "GA";document.getElementById(myForm).options[11].text = "Georgia";
		document.getElementById(myForm).options[12].value = "HI";document.getElementById(myForm).options[12].text = "Hawaii";
		document.getElementById(myForm).options[13].value = "ID";document.getElementById(myForm).options[13].text = "Idaho";
		document.getElementById(myForm).options[14].value = "IL";document.getElementById(myForm).options[14].text = "Illinois";
		document.getElementById(myForm).options[15].value = "IN";document.getElementById(myForm).options[15].text = "Indiana";
		document.getElementById(myForm).options[16].value = "IA";document.getElementById(myForm).options[16].text = "Iowa";
		document.getElementById(myForm).options[17].value = "KS";document.getElementById(myForm).options[17].text = "Kansas";
		document.getElementById(myForm).options[18].value = "KY";document.getElementById(myForm).options[18].text = "Kentucky";
		document.getElementById(myForm).options[19].value = "LA";document.getElementById(myForm).options[19].text = "Louisiana";
		document.getElementById(myForm).options[20].value = "ME";document.getElementById(myForm).options[20].text = "Maine";
		document.getElementById(myForm).options[21].value = "MD";document.getElementById(myForm).options[21].text = "Maryland";
		document.getElementById(myForm).options[22].value = "MA";document.getElementById(myForm).options[22].text = "Massachusetts";
		document.getElementById(myForm).options[23].value = "MI";document.getElementById(myForm).options[23].text = "Michigan";
		document.getElementById(myForm).options[24].value = "MN";document.getElementById(myForm).options[24].text = "Minnesota";
		document.getElementById(myForm).options[25].value = "MS";document.getElementById(myForm).options[25].text = "Mississippi";
		document.getElementById(myForm).options[26].value = "MO";document.getElementById(myForm).options[26].text = "Missouri";
		document.getElementById(myForm).options[27].value = "MT";document.getElementById(myForm).options[27].text = "Montana";
		document.getElementById(myForm).options[28].value = "NE";document.getElementById(myForm).options[28].text = "Nebraska";
		document.getElementById(myForm).options[29].value = "NV";document.getElementById(myForm).options[29].text = "Nevada";
		document.getElementById(myForm).options[30].value = "NH";document.getElementById(myForm).options[30].text = "New Hampshire";
		document.getElementById(myForm).options[31].value = "NJ";document.getElementById(myForm).options[31].text = "New Jersey";
		document.getElementById(myForm).options[32].value = "NM";document.getElementById(myForm).options[32].text = "New Mexico";
		document.getElementById(myForm).options[33].value = "NY";document.getElementById(myForm).options[33].text = "New York";
		document.getElementById(myForm).options[34].value = "NC";document.getElementById(myForm).options[34].text = "North Carolina";
		document.getElementById(myForm).options[35].value = "ND";document.getElementById(myForm).options[35].text = "North Dakota";
		document.getElementById(myForm).options[36].value = "OH";document.getElementById(myForm).options[36].text = "Ohio";
		document.getElementById(myForm).options[37].value = "OK";document.getElementById(myForm).options[37].text = "Oklahoma";
		document.getElementById(myForm).options[38].value = "OR";document.getElementById(myForm).options[38].text = "Oregon";
		document.getElementById(myForm).options[39].value = "PA";document.getElementById(myForm).options[39].text = "Pennsylvania";
		document.getElementById(myForm).options[40].value = "RI";document.getElementById(myForm).options[40].text = "Rhode Island";
		document.getElementById(myForm).options[41].value = "SC";document.getElementById(myForm).options[41].text = "South Carolina";
		document.getElementById(myForm).options[42].value = "SD";document.getElementById(myForm).options[42].text = "South Dakota";
		document.getElementById(myForm).options[43].value = "TN";document.getElementById(myForm).options[43].text = "Tennessee";
		document.getElementById(myForm).options[44].value = "TX";document.getElementById(myForm).options[44].text = "Texas";
		document.getElementById(myForm).options[45].value = "UT";document.getElementById(myForm).options[45].text = "Utah";
		document.getElementById(myForm).options[46].value = "VT";document.getElementById(myForm).options[46].text = "Vermont";
		document.getElementById(myForm).options[47].value = "VA";document.getElementById(myForm).options[47].text = "Virginia";
		document.getElementById(myForm).options[48].value = "WA";document.getElementById(myForm).options[48].text = "Washington";
		document.getElementById(myForm).options[49].value = "WV";document.getElementById(myForm).options[49].text = "West Virginia";
		document.getElementById(myForm).options[50].value = "WI";document.getElementById(myForm).options[50].text = "Wisconsin";
		document.getElementById(myForm).options[51].value = "WY";document.getElementById(myForm).options[51].text = "Wyoming";
		document.getElementById(myForm).selectedIndex=0;
	}
}

function checkRemoveItem(myForm)
{
	itemChecked = false;
	itemList = myForm.elements['cart_items[]'];
	
	if(itemList.length==null) //single checkbox
	{
		if(itemList.checked==true) itemChecked=true;
	}
	else
	{
		for(i=0;i<itemList.length;i++) //multiple checkbox
		{
			if(itemList[i].checked==true)
			{
				itemChecked=true;
				break;
			}
		}
	}
	if(itemChecked==false) alert('Please check an item you would like to remove!');
	return itemChecked;
}
function checkAddtoCart()
{
	result=true;
	if(document.getElementById('qty').value.length <= 0)
	{
		alert('Please enter a quantity');
		result=false;
	}
	else if(isInteger(document.getElementById('qty').value)==false)
	{
		alert('Please enter a numeric value for a quantity');
		result=false;
	}
	return result;
}
function checkBillTo(myForm)
{
	result = true;
	
	if(myForm.elements['first_name_billing'].value.length==0)
	{
		alert('Please enter a first name.');
		myForm.elements['first_name_billing'].focus();
		result=false;
	}
	else if(myForm.elements['last_name_billing'].value.length==0)
	{
		alert('Please enter a last name.');
		myForm.elements['last_name_billing'].focus();
		result=false;
	}
	else if(myForm.elements['address1_billing'].value.length==0)
	{
		alert('Please enter a street address.');
		myForm.elements['address1_billing'].focus();
		result=false;
	}
	else if(myForm.elements['city_billing'].value.length==0)
	{
		alert('Please enter a city.');
		myForm.elements['city_billing'].focus();
		result=false;
	}
	else if(myForm.elements['state_billing'].value==0)
	{
		alert('Please select a state.');
		myForm.elements['state_billing'].focus();
		result=false;
	}
	else if(myForm.elements['zip_billing'].value.length==0)
	{
		alert('Please enter a zip code.');
		myForm.elements['zip_billing'].focus();
		result=false;
	}
	else if(isInteger(myForm.elements['zip_billing'].value)==false)
	{
		alert('Please enter a numeric value for a zip code.');
		myForm.elements['zip_billing'].focus();
		result=false;
	}
	else if(myForm.elements['email'].value.length==0)
	{
		alert('Please enter your email address.');
		myForm.elements['email'].focus();
		result=false;
	}
	else if(!isValidEmail(myForm.elements['email'].value))
	{
		alert('Please enter a valid email address.');
		myForm.elements['email'].focus();
		result=false;
	}
	else if(myForm.elements['create_account'].checked==true)
	{
		if(myForm.elements['password'].value.length==0)
		{
			alert('Please enter a password.');
			myForm.elements['password'].focus();
			result=false;
		}
		else if(myForm.elements['password'].value!=myForm.elements['password_confirm'].value)
		{
			alert('Password does not match.');
			myForm.elements['password_confirm'].focus();
			result=false;
		}
	}
	return result;
}
function checkShipTo(myForm)
{
	result = true;
	
	if(myForm.elements['first_name_shipping'].value.length==0)
	{
		alert('Please enter a first name.');
		myForm.elements['first_name_shipping'].focus();
		result=false;
	}
	else if(myForm.elements['last_name_shipping'].value.length==0)
	{
		alert('Please enter a last name.');
		myForm.elements['last_name_shipping'].focus();
		result=false;
	}
	else if(myForm.elements['address1_shipping'].value.length==0)
	{
		alert('Please enter a street address.');
		myForm.elements['address1_shipping'].focus();
		result=false;
	}
	else if(myForm.elements['city_shipping'].value.length==0)
	{
		alert('Please enter a city.');
		myForm.elements['city_shipping'].focus();
		result=false;
	}
	else if(myForm.elements['state_shipping'].value==0)
	{
		alert('Please select a state.');
		myForm.elements['state_shipping'].focus();
		result=false;
	}
	else if(myForm.elements['zip_shipping'].value.length==0)
	{
		alert('Please enter a zip code.');
		myForm.elements['zip_shipping'].focus();
		result=false;
	}
	else if(isInteger(myForm.elements['zip_shipping'].value)==false)
	{
		alert('Please enter a numeric value for a zip code.');
		myForm.elements['zip_shipping'].focus();
		result=false;
	}
	return result;
}
function checkPaymentInfo(myForm)
{
	result = true;
	
	if(myForm.elements['card_type'].value=='')
	{
		alert('Please select a credit card.');
		myForm.elements['card_type'].focus();
		result=false;
	}
	else if(myForm.elements['ssl_card_number'].value.length<15)
	{
		alert('Please enter a valid credit card number.');
		myForm.elements['ssl_card_number'].focus();
		result=false;
	}
	else if(myForm.elements['ssl_cvv2cvc2'].value.length<3)
	{
		alert('Please enter a valid card verification number.');
		myForm.elements['ssl_cvv2cvc2'].focus();
		result=false;
	}
	else if (myForm.elements['ssl_cvv2cvc2'].value != parseInt(myForm.elements['ssl_cvv2cvc2'].value,10))
	{
		alert('Please enter a numeric value for a card verification number.');
		myForm.elements['ssl_cvv2cvc2'].focus();
		result=false;
	}
	return result;
}

function setCardExp()
{
	myForm=document.form_payment;
	myForm.elements['ssl_exp_date'].value=myForm.elements['exp_month'].value + myForm.elements['exp_year'].value;
}

function checkCartContents()
{
	uri = xmlPath + "xml_http.php?cmd=checkCart";
	xmlhttp.open("GET", uri ,true);
	xmlhttp.setRequestHeader("Content-Type", "text/plain; charset=utf-8");
	
	xmlhttp.onreadystatechange=function() 
	{
		if (xmlhttp.readyState==4) 
		{
			returnText = xmlhttp.responseText;
			if(returnText=="true") return true;
			else 
			{
				alert('Your cart is empty');
				return false;
			}
		}
	}
	xmlhttp.send(null);
}

function checkLogin(myForm)
{
	result = true;
	
	if(myForm.elements['email'].value.length==0)
	{
		alert('Please enter your email address.');
		myForm.elements['email'].focus();
		result=false;
	}
	else if(!isValidEmail(myForm.elements['email'].value))
	{
		alert('Please enter a valid email address.');
		myForm.elements['email'].focus();
		result=false;
	}
	else if(myForm.elements['password'].value.length==0)
	{
		alert('Please enter a password.');
		myForm.elements['password'].focus();
		result=false;
	}
	else if(myForm.elements['password'].value.length < 5)
	{
		alert('Password must be at least 5 characters long.');
		myForm.elements['password'].focus();
		result=false;
	}
	return result;
}
function checkReqPwd(myForm)
{
	result = true;
	if(myForm.elements['email'].value.length==0)
	{
		alert('Please enter your email address.');
		myForm.elements['email'].focus();
		result=false;
	}
	else if(!isValidEmail(myForm.elements['email'].value))
	{
		alert('Please enter a valid email address.');
		myForm.elements['email'].focus();
		result=false;
	}
	else if(myForm.img_code.value.length <= 0) 
	{
		alert('Please enter a security code.');
		myForm.img_code.focus();
		return false;
	}
	return result;
}
function checkContact(myForm)
{
	if(myForm.name.value.length <= 0)
	{
		alert('Please enter your name.');
		myForm.name.focus();
		return false;
		
	}
	else if(myForm.email.value.length <= 0)
	{
		alert('Please enter your email address.');
		myForm.email.focus();
		return false;	
	}
	else if(!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(myForm.email.value))) 
	{
		alert('Please enter a valid email address.');
		myForm.email.focus();
		return false;
	}
	else if(myForm.comments.value.length <= 0)
	{
		alert('Please enter your questions/comments.');
		myForm.comments.focus();
		return false;
	}
	else if(myForm.img_code.value.length <= 0) 
	{
		alert('Please enter a security code.');
		myForm.img_code.focus();
		return false;
	}
}
function toggleAccount()
{
	if(document.getElementById('pass_form').style.display=='block') 
	{
		document.getElementById('pass_form').style.display='none';
	}
	else 
	{
		document.getElementById('pass_form').style.display='block';
	}
}
function checkBillingState()
{
	if(document.form_billing.elements['state_billing'].value=='CA') 
	{
		document.getElementById('ship_to_bill').style.display='none';
		document.getElementById('bill_to_ship').disabled=true;
	}
	else
	{
		document.getElementById('ship_to_bill').style.display='block';
		document.getElementById('bill_to_ship').disabled=false;
	}
}
