// **** catalog request javascript file
// **** modified to ver4 08/2010

var xmlhttp;

function setFocus(item)
{
  document.getElementById(item).focus();
}

function showCatalogForm()
{
  document.getElementById("catalogtext").style.visibility="hidden";
  document.getElementById("catalogform").style.visibility='visible';
  document.getElementById("name_r").focus();
}

function cancelCat()
{
	document.getElementById("name_r").value="";
	restoreBox("name_r");
	document.getElementById("nameval").innerHTML = "";
	document.getElementById("practice_r").value="";
	restoreBox("practice_r");
	document.getElementById("practiceval").innerHTML = "";
	document.getElementById("address_r").value="";
	restoreBox("address_r");
	document.getElementById("addressval").innerHTML = "";
	document.getElementById("city_r").value="";
	restoreBox("city_r");
	document.getElementById("cityval").innerHTML = "";
	document.getElementById("state_r").value="";
	restoreBox("state_r");
	document.getElementById("stateval").innerHTML = "";
	document.getElementById("zip_r").value="";
	restoreBox("zip_r");
	document.getElementById("zipval").innerHTML = "";
	document.getElementById("valmessage").innerHTML = "";
  document.getElementById("catalogtext").style.visibility="visible";
  document.getElementById("catalogform").style.visibility="hidden";
}

function submitRequest()
{
  document.getElementById("catalogtext").style.textAlign="center";
  document.getElementById("catalogtext").innerHTML = "<img src='osc/images/loading.gif' alt='Loading...' class='centerimg' />";
  document.getElementById("catalogtext").style.visibility="visible";
  document.getElementById("catalogform").style.visibility="hidden";
	if(!xmlhttp) xmlhttp = xspGetXmlHttpRequest();
	if(!xmlhttp) return;
	var dirtyname = document.getElementById("name_r").value;
	var name = dirtyname.split("'").join("\'");
	var dirtypractice = document.getElementById("practice_r").value;
	var practice = dirtypractice.split("'").join("\'");
	var dirtyaddress = document.getElementById("address_r").value;
	var address = dirtyaddress.split("'").join("\'");
	var dirtycity = document.getElementById("city_r").value;
	var city = dirtycity.split("'").join("\'");
	var dirtystate = document.getElementById("state_r").value;
	var state = dirtystate.split("'").join("\'");
	var dirtyzip = document.getElementById("zip_r").value;
	var zip = dirtyzip.split("'").join("\'");
	var params = "name=" + name + "&practice=" + practice + "&address=" + address + "&city=" + city + "&state=" + state + "&zip=" + zip;
	xmlhttp.open('POST', 'includes/mailcatrequest.php', true);
	xmlhttp.onreadystatechange = processRequest;
	xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	xmlhttp.send(params);
	return false;
}
	
function processRequest()
{
	if(xmlhttp.readyState == 4 && xmlhttp.status == 200)
	{
		eval("var requestStatus = " + xmlhttp.responseText);
		updatePage(requestStatus);
	}
}

function updatePage(dta)
{
  document.getElementById("catalogtext").style.visibility="visible";
  document.getElementById("catalogform").style.visibility="hidden";
	document.getElementById("catalogtext").innerHTML = "Thank you. You will receive your catalog shortly.";
}

function valFailBox(item)
{
  document.getElementById(item).style.borderColor = "#FFC1C1";
  document.getElementById(item).style.borderStyle = "dotted";
}

function restoreBox(item)
{
  document.getElementById(item).style.borderColor = "";
  document.getElementById(item).style.borderStyle = "";
}

function valForm()
{
  var name = document.getElementById("name_r");
  var address = document.getElementById("address_r");
  var city = document.getElementById("city_r");
  var state = document.getElementById("state_r");
  var zip = document.getElementById("zip_r");
  var zipRe = new RegExp(/^\d{5}([\-]\d{4})?$/);
  var selField="";
  var valOK='Y';
  var message = "";
  
  if(name.value==null||name.value=="")
  {
  	document.getElementById("nameval").innerHTML = "*";
  	valFailBox("name_r");
  	selField="name_r";
  	valOK="N";
  }
  else
  {
  	document.getElementById("nameval").innerHTML = "";
    restoreBox("name_r");
  }

  if(address.value==null||address.value=="")
  {
  	document.getElementById("addressval").innerHTML = "*";
  	valFailBox("address_r");
  	if(selField=="")
  	  selField="address_r";
  	valOK="N";
  }
  else
  {
  	document.getElementById("addressval").innerHTML = "";
  	restoreBox("address_r");
  }
  
  if(city.value==null||city.value=="")
  {
  	document.getElementById("cityval").innerHTML = "*";
  	valFailBox("city_r");
  	if(selField=="")
  	  selField="city_r";
  	valOK="N";
  }
  else
  {
  	document.getElementById("cityval").innerHTML = "";
  	restoreBox("city_r");
  }
  
  if(state.value==null||state.value=="")
  {
  	document.getElementById("stateval").innerHTML = "*";
  	valFailBox("state_r");
  	if(selField=="")
  	  selField="state_r";
  	valOK="N";
  }
  else

  {
  	document.getElementById("stateval").innerHTML = "";
  	restoreBox("state_r");
  }
  
  if(zip.value==null||zip.value=="")
  {
   
    document.getElementById("zipval").innerHTML = "*";
    valFailBox("zip_r");
  	if(selField=="")
  	  selField="zip_r";
  	valOK="N";
  }
  
  else if(zipRe.test(zip.value)==false)
  {
    document.getElementById("zipval").innerHTML = "*";
    message += "Zip Code must be in ##### or #####-#### format.";
    valFailBox("zip_r");
  	if(selField=="")
  	  selField="zip_r";
  	valOK="N";
  }
  
  else

  {
  	document.getElementById("zipval").innerHTML = "";
  	restoreBox("zip_r");
  }
  
  if(valOK=="N")
  {
    document.getElementById(selField).select();
    document.getElementById("valmessage").innerHTML = "* Please fix missing/incorrect information.<br />" + message;
  } 
  else if(valOK=="Y")
    submitRequest();
}
