// Wig Fund General Javascript Library
// 05/08/2008 - LT

function toggleFields(prefix, enable_or_disable, fieldClass)
{
	var alltags = document.all? document.all : document.getElementsByTagName("*");
	idcollect = getElementbyClass(alltags, fieldClass);
	var inc=0
	while (idcollect[inc])
	{
		if(idcollect[inc].id.substr(0, prefix.length)==prefix)
		{	
			if (enable_or_disable == 'enable'){
				document.getElementById(idcollect[inc].id).disabled=false;
			}else{
				document.getElementById(idcollect[inc].id).disabled=true;
			}
		}
		inc++
	}
}

function changeFieldValue(formField, formValue, idToChange, newValue, oldValue)
{
	if(document.getElementById(formField).value == formValue){
		document.getElementById(idToChange).value=newValue;	
	}else{
		document.getElementById(idToChange).value=oldValue;	
	}
}

function showDonateForm(type)
{
	if(type=='cc'){
		document.getElementById("dollar_amt").disabled=false;					
		document.getElementById(type).style.display="block";
		document.getElementById("check").style.display="none";				
		document.getElementById("paypal").style.display="none";					
		document.getElementById("hair").style.display="none";					
	}else if(type=='check'){
		document.getElementById("dollar_amt").disabled=false;					
		document.getElementById(type).style.display="block";
		document.getElementById("cc").style.display="none";				
		document.getElementById("paypal").style.display="none";			
		document.getElementById("hair").style.display="none";					
	}else if(type=='paypal'){
		document.getElementById("dollar_amt").disabled=false;					
		document.getElementById(type).style.display="block";
		document.getElementById("cc").style.display="none";				
		document.getElementById("check").style.display="none";			
		document.getElementById("hair").style.display="none";					
	}else if(type=='hair'){
		document.getElementById("dollar_amt").disabled=true;					
		document.getElementById(type).style.display="block";
		document.getElementById("cc").style.display="none";				
		document.getElementById("check").style.display="none";			
		document.getElementById("paypal").style.display="none";					
	}
}
// shows/hides a element with the ID of toggleID
// This is handy for showing/hiding a element based on a select box being changed. - 01/10/2008 LAT
function showElementID(toggleID) {
		document.getElementById(toggleID).style.display="block";	
}

// shows/hides a element with the ID of toggleID if the formfield has a specfic formvalue
// This is handy for showing/hiding a field based on one option in a select box. - 05/18/2007 LAT
function toggleField(formfield, formvalue, toggleID) {
	if(document.getElementById(formfield).value == formvalue){
		document.getElementById(toggleID).style.display="block";	
	}else{
		document.getElementById(toggleID).style.display="none";				
	}
}

//Disables a form field based on the state of a checkbox
function disableField(fieldID, controllingCheckbox)
{
	if (document.getElementById(controllingCheckbox).checked){
		document.getElementById(fieldID).disabled=true;
	}else{
		document.getElementById(fieldID).disabled=false;
	}
}

//Enables a form field based on the state of a checkbox
function enableField(fieldID, controllingCheckbox)
{
	if (document.getElementById(controllingCheckbox).checked){
		document.getElementById(fieldID).disabled=false;
	}else{
		document.getElementById(fieldID).disabled=true;
	}
}
//Changes (enables/disables) a form field based on the state of a selectbox
function changeFieldsOnSelect(fieldID, controllingSelectboxID, selectBoxValue)
{
	if(document.getElementById(controllingSelectboxID).value == selectBoxValue){
		document.getElementById(fieldID).disabled=true;
	}else{
		document.getElementById(fieldID).disabled=false;
	}
}

function cpEmailToAddrs(emailAddr, copyToField, uniqueImageID, image) {
	var txt = ""
	if(document.getElementById(copyToField).value.length < 1){
		txt = emailAddr		
	}else{
		var str=document.getElementById(copyToField).value;
		if(str.match(emailAddr)){ // no duplicate email addrs
			txt = ""
		}else{
			txt = emailAddr	+ ", "	
		}	
	}
	// Update image
	document.getElementById(uniqueImageID).src = image
	// Update text box
	document.getElementById(copyToField).value = txt + document.getElementById(copyToField).value	
}

function clrEmailAddrs(clrField, imgIdPrefix, imgFieldClass, setImgTo) {
	// Update text box
	document.getElementById(clrField).value = ""
	// Update image
	setImgs(imgIdPrefix, imgFieldClass, setImgTo)
}

/*This function checks all checkboxes with a given ID*/
function checkAll(maxContID)
{
	var i=0;
	while(document.getElementById('cb' +i))
	{
		document.getElementById('cb' +i).checked = true;
		i++;
	}			
}
/*This function unchecks all checkboxes with a given ID*/
function unCheckAll(maxContID)
{
	var i=0;
	while(document.getElementById('cb' +i))
	{
		document.getElementById('cb' +i).checked = false;
		i++;
	}			
}

/* Populates html field with btn_val. Commonly used on span buttons onClick functionality.*/
function chkBoxSubmit(btn_val, hidden_fieldID){
	document.getElementById(hidden_fieldID).value = btn_val;
}