// JavaScript Document
function validate_phone(phone)
{
		if ( !phone.match(/^[(]?\d{3}[)]?[ -]?(\d{3}-\d{4}|\d{7})$/) )
			return false;
		return true;
}

function validate_zipcode(zip)
{
	if ( !zip.match(/^\d{5}$|^\d{5}-\d{4}$/) )
		return false;
	return true;
}

function validate_email(email)
{
	if(!email.match(/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/))
		return false;
	return true;
}

function validate_user(formid)
{
	var oform = document.forms[formid];
	if (oform.elements['password'].value!=oform.elements['confpassword'].value)
	{
		alert('Passwords in password fields should match!');
		return false;
	}
	if ( (oform.elements['login'].value)
		 && (oform.elements['password'].value)
		 && (oform.elements['confpassword'].value)
		 && (oform.elements['userfname'].value)
		 && (oform.elements['userlname'].value)
		 && (oform.elements['useremail'].value)
		 && (oform.elements['phone1'].value)
		 && (oform.elements['phone2'].value)
		 && (oform.elements['phone3'].value)
		 && (oform.elements['usercity'].value)
		 && (oform.elements['userstate'].value)
		 && (oform.elements['userzip'].value) 
		 && (oform.elements['shipaddress'].value)
		 && (oform.elements['shipcity'].value)
		 && (oform.elements['shipstate'].value)
		 && (oform.elements['shipzip'].value) )
	{			
			email = oform.elements['useremail'].value;
			if(!email.match(/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/))
			{
				alert ("Email is invalid!");
				return false;
			}
			userzip = oform.elements['userzip'].value;
			shipzip = oform.elements['shipzip'].value;
			if ( !userzip.match(/^\d{5}$|^\d{5}-\d{4}$/) || !shipzip.match(/^\d{5}$|^\d{5}-\d{4}$/) )
			{
				alert ("Zipcode is invalid!");
				return false;
			}
			return true;
	}		
	
	alert ("Please fill in all fields!");
	return false;
}

function validate_qty(formid,iid)
{
	var oform = document.forms[formid];
	var fqty = oform.elements[iid].value;

	if (fqty==0 || fqty==null) 
	{
		alert('Enter quantity!');
		return false;
	}
	
	if (!fqty.toString().match(/^[\d]{1,}$/)) 
	{
		alert('Please enter a correct quantity value!');
		return false;
	}
	
	return true;
}

function validate_shippbill(formid,indicator)
{
	var oform = document.forms[formid];
	if (indicator==1)
	{
		if ( (oform.elements['userfname'].value)
			 && (oform.elements['userlname'].value)
			 && (oform.elements['shipfname'].value)
			 && (oform.elements['shiplname'].value)
			 &&	(oform.elements['useraddress'].value)
			 && (oform.elements['usercity'].value)
			 && (oform.elements['userstate'].value)
			 && (oform.elements['userzip'].value) 
			 && (oform.elements['userphone'].value)
			 && (oform.elements['shipaddress'].value)
			 && (oform.elements['shipcity'].value)
			 && (oform.elements['shipstate'].value)
			 && (oform.elements['shipzip'].value) )
		{			
				userzip = oform.elements['userzip'].value;
				shipzip = oform.elements['shipzip'].value;
				if ( !userzip.match(/^\d{5}$|^\d{5}-\d{4}$/) || !shipzip.match(/^\d{5}$|^\d{5}-\d{4}$/) )
				{
					alert ("Zipcode is invalid!");
					return false;
				}
				if (!validate_phone(oform.elements['userphone'].value)) {
					alert ("Phone number is invalid!");
					return false;
				}
		}	
		else {
			alert ("Please fill in all fields!");
			return false;
		}
	}
	else if (indicator==2)
	{
		if (!validate_card_number(formid)) return false;
	}
	oform.submit();
	return false;
}

function validate_status(formid)
{
	var oform = document.forms[formid];
	if (oform.elements['ostatus'].value=='Shipped' && oform.elements['otrackno'].value=='') 
	{
		alert('Type in Tracking Number!');
		return false;
	}
	if (oform.elements['ostatus'].value=='Placed' && oform.elements['otrackno'].value!='') 
	{
		alert('Tracking Number will be saved only if order status is set to Shipped!');
		return false;
	}
}


function IsNumber(strString)
   //  check for valid numeric strings	
{
   var strValidChars = "0123456789";
   var strChar;
   var blnResult = true;

   if (strString.length == 0) return false;

   //  test strString consists of valid characters listed above
   for (i = 0; i < strString.length && blnResult; i++)
   {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1) blnResult = false;
   }
   return blnResult;
}

 
