// RPS Download/Support Req. - Form Validation

var downloadForm = [
["fname", "first name."],
["lname", "last name."],
["email", "email."],
["phone", "phone number."],
["lang", ""],
["country", ""],
["age", ""]/*,
["howdidyou", ""]*/
];

var supportForm = [
["fname", "first name."],
["lname", "last name."],
["email", "email."],
["country", ""],
["product", ""],
["comments", ""]
];

var feedbackForm = [
["fname", "first name."],
["lname", "last name."],
["email", "email."],
["comments", ""]
];

function stripSpaces( str ) {
	return (str.replace(/^\W+/,'')).replace(/\W+$/,'');
}			

function checkform_registration(form)
{	

	var form_ok = true;
	// check for empty fields
	for (var i=0; i<downloadForm.length; i++) 
	{
		var elm = downloadForm[i][0];
		if (stripSpaces(form[elm].value) == "")
		{
			// alert("Please enter your " +  support[i][1]);
			// form[elm].focus();
			form[elm].className="alert";
			form_ok = false;
			// return false;
		} else
		{
			form[elm].className="";
		}
		
	}
	
	// check empty fields
	if (!form_ok)
	{
		var error = document.getElementById("error");
		error.innerHTML = "<span class='red'>Please complete the required fields of information.</span>";
		error.style.backgroundPosition = "2px -100px";
		error.className="error";
		scrollError();
		return false;
	}
	
	// check email				
	var email = form.email.value;
	var regex  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (!regex.test(email))
	{
		form.email.className="alert";
		form.email.focus();
		error = document.getElementById("error");
		error.innerHTML = "<span class='red'>Please enter a valid email address.</span>";
		error.style.backgroundPosition = "2px -100px";
		error.className="error";
		scrollError();
		return false;
	}

	var langOk=checkif_selected(form.lang);
	if (!langOk)
	{
		form.lang.className="alert";
		form.lang.focus();
		error = document.getElementById("error");
		error.innerHTML = "<span class='red'>Please select a language from the list.</span>";
		error.style.backgroundPosition = "2px -100px";
		error.className="error";
		scrollError();
		return false;
	}
	
	// check if select empty
	var countryOk=checkif_selected(form.country);
	if (!countryOk)
	{
		form.country.className="alert";
		form.country.focus();
		error = document.getElementById("error");
		error.innerHTML = "<span class='red'>Please select a country from the list.</span>";
		error.style.backgroundPosition = "2px -100px";
		error.className="error";
		scrollError();
		return false;
	}
	
	var ageOk=checkif_selected(form.age);
	if (!ageOk)
	{
		form.age.className="alert";
		form.age.focus();
		error = document.getElementById("error");
		error.innerHTML = "<span class='red'>Please select an answer for how you learned about our products.</span>";
		error.style.backgroundPosition = "2px -100px";
		error.className="error";
		scrollError();
		return false;
	}
	
	/*var howOk=checkif_selected(form.howdidyou);
	if (!howOk)
	{
		form.howdidyou.className="alert";
		form.howdidyou.focus();
		error = document.getElementById("error");
		error.innerHTML = "<span class='red'>Please select an age range from the list.</span>";
		error.style.backgroundPosition = "2px -100px";
		error.className="error";
		scrollError();
		return false;
	}*/
	
	if (!form.la.checked)
	{
		form.la.className="alert";
		error = document.getElementById("error");
		error.innerHTML = "<span class='red'>Please read and agree to the license agreement below.</span>";
		error.style.backgroundPosition = "2px -100px";
		error.className="error";
		form.la.focus();
		scrollError();
		return false;
	}
	form.submit();

}

function scrollError(){  
    $.scrollTo(".mainForm", 400);  
};  

function checkform_support ( form, checkAttachment )
{		
	var form_ok = true;
	
	// check for empty fields
	for (var i in supportForm) 
	{
		
		var elm = supportForm[i][0];
		//alert(supportForm[i][0] + " : " + form[elm].value);
		if (stripSpaces(form[elm].value) == "")
		{
			// alert("Please enter your " +  support[i][1]);
			// form[elm].focus();
			form[elm].className="alert";
			form_ok = false;
                        // alert("[checkform_support] element " + elm + " is empty");
			// return false;
		} else
		{
			form[elm].className="";
		}
		
	}
	
	// check empty fields
	if (!form_ok)
	{
		var error = document.getElementById("error");
		error.innerHTML = "<span class='red'>Please complete the required fields of information.</span>";
		error.style.backgroundPosition = "2px -100px";
		error.className="error";
		scrollError();
		return false;
	}
	
	// check email				
	var email = form.email.value;
	var regex  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (!regex.test(email))
	{
		form.email.className="alert";
		form.email.focus();
		error = document.getElementById("error");
		error.innerHTML = "<span class='red'>Please enter a valid email address.</span>";
		error.style.backgroundPosition = "2px -100px";
		error.className="error";
		scrollError();
		return false;
	}
	
	// check if select empty
	var countryOk=checkif_selected(form.country);
	if (!countryOk)
	{
		form.country.className="alert";
		form.country.focus();
		error = document.getElementById("error");
		error.innerHTML = "<span class='red'>Please select a country from the list.</span>";
		error.style.backgroundPosition = "2px -100px";
		error.className="error";
		scrollError();
		return false;
	}
	
	var productOk=checkif_selected(form.product);
	if (!productOk)
	{
		form.product.className="alert";
		form.product.focus();
		error = document.getElementById("error");
		error.innerHTML = "<span class='red'>Please select a product from the list.</span>";
		error.style.backgroundPosition = "2px -100px";
		error.className="error";
		scrollError();
		return false;
	}

	if (checkAttachment==0){	
		// check if file = diagnostics.html
		//if (form.file.value!="diagnostics.html")
		if (!form.file.value.match("SupportFiles.zip$") || stripSpaces(form.file.value) == "")
		{
			error = document.getElementById("error");
			error.innerHTML = "<span class='red'>Please enter a correct file path to your diagnostic logs.</span>";
			error.style.backgroundPosition = "2px -100px";
			error.className="error";
			scrollError();
			return false;
		}
	}
	
	try
	{
		form.submit();
	}
	catch (err)
	{
		var error = document.getElementById("error");
		error.innerHTML = "<span class='red'>Please enter a correct file path to <strong>diagnostics.html</strong>.</span>";
		error.style.backgroundPosition = "2px -100px";
		error.className="error";
		scrollError();
		return false;
	}

}

function checkform_feedback ( form )
{		
	var form_ok = true;
	
	// check for empty fields
	for (var i in feedbackForm) 
	{
		var elm = feedbackForm[i][0];
		if (stripSpaces(form[elm].value) == "")
		{
			// alert("Please enter your " +  downloadForm[i][1]);
			// form[elm].focus();
			form[elm].style.backgroundColor = "#f6f3e8";
			form_ok = false;
			// return false;
		} else
		{
			form[elm].style.backgroundColor = "";
		}
		
	}
	if (!form_ok)
	{
		var error = document.getElementById("error");
		error.innerHTML = "<span class='redtitle'>*</span> - Please complete the missing information.";
		error.style.display = "block";
		return false;
	}
	
	// check email				
	var email = form.email.value;
	var regex  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (!regex.test(email))
	{
		error = document.getElementById("error");
		error.innerHTML = "<span class='redtitle'>*</span> - Invalid email address.";
		error.style.display = "block";
		form.email.style.backgroundColor = "#f6f3e8";
		return false;
	}
	
	form.submit();	
	  
}

function checkform_tech( form )
{
	var checkbox = document.getElementById("techcheck");
	if (checkbox.checked)
	{
		return true;
	}
	else
	{
		alert("You must agree to the above limitation of liability before you can submit.");
		return false;
	}
}

function howto( )
{
	ht = document.getElementById("howto");
	ht.style.display = (ht.style.display == "none") ? "block" : "none";
}

function license( obj ) {
		if (obj.checked)
		{
			document.forms[0].submit.disabled = null;	
		} else {
			document.forms[0].submit.disabled = "disabled";		
		}
}

function openURL(u)
{
	window.open(u, null, 'height=625,width=1000,status=no,toolbar=no,menubar=no,location=no');
}

function tech_oncheck( )
{
	var checkbox = document.getElementById("techcheck");
	var submitButton = document.getElementById("techsubmit");
	if (checkbox.checked)
	{
		submitButton.disabled = false;
	}
	else
	{
		submitButton.disabled = true;
	}
	
}
