// JavaScript Document
function setFocus(form, fieldName)
{
	form[fieldName].select();
	form[fieldName].focus();
	return true;
}
function validateFilled(form, fieldName)
{

	var str = form[fieldName].value;

	if ( (str == "" ) )
	{
			//alert(fieldName);
			setFocus(form, fieldName);
			return false;
	}
	else
	{
		return true;
	}
}

function validatePasswords(form, password1, password2) {

	var str1 = form[password1].value;
	var str2 = form[password2].value;

	if ( (str1 != str2 ) )
	{
			setFocus(form, password1);
			return false;
	}
	else
	{
		return true;
	}

}

function validateCheckBox(form, fieldName)
{
	var str = form[fieldName].checked;
	//alert(str);
	if ( (str == false ) )
	{
			setFocus(form, fieldName);
			return false;
	}
	else
	{
		return true;
	}
}

function validateSelect(form, fieldName)
{
	var str = form[fieldName].selectedIndex;
	//alert(str);
	if (str == 0 )
	{
			//setFocus(form, fieldName);
			return false;
	}
	else
	{
		return true;
	}
}

function validateRadio(form, fieldName, numindexes)
{
	var lreturnval=0;
    var i;
	var bcheck=false;
    var fieldlen = form[fieldName].length;
	//alert (fieldlen);
	//alert (fieldName);
	for (i=0; i<fieldlen; i++) {
		//alert(form[fieldName][i].checked);
        if (form[fieldName][i].checked==true) {
            var bcheck = true;
            break;
        } 
    }
	return bcheck;
}

function CheckEmail(formname, emailadin) {
  var exclude=/[^@\-\.\w]|^[_@\.\-]|[\._\-]{2}|[@\.]{2}|(@)[^@]*\1/;
  var check=/@[\w\-]+\./;
  var checkend=/\.[a-zA-Z]{2,6}$/;
  var emailad = formname[emailadin].value;
  if(((emailad.search(exclude) != -1)||(emailad.search(check)) == -1)||(emailad.search(checkend) == -1)){
	return false;
  }
  else {
	return true;
  }
}

function validateform(form)
{
	
	//regnum
	if (!(validateFilled(form, "regnum"))){
		alert("Please enter your RG20th serial number");
		return false;
	}	
	
	if (form["regnum"].value=="prereg"){
		alert("Sorry, this registration has already been taken.  Please check.  If you are sure this is your serial number, please use the contact form to let us know and we'll rectify the problem.");
		return false;
	}	
	
	//first name
	if (!(validateFilled(form, "firstname"))){
		alert("Please enter your first name");
		return false;
	}

	//last name
	if (!(validateFilled(form, "surname"))){
		alert("Please enter your last name");
		return false;
	}

	//email
	if (!(validateFilled(form, "email"))){
		alert("Please enter your email address");
		return false;
	}
	
	if (!(CheckEmail(form, "email"))){
		alert("Please enter a valid email address");
		return false;
	}
	
	if (!(validateFilled(form, "emaillist"))){
		alert("Please select whether you would like to join our email list");
		return false;
	}

	if (!(validateFilled(form, "password"))){
		alert("Please enter a password so you you may edit you entry");
		return false;
	}
	
	if (!(validateFilled(form, "password2"))){
		alert("Please confirm your password");
		return false;
	}
	
	if (!(validatePasswords(form, "password", "password2"))){
		alert("Sorry, your passwords do not match");
		return false;
	}

	/*if (!(validateFilled(form, "area"))){
		alert("Please enter your area");
		return false;
    }*/

	if (!(validateSelect(form, "country"))){
		alert("Please enter your country");
		return false;
	}

	if (!(validateSelect(form, "colour"))){
		alert("Please enter the colour of your RG20th");
		return false;
	}

	if (!(validateRadio(form, "exowner",2))){
		alert("Please enter if you bought your RG20th from new");
		return false;
	}
		
	if (!(validateRadio(form, "quality",7))){
		alert("Please describe the current state of your guitar");
		return false;
	}
	
	if (!(validateRadio(form, "rating",10))){
		alert("Please enter how you would rate your RG20th on a scale of 1 to 10");
		return false;
	}

	if (!(validateRadio(form, "emaillist",2))){
		alert("Please select your email list preference");
		return false;
	}
	
	//submit
	form.submit();
}

function validatefbform(form)
{
	//first name
	if (!(validateFilled(form, "firstname"))){
		alert("Please enter your firstname");
		return false;
	}
	
	//last name
	if (!(validateFilled(form, "surname"))){
		alert("Please enter your surname");
		return false;
	}

	//email
	if (!(validateFilled(form, "email"))){
		alert("Please enter your email address");
		return false;
	}
	
	if (!(CheckEmail(form, "email"))){
		alert("Please enter a valid email address");
		return false;
	}
	
	if (!(validateFilled(form, "comments"))){
		alert("Please enter your comments");
		return false;
	}
	
	//submit
	form.submit();
}

function validatepwform(form)
{
	//first name
	if (!(validateFilled(form, "password"))){
		alert("Please enter your password");
		return false;
	}
	
	//submit
	form.submit();
}

function OpenNewWindow(page) {
	OpenWin = this.open(page, "CtrlWindow", "toolbar=yes,menubar=yes,location=yes,scrollbars=yes,resizable=yes");
}
