<!--
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  newWindow = window.open(theURL,winName,features);
  newWindow.focus();
  return false;
}

function ltrim(val) {
  var valu = val;
  while (valu.charAt(0) == ' ') {
	valu = valu.substr(1);
  }
  return valu;
}

function validateCompany() {
  var errors = '';
  if (ltrim(document.CompanyForm.elements[0].value) == '') errors += '    Company Name is required\n';
  if (ltrim(document.CompanyForm.elements[1].value) == '' && ltrim(document.CompanyForm.elements[2].value) != '') errors += '    User Name is required\n';
  if (ltrim(document.CompanyForm.elements[1].value) != '' && ltrim(document.CompanyForm.elements[2].value) == '') errors += '    Password is required\n';
  if (ltrim(document.CompanyForm.elements[5].value) == '') errors += '    Address is required\n';
  if (ltrim(document.CompanyForm.elements[6].value) == '') errors += '    City is required\n';
  if (ltrim(document.CompanyForm.elements[7].value) == '') errors += '    State is required\n';
  if (ltrim(document.CompanyForm.elements[8].value) == '') errors += '    Zip is required\n';
  if (errors != '') {
    alert('The following error(s) occurred:\n'+errors); 
    return false;
  } else {
    return true;
  }
}

function validateMaterial() {
  var errors = '';
  if (ltrim(document.MaterialForm.elements[0].value) == '') errors += '    Material is required\n';
  if (errors != '') {
    alert('The following error(s) occurred:\n'+errors); 
    return false;
  } else {
    return true;
  }
}

function validateCity() {
  var errors = '';
  if (ltrim(document.CityForm.elements[0].value) == '') errors += '    City is required\n';
  if (ltrim(document.CityForm.elements[1].value) == '') errors += '    County is required\n';
  if (errors != '') {
    alert('The following error(s) occurred:\n'+errors); 
    return false;
  } else {
    return true;
  }
}

function validateDocument() {
  var errors = '';
  if (ltrim(document.PubsForm.elements[0].value) == '') errors += '    Publication ID is required\n';
  if (ltrim(document.PubsForm.elements[1].value) == '') errors += '    Title is required\n';
  if (isNaN(document.PubsForm.elements[4].value)) errors += '    Cost must be numeric\n';
  if (errors != '') {
    alert('The following error(s) occurred:\n'+errors); 
    return false;
  } else {
    return true;
  }
}

function validateOrder() {
  var errors = '';
  if (ltrim(document.PubsForm.elements[0].value) == '') errors += '    Name is required\n';
  if (ltrim(document.PubsForm.elements[1].value) == '') errors += '    Address is required\n';
  if (ltrim(document.PubsForm.elements[2].value) == '') errors += '    City is required\n';
  if (ltrim(document.PubsForm.elements[3].value) == '') errors += '    State is required\n';
  if (ltrim(document.PubsForm.elements[4].value) == '') errors += '    Zip is required\n';
  if (ltrim(document.PubsForm.elements[5].value) == '') errors += '    Email is required\n';
  if (errors != '') {
    alert('The following error(s) occurred:\n'+errors); 
    return false;
  } else {
    return true;
  }
}

function validateSearch() {
  var errors = '';
  var zip = '';
  if (ltrim(document.SearchForm.MaterialSearch.value) == '') errors += '    Search List must contain at list one material to search for\n';
  zip = document.SearchForm.Zipcode.selectedIndex;
  city = document.SearchForm.City.selectedIndex;
  if (zip == '0' & city == '0') {
    errors += '    Find near zipcode or city is required\n';
  } else {
	if (zip != '') {
	  if (isNaN(zip)) {
        errors += '    Find near zipcode must be a number\n';
	  } else {
	    if (zip.length < 5) errors += '    Find near zipcode must contain 5 digits\n';
	  }
	}
  }
  if (errors != '') {
    alert('The following error(s) occurred:\n'+errors); 
    return false;
  } else {
    return true;
  }
}

function setZipCity(zipcity) {
  if (zipcity == 'Zip') {
    document.SearchForm.City.options[0].selected = true;
  } else {
    document.SearchForm.Zipcode.options[0].selected = true;
  }
}

function checkInput(l, f) {
  if (document.forms[0].elements[f].value.length > l) {
    alert(document.forms[0].elements[f].name + ' field can only accept ' + l + ' characters.');
		document.forms[0].elements[f].value = document.forms[0].elements[f].value.substr(0, l);
  }
}

function confirmDelete(name, delitem) {
  if (confirm('Do you want to delete ' + name + ' ' + delitem + '?')) {
	  return true;
  } else {
	  return false;
  }
}

function addMaterial() {
	var j = document.forms[0].MaterialSelect.length-1;
    for (var i = 0; i < document.forms[0].MaterialList.length; i++) {
      if (document.forms[0].MaterialList.options[i].selected == true && document.forms[0].MaterialList.options[i].value != "-1") {
		j++;
		document.forms[0].MaterialSelect.options[j] = new Option(document.forms[0].MaterialList.options[i].text, document.forms[0].MaterialList.options[i].value);
	  }
    }
    for (var i = document.forms[0].MaterialList.length-1; i>=0; i--) {
      if (document.forms[0].MaterialList.options[i].selected == true && document.forms[0].MaterialList.options[i].value != "-1") {
		  document.forms[0].MaterialList.options[i] = null;
      }
    }
    document.forms[0].MaterialSearch.value = "";
    for (var i = 0; i < document.forms[0].MaterialSelect.length; i++) {
	  id = document.forms[0].MaterialSelect.options[i].value.split('>')
      document.forms[0].MaterialSearch.value += id[0];
	  if (i < document.forms[0].MaterialSelect.length-1) document.forms[0].MaterialSearch.value += ',';
    }
}

function removeMaterial() {
	var j = document.forms[0].MaterialList.length-1;
    for (var i = 0; i < document.forms[0].MaterialSelect.length; i++) {
      if (document.forms[0].MaterialSelect.options[i].selected == true && document.forms[0].MaterialSelect.options[i].value != "-1") {
		j++;
		document.forms[0].MaterialList.options[j] = new Option(document.forms[0].MaterialSelect.options[i].text, document.forms[0].MaterialSelect.options[i].value);
      }
	}
    for (var i = document.forms[0].MaterialSelect.length-1; i>=0; i--) {
      if (document.forms[0].MaterialSelect.options[i].selected == true && document.forms[0].MaterialSelect.options[i].value != "-1") {
		  document.forms[0].MaterialSelect.options[i] = null;
      }
    }
    document.forms[0].MaterialSearch.value = "";
    for (var i = 0; i < document.forms[0].MaterialSelect.length; i++) {
	  id = document.forms[0].MaterialSelect.options[i].value.split('>')
      document.forms[0].MaterialSearch.value += id[0];
	  if (i < document.forms[0].MaterialSelect.length-1) document.forms[0].MaterialSearch.value += ',';
    }
}

function addCity() {
	var j = document.forms[0].CitySelect.length-1;
    for (var i = 0; i < document.forms[0].CityList.length; i++) {
      if (document.forms[0].CityList.options[i].selected == true && document.forms[0].CityList.options[i].value != "-1") {
		j++;
		document.forms[0].CitySelect.options[j] = new Option(document.forms[0].CityList.options[i].text, document.forms[0].CityList.options[i].value);
	  }
    }
    for (var i = document.forms[0].CityList.length-1; i>=0; i--) {
      if (document.forms[0].CityList.options[i].selected == true && document.forms[0].CityList.options[i].value != "-1") {
		  document.forms[0].CityList.options[i] = null;
      }
    }
    document.forms[0].CitySearch.value = "";
    for (var i = 0; i < document.forms[0].CitySelect.length; i++) {
	  id = document.forms[0].CitySelect.options[i].value.split('>')
      document.forms[0].CitySearch.value = document.forms[0].CitySearch.value + "'" + id[0] + "'";
	  if (i < document.forms[0].CitySelect.length-1) document.forms[0].CitySearch.value += ',';
    }
}

function removeCity() {
	var j = document.forms[0].CityList.length-1;
    for (var i = 0; i < document.forms[0].CitySelect.length; i++) {
      if (document.forms[0].CitySelect.options[i].selected == true && document.forms[0].CitySelect.options[i].value != "-1") {
		j++;
		document.forms[0].CityList.options[j] = new Option(document.forms[0].CitySelect.options[i].text, document.forms[0].CitySelect.options[i].value);
      }
	}
    for (var i = document.forms[0].CitySelect.length-1; i>=0; i--) {
      if (document.forms[0].CitySelect.options[i].selected == true && document.forms[0].CitySelect.options[i].value != "-1") {
		  document.forms[0].CitySelect.options[i] = null;
      }
    }
    document.forms[0].CitySearch.value = "";
    for (var i = 0; i < document.forms[0].CitySelect.length; i++) {
	  id = document.forms[0].CitySelect.options[i].value.split('>')
      document.forms[0].CitySearch.value = document.forms[0].CitySearch.value + "'" + id[0] + "'";
	  if (i < document.forms[0].CitySelect.length-1) document.forms[0].CitySearch.value += ',';
    }
}

function addZip() {
	var j = document.forms[0].ZipSelect.length-1;
    for (var i = 0; i < document.forms[0].ZipList.length; i++) {
      if (document.forms[0].ZipList.options[i].selected == true && document.forms[0].ZipList.options[i].value != "-1") {
		j++;
		document.forms[0].ZipSelect.options[j] = new Option(document.forms[0].ZipList.options[i].text, document.forms[0].ZipList.options[i].value);
	  }
    }
    for (var i = document.forms[0].ZipList.length-1; i>=0; i--) {
      if (document.forms[0].ZipList.options[i].selected == true && document.forms[0].ZipList.options[i].value != "-1") {
		  document.forms[0].ZipList.options[i] = null;
      }
    }
    document.forms[0].ZipSearch.value = "";
    for (var i = 0; i < document.forms[0].ZipSelect.length; i++) {
	  id = document.forms[0].ZipSelect.options[i].value.split('>')
      document.forms[0].ZipSearch.value = document.forms[0].ZipSearch.value + "'" + id[0] + "'";
	  if (i < document.forms[0].ZipSelect.length-1) document.forms[0].ZipSearch.value += ',';
    }
}

function removeZip() {
	var j = document.forms[0].ZipList.length-1;
    for (var i = 0; i < document.forms[0].ZipSelect.length; i++) {
      if (document.forms[0].ZipSelect.options[i].selected == true && document.forms[0].ZipSelect.options[i].value != "-1") {
		j++;
		document.forms[0].ZipList.options[j] = new Option(document.forms[0].ZipSelect.options[i].text, document.forms[0].ZipSelect.options[i].value);
      }
	}
    for (var i = document.forms[0].ZipSelect.length-1; i>=0; i--) {
      if (document.forms[0].ZipSelect.options[i].selected == true && document.forms[0].ZipSelect.options[i].value != "-1") {
		  document.forms[0].ZipSelect.options[i] = null;
      }
    }
    document.forms[0].ZipSearch.value = "";
    for (var i = 0; i < document.forms[0].ZipSelect.length; i++) {
	  id = document.forms[0].ZipSelect.options[i].value.split('>')
      document.forms[0].ZipSearch.value = document.forms[0].ZipSearch.value + "'" + id[0] + "'";
	  if (i < document.forms[0].ZipSelect.length-1) document.forms[0].ZipSearch.value += ',';
    }
}

function refineSearch(refineobj, clear1, clear2) {
  var sel = 0;
  for (var i = 0; i < refineobj.options.length; i++) {
	  if (refineobj.options[i].selected) sel = i;
	}
  for (var i = 0; i < clear1.options.length; i++) {
	  clear1.options[i].selected = false;
	}
  for (var i = 0; i < clear2.options.length; i++) {
	  clear2.options[i].selected = false;
	}	
	document.RefineForm.RefineType.value = refineobj.name;
	document.RefineForm.RefineValue.value = refineobj.options[sel].value;
	document.RefineForm.submit();
}

function checkEnter(e) { //e is event object passed from function invocation
  var characterCode; // literal character code will be stored in this variable
  if (e && e.which) { //if which property of event object is supported (NN4)
    e = e;
	characterCode = e.which; //character code is contained in NN4's which property
  } else {
	e = event;
	characterCode = e.keyCode; //character code is contained in IE's keyCode property
  }
  if (characterCode == 13) { //if generated character code is equal to ascii 13 (if enter key)
    showMaterials(document.forms[0].Material.value,document.forms[0].MaterialSearch.value)
	return false;
  } else {
	return true;
  }
}

function createPassword() {
	var p = '';
	var c = '';
	var possible = '23456789abcdefghijkmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ'; 
	var rnd = 0;
	var i = 0; 
	while (i < 10) { 
	    rnd = Math.floor(Math.random() * possible.length);
		c = possible.substring(rnd, rnd+1);
		if (p.indexOf(c) == -1) {
			p = p + c;
			i++;
		} // if p.index
	} // while
	document.CompanyForm.elements[2].value = p;
} // function

function showPassword() {
	if (document.CompanyForm.elements[2].type == "password") {
		document.CompanyForm.elements[2].type = "text";
		document.CompanyForm.elements[4].value = "Hide Password";
	} else {
		document.CompanyForm.elements[2].type = "password";
		document.CompanyForm.elements[4].value = "Show Password";
	} // if
}

function helpAll() {
	var msg = "All Results\n\n";
	msg = msg + "Here you will find information on all recycling companies that accept the material searched for. ";
	msg = msg + "If searching for more than one material then these companies are divided into ones that accept all materials ";
	msg = msg + "searched for and those that accept at least one of the materials searched for.";
	alert(msg);
}

function helpCurbside() {
	var msg = "Curbside Results\n\n";
	msg = msg + "Here you will find information on recycling companies that provide curbside pickup service. ";
	msg = msg + "These companies are usually city affiliated garbage and recycling providers.";
	alert(msg);
}

function helpMail() {
	var msg = "Mail In Results\n\n";
	msg = msg + "Here you will find information on recycling companies nationwide that accept recyclable materials by mail. ";
	msg = msg + "The materials generally accepted by these companies are small computer accessories such as ink and toner ";
	msg = msg + "cartriges or CDs and DVDs.";
	alert(msg);
}

function helpMap() {
	var msg = "Map Results\n\n";
	msg = msg + "Shows locations of recycling companies that accept the matererial searched for, by distance from given ";
	msg = msg + "zip code.";
	alert(msg);
}

function calcdistance($lat1, $lon1, $lat2, $lon2) { 
  $theta = $lon1 - $lon2; 
  $dist = sin(deg2rad($lat1)) * sin(deg2rad($lat2)) +  cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad($theta)); 
  $dist = acos($dist); 
  $dist = rad2deg($dist); 
  $miles = $dist * 60 * 1.1515;
  return $miles;
}

function setOptions(idx_off) {
	if (document.SearchForm.elements[idx_off].checked == true) document.SearchForm.elements[idx_off].checked = false;
}

function setAll(Option) {
    for (var i = 0; i < document.forms[0].elements.length; i++) {
		if (document.forms[0].elements[i].name.indexOf(Option) != -1) document.forms[0].elements[i].checked = document.forms[0].elements[Option + "_All"].checked; 
	} // for
/*	if (Option == "Recycle") {
		document.forms[0].elements["Reuse_All"].checked = false;
		for (var i = 0; i < document.forms[0].elements.length; i++) {
			if (document.forms[0].elements[i].name.indexOf('Reuse') != -1) document.forms[0].elements[i].checked = false; 
		} // for
	}
	if (Option == "Reuse") {
		document.forms[0].elements["Recycle_All"].checked = false;
		for (var i = 0; i < document.forms[0].elements.length; i++) {
			if (document.forms[0].elements[i].name.indexOf('Recycle') != -1) document.forms[0].elements[i].checked = false; 
		} // for
	} */
}

function setRecycleReuse(Option,Mid) {
	if (Option == "Recycle" & document.forms[0].elements["Recycle_" + Mid].checked == true) {
		document.forms[0].elements["Reuse_" + Mid].checked = false;
	}
	if (Option == "Reuse" & document.forms[0].elements["Reuse_" + Mid].checked == true) {
		document.forms[0].elements["Recycle_" + Mid].checked = false;
	}
}

function setRecycleReuseAdd(Option) {
	if (Option == "Recycle" & document.forms[0].elements["Recycle"].checked == true) {
		document.forms[0].elements["Reuse"].checked = false;
	}
	if (Option == "Reuse" & document.forms[0].elements["Reuse"].checked == true) {
		document.forms[0].elements["Recycle"].checked = false;
	}
}

function setComments() {
    for (var i = 0; i < document.forms[0].elements.length; i++) {
		if (document.forms[0].elements[i].name.indexOf("Comments") != -1) document.forms[0].elements[i].value = document.forms[0].elements["Comments_All"].value; 
	} // for
}

function setCities() {
    for (var i = 0; i < document.forms[0].elements.length; i++) {
		if (document.forms[0].elements[i].name == "CityServed[]") document.forms[0].elements[i].checked = document.forms[0].elements["CityServedAll"].checked; 
	} // for
}

function confirmRemove(Company) {
	var msg = "";
	var confirmmsg = false;
    for (var i = 0; i < document.forms[0].elements.length; i++) {
		if (document.forms[0].elements[i].name.indexOf("Remove") != -1 & document.forms[0].elements[i].checked) msg += document.forms[0].elements[i+2].value + "\n"; 
	} // for
	if (msg != '') {
    	return confirmmsg = confirm("Remove the following materials from " + Company + "'s accepted materials list\n\n" + msg);
	} else {
		alert("No materials were selected for removal");
    	return false;
	}
}

// Ajax functions

var xmlHttp;

function editMaterials(str) { 
  xmlHttp=GetXmlHttpObject();
  if (xmlHttp==null) {
    alert ("Browser does not support this page");
    return;
  } 
  var url="recmat_edit_list.php";
  url=url+"?mat="+str;
  url=url+"&sid="+Math.random();
  xmlHttp.onreadystatechange=stateChanged;
  xmlHttp.open("GET",url,true);
  xmlHttp.send(null);
}

function showMaterials(str,sel) { 
  xmlHttp=GetXmlHttpObject();
  if (xmlHttp==null) {
    alert ("Browser does not support this page");
    return;
  } 
  var url="search_material_list.php";
  url=url+"?cat="+str;
  url=url+"&sel="+sel;
  url=url+"&sid="+Math.random();
  xmlHttp.onreadystatechange=stateChanged ;
  xmlHttp.open("GET",url,true);
  xmlHttp.send(null);
}

function showCompany(type) { 
  xmlHttp=GetXmlHttpObject();
  if (xmlHttp==null) {
    alert ("Browser does not support this page");
    return;
  } 
  var i = document.CompanyForm.CompanyList.selectedIndex;
  var cid = document.CompanyForm.CompanyList.options[i].value;
  var url="search_results_co.php";
  url=url+"?cid="+cid;
  url=url+"&type="+type;
  url=url+"&sid="+Math.random();
  xmlHttp.onreadystatechange=stateChanged ;
  xmlHttp.open("GET",url,true);
  xmlHttp.send(null);
}

function showCompany1(cid,type) { 
  xmlHttp=GetXmlHttpObject();
  if (xmlHttp==null) {
    alert ("Browser does not support this page");
    return;
  } 
  var url="search_results_co.php";
  url=url+"?cid="+cid;
  url=url+"&type="+type;
  url=url+"&sid="+Math.random();
  xmlHttp.onreadystatechange=stateChanged ;
  xmlHttp.open("GET",url,true);
  xmlHttp.send(null);
}

function showCoMat(cid,list) { 
  xmlHttp=GetXmlHttpObject();
  if (xmlHttp==null) {
    alert ("Browser does not support this page");
    return;
  } 
  if (list == 1) {
    var i = document.MaterialForm1.MatSearchList1.selectedIndex;
    var mid = document.MaterialForm1.MatSearchList1.options[i].value;
	//document.MaterialForm2.MatSearchList2.options[0].selected = true;
  } else {
    var i = document.MaterialForm2.MatSearchList2.selectedIndex;
    var mid = document.MaterialForm2.MatSearchList2.options[i].value;
	//document.MaterialForm1.MatSearchList1.options[0].selected = true;
  } // is list = 1
  var url="search_results_mat.php";
  url=url+"?cid="+cid;
  url=url+"&mid="+mid;
  url=url+"&sid="+Math.random();
  xmlHttp.onreadystatechange=stateChanged1 ;
  xmlHttp.open("GET",url,true);
  xmlHttp.send(null);
}

function stateChanged() { 
  if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { 
    document.getElementById("Ajax").innerHTML=xmlHttp.responseText;
  } 
}

function stateChanged1() { 
  if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { 
    var response = xmlHttp.responseText.split(";");
	document.getElementById("material").innerHTML=response[0];
    for (var i = 1; i < response.length-1; i++) {
      if (response[i] == "Y") {
	    document.OptionsForm.elements[i-1].checked=true;
	  } else {
	    document.OptionsForm.elements[i-1].checked=false;
	  } // if response[i] == "Y"
	} // for
	document.getElementById("comments").innerHTML=response[14];
  } // if xmlHttp ready
} // function

function GetXmlHttpObject() {
  var xmlHttp=null;
  try {
    // Firefox, Opera 8.0+, Safari
    xmlHttp=new XMLHttpRequest();
  } catch (e) {
    //Internet Explorer
    try {
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
	  try {
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
	  } catch (e) {
		xmlHttp=null;  
	  }
    }
  }
  return xmlHttp;
}
//-->