/*
	This file contains all the JavaScript functions used by the 'public' side of the website
	Created by Tim John, 2010
*/

	function checkData(x, y)
	{
		var error = 0;
		var inputs = document.forms["myform"].elements
		
		//alert("Hello1");
		if(inputs["name"].value == "")
		{
			document.getElementById('error1').style.visibility = 'visible';
			error = 1;
		}
		else
			document.getElementById('error1').style.visibility = 'hidden';
		
		if(inputs["address"].value == "")
		{
			document.getElementById('error2').style.visibility = 'visible';
			error = 1;
		}
		else
			document.getElementById('error2').style.visibility = 'hidden';

		if(inputs["city"].value == "")
		{
			document.getElementById('error4').style.visibility = 'visible';
			error = 1;
		}
		else
			document.getElementById('error4').style.visibility = 'hidden';

		if(inputs["phone"].value == "")
		{
			document.getElementById('error6').style.visibility = 'visible';
			error = 1;
		}
		else
			document.getElementById('error6').style.visibility = 'hidden';
		
		if(inputs["email"].value == "")
		{
			document.getElementById('error7').style.visibility = 'visible';
			error = 1;
		}
		else
			document.getElementById('error7').style.visibility = 'hidden';

		if(!echeck2(inputs["email"].value))
		{
			document.getElementById('error7').style.visibility = 'visible';
			error = 1;
		}
		else
			document.getElementById('error7').style.visibility = 'hidden';
			
		if(inputs["source"].selectedIndex == 0)
		{
			document.getElementById('error8').style.visibility = 'visible';
			error = 1;
		}
		else
			document.getElementById('error8').style.visibility = 'hidden';			
		
		if(y == 1)
		{
			if(inputs["ccnum"].value == "")
			{
				document.getElementById('error10').style.visibility = 'visible';
				error = 1;
			}
			else
				document.getElementById('error10').style.visibility = 'hidden';	
					
			if(inputs["cvc"].value == "")
			{
				document.getElementById('error11').style.visibility = 'visible';
				error = 1;
			}
			else
				document.getElementById('error11').style.visibility = 'hidden';			
		}
										
		if(x == 1)
		{
			if(inputs["year"].value == "" || inputs["file"].value == "")
			{
				document.getElementById('error8').style.visibility = 'visible';
				error = 1;
			}
			else
				document.getElementById('error8').style.visibility = 'hidden';
				
			if(inputs["totalprice"].value == "")
			{
				document.getElementById('error9').style.visibility = 'visible';
				error = 1;
			}
			else
			{
				//if (isNaN(inputs["totalprice"].value))
				if(!isAmountValid(inputs["totalprice"].value))
				{
					alert('Please enter only numerical values into "amount" field.');
					error = 1;
				}
				else
					document.getElementById('error9').style.visibility = 'hidden';
			}							
		}				
		
		if(x == 2)
		{
			error = 0;
			if(inputs["visitorName"].value == "")
			{
				document.getElementById('error1').style.visibility = 'visible';
				error = 1;
			}
			else
				document.getElementById('error1').style.visibility = 'hidden';
				
			if(inputs["visitorSubject"].value == "")
			{
				document.getElementById('error2').style.visibility = 'visible';
				error = 1;
			}
			else
				document.getElementById('error2').style.visibility = 'hidden';								
		}
																																
		if(error != 0)
		{
			return false;
		}
		else
			return true;
		
	}
	
	function validation(formName) 
	{
		var inputs = document.forms[formName].elements
		
		if(inputs["email"].value=="")
					
		{
			alert("Please enter your email address");
			inputs["email"].value="";
			inputs["email"].focus();
			return false;
		}
		if(!echeck(inputs["email"].value))
		{
			inputs["email"].value="";
			inputs["email"].focus();
			return false;
		}
		return true;
	}		
	
	function echeck(email)  
	{
		var at=email.indexOf('@');
		var dot=email.lastIndexOf('.');
		var atpos=email.lastIndexOf('@');
		var emlen=email.length;
		if (at<1||dot-at<2||atpos+1==emlen||dot+1==emlen||emlen-dot<3) 
		{
			alert('Invalid email address');
			return false;
		}
		return true;
	}
	
	function echeck2(email)  
	{
		var at=email.indexOf('@');
		var dot=email.lastIndexOf('.');
		var atpos=email.lastIndexOf('@');
		var emlen=email.length;
		if (at<1||dot-at<2||atpos+1==emlen||dot+1==emlen||emlen-dot<3) 
		{
			return false;
		}
		return true;
	}
		
	function blankit(formName)
	{
		var inputs = document.forms[formName].elements
		inputs["email"].value="";	
	}
	
	function emailDavid()
	{
		document.getElementById('emailDavid1').style.display = 'none';
		document.getElementById('emailDavid2').style.visibility = 'visible';
	}
	
	function checkForm()
	{
		var error = 0;
		var inputs = document.forms["form1"].elements
		
		if(inputs["visitorName"].value == "")
		{
			document.getElementById('error1').style.visibility = 'visible';
			error = 1;
		}
		else
			document.getElementById('error1').style.visibility = 'hidden';
			
		if(inputs["visitorSubject"].value == "")
		{
			document.getElementById('error2').style.visibility = 'visible';
			error = 1;
		}
		else
			document.getElementById('error2').style.visibility = 'hidden';
																																
		if(error != 0)
		{
			return false;
		}
		else
		{
			if(validation('form1'))
			{
				document.getElementById('error3').style.visibility = 'hidden';
				return true;
			}
			else
			{
				document.getElementById('error3').style.visibility = 'visible';
				return false;
			}
		}			
	}
	
	function RefreshImage(valImageId)
	{
		var objImage = document.images[valImageId];
		if (objImage == undefined)
		{
			return;
		}
		var now = new Date();
		objImage.src = objImage.src.split('?')[0] + '?x=' + now.toUTCString();
	}

	function wopen(url, name, w, h)
	{
		// Fudge factors for window decoration space.
		// In my tests these work well on all platforms & browsers.
		w += 32;
		h += 96;
	 	var win = window.open(url,
	  		name, 
	  		'width=' + w + ', height=' + h + ', ' +
	  		'location=no, menubar=no, ' +
	  		'status=no, toolbar=no, scrollbars=yes, resizable=no');
			win.resizeTo(w, h);
	 		win.focus();
	}

	var divElement = 0;
	function showHelpContent()
	{
		divElement = document.getElementById("cvv2_explanation");
		divElement.style.display = "block";
	}
	function hideHelpContent()
	{
		if( divElement )
			{
			divElement.style.display = 'none';
			}
	}
	
	function isAmountValid( tranAmount )
	{
		var amount = parseFloat( tranAmount );
		var retVal = false;
		if ( amount <= 0 )
		{
			alert("Transaction amount must be greater than $0");
			retVal = false;
		}
		else
		{
			retVal = true;
		}
		return( retVal );
	} 					
