function validate_required(field,alerttxt)
{
with (field)
  {
  if (value==null||value=="")
    {
    alert(alerttxt);return false;
    }
  else
    {
    return true;
    }
  }
}
function validate_required_2(field)
{
with (field)
  {
  if (value==null||value=="")
    {
    return false;
    }
  else
    {
    return true;
    }
  }
}
function validate_email(field,alerttxt)
{
with (field)
  {
  apos=value.indexOf("@");
  dotpos=value.lastIndexOf(".");
  if (apos<1||dotpos-apos<2)
    {alert(alerttxt);return false;}
  else {return true;}
  }
}

function validate_phone(phone,alerttxt)
{
	var valid = 1
	var GoodChars = "0123456789()-+ "
	var i = 0
	var TheNumber = phone.value;
	
	if (TheNumber==null||TheNumber=="")
	{ 
		alert(alerttxt);
		return false; 
	} else {
	
		for (i =0; i <= TheNumber.length -1; i++) {
			if (GoodChars.indexOf(TheNumber.charAt(i)) == -1) {
				// Note: Remove the comments from the following line to see this
				// for loop in action.
				//alert(TheNumber.charAt(i) + " is no good.")
				alert(alerttxt);
				phone.focus();
				return false;
			} // End if statement
		} // End for loop
		return true;
		
	}
}
 function validateChecked(chkBox,alerttxt)
 {
	if (chkBox.checked == 1) {
		return true;
	} else {
		alert(alerttxt);
		chkBox.focus();
		return false;
	}
 }

function subForm(theForm) {
	//alert(theForm.name);
	if (validate_form(theForm)) {
		document.theForm.submit();
	}
}
function foo() {
	//Nothing
}
function subFormEmail(theForm) {
	//alert(theForm.name);
	if (validate_form_email(theForm)) {
		alert('Submitting...');
		document.emailSignup.submit();
	}
	//document.emailSignup.submit();
}
function validate_form_email(thisform)
{
var emailName = document.getElementById('emailName');
var emailEmail = document.getElementById('emailEmail');
with (thisform)
  {
	if (emailName.value == "your name")
	{
			alert('Please enter a valid name.');
			emailName.focus();return false;
	} else {
		if (validate_required(emailName,"Please enter a name.")==false)
			{emailName.focus();return false;}	
	}
	if (validate_email(emailEmail,"Please enter a valid email address.")==false)
		{emailEmail.focus();return false;}						
  }
} 
 
function validate_form(thisform)
{

var email = document.getElementById('email');
var emailC = document.getElementById('emailC');
var pswd = document.getElementById('pswd');
var pswdC = document.getElementById('pswdC');
var fName = document.getElementById('fName');
var lName = document.getElementById('lName');
var phone = document.getElementById('phone');
var addr1 = document.getElementById('addr1');
var city = document.getElementById('city');
var country = document.getElementById('country');
var state = document.getElementById('state');
var zip = document.getElementById('zip');
var acceptTerms = document.getElementById('acceptTerms');

with (thisform)
  {
	if (validate_email(email,"Please enter a valid email addres.")==false)
		{email.focus();return false;}
	if (email.value != emailC.value) 
	{
		alert("You must enter the same email twice");
		emailC.focus();
		return false;
	} 	
	
	if (validate_required(pswd,"Please choose a password.")==false)
		{pswd.focus();return false;}		
	if (pswd.value != pswdC.value) 
	{
		alert("You must enter the same password twice");
		pswdC.focus();
		return false;
	}
	if (validate_required(fName,"Please enter your first name.")==false)
		{fName.focus();return false;}		
	if (validate_required(lName,"Please enter your last name.")==false)
		{lName.focus();return false;}			
	if (validate_phone(phone,"Please enter a valid phone number.")==false)
		{phone.focus();return false;}
	if (validate_required(addr1,"Please enter your address.")==false)
	{addr1.focus();return false;}	
	if (validate_required(city,"Please enter your city.")==false)
		{city.focus();return false;}			
	if (validate_required(country,"Please enter your country.")==false)
		{country.focus();return false;}		
	if (validate_required(state,"Please enter your state.")==false)
		{state.focus();return false;}	
	if (validate_required(zip,"Please enter your zip code.")==false)
		{zip.focus();return false;}			

	var theType = document.getElementById('accountType');
	
	if (theType.value == '-3')
	{
		var customerCompany = document.getElementById('customerCompany')
		if (validate_required(customerCompany,"Please enter a business name.")==false)
			{customerCompany.focus();return false;}
	}
		
	if (theType.value == '-2')
	{
	
		var pEmail = document.getElementById('pEmail');
		var schoolName = document.getElementById('schoolName');
		var schoolAddr1 = document.getElementById('schoolAddr1');
		var schoolCity = document.getElementById('schoolCity');
		var schoolCountry = document.getElementById('schoolCountry');
		var schoolState = document.getElementById('schoolState');
		var schoolZip = document.getElementById('schoolZip');
	
		//Validate teacher fields also
		if (validate_email(pEmail,"Please enter a valid principal email address.")==false)
			{pEmail.focus();return false;}		
		if (validate_required(schoolName,"Please enter your school name.")==false)
			{schoolName.focus();return false;}	
		if (validate_required(schoolAddr1,"Please enter your school address.")==false)
			{schoolAddr1.focus();return false;}		
		if (validate_required(schoolCity,"Please enter your school city.")==false)
			{schoolCity.focus();return false;}		
		if (validate_required(schoolCountry,"Please enter your school country.")==false)
			{schoolCountry.focus();return false;}	
		if (validate_required(schoolState,"Please enter your school state.")==false)
			{schoolState.focus();return false;}	
		if (validate_required(schoolZip,"Please enter your school zip.")==false)
			{schoolZip.focus();return false;}							
	}

	if (validateChecked(acceptTerms,"Please read and accept the terms, and check the box indicating your agreement.")==false)
		{acceptTerms.focus();return false;}		
		
	document.accountForm.submit();		
		
  }
}

function validate_form_art(thisform)
{

var description = document.getElementById('description');
var details = document.getElementById('details');
var artistName = document.getElementById('artistName');
var artistGrade = document.getElementById('artistGrade');
var parentEmail = document.getElementById('parentEmail');

with (thisform)
  {

	if (validate_required(description,"Please provide a title for this art.")==false)
		{description.focus();return false;}		
	if (validate_required(details,"Please provide a description for this art.")==false)
		{details.focus();return false;}						
	if (validate_required(artistName,"Please provide a name for this artist.")==false)
		{artistName.focus();return false;}		
	if (validate_required(artistGrade,"Please provide a grade for this artist.")==false)
		{artistGrade.focus();return false;}		

	var theType = document.getElementById('accountType');
		
	if (theType.value == '-2')
	{		
		if(artistGrade.value != 'Teacher') {
			//Validate teacher fields also
			if (validate_email(parentEmail,"Please enter a valid parent email address.")==false)
				{parentEmail.focus();return false;}
			}
	}
		
	document.artForm.submit();		
		
  }
}

function saveOnlyButton() {
	document.getElementById('saveOnly').value = '1';
	document.artForm.submit();
}

   var http_request = false;
   function makeRequest(url, parameters) {
      http_request = false;
      if (window.XMLHttpRequest) { // Mozilla, Safari,...
         http_request = new XMLHttpRequest();
         if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/html');
         }
      } else if (window.ActiveXObject) { // IE
         try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
            try {
               http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
         }
      }
      if (!http_request) {
         alert('Cannot create XMLHTTP instance');
         return false;
      }
      http_request.onreadystatechange = alertContents;
      http_request.open('GET', url + parameters, true);
      http_request.send(null);
   }

   function alertContents() {
      if (http_request.readyState == 4) {
         if (http_request.status == 200) {
			if (http_request.responseText.length > 0) {
				alert(http_request.responseText);
			} else {
				alert('Thank you - your email has been added to our distribution list.');
				document.getElementById('emailName').value = '';
				document.getElementById('emailEmail').value = '';				
			}

         } else {
			alert(http_request.responseText);
            alert('There was a problem with the request.' + http_request.status);			
         }
      }
   }
   
	function get(obj) {
	  var getstr = "?";
	  for (i=0; i<obj.getElementsByTagName("input").length; i++) {
		
		if (obj.getElementsByTagName("input")[i].type == "text") {
		   getstr += obj.getElementsByTagName("input")[i].name + "=" + 
				   obj.getElementsByTagName("input")[i].value + "&";
		}
		if (obj.getElementsByTagName("input")[i].type == "checkbox") {
		   if (obj.getElementsByTagName("input")[i].checked) {
			  getstr += obj.getElementsByTagName("input")[i].name + "=" + 
				   obj.getElementsByTagName("input")[i].value + "&";
		   } else {
			  getstr += obj.getElementsByTagName("input")[i].name + "=&";
		   }
		}
	    if (obj.getElementsByTagName("input")[i].type == "radio") {
	           if (obj.getElementsByTagName("input")[i].checked) {
	              getstr += obj.getElementsByTagName("input")[i].name + "=" + 
	                   obj.getElementsByTagName("input")[i].value + "&";
	           }
	     }  
	     if (obj.getElementsByTagName("input")[i].tagName == "select") {
	        var sel = obj.getElementsByTagName("input")[i];
	        getstr += sel.name + "=" + sel.options[sel.selectedIndex].value + "&";
	     }
	     
	  }	  
	  makeRequest('signup.asp', getstr);
	}
