var emailRegExp = /^[-a-z0-9._]+@([-a-z0-9]+\.)+[-a-z0-9]+$/i;
var creditCardRegExp = /^[0-9]{16,16}$/i;

function cancelAddToCart()
{
		tb_remove();
		document.getElementById('productcount').selectedIndex = 0;
		document.getElementById('quantityselect').style.display = 'block';	
		document.getElementById('processing').style.display = 'none';
		document.getElementById('success').style.display = 'none';		
		document.getElementById('step1').style.display = 'block';
		document.getElementById('step2').style.display = 'none';	
}

function returnToPage()
{
		tb_remove();			
		document.getElementById('productcount').selectedIndex = 0;
		document.getElementById('quantityselect').style.display = 'block';	
		document.getElementById('processing').style.display = 'none';
		document.getElementById('success').style.display = 'none';		
		document.getElementById('step1').style.display = 'block';
		document.getElementById('step2').style.display = 'none';	
}

function checkOut()
{
		document.location.href = 'cart.php';	
}

function addToCart()
{
		document.getElementById('quantityselect').style.display = 'none';
		document.getElementById('step1').style.display = 'none';
		document.getElementById('processing').style.display = 'block';	

		var xmlHttpObj = new XMLHttpRequestClass();
		if(xmlHttpObj.XMLHttpRequest)
		{		
				xmlHttpObj.XMLHttpRequest.open("GET","includes/cartcontrol.php?action=add&productid=" + document.getElementById('productid').value + "&count=" + document.getElementById('productcount').value, true);		
				xmlHttpObj.XMLHttpRequest.onreadystatechange = function()
				{
						if (xmlHttpObj.XMLHttpRequest.readyState == 4 && xmlHttpObj.XMLHttpRequest.status == 200) 
						{						
								var responseText = xmlHttpObj.XMLHttpRequest.responseText;
								if(responseText == "OK")
								{
										document.getElementById('success').style.color = "green";
										document.getElementById('success').innerText = "Product has been successfully added!";
										document.getElementById('processing').style.display = 'none';
										document.getElementById('success').style.display = 'block';	
										document.getElementById('step2').style.display = 'block';										
								}
								else
								{
										document.getElementById('success').style.color = "red";
										document.getElementById('success').innerText = "Some errors have occured. Please try again later.";
										document.getElementById('processing').style.display = 'none';
										document.getElementById('success').style.display = 'block';	
										document.getElementById('step2').style.display = 'block';									
								}
						}
				}
				xmlHttpObj.XMLHttpRequest.send(null);
		}			
}


function removeFromCart(productToRemove)
{
		var xmlHttpObj = new XMLHttpRequestClass();
		if(xmlHttpObj.XMLHttpRequest)
		{		
				xmlHttpObj.XMLHttpRequest.open("GET","includes/cartcontrol.php?action=remove&productid=" + productToRemove , true);		
				xmlHttpObj.XMLHttpRequest.onreadystatechange = function()
				{
						if (xmlHttpObj.XMLHttpRequest.readyState == 4 && xmlHttpObj.XMLHttpRequest.status == 200) 
						{						
								document.location.href = 'cart.php';
						}
				}
				xmlHttpObj.XMLHttpRequest.send(null);
		}					
}


function validatePlaceOrder()
{
		if(document.getElementById('name').value == '')
		{
				alert('Please provide your name.');
				return false;
		}
		
		if(document.getElementById('address').value == '')
		{
				alert('Please provide your address.');
				return false;
		}	
		
		if(document.getElementById('mobile').value == '')
		{
				alert('Please provide a mobile number.');
				return false;
		}

		if(!emailRegExp.test(document.getElementById('email').value))
		{
				alert("Please provide a valid email address.");
				return false;
		}
		
		if(document.getElementById('cardtype').selectedIndex == 0)
		{
				alert('Please select credit card type.');
				return false;
		}	
		
		if(document.getElementById('nameoncard').value == '')
		{
				alert('Please provide the name printed on card.');
				return false;
		}
		
		if(!creditCardRegExp.test(document.getElementById('cardnumber').value))
		{
				alert("Please provide a valid credit card number.");
				return false;
		}		
		
		if(document.getElementById('expirymonth').selectedIndex == 0)
		{
				alert('Please select expiry month.');
				return false;
		}		
		
		if(document.getElementById('expiryyear').selectedIndex == 0)
		{
				alert('Please select expiry year.');
				return false;
		}				
					
		return true;
}