
function initU3Search(){
	
	if($('fields')!=null)
		initSearch();
	
	if($('availability')!=null)
		initAvailability();
}

function availabilityChangeFilter(source){
	var filter= $(source).id;	
	var value = $(source).value;
	var url = availability_form_url+'?action=changeselection&search_profile='+search_profile+'&filtername='+filter+'&value='+value;
	
	new Ajax.Request(url,{				
				onSuccess: function(r){
						$('availability').update(r.responseText);
						setFocus();
					}
			});
}

function initAvailability(){
	var url = availability_form_url+'?action=resume&search_profile='+search_profile;
	new Ajax.Request(url,{
				parameters:Form.serialize($('form')),
				onSuccess: function(r){
						$('availability').update(r.responseText);
						setFocus();						
					}
			});
}

function handleAvailabilityClearAll(source){
	var url =availability_form_url+'?action=reset&search_profile='+search_profile;
	new Ajax.Request(url,{
				onSuccess: function(r){
					$('availability').update(r.responseText);
					setFocus();
				}
	  		}); 
}

function handleAvailabilityClearFilters(source){
	var url =availability_form_url+'?action=clearfilters&search_profile='+search_profile;
	new Ajax.Request(url,{
				onSuccess: function(r){
					$('availability').update(r.responseText);
					setFocus();
				}
	  		}); 
}


function handleAvailabilityRemoveLastFilter(source){
	var url =availability_form_url+'?action=removelastfilter&search_profile='+search_profile;
	new Ajax.Request(url,{
				onSuccess: function(r){
					$('availability').update(r.responseText);
					setFocus();
					setRowSpan('tr','countedRow','resetAvailability');
				}
	  		}); 
}
function addAvailabilityFilter(source){
	var idx = $(source).selectedIndex;	
	var value = $(source).options[idx].value;
	var url =availability_form_url+'?action=add&search_profile='+search_profile+'&filtername='+value;
	new Ajax.Request(url,{
				onSuccess: function(r){
					$('availability').update(r.responseText);
					setFocus();
					setRowSpan('tr','countedRow','resetAvailability');
				}
	  		}); 
}


function initSearch(){
	var url = search_form_url+'?action=resume&search_profile='+search_profile;
	new Ajax.Request(url,{
				parameters:Form.serialize($('form')),
				onSuccess: function(r){
						$('fields').update(r.responseText);
						setFocus();
					}
			});
}

function handleSearchAdd(source){
	var idx = $(source).selectedIndex;	
	var value = $(source).options[idx].value;
	var url =search_form_url+'?action=add&search_profile='+search_profile+'&fieldname='+value;
	var oldAction =$('form').action;
	$('form').action=url;
	var cypsis = document.cookie;
	new Ajax.Request(url,{
				parameters: Form.serialize($('form')),
				onSuccess: function(r){
					$('fields').update(r.responseText);
					setFocus();
					setRowSpan('input','countedRow','searchReset');
				}
	  		}); 
	 $('form').action = oldAction;
}

function handleSearchReset(source){
	var url =search_form_url+'?action=reset&search_profile='+search_profile;
	var oldAction =$('form').action;
	$('form').action=url;	
	new Ajax.Request(url,{				
				onSuccess: function(r){
					$('fields').update(r.responseText);
					setFocus();
				}
	  		});
	 $('form').action = oldAction; 
}

function handleSearchClear(source){
	var url =search_form_url+'?action=clear&search_profile='+search_profile;
	var oldAction =$('form').action;
	$('form').action=url;	
	new Ajax.Request(url,{				
				onSuccess: function(r){
					$('fields').update(r.responseText)
					setFocus();
				}
	  		});
	 $('form').action = oldAction; 
}

function handleSearchFieldChange(source){
	var url =search_form_url+'?action=changefield&search_profile='+search_profile;
	var oldAction =$('form').action;
	$('form').action=url;	
	new Ajax.Request(url,{
				parameters: Form.serialize($('form')),
				onSuccess: function(r){
					$('fields').update(r.responseText);
					setFocus();
				}
	  		});
	  $('form').action = oldAction; 
}	

function handleSearchRemoveRow(which){
	var id = $(which).id;
	var url = search_form_url+'?action=remove&search_profile='+search_profile+'&rowid='+id;
	var oldAction =$('form').action; 
	$('form').action=url;
	var parm = Form.serialize($('form'));
	new Ajax.Request(url,{
				parameters: parm,
				onSuccess: function(r){
					$('fields').update(r.responseText);
					setFocus();
					setRowSpan('countedRow');
				}
	}); 
	
	$('form').action = oldAction;
}

	 function setRowSpan(element,id,rowId){
	  		var len = $$(element+'#'+id).length;
	  		$(rowId).rowSpan = len;
	}
