// cart.js handles all javascript client validation for the shopping cart

function validate_product(frm)
{
	var totalquan = 0;
		
	for(var i=0; i<frm.elements.length; i++)
	{
		if(frm.elements[i].type == "text" && (isNumeric(frm.elements[i].value) == false || frm.elements[i].value < 0))
		{
			errMess = "One or more quantity boxes has an invalid amount.  Please enter in a valid amount number!";
			document.getElementById('error').innerHTML = errMess;			
			return false;
		}		 
	}

	//ensure one quantity has more than one product (protects against adding an empty product to the shopping cart)
	for(var i=0; i<frm.elements.length; i++)
	{
		if(frm.elements[i].type == "text")
		{
			totalquan += parseInt(frm.elements[i].value);
			
		}		
	}
	
	if(totalquan <= 0)
	{
		errMess = "To add and/or update amount of items in your cart you must have at least quantity box with 1 item.";
		document.getElementById('error').innerHTML = errMess;
		return false;
	}
}

function validate_cart(frm)
{
	for(var i=0; i<frm.elements.length; i++)
	{
		if(frm.elements[i].type == "text" && (isNumeric(frm.elements[i].value) == false || frm.elements[i].value < 0))
		{
			errMess = "One or more quantity boxes has an invalid amount.  Please enter in a valid amount number.";
			document.getElementById('error').innerHTML = errMess;			
			return false;
		}
	}
	if (frm.agreeWithPolicy.checked == false){
			alert("You have to agree to Terms and Conditions of this site by selecting checkbox below.");
			return false;
		}
}

function isNumeric(strString)
{
	var strValidChars = "0123456789.-";
	var strChar;
	var blnResult = true;
	
	if (strString.length == 0) return false;
	
	for(i=0; i < strString.length && blnResult == true; i++)
	{
		strChar = strString.charAt(i);
		if (strValidChars.indexOf(strChar) == -1)
		{
			blnResult = false;
		}
	}
	
	return blnResult;
}

function validate_monograms(frm)
{
	var valid = false;
	var errMess;
	
	valid = false;
	
	if(frm.mgstyle && frm.mgstyle.length > 1)
	{
		for(i = 0; i < frm.mgstyle.length; i++) {
			valid = frm.mgstyle[i].checked;
			if(valid == true) { break; }
		}
		
		if(valid == false) {
			errMess = "Please select one monogram style for your item.";
			document.getElementById('error').innerHTML = errMess;	
			return false;
		}
	}
	
	if(frm.color)
	{
		
		var checked = false;
		var colors  = frm.elements.color;
		
		if(colors.value != 76)
		{
			for(var i=0; i<colors.length;i++)
			{
				if(colors[i].checked)
				{
					checked = true;
					break;
				}
			}
		
			if(!checked)
			{
				errMess = "Please select one color for your monogram style.<br>";
				document.getElementById('error').innerHTML = errMess;	
				return false;
			}
		}
		
	}
	
	if(frm.letteringoption)
	{
		
		if(frm.letteringoption.length == undefined)
		{
			mgmTextKey = "text_" + frm.letteringoption.value;
			
			if(document.frm.elements[mgmTextKey].value.length == 0) {
				errMess = "Please fill in your monogram letter text in the form box next to your selected lettering option.<br>";
				document.getElementById('error').innerHTML = errMess;	
				return false;
			}
		}
		
		else
		{
			
		for(i = 0; i < frm.letteringoption.length; i++) {
			valid = frm.letteringoption[i].checked;
			if(valid == true) 
			{ 
				mgmTextKey = "text_" + frm.letteringoption[i].value;
				break;
			}
		}
		
		if(valid == false) {
			errMess = "Please select one letter option for your monogram style.<br>";
			document.getElementById('error').innerHTML = errMess;	
			return false;
		}	
		
		if(valid == true)
		{
			
			if(document.frm.elements[mgmTextKey].value.length == 0) {
				errMess = "Please fill in your monogram letter text in the form box next to your selected lettering option.<br>";
				document.getElementById('error').innerHTML = errMess;	
				return false;
			}
		}	
		
		}
		
	}
	
}

function updateBilling()
{
	if(document.frm.useSame.checked == true)
	{
		//fill in shipping fields
		document.frm.sfname.value       = document.frm.bfname.value;
		document.frm.slname.value       = document.frm.blname.value;
		document.frm.sadd1.value        = document.frm.badd1.value;
		document.frm.sadd2.value        = document.frm.badd2.value;
		document.frm.scountry.value     = document.frm.bcountry.value;
		document.frm.scity.value        = document.frm.bcity.value;
		document.frm.scountystate.value = document.frm.bcountystate.value;
		document.frm.spostalcode.value  = document.frm.bpostalcode.value;
		document.frm.sphone.value       = document.frm.bphone.value;
		
	}
	
	if(document.frm.useSame.checked == false)
	{
		//clear out shipping fields
		document.frm.sfname.value = "";
		document.frm.slname.value = "";
		document.frm.sadd1.value = "";
		document.frm.sadd2.value = "";
		document.frm.scountry.value = 0;
		document.frm.scity.value = "";
		document.frm.scountystate.value = "";
		document.frm.spostalcode.value = "";
		document.frm.sphone.value = "";
		
	}

}

function setAction(actNum)
{
	if(actNum == 1)
	{
		document.frm.action.value = "continue";
	}
	
	if(actNum == 2)
	{
		document.frm.action.value = "update";
	}
	
	if(actNum == 3)
	{
		document.frm.action.value= "checkout";
	}
	
	if(actNum == 4)
	{
		document.frm.action.value = "add to cart";
	}
	
	if(actNum == 5)
	{
		document.frm.action.value= "add to list";
	}
	
	if(actNum == 6)
	{
		document.frm.action.value="select monograms";
	}
	if(actNum == 7)
	{
		document.frm.action.value="set delivery country";
	}
}
