
function initForms() {
	formAutoFill();
	pickSwitch('input');
	pickSwitch('select');

}

//Automatically fill in fields from Query String
function formAutoFill()
{	q = this.location.search.substring(1);
    if (q.indexOf('op=s') == -1) { return false; }
	
	/*
	x = document.getElementsByTagName('input');
	for(i=0; i<x.length;i++)
		if(x[i].checked) x[i].checked=false;
	*/	
	p = q.split('&');
	for (i=0; i<p.length; i++) {
		k = p[i].split('=');
		x = document.getElementsByName(k[0]);
		if(x.length==1)
		{	x =x[0];
			switch(x.type) {
				case 'text': x.value = unescape(k[1].replace(/\+/g, " ")); break;
				//case 'checkbox': x.checked = k[1]; break;
				case 'select-one': 
					c = x.getElementsByTagName('option');
					for(j=0; j<c.length; j++)
						if(c[j].value == k[1]) c[j].selected=true;
					break;
				default:
			}
		} else if(x.length>1) {
			for(j=0; j<x.length; j++)
				if(x[j].value == k[1]) x[j].checked=true;
		}
	}
}

function pickSwitch(tag_name) {
	x = document.getElementsByTagName(tag_name);
	for(i=0; i<x.length;i++)
		if(x[i].getAttribute('pick')) x[i].onclick=pick;
}

function pick() {
	me = document.getElementById(this.getAttribute('pick'));
	if(me.checked!=true) {
		x = document.getElementsByName( me.name );
		for(i=0; i<x.length; i++)
			x[i].checked = false;
		me.checked = true;
	}
	return false;
}



//Adds the Expand/Hide funcitonality to fieldsets with
// an <a class="search_expand"> tag in their <legend>
function initFieldsets(status, parent_id)
{// get menus div
	if (!parent_id) parent_id = 'options';
	formAutoFill();

	var x = document.getElementsByTagName('a');
	if (!x) return;

	var pattern = new RegExp("(^|\\s)search_expand(\\s|$)");
	for (i=0; i<x.length; i++) {
		if ( pattern.test(x[i].className) ){
			x[i].href='#';
			x[i].onclick = toggleFieldset;
			x[i].displayed=true;
			if(status==1) x[i].onclick();
			if(status==2 && x[i].parentNode.parentNode.parentNode.parentNode.id==parent_id) x[i].onclick();
		}
	}
}

//Hide or Show a fieldsest
function toggleFieldset()
{	this.displayed = ! this.displayed;
	var disp = this.displayed ? 'inline' : 'none';
	toggle(this.parentNode.parentNode.getElementsByTagName('label'), disp);
	toggle(this.parentNode.parentNode.getElementsByTagName('fieldset'), disp);
	
	this.innerHTML = this.displayed ? '-' : '+';
	return false;
	
	function toggle(x, disp){
		for(var i=0;i<x.length;i++)
			x[i].style.display= disp;
	}

}

