function replyToComment(replyID) {
	var inputs = document.getElementsByTagName("form");
	for (var k=0; k<inputs.length; k++) {
		if (inputs[k].className=="commentReplyForm")
			if (inputs[k].getAttribute("id")!=replyID)
				inputs[k].style.display="none";
	}
	
	if (document.getElementById(replyID).style.display=='block')
		document.getElementById(replyID).style.display='none';
	else
		document.getElementById(replyID).style.display='block';
}

var xmlhttp;
function loadXMLDoc(url,cfunc)
{
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=cfunc;
xmlhttp.open("GET",url,true);
xmlhttp.send();
}

function callPHP(searchquery, targetelement, sourcefile, additionalparameters)
{
var xmlhttp;
//document.getElementById(targetelement).innerHTML="<img src='/_graphics/loading.gif' width='64' height='64' />";
if (searchquery.length==0)
  { 
  document.getElementById(targetelement).innerHTML="";
  return;
  }
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
		var resultText = String(xmlhttp.responseText);
		if (targetelement != false) {
		    document.getElementById(targetelement).value=resultText;
		} else {
			return resultText;
		}
    }
  }
xmlhttp.open("GET", "/"+sourcefile+"?q="+searchquery+additionalparameters,true);
xmlhttp.send();
}

function showHide(targetelement) {
	te = document.getElementById(targetelement);
	if (te.style.display == "block")
		te.style.display = "none";
	else
		te.style.display = "block";
}

function showHideAlternativeOption(selectField, alternativeField) {
	af = document.getElementById(alternativeField);
	if (selectField.options[selectField.options.selectedIndex].value == "other")
		af.setAttribute("class", "active");
	else
		af.setAttribute("class", "disabled");
}

function switchStateProvince(selectField, stateField, provinceField) {
	sf = document.getElementById(stateField);
	pf = document.getElementById(provinceField);
	if (selectField.options[selectField.options.selectedIndex].value == "United States") {
		sf.setAttribute("class", "active");
		pf.setAttribute("class", "disabled");
	} else {
		sf.setAttribute("class", "disabled");
		pf.setAttribute("class", "active");
	}
}

/******************************/
/* javascript for popup hints */
/******************************/

function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}

function prepareInputsForHints() {
  var inputs = document.getElementsByTagName("input");
  for (var i=0; i<inputs.length; i++){
    inputs[i].onfocus = function () {
	  if (this.getAttribute("type")!="submit")
      this.parentNode.getElementsByTagName("span")[0].style.display = "block";
    }
    inputs[i].onblur = function () {
      this.parentNode.getElementsByTagName("span")[0].style.display = "none";
    }
  }
  var selects = document.getElementsByTagName("select");
  for (var k=0; k<selects.length; k++){
    selects[k].onfocus = function () {
      this.parentNode.getElementsByTagName("span")[0].style.display = "block";
    }
    selects[k].onblur = function () {
      this.parentNode.getElementsByTagName("span")[0].style.display = "none";		
    }
  }
  var textareas = document.getElementsByTagName("textarea");
  for (var m=0; m<textareas.length; m++){
    textareas[m].onfocus = function () {
      this.parentNode.getElementsByTagName("span")[0].style.display = "block";
    }
    textareas[m].onblur = function () {
      this.parentNode.getElementsByTagName("span")[0].style.display = "none";
    }
  }
}

function checkRequiredFields(validationForm, fieldHolders, comparisonFirstPassword, comparisonConfirmPassword) {
	var fields = validationForm.getElementsByTagName(fieldHolders);
	var missingFields = false;
	var mismatchedPasswords = false;
	for (var i=0; i<fields.length; i++) {
		var requiredField = false;
		var spans = fields[i].getElementsByTagName("span");
		for (var k=0; k<spans.length; k++) {
			if (spans[k].getAttribute("class") == "required") {
				requiredField = true;
				break;
			}
		}
		
		if (requiredField == true) {
			var inputs = fields[i].getElementsByTagName("input");
			var selects = fields[i].getElementsByTagName("select");
			var textareas = fields[i].getElementsByTagName("textarea");
			if (inputs.length>0) {
				if (inputs[0].getAttribute("class")!="disabled"&&inputs[0].value.length==0) {
					var spanFields = inputs[0].parentNode.getElementsByTagName("span");
					for (var g=0; g<spanFields.length; g++) {
						if (spanFields[g].getAttribute("class")=="required") {
							spanFields[g].innerHTML = "Fill out this field";
							missingFields = true;
						}
					}
				} else {
					var spanFields = inputs[0].parentNode.getElementsByTagName("span");
					for (var g=0; g<spanFields.length; g++)
						if (spanFields[g].getAttribute("class")=="required")
							spanFields[g].innerHTML = "";
				}
				if (inputs[0].checked==false&&inputs[0].getAttribute("type")=="checkbox") {
					var spanFields = inputs[0].parentNode.getElementsByTagName("span");
					for (var g=0; g<spanFields.length; g++) {
						if (spanFields[g].getAttribute("class")=="required") {
							spanFields[g].innerHTML = "You need to check this box";
							missingFields = true;
						}
					}
				}
			}
			if (textareas.length>0) {
				if (textareas[0].getAttribute("class")!="disabled"&&textareas[0].value.length==0) {
					var spanFields = textareas[0].parentNode.getElementsByTagName("span");
					for (var g=0; g<spanFields.length; g++)
						if (spanFields[g].getAttribute("class")=="required") {
							spanFields[g].innerHTML = "Fill out this field";
							missingFields = true;
						}
				} else {
					var spanFields = textareas[0].parentNode.getElementsByTagName("span");
					for (var g=0; g<spanFields.length; g++)
						if (spanFields[g].getAttribute("class")=="required")
							spanFields[g].innerHTML = "";
				}
			}
			if (selects.length>0) {
				if (selects[0].getAttribute("class")!="disabled"&&selects[0].options[selects[0].selectedIndex].value=="null") {
					var spanFields = selects[0].parentNode.getElementsByTagName("span");
					for (var g=0; g<spanFields.length; g++)
						if (spanFields[g].getAttribute("class")=="required") {
							spanFields[g].innerHTML = "Select an option";
							missingFields = true;
						}
				} else {
					var spanFields = selects[0].parentNode.getElementsByTagName("span");
					for (var g=0; g<spanFields.length; g++)
						if (spanFields[g].getAttribute("class")=="required") {
							spanFields[g].innerHTML = "";
						}
				}
			}
		}
	}
	
	if (comparisonFirstPassword && comparisonConfirmPassword) {
		var firstPassword = document.getElementById(comparisonFirstPassword).value;
		var confirmPassword = document.getElementById(comparisonConfirmPassword).value;
		if (firstPassword != confirmPassword){
			mismatchedPassword = true;
			window.alert("The passwords don't match.");
		}
	}
	
	var inputFields = document.getElementsByTagName("input");
	for (var j=0; j<inputFields.length; j++) {
		inputFields[j].blur();
	}
		
	if (missingFields || mismatchedPasswords)
		return false;
	else
		return true;
}

function redefineSubCategories() {
	z = dhtmlXComboFromSelect("combo_zone1");
	z.enableFilteringMode(true);
}

function numbersonly(e, decimal) {
	var key;
	var keychar;

	if (window.event) {
		key = window.event.keyCode;
	}
	else if (e) {
		key = e.which;
	}
	else {
		return true;
	}
	keychar = String.fromCharCode(key);
	
	if ((key==null) || (key==0) || (key==8) ||  (key==9) || (key==13) || (key==27) ) {
		return true;
	}
	else if ((("0123456789").indexOf(keychar) > -1)) {
		return true;
	}
	else if (decimal && (keychar == ".")) { 
		return true;
	}
	else
		return false;
}

function validate(elementID) {
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   var address = document.getElementById(elementID).value;
   if(reg.test(address) == false) {
	  document.getElementById('emailValidation').innerHTML = "Invalid Email<dd style='display:none;' ><input type='hidden' value='' /><span class='required'></span></dd>";
      return false;
   } else {
	  document.getElementById('emailValidation').innerHTML = "";
      return true;
   }
}

function checkAvailability(queryString, targetElement, whatIsAvailable) {
  document.getElementById(targetElement).innerHTML="<img src='/_graphics/loading.gif' width='16' height='16' />";
  loadXMLDoc("/_scriptlibrary/users_lib.php?function=checkAvailability&q1=pdUsers&q2=userName&q3="+queryString+"&q4="+whatIsAvailable,function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById(targetElement).innerHTML=xmlhttp.responseText;
    }
  });
}
function resizeImgOO(el) 
{ 
	function imgRatio()
	{ 
		return (el.height / el.width); 
	} 
	function holderRatio()
	{ 
		return (el.offsetParent.offsetHeight / el.offsetParent.offsetWidth); 
	} 
	function fitToContainer()
	{ 
		if(imgRatio>holderRatio) 
		{ 
			el.height = el.offsetParent.offsetHeight; 
		} 
		else 
		{ 
			el.width = el.offsetParent.offsetWidth;	
		} 
	}
	
	this.imgRatio = imgRatio; 
	this.holderRatio = holderRatio; 
	this.resize = fitToContainer; 
}
function confirmCalendarDelete(id) {
	if (window.confirm("Are you sure you want to delete this event?")) {
		location.href="/calendar/calendar_delete.php?id="+id;
	}
}
function confirmBulletinDelete(id) {
	if (window.confirm("Are you sure you want to delete this bulletin?")) {
		location.href="/bulletin/bulletin_delete.php?id="+id;
	}
}
