function getAddress( street, city, state){
	var url1="http://zip4.usps.com/zip4/zcl_0_results.jsp?visited=1&pagenumber=0&firmname=&address2="; 
	var url2="&address1=&city="; 
	var url3="&state=";
	var url4="&urbanization=&zip5=";
	if(street=="" || city=="" || state ==""){
	 window.alert("Please fill in all fields. (Address1,City,State at least)");
	 return;
	}
	var fullurl=url1+street+url2+city+url3+state+url4;
	var x=createXMLHttp();
	x.open("GET",fullurl, false);
	x.Send(null);
	var res=x.responseText;
	var resOrig=res;
	try{
		// strip off everything before where the result starts
		var startpos = res.indexOf("<td headers=\"full\"")+126;
		res=res.substring(startpos)
		if(res.toUpperCase().indexOf("<HTML")>0){
			window.alert("Address Not valid");
			return;
		}
		// strip off everything after the result
		var endpos=res.indexOf("</td>")-10;
		res=res.substring(0,endpos);
		// clean off HTML Spaces
		res=res.toUpperCase();
		res=res.replace(/&NBSP;/g, " ");
		//clean up line breaks
		var brpos=res.indexOf("<BR");
		var strAddr1=res.substring(2,brpos);
		var brpos1=res.indexOf("<BR",brpos+5);
		var strAddr2=res.substring(brpos1);
		strAddr2=strAddr2.replace("<BR />","");
		strAddr2=strAddr2.replace(strAddr1,"");
		strAddr2=escape(strAddr2);
		strAddr2=strAddr2.replace(new RegExp("%0A","g"),"");
		strAddr2=strAddr2.replace(new RegExp("%0D","g"),"");
		strAddr2=strAddr2.replace(new RegExp("%09","g"),"");
		strAddr2=strAddr2.replace("%20%20","%20");
		strAddr2=unescape(strAddr2);
		brpos=resOrig.indexOf("mailingIndustryPopup2('")+22
		brpos1=resOrig.indexOf(")",brpos)
		strAdvData=resOrig.substr(brpos,(brpos1-brpos))
		strAdvData=escape(strAdvData)
		strAdvData=strAdvData.replace(new RegExp("%0A","g"),"");
		strAdvData=strAdvData.replace(new RegExp("%0D","g"),"");
		strAdvData=strAdvData.replace(new RegExp("%09","g"),"");
		strAdvData=strAdvData.replace(new RegExp("%27","g"),"");
		strAdvData=unescape(strAdvData);
		aryAdvData=strAdvData.split(",");
		var newDelPt=aryAdvData[2];
		var aryAddr=strAddr2.split(" ");
		var newZip=aryAddr.pop();
		var newState=aryAddr.pop();
		var newCity=aryAddr.join(" ");
		var newAddr=strAddr1;
		var x=window.confirm("Accept these changes?\r\n\r\n" + newAddr + "\r\n" + newCity + "\r\n" + newState + "\r\n" + newZip + "\r\n\r\nClick OK to accept, CANCEL to skip.")
		if (x==true){
			main.address.value=newAddr;
			main.city.value=newCity;
			main.state.value=newState;
			main.zipcode.value=newZip
			}
		}
	catch(e){
		window.alert("Address Not valid 2");
		}
	}

//Generic cross-browser XMLHttp object
function createXMLHttp() {
     // NOTE Here I am trapping for IE7 to use ActiveXObject since it also now has a native
	 // XMLHttpRequest object without COM that behaves just like "other browsers"
    if (typeof XMLHttpRequest != "undefined" && !window.ActiveXObject) {
        return new XMLHttpRequest();
    } else if (window.ActiveXObject) {
      var aVersions = [ "MSXML2.XMLHttp.5.0",
        "MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0",
        "MSXML2.XMLHttp","Microsoft.XMLHttp"
      ];

      for (var i = 0; i < aVersions.length; i++) {
        try {
            var oXmlHttp = new ActiveXObject(aVersions[i]);
            return oXmlHttp;
        } catch (oError) {
            //Do nothing
        }
      }
    }
    throw new Error("XMLHttp object could be created.");
}

function isDate(mystring){
	var mystring;
	var myresult;
	var mydate = new Date(mystring);
	isNaN(mydate)? myresult=false : myresult=true ;
	return myresult ;
}

function setAge(){
	var strBirthDate=document.main.birthdate.value;
	if (isDate(strBirthDate)){
		var dtBirthDate=new Date(strBirthDate);
		var dtToday=new Date();
		var year=(365.25*1000*60*60*24);
		var intAge=Math.floor((dtToday.getTime()-dtBirthDate.getTime())/year);
		document.main.age.value=intAge;
	}
}

function checkForm() {
  var okToSend=true;
  if (document.main.elements('pid').value=="301" || document.main.elements('pid').value=="311") {
	var ctls=['name','birthdate','age','emergencycontact','emergencyphone'];}
  else  {
	var ctls=['firstname','lastname','birthdate','age','emergencycontact','emergencyphone'];}
  var strMessage=new String();
  for (var k=0;k<ctls.length;k++){
	try {if (document.main.elements(ctls[k]).value.length==0){
		okToSend=false;
		document.main.elements(ctls[k]).style.border="solid red 3px";
		strMessage=strMessage+document.main.elements(ctls[k]).name+'\n';}
	else { document.main.elements(ctls[k]).style.border="none";}}
	catch(err){strError=err.description;}
	}
  var ynRadiosChecked=false;
  var radios=document.main.elements("shirtsize");
  for (var k=0;k<radios.length;k++){
	if (radios[k].checked){ynRadiosChecked=true;}
	}
  if (ynRadiosChecked==false){
	okToSend=false;
	document.getElementById("shirtSizesTD").style.border="solid red 3px";
	strMessage=strMessage+"shirt size"+'\n';
	}
  else {document.getElementById("shirtSizesTD").style.border="none";
	}
  var nPwd=document.main.elements("npwd");
  var vPwd=document.main.elements("vpwd");
  if (nPwd.value.length>0){
    if (nPwd.value===vPwd.value) {
	nPwd.className="";vPwd.className="";
	}
    else {
	okToSend=false;
	vPwd.className="needed";vPwd.value="";
	nPwd.className="needed";nPwd.value="";
	strMessage=strMessage+"Both Password fields must match. Please re-Enter."+'\n'+"Matching passwords"+'\n';
	}
	}
  else {
	nPwd.className="";vPwd.className="";
	}
  if (strMessage.length>0){
	 window.alert(strMessage.replace(/_/gi," ") + "\nMUST by completed.");
	 okToSend=false;}
  return okToSend;
}
function hiRows(k) {
	var r=document.getElementById("eventDetails").getElementsByTagName("tr")
	for (var l=0;l<r.length;l++){
		if (r[l].id==("r"+k)) {r[l].style.backgroundColor="yellow";}
	}
}
function loRows(k) {
	var r=document.getElementById("eventDetails").getElementsByTagName("tr")
	for (var l=0;l<r.length;l++){
		if (r[l].id==("r"+k)) {r[l].style.backgroundColor="white";} 
	}
}
function dtEvents(k){
	var mo=document.getElementById("mo");
	var yr=document.getElementById("yr");
	var m=mo.selectedIndex;
	var y=yr.options(yr.selectedIndex).text;
	var d=new Date(y,m,k);
	var hasEvents=false;
	var evts=document.getElementById("calEvents").getElementsByTagName("tr");
	for (var j=0;j<evts.length;j++){
		var cl=evts[j].childNodes[1].innerText;
		var q=new Date(cl);
		if ( (q.getMonth()==d.getMonth()) && (q.getDate()==d.getDate()) && (q.getFullYear()==d.getFullYear()) )
			{hasEvents=true;break;}
	}
	return hasEvents;
}
function drawCal(cmd){
	var mo=document.getElementById("mo");
	var yr=document.getElementById("yr");
	var d=new Date();
	var monthDays=new Array(31,28,31,30,31,30,31,31,30,31,30,31);
	var m=mo.selectedIndex;
	var y=yr.options(yr.selectedIndex).text;
	switch (cmd)
	{	case (1): {m++; if (m>11) {m=0; y++};break;}
		case (-1): {m--; if (m<0) {m=11; y--};break;}
		default : {break;}
	}
	var isleap = (y % 4 == 0 && (y % 100 != 0 || y % 400 == 0));
	if (isleap) {monthDays[1]=29}; 
	mo.selectedIndex=m;

	for (var k=0;k<yr.options.length;k++){
		if (y==yr.options(k).text){yr.selectedIndex=k;}
	}
	d.setDate(1);
	d.setMonth((m));
	d.setFullYear(y);
	var d1=d.getDay();
	for (i = 1; i <= d1; i++) {
		var c = document.getElementById("btn" + i);
		c.value = " ";
		c.className="dt";
		c.style.backgroundColor="lightgrey";
		c.style.display="none";}
	for (i = 1; i <= monthDays[m]; i++) {
		var c = document.getElementById("btn" + (i + d1));
		c.value = i;
		c.className="dt";
		if (dtEvents(i)==true){c.className="activity";}
		c.style.backgroundColor="lightgrey";
		c.style.display="block"; }
	for (i = 1 + monthDays[m] + d1; i <= 42; i++) {
		var c = document.getElementById("btn" + i);
		c.value=" ";
		c.className="dt";
		c.style.backgroundColor="lightgrey";
		c.style.display="none";}
}
function retDate(evt) {
	if (!evt){evt=window.event;}
	if (evt.target) targ = evt.target;
	else if (evt.srcElement) targ = evt.srcElement;
	var b=targ;
	var d=b.value;
	var yr=document.getElementById("yr");
	var y=yr.options(yr.selectedIndex).text;
	var mo=document.getElementById("mo");
	var m=mo.options(mo.selectedIndex).value;
	var newDate=("" + m + "/" + d + "/" + y);
	var multi=document.getElementById("multi");
	var dt=document.main.date;
	if (dt.value.indexOf(newDate)>=0){
		var aryDts=dt.value.split(", ");
		dt.value="";
		for (var k=0;k<aryDts.length;k++){if (aryDts[k]!=newDate){dt.value=dt.value+aryDts[k]+", ";} }
	}
	else {if (multi.checked==true){dt.value=dt.value+newDate+", ";} 
		else {dt.value=newDate;} 
	}
	if (dt.value.indexOf(newDate)>=0){b.style.backgroundColor="yellow";}
	else {b.style.backgroundColor="lightgrey";}
}
function changeDates() {
	var ck=document.getElementById("multi");
	var dt=document.main.elements("date");
	dt.value="";
	if (ck.checked==true) {
		dt.rows=5;		
	}
	else {
		dt.rows=1;
	}
}
function showOptions(){
	var tfDisabled=(document.main.elements("options")[0].selectedIndex==1)?false:true;
	document.getElementById("Q0").style.display=(tfDisabled==false)?"block":"none";
	for(var k=1;k<5;k++){document.main.elements("options")[k].disabled=tfDisabled;}
}